JAL-2611 First pass, not thrilled with hidden column behaviour
[jalview.git] / src / jalview / gui / OverviewPanel.java
index 35a3148..0f276d7 100755 (executable)
@@ -65,6 +65,8 @@ public class OverviewPanel extends JPanel implements Runnable,
 
   private boolean showHidden = true;
 
+  private boolean draggingBox = false;
+
   /**
    * Creates a new OverviewPanel object.
    * 
@@ -110,9 +112,18 @@ public class OverviewPanel extends JPanel implements Runnable,
         if (!SwingUtilities.isRightMouseButton(evt)
                 && !av.getWrapAlignment())
         {
-          od.updateViewportFromMouse(evt.getX(), evt.getY(), av
+          if (draggingBox)
+          {
+            od.adjustViewportFromMouse(evt.getX(),
+                    evt.getY(), av.getAlignment().getHiddenSequences(),
+                    av.getAlignment().getHiddenColumns());
+          }
+          else
+          {
+            od.updateViewportFromMouse(evt.getX(), evt.getY(), av
                   .getAlignment().getHiddenSequences(), av.getAlignment()
                   .getHiddenColumns());
+          }
 
         }
       }
@@ -156,6 +167,22 @@ public class OverviewPanel extends JPanel implements Runnable,
                     av.getAlignment().getHiddenSequences(),
                     av.getAlignment().getHiddenColumns());
           }
+          else
+          {
+            draggingBox = true;
+            od.setDragPoint(evt.getX(), evt.getY(),
+                    av.getAlignment().getHiddenSequences(),
+                    av.getAlignment().getHiddenColumns());
+          }
+        }
+      }
+
+      @Override
+      public void mouseReleased(MouseEvent evt)
+      {
+        if (draggingBox)
+        {
+          draggingBox = false;
         }
       }