Class NatLayerPainter

  • All Implemented Interfaces:
    ILayerPainter
    Direct Known Subclasses:
    NatGridLayerPainter

    public class NatLayerPainter
    extends Object
    implements ILayerPainter
    ILayerPainter implementation that is rendering the background of the space that is available for the NatTable instance. It uses the Color that is configured via Control.setBackground(org.eclipse.swt.graphics.Color) . It then calls the ILayerPainter of the underlying layers in the layer stack and calls all registered IOverlayPainter at the end, to render the overlays correctly.
    • Field Detail

      • natTable

        protected final NatTable natTable
        The NatTable instance to paint on.
        Since:
        2.0
    • Constructor Detail

      • NatLayerPainter

        public NatLayerPainter​(NatTable natTable)
    • Method Detail

      • paintLayer

        public void paintLayer​(ILayer natLayer,
                               org.eclipse.swt.graphics.GC gc,
                               int xOffset,
                               int yOffset,
                               org.eclipse.swt.graphics.Rectangle rectangle,
                               IConfigRegistry configRegistry)
        Specified by:
        paintLayer in interface ILayerPainter
        Parameters:
        natLayer - The layer to paint.
        gc - GC used for painting
        xOffset - x offset of the layer from the origin of the table
        yOffset - y offset of the layer from the origin of the table
        rectangle - area the layer can paint in
        configRegistry - IConfigRegistry in use by NatTable. Useful for looking up associated painters.
      • paintBackground

        protected void paintBackground​(ILayer natLayer,
                                       org.eclipse.swt.graphics.GC gc,
                                       int xOffset,
                                       int yOffset,
                                       org.eclipse.swt.graphics.Rectangle rectangle,
                                       IConfigRegistry configRegistry)
      • paintOverlays

        protected void paintOverlays​(ILayer natLayer,
                                     org.eclipse.swt.graphics.GC gc,
                                     int xOffset,
                                     int yOffset,
                                     org.eclipse.swt.graphics.Rectangle rectangle,
                                     IConfigRegistry configRegistry)
      • adjustCellBounds

        public org.eclipse.swt.graphics.Rectangle adjustCellBounds​(int columnPosition,
                                                                   int rowPosition,
                                                                   org.eclipse.swt.graphics.Rectangle cellBounds)
        Description copied from interface: ILayerPainter
        This method is used to adjust the cell bounds when painting the layer. This is most often used to reduce the size of the cell to accommodate grid lines.
        Specified by:
        adjustCellBounds in interface ILayerPainter
        Parameters:
        columnPosition - The column position.
        rowPosition - The row position.
        cellBounds - The actual cell bounds.
        Returns:
        The adjusted cell bounds.