automatic scrolling option added to view
[jalview.git] / src / jalview / appletgui / AlignFrame.java
index 3e214b8..3280815 100755 (executable)
@@ -542,11 +542,20 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
     else if (evt.getSource() == this.centreColumnLabelFlag)
     {
       centreColumnLabelFlag_stateChanged();
+    } else if (evt.getSource() == this.followMouseOverFlag)
+    {
+      mouseOverFlag_stateChanged();
     }
 
     alignPanel.paintAlignment(true);
   }
 
+  private void mouseOverFlag_stateChanged()
+  {
+    viewport.followHighlight = followMouseOverFlag.getState();
+    // TODO: could kick the scrollTo mechanism to reset view for current searchresults.
+  }
+
   private void centreColumnLabelFlag_stateChanged()
   {
     viewport.centreColumnLabels = centreColumnLabelFlag.getState();
@@ -2565,6 +2574,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
 
   CheckboxMenuItem centreColumnLabelFlag = new CheckboxMenuItem();
 
+  CheckboxMenuItem followMouseOverFlag = new CheckboxMenuItem();
+
   private void jbInit() throws Exception
   {
 
@@ -2732,7 +2743,8 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
     inputText.addActionListener(this);
     centreColumnLabelFlag.setLabel("Centre column labels");
     centreColumnLabelFlag.addItemListener(this);
-
+    followMouseOverFlag.setLabel("Automatic Scrolling");
+    followMouseOverFlag.addItemListener(this);
     helpMenu.setLabel("Help");
     documentation.setLabel("Documentation");
     documentation.addActionListener(this);
@@ -2809,6 +2821,7 @@ public class AlignFrame extends EmbmenuFrame implements ActionListener,
     viewMenu.add(menu1);
     viewMenu.add(menu2);
     viewMenu.addSeparator();
+    viewMenu.add(followMouseOverFlag);
     viewMenu.add(annotationPanelMenuItem);
     viewMenu.addSeparator();
     viewMenu.add(sequenceFeatures);