{
Dimension d = ap.annotationScroller.getPreferredSize();
int dif = evt.getY() - oldY;
+ dif -= dif % ap.av.getCharHeight();
- dif /= ap.av.getCharHeight();
- dif *= ap.av.getCharHeight();
+ // don't allow setting an annotation panel height larger than visible
+ // (otherwise you can't get back)
+ if (d.height - dif > ap.idPanelHolder.getHeight()
+ - ap.getIdSpaceFillerPanel1().getHeight())
+ {
+ return;
+ }
if ((d.height - dif) > 20)
{
if (av.hasHiddenColumns())
{
Iterator<int[]> it = av.getAlignment().getHiddenColumns()
- .getVisContigsIterator(0, sq.getLength(), false);
+ .getVisContigsIterator(0, sq.getLength() + 1, false);
omitHidden = new String[] { sq.getSequenceStringFromIterator(it) };
}
if (ap != null)
{
iwa = ap.idwidthAdjuster;
- if ((Cache.getDefault(ADJUST_ANNOTATION_LABELS_WIDTH_PREF, true)
- || Jalview.isHeadlessMode()))
+ if (Cache.getDefault(ADJUST_ANNOTATION_LABELS_WIDTH_PREF, true)
+ || Jalview.isHeadlessMode())
{
Graphics2D g2d = (Graphics2D) g;
Graphics dummy = g2d.create();