JAL-4260 encapsulate logic for resolving nearest column and do better using it in...
[jalview.git] / src / jalview / gui / ScalePanel.java
index 4365845..a186ce6 100755 (executable)
@@ -107,11 +107,7 @@ public class ScalePanel extends JPanel
   @Override
   public void mousePressed(MouseEvent evt)
   {
-    int res = ap.getSeqPanel().findColumn(evt);
-
-    if (res==-1) {
-      return;
-    }
+    int res = ap.getSeqPanel().findAlignmentColumn(evt);
 
     min = res;
     max = res;
@@ -283,15 +279,10 @@ public class ScalePanel extends JPanel
     mouseDragging = false;
     ap.getSeqPanel().stopScrolling();
 
-    int res = ap.getSeqPanel().findColumn(evt);
+    int res = ap.getSeqPanel().findAlignmentColumn(evt);
     
     if (!stretchingGroup)
     {
-      if (res==-1)
-      {
-        return;
-      }
-
       if (evt.isPopupTrigger()) // Windows: mouseReleased
       {
         rightMouseButtonPressed(evt, res);
@@ -305,7 +296,7 @@ public class ScalePanel extends JPanel
 
     SequenceGroup sg = av.getSelectionGroup();
 
-    if (res != -1 && sg != null)
+    if (sg != null)
     {
       if (res > sg.getStartRes())
       {
@@ -342,15 +333,14 @@ public class ScalePanel extends JPanel
   @Override
   public void mouseDragged(MouseEvent evt)
   {
+    mouseDragging = true;  
+    int res = ap.getSeqPanel().findAlignmentColumn(evt);
     
-    int res = ap.getSeqPanel().findColumn(evt);
-    if (res==-1) {
-       return;
-    }
-    mouseDragging = true;
     ColumnSelection cs = av.getColumnSelection();
-    min = Math.min(res, min);
+    
+    min = Math.min(res,min);
     max = Math.max(res, max);
+
     SequenceGroup sg = av.getSelectionGroup();
     if (sg != null)
     {
@@ -399,19 +389,18 @@ public class ScalePanel extends JPanel
   {
     this.setToolTipText(null);
     reveal = null;
-    final int res = ap.getSeqPanel().findColumn(evt);
-    
-    if (res==-1) 
-    {
-      return;
-    }
+    final int res = ap.getSeqPanel().findAlignmentColumn(evt);
     
     highlightAllStructPos(res);
     if (!av.hasHiddenColumns()) {
       return;
     }
     reveal = av.getAlignment().getHiddenColumns()
-            .getRegionWithEdgeAtRes(res);
+            .getRegionWithEdgeAtRes(av.getAlignment().getHiddenColumns().absoluteToVisibleColumn(res));
+    if (reveal==null)
+    {
+      return;
+    }
     ToolTipManager.sharedInstance().registerComponent(this);
     this.setToolTipText(
             MessageManager.getString("label.reveal_hidden_columns"));