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
Highlight feature to edit
[jalview.git]
/
src
/
jalview
/
gui
/
IdCanvas.java
diff --git
a/src/jalview/gui/IdCanvas.java
b/src/jalview/gui/IdCanvas.java
index
d3b56be
..
7b4d4ee
100755
(executable)
--- a/
src/jalview/gui/IdCanvas.java
+++ b/
src/jalview/gui/IdCanvas.java
@@
-43,6
+43,7
@@
public class IdCanvas extends JPanel
int imgHeight = 0;
\r
boolean fastPaint = false;
\r
java.util.Vector searchResults;
\r
int imgHeight = 0;
\r
boolean fastPaint = false;
\r
java.util.Vector searchResults;
\r
+ FontMetrics fm;
\r
\r
/**
\r
* Creates a new IdCanvas object.
\r
\r
/**
\r
* Creates a new IdCanvas object.
\r
@@
-67,6
+68,8
@@
public class IdCanvas extends JPanel
*/
\r
public void drawIdString(Graphics2D gg, SequenceI s, int i, int starty, int ypos)
\r
{
\r
*/
\r
public void drawIdString(Graphics2D gg, SequenceI s, int i, int starty, int ypos)
\r
{
\r
+ int xPos = 0;
\r
+ int panelWidth = getWidth();
\r
int charHeight = av.charHeight;
\r
\r
if ((searchResults != null) && searchResults.contains(s))
\r
int charHeight = av.charHeight;
\r
\r
if ((searchResults != null) && searchResults.contains(s))
\r
@@
-86,15
+89,21
@@
public class IdCanvas extends JPanel
}
\r
else
\r
{
\r
}
\r
else
\r
{
\r
- gg.setColor(s.getColor());
\r
+ gg.setColor(av.getSequenceColour(s));
\r
gg.fillRect(0, ((i - starty) * charHeight) + ypos, getWidth(),
\r
charHeight);
\r
gg.setColor(Color.black);
\r
}
\r
\r
gg.fillRect(0, ((i - starty) * charHeight) + ypos, getWidth(),
\r
charHeight);
\r
gg.setColor(Color.black);
\r
}
\r
\r
+ if (av.idsAlignRight)
\r
+ {
\r
+ xPos = panelWidth - fm.stringWidth(
\r
+ s.getDisplayId(av.getShowJVSuffix())
\r
+ ) - 4;
\r
+ }
\r
\r
gg.drawString( s.getDisplayId(av.getShowJVSuffix()),
\r
\r
gg.drawString( s.getDisplayId(av.getShowJVSuffix()),
\r
- 0, (((i - starty + 1) * charHeight) + ypos) - (charHeight / 5));
\r
+ xPos, (((i - starty + 1) * charHeight) + ypos) - (charHeight / 5));
\r
\r
if (av.hasHiddenRows && av.showHiddenMarkers)
\r
drawMarker(i, starty, ypos);
\r
\r
if (av.hasHiddenRows && av.showHiddenMarkers)
\r
drawMarker(i, starty, ypos);
\r
@@
-190,6
+199,7
@@
public class IdCanvas extends JPanel
}
\r
\r
gg = (Graphics2D) image.getGraphics();
\r
}
\r
\r
gg = (Graphics2D) image.getGraphics();
\r
+
\r
//Fill in the background
\r
gg.setColor(Color.white);
\r
gg.fillRect(0, 0, getWidth(), imgHeight);
\r
//Fill in the background
\r
gg.setColor(Color.white);
\r
gg.fillRect(0, 0, getWidth(), imgHeight);
\r
@@
-211,6
+221,7
@@
public class IdCanvas extends JPanel
av.getFont().getSize());
\r
\r
gg.setFont(italic);
\r
av.getFont().getSize());
\r
\r
gg.setFont(italic);
\r
+ fm = gg.getFontMetrics();
\r
\r
if (av.antiAlias)
\r
gg.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
\r
\r
if (av.antiAlias)
\r
gg.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
\r
@@
-279,10
+290,18
@@
public class IdCanvas extends JPanel
else
\r
{
\r
//Now draw the id strings
\r
else
\r
{
\r
//Now draw the id strings
\r
+ int panelWidth = getWidth();
\r
+ int xPos = 0;
\r
\r
\r
+ SequenceI sequence;
\r
//Now draw the id strings
\r
for (int i = starty; i < endy; i++)
\r
{
\r
//Now draw the id strings
\r
for (int i = starty; i < endy; i++)
\r
{
\r
+ sequence = av.alignment.getSequenceAt(i);
\r
+
\r
+ if(sequence==null)
\r
+ continue;
\r
+
\r
if (av.hasHiddenRows)
\r
{
\r
setHiddenFont(i);
\r
if (av.hasHiddenRows)
\r
{
\r
setHiddenFont(i);
\r
@@
-290,21
+309,21
@@
public class IdCanvas extends JPanel
\r
// Selected sequence colours
\r
if ( (searchResults != null) &&
\r
\r
// Selected sequence colours
\r
if ( (searchResults != null) &&
\r
- searchResults.contains(av.alignment.getSequenceAt(i)))
\r
+ searchResults.contains(sequence))
\r
{
\r
currentColor = Color.black;
\r
currentTextColor = Color.white;
\r
}
\r
else if ( (av.getSelectionGroup() != null) &&
\r
av.getSelectionGroup().getSequences(false).contains(
\r
{
\r
currentColor = Color.black;
\r
currentTextColor = Color.white;
\r
}
\r
else if ( (av.getSelectionGroup() != null) &&
\r
av.getSelectionGroup().getSequences(false).contains(
\r
- av.alignment.getSequenceAt(i)))
\r
+ sequence))
\r
{
\r
currentColor = Color.lightGray;
\r
currentTextColor = Color.black;
\r
}
\r
else
\r
{
\r
{
\r
currentColor = Color.lightGray;
\r
currentTextColor = Color.black;
\r
}
\r
else
\r
{
\r
- currentColor = av.alignment.getSequenceAt(i).getColor();
\r
+ currentColor = av.getSequenceColour(sequence);
\r
currentTextColor = Color.black;
\r
}
\r
\r
currentTextColor = Color.black;
\r
}
\r
\r
@@
-315,9
+334,15
@@
public class IdCanvas extends JPanel
\r
gg.setColor(currentTextColor);
\r
\r
\r
gg.setColor(currentTextColor);
\r
\r
- String string = av.alignment.getSequenceAt(i).getDisplayId( av.getShowJVSuffix());
\r
+ String string = sequence.getDisplayId( av.getShowJVSuffix());
\r
+
\r
+
\r
+ if(av.idsAlignRight)
\r
+ {
\r
+ xPos = panelWidth - fm.stringWidth(string) - 4;
\r
+ }
\r
\r
\r
- gg.drawString(string, 0,
\r
+ gg.drawString(string, xPos,
\r
(((i - starty) * av.charHeight) + av.charHeight) -
\r
(av.charHeight / 5));
\r
\r
(((i - starty) * av.charHeight) + av.charHeight) -
\r
(av.charHeight / 5));
\r
\r