Class CustomLineBorderDecorator
- java.lang.Object
-
- org.eclipse.nebula.widgets.nattable.painter.cell.AbstractCellPainter
-
- org.eclipse.nebula.widgets.nattable.painter.cell.CellPainterWrapper
-
- org.eclipse.nebula.widgets.nattable.painter.cell.decorator.CustomLineBorderDecorator
-
- All Implemented Interfaces:
ICellPainter
public class CustomLineBorderDecorator extends CellPainterWrapper
NatTable
decorator class which is used to draw borders for cells whose LabelStack contains border related labels.Compared to the LineBorderDecorator which paints a border for every side of a cell, with this implementation you are free to choose for which side a border should be painted or not.
-
-
Field Summary
Fields Modifier and Type Field Description static String
BOTTOM_LINE_BORDER_LABEL
Label for adding a border at the bottom of a cell.static String
LEFT_LINE_BORDER_LABEL
Label for adding a border at the left of a cell.static String
RIGHT_LINE_BORDER_LABEL
Label for adding a border at the right of a cell.static String
TOP_LINE_BORDER_LABEL
Label for adding a border at the top of a cell.
-
Constructor Summary
Constructors Constructor Description CustomLineBorderDecorator(ICellPainter interiorPainter)
Creates a new LabelLineBorderDecorator wrapping the given interior painter and no default border style.CustomLineBorderDecorator(ICellPainter interiorPainter, BorderStyle defaultBorderStyle)
Creates a new LabelLineBorderDecorator wrapping the given interior painter using the given BorderStyle as default.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getPreferredHeight(ILayerCell cell, org.eclipse.swt.graphics.GC gc, IConfigRegistry configRegistry)
Get the preferred height of the cell when rendered by this painter.int
getPreferredWidth(ILayerCell cell, org.eclipse.swt.graphics.GC gc, IConfigRegistry configRegistry)
Get the preferred width of the cell when rendered by this painter.void
paintCell(ILayerCell cell, org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle rectangle, IConfigRegistry configRegistry)
-
Methods inherited from class org.eclipse.nebula.widgets.nattable.painter.cell.CellPainterWrapper
getCellPainterAt, getWrappedPainter, getWrappedPainterBounds, setWrappedPainter
-
-
-
-
Field Detail
-
TOP_LINE_BORDER_LABEL
public static final String TOP_LINE_BORDER_LABEL
Label for adding a border at the top of a cell.- See Also:
- Constant Field Values
-
BOTTOM_LINE_BORDER_LABEL
public static final String BOTTOM_LINE_BORDER_LABEL
Label for adding a border at the bottom of a cell.- See Also:
- Constant Field Values
-
LEFT_LINE_BORDER_LABEL
public static final String LEFT_LINE_BORDER_LABEL
Label for adding a border at the left of a cell.- See Also:
- Constant Field Values
-
RIGHT_LINE_BORDER_LABEL
public static final String RIGHT_LINE_BORDER_LABEL
Label for adding a border at the right of a cell.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CustomLineBorderDecorator
public CustomLineBorderDecorator(ICellPainter interiorPainter)
Creates a new LabelLineBorderDecorator wrapping the given interior painter and no default border style.- Parameters:
interiorPainter
- The painter to be wrapped by this decorator.
-
CustomLineBorderDecorator
public CustomLineBorderDecorator(ICellPainter interiorPainter, BorderStyle defaultBorderStyle)
Creates a new LabelLineBorderDecorator wrapping the given interior painter using the given BorderStyle as default.- Parameters:
interiorPainter
- The painter to be wrapped by this decorator.defaultBorderStyle
- The BorderStyle to use as default if there is no BorderStyle configured via cell styles. Can benull
.
-
-
Method Detail
-
getPreferredWidth
public int getPreferredWidth(ILayerCell cell, org.eclipse.swt.graphics.GC gc, IConfigRegistry configRegistry)
Description copied from interface:ICellPainter
Get the preferred width of the cell when rendered by this painter. Used for auto-resize.- Specified by:
getPreferredWidth
in interfaceICellPainter
- Overrides:
getPreferredWidth
in classCellPainterWrapper
- Parameters:
cell
- The cell for which the preferred width is requested.gc
- The GC that is used for rendering.configRegistry
- The IConfigRegistry that contains the configuration used for rendering.- Returns:
- The preferred width of the given cell when rendered by this painter.
-
getPreferredHeight
public int getPreferredHeight(ILayerCell cell, org.eclipse.swt.graphics.GC gc, IConfigRegistry configRegistry)
Description copied from interface:ICellPainter
Get the preferred height of the cell when rendered by this painter. Used for auto-resize.- Specified by:
getPreferredHeight
in interfaceICellPainter
- Overrides:
getPreferredHeight
in classCellPainterWrapper
- Parameters:
cell
- The cell for which the preferred height is requested.gc
- The GC that is used for rendering.configRegistry
- The IConfigRegistry that contains the configuration used for rendering.- Returns:
- The preferred height of the given cell when rendered by this painter.
-
paintCell
public void paintCell(ILayerCell cell, org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle rectangle, IConfigRegistry configRegistry)
- Specified by:
paintCell
in interfaceICellPainter
- Overrides:
paintCell
in classCellPainterWrapper
-
-