/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* Jalview is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- *
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
* Jalview is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.appletgui;
-import java.awt.*;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.SearchResults;
+import jalview.datamodel.SequenceGroup;
+import jalview.datamodel.SequenceI;
-import jalview.datamodel.*;
+import java.awt.Color;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.Image;
+import java.awt.Panel;
public class SeqCanvas extends Panel
{
String mask = "0";
int maxWidth = 0;
int tmp;
- AlignmentI alignment=av.getAlignment();
+ AlignmentI alignment = av.getAlignment();
for (int i = 0; i < alignment.getHeight(); i++)
{
tmp = alignment.getSequenceAt(i).getEnd();
void drawPanel(Graphics g1, int startRes, int endRes, int startSeq,
int endSeq, int offset)
{
+
+
if (!av.hasHiddenColumns())
{
draw(g1, startRes, endRes, startSeq, endSeq, offset);
}
else
{
- java.util.Vector regions = av.getColumnSelection().getHiddenColumns();
+
+
int screenY = 0;
int blockStart = startRes;
int blockEnd = endRes;
+ if (av.getColumnSelection() != null
+ && av.getColumnSelection().getHiddenColumns() != null)
+ {
+ java.util.Vector regions = av.getColumnSelection()
+ .getHiddenColumns();
+
for (int i = 0; i < regions.size(); i++)
{
int[] region = (int[]) regions.elementAt(i);
screenY += blockEnd - blockStart + 1;
blockStart = hideEnd + 1;
}
-
+ }
if (screenY <= (endRes - startRes))
{
blockEnd = blockStart + (endRes - startRes) - screenY;
sr.drawSequence(nextSeq, av.getAlignment().findAllGroups(nextSeq),
startRes, endRes, offset + ((i - startSeq) * av.charHeight));
- if (av.showSequenceFeatures)
+ if (av.isShowSequenceFeatures())
{
fr.drawSequence(g, nextSeq, startRes, endRes, offset
+ ((i - startSeq) * av.charHeight));
if ((group == null) && (av.getAlignment().getGroups().size() > 0))
{
- group = (SequenceGroup) av.getAlignment().getGroups().get(0);
+ group = av.getAlignment().getGroups().get(0);
groupIndex = 0;
}
{
if ((bottom == -1)
&& (i >= alHeight || !group.getSequences(null)
- .contains(av.getAlignment().getSequenceAt(i + 1))))
+ .contains(
+ av.getAlignment().getSequenceAt(i + 1))))
{
bottom = sy + av.charHeight;
}
break;
}
- group = (SequenceGroup) av.getAlignment().getGroups().get(
- groupIndex);
+ group = av.getAlignment().getGroups()
+ .get(groupIndex);
} while (groupIndex < av.getAlignment().getGroups().size());
}