X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FAlignmentPanel.java;h=20ed37d6a7d5ea6df0c193290aaea166f9e86b96;hb=f8d0fb91bae48f3e22d71996ed8273de152ceed2;hp=6d4e226000261c455d100309748fb9153620b954;hpb=b9fa0041e8f04f85f4f5357d2e2fe07e74d2172d;p=jalview.git diff --git a/src/jalview/gui/AlignmentPanel.java b/src/jalview/gui/AlignmentPanel.java index 6d4e226..20ed37d 100755 --- a/src/jalview/gui/AlignmentPanel.java +++ b/src/jalview/gui/AlignmentPanel.java @@ -32,6 +32,8 @@ import java.io.*; import javax.swing.*; +import org.biojava.dasobert.eventmodel.*; + /** * DOCUMENT ME! @@ -40,7 +42,7 @@ import javax.swing.*; * @version $Revision$ */ public class AlignmentPanel extends GAlignmentPanel - implements AdjustmentListener, Printable + implements AdjustmentListener, Printable, FeatureListener { public AlignViewport av; OverviewPanel overviewPanel; @@ -92,11 +94,8 @@ public class AlignmentPanel extends GAlignmentPanel setScrollValues(0, 0); - annotationPanel.adjustPanelHeight(); - annotationSpaceFillerHolder.setPreferredSize(annotationPanel. - getPreferredSize()); - annotationScroller.setPreferredSize(annotationPanel. - getPreferredSize()); + adjustAnnotationHeight(); + setAnnotationVisible(av.getShowAnnotation()); hscroll.addAdjustmentListener(this); @@ -246,6 +245,15 @@ public class AlignmentPanel extends GAlignmentPanel }); } + public void comeBackLater(FeatureEvent evt) + {} + + public void newFeatures(FeatureEvent evt) + { + seqPanel.seqCanvas.fr.findAllFeatures(); + repaint(); + } + /** * DOCUMENT ME! */ @@ -418,6 +426,37 @@ public class AlignmentPanel extends GAlignmentPanel repaint(); } + public void adjustAnnotationHeight() + { + javax.swing.SwingUtilities.invokeLater(new Runnable() + { + public void run() + { + while(alignFrame.getHeight()==0) + { + Thread.yield(); + } + + int height = annotationPanel.adjustPanelHeight(); + + if (height > alignFrame.getHeight() / 2) + { + height = alignFrame.getHeight() / 2; + } + + annotationScroller.setPreferredSize( + new Dimension(annotationScroller.getWidth(), + height)); + + annotationSpaceFillerHolder.setPreferredSize(new Dimension( + annotationSpaceFillerHolder.getWidth(), + height)); + + annotationPanel.repaint(); + } + }); + } + /** * DOCUMENT ME! *