boxX = evt.getX();\r
boxY = evt.getY();\r
checkValid();\r
- if (!resizing)\r
- {\r
- ap.setScrollValues( (int) (boxX / scalew / av.getCharWidth()),\r
+ ap.setScrollValues( (int) (boxX / scalew / av.getCharWidth()),\r
(int) (boxY / scaleh / av.getCharHeight()));\r
- }\r
}\r
\r
public void doMouseDragged(MouseEvent evt)\r
boxX = evt.getX();\r
boxY = evt.getY();\r
checkValid();\r
- if (!resizing)\r
- {\r
- ap.setScrollValues( (int) (boxX / scalew / av.getCharWidth()),\r
+ ap.setScrollValues( (int) (boxX / scalew / av.getCharWidth()),\r
(int) (boxY / scaleh / av.getCharHeight()));\r
- }\r
+\r
repaint();\r
ap.repaint();\r
}\r
*/\r
public void updateOverviewImage()\r
{\r
- if (resizing)\r
- {\r
- resizeAgain = true;\r
- return;\r
- }\r
+ if (resizing)\r
+ {\r
+ resizeAgain = true;\r
+ return;\r
+ }\r
\r
- resizing = true;\r
+ resizing = true;\r
\r
- Thread thread = new Thread(this);\r
- thread.start();\r
- repaint();\r
+ if ( (getSize().width > 0) && (getSize().height > 0))\r
+ {\r
+ width = getSize().width;\r
+ sequencesHeight = getSize().height - graphHeight;\r
+ }\r
+ setSize(new Dimension(width, sequencesHeight + graphHeight));\r
+ setBoxPosition();\r
+\r
+ Thread thread = new Thread(this);\r
+ thread.start();\r
+ repaint();\r
}\r
\r
// This is set true if the user resizes whilst\r
\r
public void setBoxPosition()\r
{\r
+ int fullsizeWidth = av.alignment.getWidth() * av.getCharWidth();\r
+ int fullsizeHeight = av.alignment.getHeight() * av.getCharHeight();\r
+\r
+ scalew = (float) width / (float) fullsizeWidth;\r
+ scaleh = (float) sequencesHeight / (float) fullsizeHeight;\r
+\r
boxX = (int) (av.getStartRes() * av.getCharWidth() * scalew);\r
boxY = (int) (av.getStartSeq() * av.getCharHeight() * scaleh);\r
boxWidth = (int) ( (av.getEndRes() - av.getStartRes() + 1) *\r
\r
public void paint(Graphics g)\r
{\r
- if (resizing)\r
+ if (miniMe != null)\r
+ {\r
+ g.drawImage(miniMe, 0, 0, this);\r
+ }\r
+ else\r
{\r
g.setColor(Color.white);\r
g.fillRect(0, 0, getSize().width, getSize().height);\r
g.setColor(Color.black);\r
-\r
g.setFont(new Font("Verdana", Font.BOLD, 15));\r
g.drawString("Recalculating", 5, sequencesHeight / 2);\r
- g.drawString("Overview.....", 5, sequencesHeight / 2 + 20);\r
+ g.drawString("Overview.....", 5, (sequencesHeight / 2) + 20);\r
}\r
- else\r
- {\r
- if (miniMe != null)\r
- {\r
- g.drawImage(miniMe, 0, 0, this);\r
- }\r
\r
- g.setColor(Color.red);\r
- g.drawRect(boxX, boxY, boxWidth, boxHeight);\r
- g.drawRect(boxX + 1, boxY + 1, boxWidth - 2, boxHeight - 2);\r
- }\r
+ g.setColor(Color.red);\r
+ g.drawRect(boxX, boxY, boxWidth, boxHeight);\r
+ g.drawRect(boxX + 1, boxY + 1, boxWidth - 2, boxHeight - 2);\r
}\r
\r
}\r