git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove edit menu if no group defined
[jalview.git]
/
src
/
jalview
/
gui
/
AnnotationPanel.java
diff --git
a/src/jalview/gui/AnnotationPanel.java
b/src/jalview/gui/AnnotationPanel.java
index
3b0127d
..
fc7232e
100755
(executable)
--- a/
src/jalview/gui/AnnotationPanel.java
+++ b/
src/jalview/gui/AnnotationPanel.java
@@
-51,7
+51,6
@@
public class AnnotationPanel extends JPanel implements MouseListener,
BufferedImage image;
\r
Graphics2D gg;
\r
FontMetrics fm;
\r
BufferedImage image;
\r
Graphics2D gg;
\r
FontMetrics fm;
\r
- boolean validCharWidth;
\r
int imgWidth = 0;
\r
boolean fastPaint = false;
\r
\r
int imgWidth = 0;
\r
boolean fastPaint = false;
\r
\r
@@
-62,6
+61,8
@@
public class AnnotationPanel extends JPanel implements MouseListener,
int max; //used by mouseDragged to see if user
\r
boolean mouseDragging = false;
\r
\r
int max; //used by mouseDragged to see if user
\r
boolean mouseDragging = false;
\r
\r
+ boolean MAC = false;
\r
+
\r
/**
\r
* Creates a new AnnotationPanel object.
\r
*
\r
/**
\r
* Creates a new AnnotationPanel object.
\r
*
\r
@@
-69,6
+70,10
@@
public class AnnotationPanel extends JPanel implements MouseListener,
*/
\r
public AnnotationPanel(AlignmentPanel ap)
\r
{
\r
*/
\r
public AnnotationPanel(AlignmentPanel ap)
\r
{
\r
+
\r
+ if(System.getProperty("os.name").startsWith("Mac"))
\r
+ MAC = true;
\r
+
\r
ToolTipManager.sharedInstance().registerComponent(this);
\r
ToolTipManager.sharedInstance().setInitialDelay(0);
\r
ToolTipManager.sharedInstance().setDismissDelay(10000);
\r
ToolTipManager.sharedInstance().registerComponent(this);
\r
ToolTipManager.sharedInstance().setInitialDelay(0);
\r
ToolTipManager.sharedInstance().setDismissDelay(10000);
\r
@@
-636,7
+641,7
@@
public class AnnotationPanel extends JPanel implements MouseListener,
*/
\r
public void drawComponent(Graphics g, int startRes, int endRes)
\r
{
\r
*/
\r
public void drawComponent(Graphics g, int startRes, int endRes)
\r
{
\r
- validCharWidth = fm.charWidth('M') <= av.charWidth;
\r
+
\r
\r
g.setFont(av.getFont());
\r
\r
\r
g.setFont(av.getFont());
\r
\r
@@
-653,8
+658,8
@@
public class AnnotationPanel extends JPanel implements MouseListener,
g.setColor(Color.white);
\r
g.fillRect(0, 0, getWidth(), getHeight());
\r
g.setColor(Color.black);
\r
g.setColor(Color.white);
\r
g.fillRect(0, 0, getWidth(), getHeight());
\r
g.setColor(Color.black);
\r
- if(validCharWidth)
\r
- g.drawString("Alignment has no annotations", 20, 15);
\r
+ if(av.validCharWidth)
\r
+ g.drawString("Alignment has no annotations", 20, 15);
\r
\r
return;
\r
}
\r
\r
return;
\r
}
\r
@@
-752,7
+757,7
@@
public class AnnotationPanel extends JPanel implements MouseListener,
}
\r
}
\r
\r
}
\r
}
\r
\r
- if (validCharWidth && validRes &&
\r
+ if (av.validCharWidth && validRes &&
\r
(row.annotations[column].displayCharacter.length() > 0))
\r
{
\r
\r
(row.annotations[column].displayCharacter.length() > 0))
\r
{
\r
\r
@@
-788,36
+793,46
@@
public class AnnotationPanel extends JPanel implements MouseListener,
{
\r
case 'H':
\r
g.setColor(HELIX_COLOUR);
\r
{
\r
case 'H':
\r
g.setColor(HELIX_COLOUR);
\r
+ if(MAC)
\r
+ {
\r
+ //Off by 1 offset when drawing rects and ovals
\r
+ //to offscreen image on the MAC
\r
+ g.fillRoundRect(lastSSX, y + 4 + iconOffset,
\r
+ x - lastSSX, 7, 8, 8);
\r
+ break;
\r
+ }
\r
+
\r
int sCol = (lastSSX / av.charWidth) + startRes;
\r
int x1 = lastSSX;
\r
int x2 = x;
\r
\r
int sCol = (lastSSX / av.charWidth) + startRes;
\r
int x1 = lastSSX;
\r
int x2 = x;
\r
\r
- if(row.annotations[sCol-1]==null ||
\r
+ if(sCol==0 ||
\r
+ row.annotations[sCol-1]==null ||
\r
row.annotations[sCol-1].secondaryStructure!='H')
\r
{
\r
row.annotations[sCol-1].secondaryStructure!='H')
\r
{
\r
- g.fillArc(lastSSX, y+4+iconOffset, av.charWidth, 8, 90,180) ;
\r
+ g.fillArc(lastSSX, y+4+iconOffset, av.charWidth+1, 7, 90,180) ;
\r
x1 += av.charWidth/2;
\r
}
\r
\r
if(row.annotations[column]==null ||
\r
row.annotations[column].secondaryStructure!='H')
\r
{
\r
x1 += av.charWidth/2;
\r
}
\r
\r
if(row.annotations[column]==null ||
\r
row.annotations[column].secondaryStructure!='H')
\r
{
\r
- g.fillArc(x-av.charWidth, y+4+iconOffset, av.charWidth, 8, 270,180);
\r
+ g.fillArc(x-av.charWidth, y+4+iconOffset, av.charWidth, 7, 270,180);
\r
x2 -= av.charWidth/2;
\r
}
\r
\r
x2 -= av.charWidth/2;
\r
}
\r
\r
- g.fillRect(x1, y+4+iconOffset, x2-x1, 8);
\r
+ g.fillRect(x1, y+4+iconOffset, x2-x1+1, 7);
\r
break;
\r
\r
case 'E':
\r
g.setColor(SHEET_COLOUR);
\r
g.fillRect(lastSSX, y + 4 + iconOffset,
\r
x - lastSSX - 4, 7);
\r
break;
\r
\r
case 'E':
\r
g.setColor(SHEET_COLOUR);
\r
g.fillRect(lastSSX, y + 4 + iconOffset,
\r
x - lastSSX - 4, 7);
\r
- g.fillPolygon(new int[] { x - 4, x - 4, x },
\r
+ g.fillPolygon(new int[] { x - 5, x - 5, x },
\r
new int[]
\r
{
\r
y + iconOffset, y + 14 + iconOffset,
\r
new int[]
\r
{
\r
y + iconOffset, y + 14 + iconOffset,
\r
- y + 8 + iconOffset
\r
+ y + 7 + iconOffset
\r
}, 3);
\r
\r
break;
\r
}, 3);
\r
\r
break;
\r
@@
-855,39
+870,49
@@
public class AnnotationPanel extends JPanel implements MouseListener,
{
\r
case 'H':
\r
g.setColor(HELIX_COLOUR);
\r
{
\r
case 'H':
\r
g.setColor(HELIX_COLOUR);
\r
+ if (MAC)
\r
+ {
\r
+ //Off by 1 offset when drawing rects and ovals
\r
+ //to offscreen image on the MAC
\r
+ g.fillRoundRect(lastSSX, y + 4 + iconOffset,
\r
+ x - lastSSX, 7, 8, 8);
\r
+ break;
\r
+ }
\r
+
\r
\r
int sCol = (lastSSX / av.charWidth) + startRes;
\r
int x1 = lastSSX;
\r
int x2 = x;
\r
\r
\r
int sCol = (lastSSX / av.charWidth) + startRes;
\r
int x1 = lastSSX;
\r
int x2 = x;
\r
\r
- if(row.annotations[sCol-1]==null ||
\r
+ if(sCol==0 ||
\r
+ row.annotations[sCol-1]==null ||
\r
row.annotations[sCol-1].secondaryStructure!='H')
\r
{
\r
row.annotations[sCol-1].secondaryStructure!='H')
\r
{
\r
- g.fillArc(lastSSX, y+4+iconOffset, av.charWidth, 8, 90,180) ;
\r
+ g.fillArc(lastSSX, y+4+iconOffset, av.charWidth+1, 7, 90,180) ;
\r
x1 += av.charWidth/2;
\r
}
\r
\r
if(row.annotations[column]==null ||
\r
row.annotations[column].secondaryStructure!='H')
\r
{
\r
x1 += av.charWidth/2;
\r
}
\r
\r
if(row.annotations[column]==null ||
\r
row.annotations[column].secondaryStructure!='H')
\r
{
\r
- g.fillArc(x-av.charWidth, y+4+iconOffset, av.charWidth, 8, 270,180);
\r
+ g.fillArc(x-av.charWidth, y+4+iconOffset, av.charWidth, 7, 270,180);
\r
x2 -= av.charWidth/2;
\r
}
\r
\r
x2 -= av.charWidth/2;
\r
}
\r
\r
- g.fillRect(x1, y+4+iconOffset, x2-x1, 8);
\r
+ g.fillRect(x1, y+4+iconOffset, x2-x1+1, 7);
\r
\r
break;
\r
\r
case 'E':
\r
g.setColor(SHEET_COLOUR);
\r
\r
\r
break;
\r
\r
case 'E':
\r
g.setColor(SHEET_COLOUR);
\r
\r
- if (row.annotations[endRes] !=null
\r
- && row.annotations[endRes].secondaryStructure != 'E')
\r
+ if (row.annotations[endRes] ==null
\r
+ || row.annotations[endRes].secondaryStructure != 'E')
\r
{
\r
g.fillRect(lastSSX, y + 4 + iconOffset,
\r
x - lastSSX - 4, 7);
\r
g.fillPolygon(new int[]
\r
{
\r
g.fillRect(lastSSX, y + 4 + iconOffset,
\r
x - lastSSX - 4, 7);
\r
g.fillPolygon(new int[]
\r
- {x - 4, x - 4, x},
\r
+ {x - 5, x - 5, x},
\r
new int[]
\r
{
\r
y + iconOffset, y + 14 + iconOffset,
\r
new int[]
\r
{
\r
y + iconOffset, y + 14 + iconOffset,
\r
@@
-903,7
+928,8
@@
public class AnnotationPanel extends JPanel implements MouseListener,
\r
default:
\r
g.setColor(Color.gray);
\r
\r
default:
\r
g.setColor(Color.gray);
\r
- g.fillRect(lastSSX, y + 6 + iconOffset, x - lastSSX, 2);
\r
+ if(!av.wrapAlignment || endRes==av.endRes)
\r
+ g.fillRect(lastSSX, y + 6 + iconOffset, x - lastSSX, 2);
\r
\r
break;
\r
}
\r
\r
break;
\r
}
\r
@@
-972,7
+998,6
@@
public class AnnotationPanel extends JPanel implements MouseListener,
if(sRes>aa.annotations.length)
\r
return;
\r
\r
if(sRes>aa.annotations.length)
\r
return;
\r
\r
- eRes = Math.min(eRes, aa.annotations.length);
\r
\r
int x = 0;
\r
\r
\r
int x = 0;
\r
\r
@@
-980,6
+1005,8
@@
public class AnnotationPanel extends JPanel implements MouseListener,
if(eRes<av.endRes)
\r
eRes++;
\r
\r
if(eRes<av.endRes)
\r
eRes++;
\r
\r
+ eRes = Math.min(eRes, aa.annotations.length);
\r
+
\r
if(sRes==0)
\r
{
\r
sRes++;
\r
if(sRes==0)
\r
{
\r
sRes++;
\r