JIDE 3.5.15

com.jidesoft.margin
Interface RowMarginPainter

All Known Subinterfaces:
LineMarginPainter
All Known Implementing Classes:
AbstractLineMarginPainter, AbstractRowMarginPainter

public interface RowMarginPainter

A painter interface to paint the margin area line by line. This painter is mainly used to add extra content to an existing line margin. For example, you have a line number margin. Now you want to use the same space to add extra information about breakpoints. For example, instead of displaying a line number, we will paint a breakpoint icon to override the line number if that line has a breakpoint. You can certainly create a new margin to do it but it will take extra space. So we can use this RowMarginPainter to paint a layer on top of the line number margin.

The difference of this RowMarginPainter from the MarginPainter is this one will paint line by line and will only paint the lines that are visible to users. In comparison, MarginPainter's paintMargin method will be called in all cases.

You can add many RowMarginPainters to AbstractRowMargin. In order to decide the order to paint them, each RowMarginPainter has layer index. The lower the layer index is, the earlier it gets painted. In the other word, the painter has a higher index will overwrite those that have lower index. The default layer index is defined as LAYER_DEFAULT_INDEX. The original content of the margin is painted at this layer. For example, in code folding margin, code folding information is painted on LAYER_DEFAULT_INDEX. If you want to your painter painted before code folding information, use a layer index smaller than LAYER_DEFAULT_INDEX. If you want it painted after the code folding, use an index larger than LAYER_DEFAULT_INDEX.


Field Summary
static int LAYER_DEFAULT_INDEX
          The default layer index.
 
Method Summary
 int getLayer()
          Gets the layer index.
 void paintRowMargin(Graphics g, RowMarginSupport support, Rectangle rect, int line)
          Paints the margin.
 

Field Detail

LAYER_DEFAULT_INDEX

static final int LAYER_DEFAULT_INDEX
The default layer index. The original content of the margin is painted on this layer.

See Also:
Constant Field Values
Method Detail

paintRowMargin

void paintRowMargin(Graphics g,
                    RowMarginSupport support,
                    Rectangle rect,
                    int line)
Paints the margin.

Parameters:
g - the graphics
support - The Code Editor
rect - the rect
line - the line index.

getLayer

int getLayer()
Gets the layer index. The painter has a higher index will overwrite those that have lower index.

Returns:
the layer index.

JIDE 3.5.15