\r
import javax.swing.*;\r
\r
+import org.biojava.dasobert.eventmodel.*;\r
+\r
\r
/**\r
* DOCUMENT ME!\r
* @version $Revision$\r
*/\r
public class AlignmentPanel extends GAlignmentPanel\r
- implements AdjustmentListener, Printable\r
+ implements AdjustmentListener, Printable, FeatureListener\r
{\r
public AlignViewport av;\r
OverviewPanel overviewPanel;\r
\r
setScrollValues(0, 0);\r
\r
- annotationPanel.adjustPanelHeight();\r
- annotationSpaceFillerHolder.setPreferredSize(annotationPanel.\r
- getPreferredSize());\r
- annotationScroller.setPreferredSize(annotationPanel.\r
- getPreferredSize());\r
+ adjustAnnotationHeight();\r
+\r
setAnnotationVisible(av.getShowAnnotation());\r
\r
hscroll.addAdjustmentListener(this);\r
});\r
}\r
\r
+ public void comeBackLater(FeatureEvent evt)\r
+ {}\r
+\r
+ public void newFeatures(FeatureEvent evt)\r
+ {\r
+ seqPanel.seqCanvas.fr.findAllFeatures();\r
+ repaint();\r
+ }\r
+\r
/**\r
* DOCUMENT ME!\r
*/\r
repaint();\r
}\r
\r
+ public void adjustAnnotationHeight()\r
+ {\r
+ javax.swing.SwingUtilities.invokeLater(new Runnable()\r
+ {\r
+ public void run()\r
+ {\r
+ while(alignFrame.getHeight()==0)\r
+ {\r
+ Thread.yield();\r
+ }\r
+\r
+ int height = annotationPanel.adjustPanelHeight();\r
+\r
+ if (height > alignFrame.getHeight() / 2)\r
+ {\r
+ height = alignFrame.getHeight() / 2;\r
+ }\r
+\r
+ annotationScroller.setPreferredSize(\r
+ new Dimension(annotationScroller.getWidth(),\r
+ height));\r
+\r
+ annotationSpaceFillerHolder.setPreferredSize(new Dimension(\r
+ annotationSpaceFillerHolder.getWidth(),\r
+ height));\r
+\r
+ annotationPanel.repaint();\r
+ }\r
+ });\r
+ }\r
+\r
/**\r
* DOCUMENT ME!\r
*\r