X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FIdCanvas.java;h=fe58c67ca1e646cf73b2dc80ab51ae81c2d5ec01;hb=bee47de0371990bf2563e77a57cc750634aabd08;hp=aad07764d1ee3dc246e2ed8c56c62878bf6a666f;hpb=97b26ba418dec7a6e926378205d25470bf098633;p=jalview.git diff --git a/src/jalview/gui/IdCanvas.java b/src/jalview/gui/IdCanvas.java index aad0776..fe58c67 100755 --- a/src/jalview/gui/IdCanvas.java +++ b/src/jalview/gui/IdCanvas.java @@ -21,6 +21,7 @@ package jalview.gui; import jalview.datamodel.SequenceI; +import jalview.viewmodel.ViewportListenerI; import jalview.viewmodel.ViewportRanges; import java.awt.BorderLayout; @@ -31,6 +32,7 @@ import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.image.BufferedImage; +import java.beans.PropertyChangeEvent; import java.util.List; import javax.swing.JPanel; @@ -41,7 +43,7 @@ import javax.swing.JPanel; * @author $author$ * @version $Revision$ */ -public class IdCanvas extends JPanel +public class IdCanvas extends JPanel implements ViewportListenerI { protected AlignViewport av; @@ -80,6 +82,7 @@ public class IdCanvas extends JPanel setLayout(new BorderLayout()); this.av = av; PaintRefresher.Register(this, av.getSequenceSetId()); + av.getRanges().addPropertyChangeListener(this); } /** @@ -515,4 +518,15 @@ public class IdCanvas extends JPanel { this.idfont = idfont; } + + @Override + public void propertyChange(PropertyChangeEvent evt) + { + // Respond to viewport range changes (e.g. alignment panel was scrolled) + if (evt.getPropertyName().equals("startseq") + || evt.getPropertyName().equals("endseq")) + { + fastPaint((int) evt.getNewValue() - (int) evt.getOldValue()); + } + } }