X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FIdCanvas.java;h=74bbcf53407445f158baac342f96c2ee4917e8ee;hb=5e8ec77d921ff2d604811e5e4ba7e9211b0f48de;hp=abcbd70becc49ea109d8aeaa117744d2dd7b41df;hpb=97b26ba418dec7a6e926378205d25470bf098633;p=jalview.git diff --git a/src/jalview/appletgui/IdCanvas.java b/src/jalview/appletgui/IdCanvas.java index abcbd70..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, @@ -218,7 +221,8 @@ public class IdCanvas extends Panel if (av.hasHiddenColumns()) { - maxwidth = av.getColumnSelection().findColumnPosition(maxwidth) - 1; + maxwidth = av.getAlignment().getHiddenColumns() + .findColumnPosition(maxwidth) - 1; } int annotationHeight = 0; @@ -393,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()); + } + } }