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) };
}
* @param width
* Width for scaling labels
*/
- public void drawComponent(Graphics g, boolean clip, int givenWidth, boolean forGUI)
+ public void drawComponent(Graphics g, boolean clip, int givenWidth,
+ boolean forGUI)
{
int width = givenWidth;
IdwidthAdjuster iwa = null;
{
Graphics2D g2d = (Graphics2D) g;
Graphics dummy = g2d.create();
- int newAnnotationIdWidth = drawLabels(dummy, clip, width, false, forGUI,
- null, false);
+ int newAnnotationIdWidth = drawLabels(dummy, clip, width, false,
+ forGUI, null, false);
dummy.dispose();
Dimension d = ap.calculateDefaultAlignmentIdWidth();
int alignmentIdWidth = d.width;
}
else
{
- int newAnnotationIdWidth = drawLabels(g, clip, width, false, forGUI, null, false);
- width = Math.max(newAnnotationIdWidth, givenWidth);
+ int newAnnotationIdWidth = drawLabels(g, clip, width, false, forGUI,
+ null, false);
+ width = newAnnotationIdWidth < givenWidth ? givenWidth
+ : Math.min(newAnnotationIdWidth, givenWidth);
}
drawLabels(g, clip, width, true, forGUI, null, false);
}
* fmetrics must be supplied.
*
* @param g
- * Graphics2D instance (used for rendering and font scaling if no fmetrics supplied)
+ * Graphics2D instance (used for rendering and font scaling if no
+ * fmetrics supplied)
* @param clip
* - true indicates that only current visible area needs to be
* rendered
* @param width
* Width for scaling labels
- * @param actuallyDraw - when false, no graphics are rendered to g0
- * @param forGUI - when false, GUI relevant marks like indicators for dragging annotation panel height are not rendered
+ * @param actuallyDraw
+ * - when false, no graphics are rendered to g0
+ * @param forGUI
+ * - when false, GUI relevant marks like indicators for dragging
+ * annotation panel height are not rendered
* @param fmetrics
* FontMetrics if Graphics object g is null
- * @param includeHidden - when true returned width includes labels in hidden row width calculation
+ * @param includeHidden
+ * - when true returned width includes labels in hidden row width
+ * calculation
* @return the width of the annotation labels.
*/
public int drawLabels(Graphics g0, boolean clip, int width,
- boolean actuallyDraw, boolean forGUI, FontMetrics fmetrics, boolean includeHidden)
+ boolean actuallyDraw, boolean forGUI, FontMetrics fmetrics,
+ boolean includeHidden)
{
if (clip)
{
}
}
- if (!resizePanel && dragEvent != null && aa != null)
+ if (!resizePanel && dragEvent != null && aa != null && selectedRow > -1
+ && selectedRow < aa.length)
{
if (actuallyDraw && g != null)
{