From f7411d1acf9235d91fb5e9adb1e0e3d36f44c861 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Mon, 22 Aug 2005 17:04:37 +0000 Subject: [PATCH] Use mouse wheel press to zoom --- src/jalview/gui/SeqPanel.java | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java index c98322e..4d5b080 100755 --- a/src/jalview/gui/SeqPanel.java +++ b/src/jalview/gui/SeqPanel.java @@ -69,6 +69,8 @@ public class SeqPanel extends JPanel SequenceGroup stretchGroup = null; boolean remove = false; + boolean mouseWheelPressed = false; + /** * Creates a new SeqPanel object. * @@ -119,10 +121,42 @@ public class SeqPanel extends JPanel } }); + addMouseWheelListener(new MouseWheelListener() + { + public void mouseWheelMoved(MouseWheelEvent e) + { + + if (mouseWheelPressed) + { + Font font = av.getFont(); + int fontSize = font.getSize(); + if (e.getWheelRotation() > 0 && fontSize < 30) + fontSize++; + else if (fontSize > 1) + fontSize--; + + av.setFont(new Font(font.getName(), font.getStyle(), fontSize)); + ap.fontChanged(); + ap.repaint(); + + } + else + { + if (e.getWheelRotation() > 0) + ap.scrollUp(false); + else + ap.scrollUp(true); + } + + } + }); + + addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent evt) { + mouseWheelPressed = false; if (av.getWrapAlignment()) { return; @@ -140,6 +174,11 @@ public class SeqPanel extends JPanel public void mousePressed(MouseEvent evt) { + if( javax.swing.SwingUtilities.isMiddleMouseButton(evt)) + { + mouseWheelPressed = true; + return; + } if (av.getWrapAlignment()) { return; -- 1.7.10.2