validate();
repaint();
}
-
+
+ /**
+ * automatically adjust annotation panel height for new annotation whilst
+ * ensuring the alignment is still visible.
+ */
+ public void adjustAnnotationHeight()
+ {
+ // TODO: display vertical annotation scrollbar if necessary
+ // this is called after loading new annotation onto alignment
+ if (alignFrame.getSize().height == 0)
+ {
+ System.out.println("NEEDS FIXING");
+ }
+ fontChanged();
+ validateAnnotationDimensions(true);
+ apvscroll.addNotify();
+ hscroll.addNotify();
+ validate();
+ addNotify();
+ repaint();
+ }
+ /**
+ * calculate the annotation dimensions and refresh slider values accordingly.
+ * need to do repaints/notifys afterwards.
+ */
+ protected void validateAnnotationDimensions(boolean adjustPanelHeight) {
+ int height = annotationPanel.calcPanelHeight();
+ if (hscroll.isVisible())
+ {
+ height += hscroll.getPreferredSize().height;
+ }
+ int mheight = height;
+ // sets initial preferred height
+ if ((height+40) > getSize().height / 2)
+ {
+ height = getSize().height / 2;
+ }
+ if (!adjustPanelHeight)
+ {
+ // maintain same window layout whilst updating sliders
+ height=seqPanelHolder.getSize().height;
+ }
+ Dimension d=seqPanelHolder.getSize(),e=idPanel.getSize();
+ annotationPanel.setSize(new Dimension(d.width,height));
+ alabels.setSize(e.width,height);
+ annotationSpaceFillerHolder.setSize(new Dimension(e.width, height));
+ annotationPanelHolder.setSize(new Dimension(d.width, height));
+ seqPanelHolder.setSize(d.width,d.height-height);
+ int s=apvscroll.getValue();
+ if (s>mheight-height)
+ {
+ s = 0;
+ }
+ apvscroll.setValues(apvscroll.getValue(), height, 0, mheight);
+ annotationPanel.setScrollOffset(apvscroll.getValue());
+ alabels.setScrollOffset(apvscroll.getValue());
+ }
+
public void setWrapAlignment(boolean wrap)
{
av.startSeq = 0;
adjustAnnotationHeight();
}
- /**
- * automatically adjust annotation panel height for new annotation whilst
- * ensuring the alignment is still visible.
- */
- public void adjustAnnotationHeight()
- {
- // TODO: display vertical annotation scrollbar if necessary
- // this is called after loading new annotation onto alignment
- if (alignFrame.getSize().height == 0)
- {
- System.out.println("NEEDS FIXING");
- }
- fontChanged();
- validateAnnotationDimensions(true);
- apvscroll.addNotify();
- hscroll.addNotify();
- validate();
- addNotify();
- repaint();
- }
- /**
- * calculate the annotation dimensions and refresh slider values accordingly.
- * need to do repaints/notifys afterwards.
- */
- protected void validateAnnotationDimensions(boolean adjustPanelHeight) {
- int height = annotationPanel.calcPanelHeight();
- if (hscroll.isVisible())
- {
- height += hscroll.getPreferredSize().height;
- }
- int mheight = height;
- // sets initial preferred height
- if ((height+40) > getSize().height / 2)
- {
- height = getSize().height / 2;
- }
- if (!adjustPanelHeight)
- {
- // maintain same window layout whilst updating sliders
- height=seqPanelHolder.getSize().height;
- }
- Dimension d=seqPanelHolder.getSize(),e=idPanel.getSize();
- annotationPanel.setSize(new Dimension(d.width,height));
- alabels.setSize(e.width,height);
- annotationSpaceFillerHolder.setSize(new Dimension(e.width, height));
- annotationPanelHolder.setSize(new Dimension(d.width, height));
- seqPanelHolder.setSize(d.width,d.height-height);
- int s=apvscroll.getValue();
- if (s>mheight-height)
- {
- s = 0;
- }
- apvscroll.setValues(apvscroll.getValue(), height, 0, mheight);
- annotationPanel.setScrollOffset(apvscroll.getValue());
- alabels.setScrollOffset(apvscroll.getValue());
- }
-
@Override
public AlignmentI getAlignment()
{