Multiple Views
[jalview.git] / src / jalview / gui / SeqPanel.java
index 9ea087e..4b7a388 100755 (executable)
@@ -1,6 +1,6 @@
 /*\r
  * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
  *\r
  * This program is free software; you can redistribute it and/or\r
  * modify it under the terms of the GNU General Public License\r
@@ -126,6 +126,8 @@ public class SeqPanel extends JPanel implements MouseListener,
 \r
 \r
         int cwidth = seqCanvas.getWrappedCanvasWidth(this.getWidth());\r
+        if(cwidth<1)\r
+          return 0;\r
 \r
         wrappedBlock = y / cHeight;\r
         wrappedBlock += av.getStartRes() / cwidth;\r
@@ -147,7 +149,6 @@ public class SeqPanel extends JPanel implements MouseListener,
 \r
    int findSeq(MouseEvent evt)\r
    {\r
-\r
      int seq = 0;\r
      int y = evt.getY();\r
 \r
@@ -162,11 +163,13 @@ public class SeqPanel extends JPanel implements MouseListener,
 \r
          y -= hgap;\r
 \r
-       seq = ( (y % cHeight) / av.getCharHeight());\r
+       seq = Math.min( (y % cHeight) / av.getCharHeight(),\r
+                       av.alignment.getHeight() -1);\r
      }\r
      else\r
      {\r
-       seq = (y / av.getCharHeight()) + av.getStartSeq();\r
+       seq = Math.min( (y / av.getCharHeight()) + av.getStartSeq(),\r
+                       av.alignment.getHeight() -1);\r
      }\r
 \r
      return seq;\r
@@ -1032,8 +1035,6 @@ public class SeqPanel extends JPanel implements MouseListener,
 \r
       if (blankColumn <= j)\r
       {\r
-        System.out.println("END HERE "+seq.getName()+" "+seq.getLength()+" "+j+" "\r
-            +blankColumn+" "+fixedColumn);\r
         blankColumn = fixedColumn;\r
         endEditing();\r
         return;\r
@@ -1244,14 +1245,6 @@ public class SeqPanel extends JPanel implements MouseListener,
 \r
         }\r
 \r
-        if (av.cursorMode)\r
-        {\r
-          seqCanvas.cursorX = findRes(evt);\r
-          seqCanvas.cursorY = findSeq(evt);\r
-          seqCanvas.repaint();\r
-          return;\r
-        }\r
-\r
 \r
         if (javax.swing.SwingUtilities.isRightMouseButton(evt))\r
         {\r
@@ -1272,9 +1265,18 @@ public class SeqPanel extends JPanel implements MouseListener,
 \r
             jalview.gui.PopupMenu pop = new jalview.gui.PopupMenu(ap, null, links);\r
             pop.show(this, evt.getX(), evt.getY());\r
+            return;\r
+        }\r
 \r
+        if (av.cursorMode)\r
+        {\r
+          seqCanvas.cursorX = findRes(evt);\r
+          seqCanvas.cursorY = findSeq(evt);\r
+          seqCanvas.repaint();\r
+          return;\r
         }\r
-        else if (stretchGroup == null)\r
+\r
+        if (stretchGroup == null)\r
         {\r
           //Only if left mouse button do we want to change group sizes\r
 \r
@@ -1352,7 +1354,8 @@ public class SeqPanel extends JPanel implements MouseListener,
         changeEndRes = false;\r
         changeStartRes = false;\r
         stretchGroup = null;\r
-        PaintRefresher.Refresh(av.alignment);\r
+\r
+        PaintRefresher.Refresh(this, av.getSequenceSetId());\r
     }\r
 \r
     /**\r
@@ -1373,11 +1376,6 @@ public class SeqPanel extends JPanel implements MouseListener,
             return;\r
        }\r
 \r
-\r
-        if(y > av.alignment.getHeight())\r
-        {\r
-          y = av.alignment.getHeight() -1;\r
-        }\r
         if(res> av.alignment.getWidth())\r
         {\r
           res = av.alignment.getWidth()-1;\r