final String COLOUR = "Colour";
final Color HELIX_COLOUR = Color.red.darker();
final Color SHEET_COLOUR = Color.green.darker().darker();
-
/** DOCUMENT ME!! */
AlignViewport av;
AlignmentPanel ap;
public AnnotationPanel(AlignmentPanel ap)
{
- if (System.getProperty("os.name").startsWith("Mac"))
- {
- MAC = true;
- }
+ MAC = new jalview.util.Platform().isAMac();
ToolTipManager.sharedInstance().registerComponent(this);
ToolTipManager.sharedInstance().setInitialDelay(0);
drawComponent(gg, av.startRes, av.endRes + 1);
g.drawImage(image, 0, 0, this);
}
-
/**
- * DOCUMENT ME!
+ * non-Thread safe repaint
*
- * @param horizontal DOCUMENT ME!
+ * @param horizontal repaint with horizontal shift in alignment
*/
public void fastPaint(int horizontal)
{
+
if ( (horizontal == 0)
|| gg == null
|| av.alignment.getAlignmentAnnotation() == null
repaint();
return;
}
-
gg.copyArea(0, 0, imgWidth, getHeight(), -horizontal * av.charWidth, 0);
int sr = av.startRes;
gg.translate( -transX, 0);
fastPaint = true;
-
repaint();
}
int lastSSX;
int iconOffset = 0;
boolean validRes = false;
-
+ boolean validEnd = false;
boolean[] graphGroupDrawn = new boolean[aa.length];
//\u03B2 \u03B1
&& (row.annotations[column].displayCharacter.length() > 0))
{
- int charOffset = (av.charWidth -
- fm.charWidth(row.annotations[column].
- displayCharacter.charAt(
- 0))) / 2;
+ int charOffset = (av.getCentreColumnLabels()) ? ((av.charWidth -
+ fm.charsWidth(row.annotations[column].
+ displayCharacter.toCharArray(),0,
+ row.annotations[column].
+ displayCharacter.length())) / 2)
+ : (av.charWidth - fm.charWidth(row.annotations[column].
+ displayCharacter.charAt(0))) / 2;
if (row.annotations[column].colour == null)
g.setColor(Color.black);
if (column >= row.annotations.length)
{
column = row.annotations.length - 1;
+ validEnd = false;
+ } else {
+ validEnd = true;
}
// x ++;
case 'E':
g.setColor(SHEET_COLOUR);
- if (row.annotations[endRes] == null
+ if (!validEnd || row.annotations[endRes] == null
|| row.annotations[endRes].secondaryStructure != 'E')
{
g.fillRect(lastSSX, y + 4 + iconOffset,