X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignmentPanel.java;h=0012ec4765e6141429592ef6541c287c6c5ffcf8;hb=e5f2de91dc41062d8cee8a2a900710f63cf5ae42;hp=bd87bb2d7d7718a3928fb26b0c9d09d1607aa853;hpb=f3bc67915e61855d87866b4a614fe7a953813408;p=jalview.git diff --git a/src/jalview/gui/AlignmentPanel.java b/src/jalview/gui/AlignmentPanel.java index bd87bb2..0012ec4 100755 --- a/src/jalview/gui/AlignmentPanel.java +++ b/src/jalview/gui/AlignmentPanel.java @@ -27,10 +27,10 @@ import jalview.schemes.*; import java.awt.*; import java.awt.event.*; import java.awt.print.*; - import java.io.*; - import javax.swing.*; +import java.beans.*; + /** @@ -96,11 +96,39 @@ public class AlignmentPanel extends GAlignmentPanel hscroll.addAdjustmentListener(this); vscroll.addAdjustmentListener(this); + final AlignmentPanel ap = this; + av.addPropertyChangeListener(new PropertyChangeListener() + { + public void propertyChange(PropertyChangeEvent evt) + { + if (evt.getPropertyName().equals("alignment")) + { + PaintRefresher.Refresh(ap, + av.getSequenceSetId(), + true, + true); + alignmentChanged(); + } + } + }); adjustAnnotationHeight(); } + public void alignmentChanged() + { + av.alignmentChanged(this); + + if (overviewPanel != null) + overviewPanel.updateOverviewImage(); + + alignFrame.updateEditMenuBar(); + + repaint(); + } + + /** * DOCUMENT ME! @@ -285,7 +313,6 @@ public class AlignmentPanel extends GAlignmentPanel annotationSpaceFillerHolder.getWidth(), height)); - annotationPanel.repaint(); repaint(); } @@ -687,18 +714,19 @@ public class AlignmentPanel extends GAlignmentPanel pg.setFont(new Font(av.getFont().getName(), Font.ITALIC, av.getFont().getSize())); + SequenceI seq; for (int i = startSeq; i < endSeq; i++) { + seq = av.getAlignment().getSequenceAt(i); if ( (av.getSelectionGroup() != null) && - av.getSelectionGroup().getSequences(false).contains( - av.getAlignment().getSequenceAt(i))) + av.getSelectionGroup().getSequences(false).contains(seq)) { currentColor = Color.gray; currentTextColor = Color.black; } else { - currentColor = av.getAlignment().getSequenceAt(i).getColor(); + currentColor = av.getSequenceColour(seq); currentTextColor = Color.black; } @@ -708,10 +736,8 @@ public class AlignmentPanel extends GAlignmentPanel pg.setColor(currentTextColor); - String string = av.getAlignment().getSequenceAt(i).getDisplayId - ( av.getShowJVSuffix()); - - pg.drawString(string, 0, + pg.drawString(seq.getDisplayId( av.getShowJVSuffix()), + 0, ( ( (i - startSeq) * av.charHeight) + av.getCharHeight()) - (av.getCharHeight() / 5)); } @@ -873,6 +899,9 @@ public class AlignmentPanel extends GAlignmentPanel height += annotationPanel.adjustPanelHeight() + 3; } + try + { + jalview.util.ImageMaker im; if(type==jalview.util.ImageMaker.PNG) im = new jalview.util.ImageMaker(this, @@ -885,8 +914,6 @@ public class AlignmentPanel extends GAlignmentPanel "Create EPS file from alignment", width, height, file, alignFrame.getTitle() ); - try - { if (av.getWrapAlignment()) { if(im.getGraphics()!=null)