X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FIdCanvas.java;h=c89a9d5bfe00b45a041dd77216b5614c7e089813;hb=b914c596c26d2a68cade986c3aca6acb8e3e0f5c;hp=92747a2733dd6e8310fb631723bcba7d877a2b0d;hpb=c0f9aa17f55a468c72d63027ab72531976760123;p=jalview.git
diff --git a/src/jalview/gui/IdCanvas.java b/src/jalview/gui/IdCanvas.java
index 92747a2..c89a9d5 100755
--- a/src/jalview/gui/IdCanvas.java
+++ b/src/jalview/gui/IdCanvas.java
@@ -1,29 +1,38 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ 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 .
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.gui;
-import java.awt.*;
-import java.awt.image.*;
-import java.util.List;
+import jalview.datamodel.SequenceI;
-import javax.swing.*;
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.image.BufferedImage;
+import java.util.List;
-import jalview.datamodel.*;
+import javax.swing.JPanel;
/**
* DOCUMENT ME!
@@ -57,7 +66,7 @@ public class IdCanvas extends JPanel
AnnotationPanel ap;
- Font idfont;
+ private Font idfont;
/**
* Creates a new IdCanvas object.
@@ -77,6 +86,8 @@ public class IdCanvas extends JPanel
*
* @param gg
* DOCUMENT ME!
+ * @param hiddenRows
+ * true - check and display hidden row marker if need be
* @param s
* DOCUMENT ME!
* @param i
@@ -86,12 +97,12 @@ public class IdCanvas extends JPanel
* @param ypos
* DOCUMENT ME!
*/
- public void drawIdString(Graphics2D gg, SequenceI s, int i, int starty,
- int ypos)
+ public void drawIdString(Graphics2D gg, boolean hiddenRows, SequenceI s,
+ int i, int starty, int ypos)
{
int xPos = 0;
int panelWidth = getWidth();
- int charHeight = av.charHeight;
+ int charHeight = av.getCharHeight();
if ((searchResults != null) && searchResults.contains(s))
{
@@ -116,7 +127,7 @@ public class IdCanvas extends JPanel
gg.setColor(Color.black);
}
- if (av.rightAlignIds)
+ if (av.isRightAlignIds())
{
xPos = panelWidth
- fm.stringWidth(s.getDisplayId(av.getShowJVSuffix())) - 4;
@@ -125,7 +136,7 @@ public class IdCanvas extends JPanel
gg.drawString(s.getDisplayId(av.getShowJVSuffix()), xPos,
(((i - starty + 1) * charHeight) + ypos) - (charHeight / 5));
- if (av.hasHiddenRows() && av.showHiddenMarkers)
+ if (hiddenRows)
{
drawMarker(i, starty, ypos);
}
@@ -147,7 +158,8 @@ public class IdCanvas extends JPanel
return;
}
- gg.copyArea(0, 0, getWidth(), imgHeight, 0, -vertical * av.charHeight);
+ gg.copyArea(0, 0, getWidth(), imgHeight, 0,
+ -vertical * av.getCharHeight());
int ss = av.startSeq;
int es = av.endSeq;
@@ -163,7 +175,7 @@ public class IdCanvas extends JPanel
}
else
{
- transY = imgHeight - (vertical * av.charHeight);
+ transY = imgHeight - (vertical * av.getCharHeight());
}
}
else if (vertical < 0)
@@ -208,7 +220,7 @@ public class IdCanvas extends JPanel
int oldHeight = imgHeight;
imgHeight = getHeight();
- imgHeight -= (imgHeight % av.charHeight);
+ imgHeight -= (imgHeight % av.getCharHeight());
if (imgHeight < 1)
{
@@ -242,17 +254,17 @@ public class IdCanvas extends JPanel
*/
void drawIds(int starty, int endy)
{
- if (av.seqNameItalics)
+ if (av.isSeqNameItalics())
{
- idfont = new Font(av.getFont().getName(), Font.ITALIC, av.getFont()
- .getSize());
+ setIdfont(new Font(av.getFont().getName(), Font.ITALIC, av.getFont()
+ .getSize()));
}
else
{
- idfont = av.getFont();
+ setIdfont(av.getFont());
}
- gg.setFont(idfont);
+ gg.setFont(getIdfont());
fm = gg.getFontMetrics();
if (av.antiAlias)
@@ -264,6 +276,9 @@ public class IdCanvas extends JPanel
Color currentColor = Color.white;
Color currentTextColor = Color.black;
+ final boolean doHiddenCheck = av.isDisplayReferenceSeq()
+ || av.hasHiddenRows(), hiddenRows = av.hasHiddenRows();
+
if (av.getWrapAlignment())
{
int maxwidth = av.getAlignment().getWidth();
@@ -276,7 +291,7 @@ public class IdCanvas extends JPanel
int annotationHeight = 0;
- if (av.showAnnotation)
+ if (av.isShowAnnotation())
{
if (ap == null)
{
@@ -290,13 +305,13 @@ public class IdCanvas extends JPanel
}
}
- int hgap = av.charHeight;
- if (av.scaleAboveWrapped)
+ int hgap = av.getCharHeight();
+ if (av.getScaleAboveWrapped())
{
- hgap += av.charHeight;
+ hgap += av.getCharHeight();
}
- int cHeight = alheight * av.charHeight + hgap + annotationHeight;
+ int cHeight = alheight * av.getCharHeight() + hgap + annotationHeight;
int rowSize = av.getEndRes() - av.getStartRes();
@@ -307,23 +322,23 @@ public class IdCanvas extends JPanel
for (int i = starty; i < alheight; i++)
{
SequenceI s = av.getAlignment().getSequenceAt(i);
- if (av.isDisplayReferenceSeq() || av.hasHiddenRows())
+ if (doHiddenCheck)
{
setHiddenFont(s);
}
else
{
- gg.setFont(idfont);
+ gg.setFont(getIdfont());
}
- drawIdString(gg, s, i, 0, ypos);
+ drawIdString(gg, hiddenRows, s, i, 0, ypos);
}
- if (labels != null && av.showAnnotation)
+ if (labels != null && av.isShowAnnotation())
{
- gg.translate(0, ypos + (alheight * av.charHeight));
+ gg.translate(0, ypos + (alheight * av.getCharHeight()));
labels.drawComponent(gg, getWidth());
- gg.translate(0, -ypos - (alheight * av.charHeight));
+ gg.translate(0, -ypos - (alheight * av.getCharHeight()));
}
}
}
@@ -347,7 +362,7 @@ public class IdCanvas extends JPanel
continue;
}
- if (av.isDisplayReferenceSeq() || av.hasHiddenRows())
+ if (doHiddenCheck)
{
setHiddenFont(sequence);
}
@@ -373,23 +388,23 @@ public class IdCanvas extends JPanel
gg.setColor(currentColor);
- gg.fillRect(0, (i - starty) * av.charHeight, getWidth(),
- av.charHeight);
+ gg.fillRect(0, (i - starty) * av.getCharHeight(), getWidth(),
+ av.getCharHeight());
gg.setColor(currentTextColor);
String string = sequence.getDisplayId(av.getShowJVSuffix());
- if (av.rightAlignIds)
+ if (av.isRightAlignIds())
{
xPos = panelWidth - fm.stringWidth(string) - 4;
}
gg.drawString(string, xPos,
- (((i - starty) * av.charHeight) + av.charHeight)
- - (av.charHeight / 5));
+ (((i - starty) * av.getCharHeight()) + av.getCharHeight())
+ - (av.getCharHeight() / 5));
- if (av.hasHiddenRows() && av.showHiddenMarkers)
+ if (hiddenRows)
{
drawMarker(i, starty, 0);
}
@@ -437,25 +452,24 @@ public class IdCanvas extends JPanel
if (below)
{
gg.fillPolygon(
- new int[]
- { getWidth() - av.charHeight, getWidth() - av.charHeight,
- getWidth() }, new int[]
- {
- (i - starty) * av.charHeight + yoffset,
- (i - starty) * av.charHeight + yoffset + av.charHeight
- / 4, (i - starty) * av.charHeight + yoffset }, 3);
+ new int[] { getWidth() - av.getCharHeight(),
+ getWidth() - av.getCharHeight(), getWidth() },
+ new int[] {
+ (i - starty) * av.getCharHeight() + yoffset,
+ (i - starty) * av.getCharHeight() + yoffset
+ + av.getCharHeight() / 4,
+ (i - starty) * av.getCharHeight() + yoffset }, 3);
}
if (above)
{
gg.fillPolygon(
- new int[]
- { getWidth() - av.charHeight, getWidth() - av.charHeight,
- getWidth() }, new int[]
- {
- (i - starty + 1) * av.charHeight + yoffset,
- (i - starty + 1) * av.charHeight + yoffset
- - av.charHeight / 4,
- (i - starty + 1) * av.charHeight + yoffset }, 3);
+ new int[] { getWidth() - av.getCharHeight(),
+ getWidth() - av.getCharHeight(), getWidth() },
+ new int[] {
+ (i - starty + 1) * av.getCharHeight() + yoffset,
+ (i - starty + 1) * av.getCharHeight() + yoffset
+ - av.getCharHeight() / 4,
+ (i - starty + 1) * av.getCharHeight() + yoffset }, 3);
}
}
@@ -471,7 +485,7 @@ public class IdCanvas extends JPanel
}
else
{
- gg.setFont(idfont);
+ gg.setFont(getIdfont());
}
}
@@ -486,4 +500,14 @@ public class IdCanvas extends JPanel
searchResults = list;
repaint();
}
+
+ public Font getIdfont()
+ {
+ return idfont;
+ }
+
+ public void setIdfont(Font idfont)
+ {
+ this.idfont = idfont;
+ }
}