|
@@ -79,19 +79,29 @@ public class PseudoCodeRenderer extends DefaultTreeCellRenderer {
|
|
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean arg2, boolean arg3, boolean arg4, int arg5, boolean arg6) {
|
|
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean arg2, boolean arg3, boolean arg4, int arg5, boolean arg6) {
|
|
|
|
|
|
PseudoCodeNode node = (PseudoCodeNode) value;
|
|
PseudoCodeNode node = (PseudoCodeNode) value;
|
|
- BufferedImage rowNumerImg = new BufferedImage( 50, 30, BufferedImage.TYPE_INT_ARGB );
|
|
|
|
|
|
+ int width = 10;
|
|
|
|
+ if( !node.hasSelectedSubnode() && node.isSelected() )
|
|
|
|
+ width += 25;
|
|
|
|
+ if( node.hasBreakPoint() )
|
|
|
|
+ width += 15;
|
|
|
|
+ String line = "" + getLineNumber( (TreeNode) value );
|
|
|
|
+ width += tree.getFontMetrics( this.getFont() ).stringWidth( line );
|
|
|
|
+ BufferedImage rowNumerImg = new BufferedImage( width, 30, BufferedImage.TYPE_INT_ARGB );
|
|
Graphics2D g = (Graphics2D) rowNumerImg.getGraphics();
|
|
Graphics2D g = (Graphics2D) rowNumerImg.getGraphics();
|
|
|
|
+ int x = 5;
|
|
if( !node.hasSelectedSubnode() && node.isSelected() )
|
|
if( !node.hasSelectedSubnode() && node.isSelected() )
|
|
{
|
|
{
|
|
- g.drawImage( currentLine.getImage(), 2, 5, 20, 20, null );
|
|
|
|
|
|
+ g.drawImage( currentLine.getImage(), x, 5, 20, 20, null );
|
|
|
|
+ x += 25;
|
|
}
|
|
}
|
|
|
|
+ g.setColor( RenderHelper.CURRENT_LINE_COLOR );
|
|
|
|
+ g.drawString( line, x, 20 );
|
|
|
|
+ x += g.getFontMetrics().stringWidth( line ) + 5;
|
|
if( node.hasBreakPoint() )
|
|
if( node.hasBreakPoint() )
|
|
{
|
|
{
|
|
g.setColor( new Color (0xe7887a) );
|
|
g.setColor( new Color (0xe7887a) );
|
|
- g.fillOval(40, 10, 10, 10 );
|
|
|
|
|
|
+ g.fillOval(x, 10, 10, 10 );
|
|
}
|
|
}
|
|
- g.setColor( RenderHelper.CURRENT_LINE_COLOR );
|
|
|
|
- g.drawString( "" + getLineNumber( (TreeNode) value ), 25, 20 );
|
|
|
|
g.dispose();
|
|
g.dispose();
|
|
this.setClosedIcon( new ImageIcon( rowNumerImg ) );
|
|
this.setClosedIcon( new ImageIcon( rowNumerImg ) );
|
|
this.setOpenIcon( new ImageIcon( rowNumerImg ) );
|
|
this.setOpenIcon( new ImageIcon( rowNumerImg ) );
|