NJTree tree;\r
JScrollPane scrollPane;\r
AlignViewport av;\r
-\r
+ public static final String PLACEHOLDER=" * ";\r
Font font;\r
int fontSize = 12;\r
\r
boolean fitToWindow = true;\r
boolean showDistances = false;\r
boolean showBootstrap = false;\r
+ boolean markPlaceholders = false;\r
\r
int offx = 20;\r
int offy = 20;\r
g.drawString(nodeLabel,xstart,ypos - 10);\r
}\r
\r
- // Colour selected leaves differently\r
- String name = node.getName();\r
+ String name = (markPlaceholders && node.isPlaceholder()) ? (PLACEHOLDER+node.getName()) : node.getName();\r
FontMetrics fm = g.getFontMetrics(font);\r
- int charWidth = fm.stringWidth(node.getName()) + 3;\r
+ int charWidth = fm.stringWidth(name) + 3;\r
int charHeight = fm.getHeight();\r
\r
Rectangle rect = new Rectangle(xend+20,ypos-charHeight,\r
\r
nameHash.put((SequenceI)node.element(),rect);\r
\r
+ // Colour selected leaves differently\r
SequenceGroup selected = av.getSelectionGroup();\r
if (selected!=null && selected.sequences.contains((SequenceI)node.element())) {\r
g.setColor(Color.gray);\r
g.fillRect(xend + 10, ypos - charHeight + 3,charWidth,charHeight);\r
g.setColor(Color.white);\r
}\r
- g.drawString(node.getName(),xend+10,ypos);\r
+ g.drawString(name,xend+10,ypos);\r
g.setColor(Color.black);\r
} else {\r
drawNode(g,(SequenceNode)node.left(), chunk,scale,width,offx,offy);\r
this.showBootstrap = state;\r
repaint();\r
}\r
+ public void setMarkPlaceholders(boolean state) {\r
+ this.markPlaceholders = state;\r
+ repaint();\r
+ }\r
\r
}\r
\r