Use mouse wheel press to zoom
authoramwaterhouse <Andrew Waterhouse>
Mon, 22 Aug 2005 17:04:37 +0000 (17:04 +0000)
committeramwaterhouse <Andrew Waterhouse>
Mon, 22 Aug 2005 17:04:37 +0000 (17:04 +0000)
src/jalview/gui/SeqPanel.java

index c98322e..4d5b080 100755 (executable)
@@ -69,6 +69,8 @@ public class SeqPanel extends JPanel
     SequenceGroup stretchGroup = null;\r
     boolean remove = false;\r
 \r
+    boolean mouseWheelPressed = false;\r
+\r
     /**\r
      * Creates a new SeqPanel object.\r
      *\r
@@ -119,10 +121,42 @@ public class SeqPanel extends JPanel
                 }\r
             });\r
 \r
+       addMouseWheelListener(new MouseWheelListener()\r
+       {\r
+         public void mouseWheelMoved(MouseWheelEvent e)\r
+         {\r
+\r
+           if (mouseWheelPressed)\r
+           {\r
+             Font font = av.getFont();\r
+             int fontSize = font.getSize();\r
+             if (e.getWheelRotation() > 0 && fontSize < 30)\r
+               fontSize++;\r
+             else if (fontSize > 1)\r
+               fontSize--;\r
+\r
+             av.setFont(new Font(font.getName(), font.getStyle(), fontSize));\r
+             ap.fontChanged();\r
+             ap.repaint();\r
+\r
+           }\r
+           else\r
+           {\r
+             if (e.getWheelRotation() > 0)\r
+               ap.scrollUp(false);\r
+             else\r
+               ap.scrollUp(true);\r
+           }\r
+\r
+         }\r
+       });\r
+\r
+\r
         addMouseListener(new MouseAdapter()\r
             {\r
                 public void mouseReleased(MouseEvent evt)\r
                 {\r
+                    mouseWheelPressed = false;\r
                     if (av.getWrapAlignment())\r
                     {\r
                         return;\r
@@ -140,6 +174,11 @@ public class SeqPanel extends JPanel
 \r
                 public void mousePressed(MouseEvent evt)\r
                 {\r
+                  if( javax.swing.SwingUtilities.isMiddleMouseButton(evt))\r
+                  {\r
+                    mouseWheelPressed = true;\r
+                    return;\r
+                  }\r
                     if (av.getWrapAlignment())\r
                     {\r
                         return;\r