ColumnSelection moved to datamodel
[jalview.git] / src / jalview / appletgui / ScalePanel.java
index 71d360d..8688486 100755 (executable)
@@ -71,6 +71,7 @@ public class ScalePanel
     int res = x / av.getCharWidth() + av.getStartRes();\r
     SequenceGroup sg = null;\r
 \r
+\r
     if (av.getColumnSelection().contains(res))\r
     {\r
       av.getColumnSelection().removeElement(res);\r
@@ -82,7 +83,7 @@ public class ScalePanel
       sg = new SequenceGroup();\r
       for (int i = 0; i < av.alignment.getSequences().size(); i++)\r
       {\r
-        sg.addSequence(av.alignment.getSequenceAt(i));\r
+        sg.addSequence(av.alignment.getSequenceAt(i), false);\r
       }\r
 \r
       sg.setStartRes(res);\r
@@ -104,6 +105,11 @@ public class ScalePanel
     int x = evt.getX();\r
     int res = x / av.getCharWidth() + av.getStartRes();\r
 \r
+    if(res> av.alignment.getWidth())\r
+    {\r
+      res = av.alignment.getWidth()-1;\r
+    }\r
+\r
     if (!av.getColumnSelection().contains(res))\r
     {\r
       av.getColumnSelection().addElement(res);\r
@@ -129,6 +135,11 @@ public class ScalePanel
     int x = evt.getX();\r
     int res = x / av.getCharWidth() + av.getStartRes();\r
 \r
+    if(res> av.alignment.getWidth())\r
+    {\r
+      res = av.alignment.getWidth()-1;\r
+    }\r
+\r
     SequenceGroup sg = av.getSelectionGroup();\r
     if (sg != null)\r
     {\r
@@ -194,11 +205,21 @@ public class ScalePanel
       scalestartx += 5;\r
     }\r
 \r
+    String string;\r
+    int maxX=0;\r
+\r
     for (int i = scalestartx; i < endx; i += 5)\r
     {\r
       if (i % 10 == 0)\r
       {\r
-        gg.drawString(String.valueOf(i), (i - startx - 1) * av.charWidth, y);\r
+        string = String.valueOf(i);\r
+        if ( (i - startx - 1) * av.charWidth > maxX)\r
+        {\r
+          gg.drawString(string,\r
+                        (i - startx - 1) * av.charWidth, y);\r
+          maxX = (i - startx + 1) * av.charWidth + fm.stringWidth(string);\r
+        }\r
+\r
         gg.drawLine( (int) ( (i - startx - 1) * av.charWidth + av.charWidth / 2),\r
                     y + 2,\r
                     (int) ( (i - startx - 1) * av.charWidth + av.charWidth / 2),\r