Mouse wheel to zoom
[jalview.git] / src / jalview / gui / RotatableCanvas.java
index 8af3d65..9007e4f 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
@@ -22,8 +22,6 @@ import jalview.datamodel.*;
 \r
 import jalview.math.*;\r
 \r
-import jalview.util.*;\r
-\r
 import java.awt.*;\r
 import java.awt.event.*;\r
 \r
@@ -81,6 +79,25 @@ public class RotatableCanvas extends JPanel implements MouseListener,
     public RotatableCanvas(AlignViewport av)\r
     {\r
       this.av = av;\r
+\r
+      addMouseWheelListener(new MouseWheelListener()\r
+      {\r
+        public void mouseWheelMoved(MouseWheelEvent e)\r
+        {\r
+          if (e.getWheelRotation() > 0)\r
+          {\r
+            scale = (float) (scale * 1.1);\r
+            repaint();\r
+          }\r
+\r
+          else\r
+          {\r
+            scale = (float) (scale * 0.9);\r
+            repaint();\r
+          }\r
+        }\r
+      });\r
+\r
     }\r
 \r
     public void showLabels(boolean b)\r
@@ -96,7 +113,7 @@ public class RotatableCanvas extends JPanel implements MouseListener,
         ToolTipManager.sharedInstance().registerComponent(this);\r
         ToolTipManager.sharedInstance().setInitialDelay(0);\r
         ToolTipManager.sharedInstance().setDismissDelay(10000);\r
-        PaintRefresher.Register(this, av.alignment);\r
+        PaintRefresher.Register(this, av.getSequenceSetId());\r
 \r
         prefsize = getPreferredSize();\r
         orig = new float[npoint][3];\r
@@ -140,7 +157,6 @@ public class RotatableCanvas extends JPanel implements MouseListener,
         scale = findScale();\r
 \r
         addMouseListener(this);\r
-        addKeyListener(this);\r
 \r
         addMouseMotionListener(this);\r
 \r
@@ -400,13 +416,13 @@ public class RotatableCanvas extends JPanel implements MouseListener,
                 halfheight;\r
             float z = sp.coord[1] - centre[2];\r
 \r
-            if (sp.sequence.getColor() == Color.black)\r
+            if (av.getSequenceColour(sp.sequence) == Color.black)\r
             {\r
                 g.setColor(Color.white);\r
             }\r
             else\r
             {\r
-                g.setColor(sp.sequence.getColor());\r
+                g.setColor(av.getSequenceColour(sp.sequence));\r
             }\r
 \r
             if (av.getSelectionGroup() != null)\r
@@ -578,7 +594,7 @@ public class RotatableCanvas extends JPanel implements MouseListener,
             if (av.getSelectionGroup() != null)\r
             {\r
                 av.getSelectionGroup().addOrRemove(found, true);\r
-                PaintRefresher.Refresh(this, av.alignment);\r
+                PaintRefresher.Refresh(this, av.getSequenceSetId());\r
             }\r
             else\r
             {\r