X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAnnotationPanel.java;h=452f0027adf0935925dfa5a3e7d1a0947a4d11a1;hb=c2e5d3d1ebe3b283bdde15637c590721cd6c5637;hp=919356f28f3064e6cc57031a3c2fb8cb37068dd9;hpb=04d19d44b27b66c342e35b8933776b0ca7da9f35;p=jalview.git diff --git a/src/jalview/gui/AnnotationPanel.java b/src/jalview/gui/AnnotationPanel.java index 919356f..452f002 100755 --- a/src/jalview/gui/AnnotationPanel.java +++ b/src/jalview/gui/AnnotationPanel.java @@ -30,6 +30,7 @@ import jalview.renderer.AwtRenderPanelI; import jalview.schemes.ResidueProperties; import jalview.util.Comparison; import jalview.util.MessageManager; +import jalview.viewmodel.ViewportListenerI; import java.awt.AlphaComposite; import java.awt.Color; @@ -50,6 +51,7 @@ import java.awt.event.MouseMotionListener; import java.awt.event.MouseWheelEvent; import java.awt.event.MouseWheelListener; import java.awt.image.BufferedImage; +import java.beans.PropertyChangeEvent; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -70,7 +72,7 @@ import javax.swing.ToolTipManager; */ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, MouseListener, MouseWheelListener, MouseMotionListener, - ActionListener, AdjustmentListener, Scrollable + ActionListener, AdjustmentListener, Scrollable, ViewportListenerI { String HELIX = MessageManager.getString("label.helix"); @@ -156,6 +158,8 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, // and then set our own listener to consume all mousewheel events ap.annotationScroller.addMouseWheelListener(this); renderer = new AnnotationRenderer(); + + av.getRanges().addPropertyChangeListener(this); } public AnnotationPanel(AlignViewport av) @@ -172,11 +176,11 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, e.consume(); if (e.getWheelRotation() > 0) { - ap.scrollRight(true); + av.getRanges().scrollRight(true); } else { - ap.scrollRight(false); + av.getRanges().scrollRight(false); } } else @@ -1159,4 +1163,15 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI, renderer.dispose(); } } + + @Override + public void propertyChange(PropertyChangeEvent evt) + { + // Respond to viewport range changes (e.g. alignment panel was scrolled) + if (evt.getPropertyName().equals("startres") + || evt.getPropertyName().equals("endres")) + { + fastPaint((int) evt.getNewValue() - (int) evt.getOldValue()); + } + } }