X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FIdCanvas.java;h=74bbcf53407445f158baac342f96c2ee4917e8ee;hb=c51dbe7933683b64548f5353e67561d2b5e377f7;hp=db9e6617980ec10559dee4264999a60dd54c80b0;hpb=d1707d4c26db76cfeb640f0dbeb3e3427fd40eb7;p=jalview.git diff --git a/src/jalview/appletgui/IdCanvas.java b/src/jalview/appletgui/IdCanvas.java index db9e661..74bbcf5 100755 --- a/src/jalview/appletgui/IdCanvas.java +++ b/src/jalview/appletgui/IdCanvas.java @@ -21,6 +21,7 @@ package jalview.appletgui; import jalview.datamodel.SequenceI; +import jalview.viewmodel.ViewportListenerI; import jalview.viewmodel.ViewportRanges; import java.awt.Color; @@ -28,9 +29,10 @@ import java.awt.Font; import java.awt.Graphics; import java.awt.Image; import java.awt.Panel; +import java.beans.PropertyChangeEvent; import java.util.List; -public class IdCanvas extends Panel +public class IdCanvas extends Panel implements ViewportListenerI { protected AlignViewport av; @@ -55,6 +57,7 @@ public class IdCanvas extends Panel setLayout(null); this.av = av; PaintRefresher.Register(this, av.getSequenceSetId()); + av.getRanges().addPropertyChangeListener(this); } public void drawIdString(Graphics gg, boolean hiddenRows, SequenceI s, @@ -394,4 +397,15 @@ public class IdCanvas extends Panel } return false; } + + @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()); + } + } }