Class ThemeConfiguration

java.lang.Object
org.eclipse.nebula.widgets.nattable.config.AbstractRegistryConfiguration
org.eclipse.nebula.widgets.nattable.style.theme.ThemeConfiguration
All Implemented Interfaces:
IConfiguration
Direct Known Subclasses:
DefaultNatTableThemeConfiguration

public abstract class ThemeConfiguration extends AbstractRegistryConfiguration
Specialised IConfiguration that combines style configurations for different parts of a NatTable composition. It can be used in two different ways:
  1. As it is a IConfiguration it can be simply added to a NatTable instance like any other configuration.
     NatTable natTable = new NatTable(parent, layer, false);
     natTable.addConfiguration(new MyThemeConfiguration());
     natTable.configure();
     
    Using it like this will apply the style configurations, but might cause issues when trying to switch to another theme configuration, because the configurations can not be cleaned up correctly.
  2. Setting the ThemeConfiguration via NatTable.setTheme(ThemeConfiguration). This will internally use a ThemeManager which supports switching themes at runtime.
  • Field Details

    • styleCornerLikeColumnHeader

      protected boolean styleCornerLikeColumnHeader
      Flag to configure whether the corner should be styled like the column header in a grid composition. The ThemeConfiguration supports different styling of different regions, so the default value is false. But typically the corner is styled like the column header to provide a concise styling.
    • extensions

      protected final ArrayList<IThemeExtension> extensions
      Collection of IThemeExtension that should be added to this ThemeConfiguration.
  • Constructor Details

    • ThemeConfiguration

      public ThemeConfiguration()
  • Method Details

    • configureRegistry

      public void configureRegistry(IConfigRegistry configRegistry)
      Description copied from interface: IConfiguration
      Configure NatTable's IConfigRegistry upon receiving this callback. A mechanism to plug-in custom ICellPainter, IDataValidator etc.
      Parameters:
      configRegistry - The IConfigRegistry instance to register configuration values to.
    • createPainterInstances

      public void createPainterInstances()
      This method should be used to create the ICellPainter instances. This is needed for zoom operations so the painter are re-created with settings that match the current scaling (e.g. images).
      Since:
      2.0
    • configureDefaultStyle

      protected void configureDefaultStyle(IConfigRegistry configRegistry)
      Register default style configurations. Typically these configurations are used be the body region and will be overridden by more specific configurations of the header regions or custom styling based on labels.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getDefaultCellStyle

      protected abstract IStyle getDefaultCellStyle()
      Returns:
      The IStyle that should be used by default to render NatTable.
    • getDefaultCellPainter

      protected abstract ICellPainter getDefaultCellPainter()
      Returns the default ICellPainter that is used to render the NatTable.

      Typically this ICellPainter is used to render the body region and is overridden for other regions or other custom styling configurations based on labels.

      Returns:
      The ICellPainter that should be used by default to render NatTable.
    • configureColumnHeaderStyle

      protected void configureColumnHeaderStyle(IConfigRegistry configRegistry)
      Register the style configurations for rendering the column header in a NatTable.

      By default this means to register the style configurations against DisplayMode.NORMAL and config/region label GridRegion.COLUMN_HEADER.

      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getColumnHeaderStyle

      protected abstract IStyle getColumnHeaderStyle()
      Returns the IStyle that should be used to render the column header in a NatTable.

      That means this IStyle is registered against DisplayMode.NORMAL in the region with the region label GridRegion.COLUMN_HEADER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the column header in a NatTable.
    • getColumnHeaderCellPainter

      protected abstract ICellPainter getColumnHeaderCellPainter()
      Returns the ICellPainter that should be used to render the column header in a NatTable.

      That means this ICellPainter is registered against DisplayMode.NORMAL in the region with the region label GridRegion.COLUMN_HEADER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the column header in a NatTable.
    • configureRowHeaderStyle

      protected void configureRowHeaderStyle(IConfigRegistry configRegistry)
      Register the style configurations for rendering the row header in a NatTable.

      By default this means to register the style configurations against DisplayMode.NORMAL and config/region label GridRegion.ROW_HEADER.

      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getRowHeaderStyle

      protected abstract IStyle getRowHeaderStyle()
      Returns the IStyle that should be used to render the row header in a NatTable.

      That means this IStyle is registered against DisplayMode.NORMAL in the region with the region label GridRegion.ROW_HEADER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the row header in a NatTable.
    • getRowHeaderCellPainter

      protected abstract ICellPainter getRowHeaderCellPainter()
      Returns the ICellPainter that should be used to render the row header in a NatTable.

      That means this ICellPainter is registered against DisplayMode.NORMAL in the region with the region label GridRegion.ROW_HEADER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the row header in a NatTable.
    • configureCornerStyle

      protected void configureCornerStyle(IConfigRegistry configRegistry)
      Register the style configurations for rendering the corner in a NatTable.

      By default this means to register the style configurations against DisplayMode.NORMAL and config/region label GridRegion.CORNER.

      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getCornerStyle

      protected abstract IStyle getCornerStyle()
      Returns the IStyle that should be used to render the corner of a NatTable.

      That means this IStyle is registered against DisplayMode.NORMAL in the region with the region label GridRegion.CORNER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the corner of a NatTable.
    • getCornerCellPainter

      protected abstract ICellPainter getCornerCellPainter()
      Returns the ICellPainter that should be used to render the corner in a NatTable.

      That means this ICellPainter is registered against DisplayMode.NORMAL in the region with the region label GridRegion.CORNER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the corner in a NatTable.
    • configureHoverStyle

      protected void configureHoverStyle(IConfigRegistry configRegistry)
      Register the style configurations for hovering.

      This means to register the style configurations against DisplayMode.HOVER. Additionally the GridRegion labels are used to register hover styles per region.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getDefaultHoverStyle

      protected abstract IStyle getDefaultHoverStyle()
      Returns the IStyle that should be used by default to render hovered cells in a NatTable.

      That means this IStyle is registered against DisplayMode.HOVER.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render hovered cells in a NatTable.
    • getDefaultHoverCellPainter

      protected abstract ICellPainter getDefaultHoverCellPainter()
      Returns the ICellPainter that should be used by default to render hovered cells in a NatTable.

      That means this ICellPainter is registered against DisplayMode.HOVER.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render hovered cells in a NatTable.
    • getBodyHoverStyle

      protected abstract IStyle getBodyHoverStyle()
      Returns the IStyle that should be used to render hovered cells in a NatTable body region.

      That means this IStyle is registered against DisplayMode.HOVER in the region with the region label GridRegion.BODY.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render hovered cells in a NatTable body region.
    • getBodyHoverCellPainter

      protected abstract ICellPainter getBodyHoverCellPainter()
      Returns the ICellPainter that should be used to render hovered cells in a NatTable body region.

      That means this ICellPainter is registered against DisplayMode.HOVER in the region with the region label GridRegion.BODY.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render hovered cells in a NatTable body region.
    • getColumnHeaderHoverStyle

      protected abstract IStyle getColumnHeaderHoverStyle()
      Returns the IStyle that should be used to render hovered cells in a NatTable column header region.

      That means this IStyle is registered against DisplayMode.HOVER in the region with the region label GridRegion.COLUMN_HEADER.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render hovered cells in a NatTable column header region.
    • getColumnHeaderHoverCellPainter

      protected abstract ICellPainter getColumnHeaderHoverCellPainter()
      Returns the ICellPainter that should be used to render hovered cells in a NatTable column header region.

      That means this ICellPainter is registered against DisplayMode.HOVER in the region with the region label GridRegion.COLUMN_HEADER.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render hovered cells in a NatTable column header region.
    • getRowHeaderHoverStyle

      protected abstract IStyle getRowHeaderHoverStyle()
      Returns the IStyle that should be used to render hovered cells in a NatTable row header region.

      That means this IStyle is registered against DisplayMode.HOVER in the region with the region label GridRegion.ROW_HEADER.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render hovered cells in a NatTable row header region.
    • getRowHeaderHoverCellPainter

      protected abstract ICellPainter getRowHeaderHoverCellPainter()
      Returns the ICellPainter that should be used to render hovered cells in a NatTable row header region.

      That means this ICellPainter is registered against DisplayMode.HOVER in the region with the region label GridRegion.ROW_HEADER.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render hovered cells in a NatTable row header region.
    • configureHoverSelectionStyle

      protected void configureHoverSelectionStyle(IConfigRegistry configRegistry)
      Register the style configurations for hovering selections.

      This means to register the style configurations against DisplayMode.SELECT_HOVER. Additionally the GridRegion labels are used to register hover styles per region.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getDefaultHoverSelectionStyle

      protected abstract IStyle getDefaultHoverSelectionStyle()
      Returns the IStyle that should be used by default to render hovered selected cells in a NatTable.

      That means this IStyle is registered against DisplayMode.SELECT_HOVER.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render hovered selected cells in a NatTable.
    • getDefaultHoverSelectionCellPainter

      protected abstract ICellPainter getDefaultHoverSelectionCellPainter()
      Returns the ICellPainter that should be used by default to render hovered selected cells in a NatTable.

      That means this ICellPainter is registered against DisplayMode.SELECT_HOVER.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render hovered selected cells in a NatTable.
    • getBodyHoverSelectionStyle

      protected abstract IStyle getBodyHoverSelectionStyle()
      Returns the IStyle that should be used to render hovered selected cells in a NatTable body region.

      That means this IStyle is registered against DisplayMode.SELECT_HOVER in the region with the region label GridRegion.BODY.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render hovered selected cells in a NatTable body region.
    • getBodyHoverSelectionCellPainter

      protected abstract ICellPainter getBodyHoverSelectionCellPainter()
      Returns the ICellPainter that should be used to render hovered selected cells in a NatTable body region.

      That means this ICellPainter is registered against DisplayMode.SELECT_HOVER in the region with the region label GridRegion.BODY.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render hovered selected cells in a NatTable body region.
    • getColumnHeaderHoverSelectionStyle

      protected abstract IStyle getColumnHeaderHoverSelectionStyle()
      Returns the IStyle that should be used to render hovered selected cells in a NatTable column header region.

      That means this IStyle is registered against DisplayMode.SELECT_HOVER in the region with the region label GridRegion.COLUMN_HEADER.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render hovered selected cells in a NatTable column header region.
    • getColumnHeaderHoverSelectionCellPainter

      protected abstract ICellPainter getColumnHeaderHoverSelectionCellPainter()
      Returns the ICellPainter that should be used to render hovered selected cells in a NatTable column header region.

      That means this ICellPainter is registered against DisplayMode.SELECT_HOVER in the region with the region label GridRegion.COLUMN_HEADER.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render hovered selected cells in a NatTable column header region.
    • getRowHeaderHoverSelectionStyle

      protected abstract IStyle getRowHeaderHoverSelectionStyle()
      Returns the IStyle that should be used to render hovered selected cells in a NatTable row header region.

      That means this IStyle is registered against DisplayMode.SELECT_HOVER in the region with the region label GridRegion.ROW_HEADER.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render hovered selected cells in a NatTable row header region.
    • getRowHeaderHoverSelectionCellPainter

      protected abstract ICellPainter getRowHeaderHoverSelectionCellPainter()
      Returns the ICellPainter that should be used to render hovered selected cells in a NatTable row header region.

      That means this ICellPainter is registered against DisplayMode.SELECT_HOVER in the region with the region label GridRegion.ROW_HEADER.

      Note: This configuration is only working if the HoverLayer is part of the layer stack. Otherwise the configuration will not have any effect.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render hovered selected cells in a NatTable row header region.
    • configureDefaultSelectionStyle

      protected void configureDefaultSelectionStyle(IConfigRegistry configRegistry)
      Register default selection style configurations. Typically these configurations are used be the body region and will be overridden by more specific configurations of the header regions or custom styling based on labels.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getDefaultSelectionCellStyle

      protected abstract IStyle getDefaultSelectionCellStyle()
      Returns:
      The IStyle that should be used by default to render selected cells in NatTable.
    • getDefaultSelectionCellPainter

      protected abstract ICellPainter getDefaultSelectionCellPainter()
      Returns the default ICellPainter that is used to render selected cells in NatTable.

      Typically this ICellPainter is used to render the body region and is overridden for other regions or other custom styling configurations based on labels.

      Returns:
      The ICellPainter that should be used by default to render selected cells in NatTable.
    • configureColumnHeaderSelectionStyle

      protected void configureColumnHeaderSelectionStyle(IConfigRegistry configRegistry)
      Register the style configurations for rendering the selection in a column header in a NatTable.

      By default this means to register the style configurations against DisplayMode.SELECT and config/region label GridRegion.COLUMN_HEADER. The styling for rendering full column selection is configured against the label SelectionStyleLabels.COLUMN_FULLY_SELECTED_STYLE.

      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getColumnHeaderSelectionStyle

      protected abstract IStyle getColumnHeaderSelectionStyle()
      Returns the IStyle that should be used to render the selected cells in the column header of a NatTable.

      That means this IStyle is registered against DisplayMode.SELECT in the region with the region label GridRegion.COLUMN_HEADER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the column header in a NatTable.
    • getColumnHeaderSelectionCellPainter

      protected abstract ICellPainter getColumnHeaderSelectionCellPainter()
      Returns the ICellPainter that should be used to render the selected cells in the column header of a NatTable.

      That means this ICellPainter is registered against DisplayMode.SELECT in the region with the region label GridRegion.COLUMN_HEADER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the column header in a NatTable.
    • getColumnHeaderFullSelectionStyle

      protected abstract IStyle getColumnHeaderFullSelectionStyle()
      Returns the IStyle that should be used to render the selected cells in the column header of a NatTable when all cells in the column are selected.

      That means this IStyle is registered against DisplayMode.SELECT and the label SelectionStyleLabels.COLUMN_FULLY_SELECTED_STYLE.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the column header in a NatTable when all cells in the column are selected.
    • getColumnHeaderFullSelectionCellPainter

      protected abstract ICellPainter getColumnHeaderFullSelectionCellPainter()
      Returns the ICellPainter that should be used to render the selected cells in the column header of a NatTable when all cells in the column are selected.

      That means this ICellPainter is registered against DisplayMode.SELECT and the label SelectionStyleLabels.COLUMN_FULLY_SELECTED_STYLE.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the column header in a NatTable when all cells in the column are selected.
    • configureRowHeaderSelectionStyle

      protected void configureRowHeaderSelectionStyle(IConfigRegistry configRegistry)
      Register the style configurations for rendering the selection in a row header in a NatTable.

      By default this means to register the style configurations against DisplayMode.SELECT and config/region label GridRegion.ROW_HEADER. The styling for rendering full row selection is configured against the label SelectionStyleLabels.ROW_FULLY_SELECTED_STYLE.

      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getRowHeaderSelectionStyle

      protected abstract IStyle getRowHeaderSelectionStyle()
      Returns the IStyle that should be used to render the selected cells in the row header of a NatTable.

      That means this IStyle is registered against DisplayMode.SELECT in the region with the region label GridRegion.ROW_HEADER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the row header in a NatTable.
    • getRowHeaderSelectionCellPainter

      protected abstract ICellPainter getRowHeaderSelectionCellPainter()
      Returns the ICellPainter that should be used to render the selected cells in the row header of a NatTable.

      That means this ICellPainter is registered against DisplayMode.SELECT in the region with the region label GridRegion.ROW_HEADER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the row header in a NatTable.
    • getRowHeaderFullSelectionStyle

      protected abstract IStyle getRowHeaderFullSelectionStyle()
      Returns the IStyle that should be used to render the selected cells in the row header of a NatTable when all cells in the row are selected.

      That means this IStyle is registered against DisplayMode.SELECT and the label SelectionStyleLabels.ROW_FULLY_SELECTED_STYLE.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the row header in a NatTable when all cells in the row are selected.
    • getRowHeaderFullSelectionCellPainter

      protected abstract ICellPainter getRowHeaderFullSelectionCellPainter()
      Returns the ICellPainter that should be used to render the selected cells in the row header of a NatTable when all cells in the row are selected.

      That means this ICellPainter is registered against DisplayMode.SELECT and the label SelectionStyleLabels.ROW_FULLY_SELECTED_STYLE.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the row header in a NatTable when all cells in the row are selected.
    • configureCornerSelectionStyle

      protected void configureCornerSelectionStyle(IConfigRegistry configRegistry)
      Register the style configurations for rendering the selection in the corner of a NatTable.

      By default this means to register the style configurations against DisplayMode.SELECT and config/region label GridRegion.CORNER.

      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getCornerSelectionStyle

      protected abstract IStyle getCornerSelectionStyle()
      Returns the IStyle that should be used to render the selected cells in the corner of a NatTable.

      That means this IStyle is registered against DisplayMode.SELECT in the region with the region label GridRegion.CORNER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the corner in a NatTable.
    • getCornerSelectionCellPainter

      protected abstract ICellPainter getCornerSelectionCellPainter()
      Returns the ICellPainter that should be used to render the selected cells in the corner of a NatTable.

      That means this ICellPainter is registered against DisplayMode.SELECT in the region with the region label GridRegion.CORNER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the corner in a NatTable.
    • configureSelectionAnchorStyle

      protected void configureSelectionAnchorStyle(IConfigRegistry configRegistry)
      Register the style configurations to render the selection anchor.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getSelectionAnchorStyle

      protected abstract IStyle getSelectionAnchorStyle()
      Returns the IStyle that is used to render the selection anchor in normal display mode.

      That means this IStyle is registered against DisplayMode.NORMAL for the cell that contains the cell label SelectionStyleLabels.SELECTION_ANCHOR_STYLE.

      Typically only the border style is set here for a concise rendering.

      Returns:
      The IStyle that is used to render the selection anchor in normal display mode.
    • getSelectionAnchorCellPainter

      protected abstract ICellPainter getSelectionAnchorCellPainter()
      Returns the ICellPainter that is used to render the selection anchor in normal display mode.

      That means this ICellPainter is registered against DisplayMode.NORMAL for the cell that contains the cell label SelectionStyleLabels.SELECTION_ANCHOR_STYLE.

      Typically there is no other painter registered for rendering selections, which simply causes different styling.

      Returns:
      The ICellPainter that is used to render the selection anchor in normal display mode.
    • getSelectionAnchorSelectionStyle

      protected abstract IStyle getSelectionAnchorSelectionStyle()
      Returns the IStyle that is used to render the selection anchor in selection display mode.

      That means this IStyle is registered against DisplayMode.SELECT for the cell that contains the cell label SelectionStyleLabels.SELECTION_ANCHOR_STYLE.

      Typically the border style should be the same as used by getSelectionAnchorStyle().

      Returns:
      The IStyle that is used to render the selection anchor in selection display mode.
    • getSelectionAnchorSelectionCellPainter

      protected abstract ICellPainter getSelectionAnchorSelectionCellPainter()
      Returns the ICellPainter that is used to render the selection anchor in selection display mode.

      That means this ICellPainter is registered against DisplayMode.SELECT for the cell that contains the cell label SelectionStyleLabels.SELECTION_ANCHOR_STYLE.

      Typically there is no other painter registered for rendering selections, which simply causes different styling.

      Returns:
      The ICellPainter that is used to render the selection anchor in selection display mode.
    • getSelectionAnchorGridLineStyle

      protected abstract IStyle getSelectionAnchorGridLineStyle()
      Returns the IStyle that should be used to render the grid lines around the selection anchor. That means this style will be registered against the label SelectionStyleLabels.SELECTION_ANCHOR_GRID_LINE_STYLE. It will be interpreted by the SelectionLayerPainter which only checks the CellStyleAttributes.BORDER_STYLE attribute. All other style configurations won't be interpreted.
      Returns:
      The IStyle that should be used to render the grid lines around the selection anchor.
      See Also:
    • configureAlternatingRowStyle

      protected void configureAlternatingRowStyle(IConfigRegistry configRegistry)
      When creating a NatTable grid composition, using the DefaultGridLayerConfiguration, the AlternatingRowConfigLabelAccumulator is configured for the body region to apply labels for alternating rows. It applies the following labels for which this method registers styles: If the AlternatingRowConfigLabelAccumulator is not configured, this style configuration will have no effect.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getEvenRowStyle

      protected abstract IStyle getEvenRowStyle()
      Returns the IStyle that should be used to render alternating rows.

      That means this IStyle is registered against the label AlternatingRowConfigLabelAccumulator.EVEN_ROW_CONFIG_TYPE.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that is used to render rows that contain the label AlternatingRowConfigLabelAccumulator.EVEN_ROW_CONFIG_TYPE in the label stack.
    • getEvenRowCellPainter

      protected abstract ICellPainter getEvenRowCellPainter()
      Returns the ICellPainter that should be used to render alternating rows.

      That means this ICellPainter is registered against the label AlternatingRowConfigLabelAccumulator.EVEN_ROW_CONFIG_TYPE.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that is used to render rows that contain the label AlternatingRowConfigLabelAccumulator.EVEN_ROW_CONFIG_TYPE in the label stack.
    • getOddRowStyle

      protected abstract IStyle getOddRowStyle()
      Returns the IStyle that should be used to render alternating rows.

      That means this IStyle is registered against the label AlternatingRowConfigLabelAccumulator.ODD_ROW_CONFIG_TYPE.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that is used to render rows that contain the label AlternatingRowConfigLabelAccumulator.ODD_ROW_CONFIG_TYPE in the label stack.
    • getOddRowCellPainter

      protected abstract ICellPainter getOddRowCellPainter()
      Returns the ICellPainter that should be used to render alternating rows.

      That means this ICellPainter is registered against the label AlternatingRowConfigLabelAccumulator.ODD_ROW_CONFIG_TYPE.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that is used to render rows that contain the label AlternatingRowConfigLabelAccumulator.ODD_ROW_CONFIG_TYPE in the label stack.
    • configureColumnGroupHeaderStyle

      protected void configureColumnGroupHeaderStyle(IConfigRegistry configRegistry)
      This method is used to register style configurations for the column group header in a NatTable.

      When adding the ColumnGroupHeaderLayer to a layer stack, there will be a new region with region label GridRegion.COLUMN_GROUP_HEADER. Typically it will share the same styling as the column header and have an internally configured ICellPainter to render dependent on the state of the ColumnGroupModel.

      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getColumnGroupHeaderStyle

      protected abstract IStyle getColumnGroupHeaderStyle()
      Returns the IStyle that should be used to render the column group header in a NatTable.

      That means this IStyle is registered against DisplayMode.NORMAL in the region with the region label GridRegion.COLUMN_GROUP_HEADER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the column group header in a NatTable.
    • getColumnGroupHeaderCellPainter

      protected abstract ICellPainter getColumnGroupHeaderCellPainter()
      Returns the ICellPainter that should be used to render the column group header in a NatTable.

      That means this ICellPainter is registered against DisplayMode.NORMAL in the region with the region label GridRegion.COLUMN_GROUP_HEADER.

      If this method returns null the default configuration of the ColumnGroupHeaderLayer is used. By default the ColumnGroupHeaderTextPainter is registered to render icons corresponding to the expand/collapse state of the column group.

      Returns:
      The ICellPainter that should be used to render the column group header in a NatTable.
    • configureRowGroupHeaderStyle

      protected void configureRowGroupHeaderStyle(IConfigRegistry configRegistry)
      This method is used to register style configurations for the row group header in a NatTable.

      When adding the RowGroupHeaderLayer to a layer stack, there will be a new region with region label GridRegion.ROW_GROUP_HEADER. Typically it will share the same styling as the row header and have an internally configured ICellPainter to render dependent on the state of the RowGroupModel.

      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getRowGroupHeaderStyle

      protected abstract IStyle getRowGroupHeaderStyle()
      Returns the IStyle that should be used to render the row group header in a NatTable.

      That means this IStyle is registered against DisplayMode.NORMAL in the region with the region label GridRegion.ROW_GROUP_HEADER.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the row group header in a NatTable.
    • getRowGroupHeaderCellPainter

      protected abstract ICellPainter getRowGroupHeaderCellPainter()
      Returns the ICellPainter that should be used to render the row group header in a NatTable.

      That means this ICellPainter is registered against DisplayMode.NORMAL in the region with the region label GridRegion.ROW_GROUP_HEADER.

      If this method returns null the default configuration of the RowGroupHeaderLayer is used. By default the RowGroupHeaderTextPainter is registered to render icons corresponding to the expand/collapse state of the row group.

      Returns:
      The ICellPainter that should be used to render the row group header in a NatTable.
    • configureSortHeaderStyle

      protected void configureSortHeaderStyle(IConfigRegistry configRegistry)
      This method is used to register styles for the sort header layer. It will register the IStyle and the ICellPainter for both sort states which cause adding the following labels to the configuration label stack of a cell:
      • DefaultSortConfiguration.SORT_DOWN_CONFIG_TYPE
      • DefaultSortConfiguration.SORT_UP_CONFIG_TYPE
      Typically the ICellPainter itself takes care about the sort state. If this needs to be handled differently, this method needs to be overridden.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getSortHeaderStyle

      protected abstract IStyle getSortHeaderStyle()
      Returns the IStyle that should be used to render the sort header in a NatTable.

      That means this IStyle is registered against DisplayMode.NORMAL for the configurations labels DefaultSortConfiguration.SORT_DOWN_CONFIG_TYPE and DefaultSortConfiguration.SORT_UP_CONFIG_TYPE. If you need to configure different styles for different sort states, you need to override configureSortHeaderStyle(IConfigRegistry). Usually the default painter is taking care of the different sort states.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the sort header in a NatTable.
    • getSortHeaderCellPainter

      protected abstract ICellPainter getSortHeaderCellPainter()
      Returns the ICellPainter that should be used to render the sort header cells in a NatTable.

      That means this ICellPainter is registered against DisplayMode.NORMAL for the configurations labels DefaultSortConfiguration.SORT_DOWN_CONFIG_TYPE and DefaultSortConfiguration.SORT_UP_CONFIG_TYPE. If you need to configure different painters for different sort states, you need to override configureSortHeaderStyle(IConfigRegistry).

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the sort header in a NatTable.
    • configureSelectedSortHeaderStyle

      protected void configureSelectedSortHeaderStyle(IConfigRegistry configRegistry)
      This method is used to register styles for the selected sort header layer. It will register the IStyle and the ICellPainter for both sort states which cause adding the following labels to the configuration label stack of a cell:
      • DefaultSortConfiguration.SORT_DOWN_CONFIG_TYPE
      • DefaultSortConfiguration.SORT_UP_CONFIG_TYPE
      Typically the ICellPainter itself takes care about the sort state. If this needs to be handled differently, this method needs to be overridden.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getSelectedSortHeaderStyle

      protected abstract IStyle getSelectedSortHeaderStyle()
      Returns the IStyle that should be used to render the sort header in a NatTable in selected state.

      That means this IStyle is registered against DisplayMode.SELECT for the configurations labels DefaultSortConfiguration.SORT_DOWN_CONFIG_TYPE and DefaultSortConfiguration.SORT_UP_CONFIG_TYPE. If you need to configure different styles for different sort states, you need to override configureSortHeaderStyle(IConfigRegistry). Usually the default painter is taking care of the different sort states.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the selected sort header in a NatTable.
    • getSelectedSortHeaderCellPainter

      protected abstract ICellPainter getSelectedSortHeaderCellPainter()
      Returns the ICellPainter that should be used to render the sort header cells in a NatTable in selected state.

      That means this ICellPainter is registered against DisplayMode.SELECT for the configurations labels DefaultSortConfiguration.SORT_DOWN_CONFIG_TYPE and DefaultSortConfiguration.SORT_UP_CONFIG_TYPE. If you need to configure different painters for different sort states, you need to override configureSortHeaderStyle(IConfigRegistry).

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the selected sort header in a NatTable.
    • configureFilterRowStyle

      protected void configureFilterRowStyle(IConfigRegistry configRegistry)
      This method is used to register style configurations for the filter row. It will only be applied in case the FilterRowHeaderLayer is involved, which introduces a new region that is recognised by GridRegion.FILTER_ROW.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getFilterRowStyle

      protected abstract IStyle getFilterRowStyle()
      Returns the IStyle that should be used to render the filter row in a NatTable.

      That means this IStyle is registered against DisplayMode.NORMAL in the region with the region label GridRegion.FILTER_ROW.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the filter row in a NatTable.
    • getFilterRowCellPainter

      protected abstract ICellPainter getFilterRowCellPainter()
      Returns the ICellPainter that should be used to render the filter row cells in a NatTable.

      That means this ICellPainter is registered against DisplayMode.NORMAL in the region with the region label GridRegion.FILTER_ROW.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the filter row in a NatTable.
    • configureTreeStyle

      protected void configureTreeStyle(IConfigRegistry configRegistry)
      This method is used to register style configurations for a tree representation. It will only be applied in case a TreeLayer is involved, which adds the configuration label TreeLayer.TREE_COLUMN_CELL to the tree column.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getTreeStyle

      protected abstract IStyle getTreeStyle()
      Returns the IStyle that should be used to render the tree column cells in a NatTable.

      That means this IStyle is registered against DisplayMode.NORMAL and the configuration label TreeLayer.TREE_COLUMN_CELL.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the tree column in a NatTable.
    • getTreeCellPainter

      protected abstract ICellPainter getTreeCellPainter()
      Returns the ICellPainter that should be used to render the tree column cells in a NatTable.

      That means this ICellPainter is registered against DisplayMode.NORMAL and the configuration label TreeLayer.TREE_COLUMN_CELL.

      Returns:
      The ICellPainter that should be used to render the tree column in a NatTable.
    • getTreeSelectionStyle

      protected abstract IStyle getTreeSelectionStyle()
      Returns the IStyle that should be used to render the selected tree column cells in a NatTable.

      That means this IStyle is registered against DisplayMode.SELECT and the configuration label TreeLayer.TREE_COLUMN_CELL.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the selected tree column in a NatTable.
    • getTreeSelectionCellPainter

      protected abstract ICellPainter getTreeSelectionCellPainter()
      Returns the ICellPainter that should be used to render the selected tree column cells in a NatTable.

      That means this ICellPainter is registered against DisplayMode.SELECT and the configuration label TreeLayer.TREE_COLUMN_CELL.

      Returns:
      The ICellPainter that should be used to render the selected tree column in a NatTable.
    • getTreeStructurePainter

      protected abstract ICellPainter getTreeStructurePainter()
      Returns the ICellPainter that should be used to render the tree structure in a NatTable. It needs to be an IndentedTreeImagePainter to show the expand/collapsed state aswell as the indentation for the tree level. It that can be wrapped with several CellPainterWrapper. If there is no IndentedTreeImagePainter in the painter hierarchy, this configuration attribute will be ignored by the TreeLayer.
      Returns:
      The IndentedTreeImagePainter that should be used to render the tree structure in a NatTable.
    • getTreeStructureSelectionPainter

      protected abstract ICellPainter getTreeStructureSelectionPainter()
      Returns the ICellPainter that should be used to render the selected tree structure in a NatTable. It needs to be an IndentedTreeImagePainter to show the expand/collapsed state aswell as the indentation for the tree level. It that can be wrapped with several CellPainterWrapper. If there is no IndentedTreeImagePainter in the painter hierarchy, this configuration attribute will be ignored by the TreeLayer.
      Returns:
      The IndentedTreeImagePainter that should be used to render the selected tree structure in a NatTable.
    • configureSummaryRowStyle

      protected void configureSummaryRowStyle(IConfigRegistry configRegistry)
      This method is used to register style configurations for a summary row. It will only be applied in case a SummaryRowLayer is involved, which adds the configuration label SummaryRowLayer.DEFAULT_SUMMARY_ROW_CONFIG_LABEL to the summary row.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getSummaryRowStyle

      protected abstract IStyle getSummaryRowStyle()
      Returns the IStyle that should be used to render the summary row cells in a NatTable.

      That means this IStyle is registered against DisplayMode.NORMAL and the configuration label SummaryRowLayer.DEFAULT_SUMMARY_ROW_CONFIG_LABEL.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the summary row in a NatTable.
    • getSummaryRowCellPainter

      protected abstract ICellPainter getSummaryRowCellPainter()
      Returns the ICellPainter that should be used to render the summary row cells in a NatTable.

      That means this ICellPainter is registered against DisplayMode.NORMAL and the configuration label SummaryRowLayer.DEFAULT_SUMMARY_ROW_CONFIG_LABEL.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the summary row in a NatTable.
    • getSummaryRowSelectionStyle

      protected abstract IStyle getSummaryRowSelectionStyle()
      Returns the IStyle that should be used to render the selected summary row cells in a NatTable.

      That means this IStyle is registered against DisplayMode.SELECT and the configuration label SummaryRowLayer.DEFAULT_SUMMARY_ROW_CONFIG_LABEL.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The IStyle that should be used to render the selected summary row cells in a NatTable.
    • getSummaryRowSelectionCellPainter

      protected abstract ICellPainter getSummaryRowSelectionCellPainter()
      Returns the ICellPainter that should be used to render the selected summary row cells in a NatTable.

      That means this ICellPainter is registered against DisplayMode.SELECT and the configuration label SummaryRowLayer.DEFAULT_SUMMARY_ROW_CONFIG_LABEL.

      If this method returns null, no value will be registered to keep the IConfigRegistry clean. The result would be the same, as if no value is found in the IConfigRegistry. In this case the rendering will fallback to the default configuration.

      Returns:
      The ICellPainter that should be used to render the selected summary row cells in a NatTable.
    • configureFreezeStyle

      protected void configureFreezeStyle(IConfigRegistry configRegistry)
      This method is used to register the style attributes for freeze rendering. This mainly means to specify the color that is used to render the freeze separator.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getFreezeSeparatorColor

      protected abstract org.eclipse.swt.graphics.Color getFreezeSeparatorColor()
      Returns the Color that should be used to render the freeze separator. If null is returned, the default separator color will be used.
      Returns:
      The Color that should be used to render the freeze separator.
    • getFreezeSeparatorWidth

      protected abstract Integer getFreezeSeparatorWidth()
      Returns the width that should be used by the freeze separator. If null is returned, the default width of 1 pixel will be used.
      Returns:
      The width of the freeze separator.
      Since:
      2.0
    • configureGridLineStyle

      protected void configureGridLineStyle(IConfigRegistry configRegistry)
      This method is used to register the grid line styling, which consists of grid line color and the configuration if grid lines should be rendered or not. These configurations will be interpreted by the GridLineCellLayerPainter.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getGridLineColor

      protected abstract org.eclipse.swt.graphics.Color getGridLineColor()
      Returns the Color that should be used to render the grid lines. If null is returned, the default grid line color will be used.
      Returns:
      The Color that should be used to render the grid lines.
    • getRenderColumnHeaderGridLines

      protected abstract Boolean getRenderColumnHeaderGridLines()
      Returns whether grid lines in the column header should be rendered or not.

      That means this configuration is registered against DisplayMode.NORMAL and the configuration label GridRegion.COLUMN_HEADER.

      Returns:
      true if grid lines in the column header region should be rendered, false if not.
    • getRenderCornerGridLines

      protected abstract Boolean getRenderCornerGridLines()
      Returns whether grid lines in the corner region should be rendered or not.

      That means this configuration is registered against DisplayMode.NORMAL and the configuration label GridRegion.CORNER.

      Returns:
      true if grid lines in the corner region should be rendered, false if not.
    • getRenderRowHeaderGridLines

      protected abstract Boolean getRenderRowHeaderGridLines()
      Returns whether grid lines in the row header should be rendered or not.

      That means this configuration is registered against DisplayMode.NORMAL and the configuration label GridRegion.ROW_HEADER.

      Returns:
      true if grid lines in the row header region should be rendered, false if not.
    • getRenderBodyGridLines

      protected abstract Boolean getRenderBodyGridLines()
      Returns whether grid lines in the body should be rendered or not.

      That means this configuration is registered against DisplayMode.NORMAL and the configuration label GridRegion.BODY.

      Returns:
      true if grid lines in the body region should be rendered, false if not.
    • getRenderFilterRowGridLines

      protected abstract Boolean getRenderFilterRowGridLines()
      Returns whether grid lines in the filter row should be rendered or not.

      That means this configuration is registered against DisplayMode.NORMAL and the configuration label GridRegion.FILTER_ROW.

      Returns:
      true if grid lines in the filter row should be rendered, false if not.
    • configureEditErrorStyle

      protected void configureEditErrorStyle(IConfigRegistry configRegistry)
      This method is used to register the styles that should be applied to an editor control in case of conversion/validation errors.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
    • getConversionErrorStyle

      protected abstract IStyle getConversionErrorStyle()
      Returns the IStyle that should be applied to an editor in case the input is invalid in terms of conversion errors.

      That means the EditConfigAttributes.CONVERSION_ERROR_STYLE configuration is registered against DisplayMode.EDIT.

      Note that only style informations for foreground colour, background colour and font are interpreted, as the style informations will be applied to the underlying editor control.

      Currently mainly the TextCellEditor is using this IStyle via RenderErrorHandling and the TableCellEditor.

      If this method returns null, the default behaviour of using a red foreground colour will be used on conversion errors.

      Returns:
      The IStyle that should be applied to an editor control in case of conversion errors.
    • getValidationErrorStyle

      protected abstract IStyle getValidationErrorStyle()
      Returns the IStyle that should be applied to an editor in case the input is invalid in terms of validation errors.

      That means the EditConfigAttributes.VALIDATION_ERROR_STYLE configuration is registered against DisplayMode.EDIT.

      Note that only style informations for foreground colour, background colour and font are interpreted, as the style informations will be applied to the underlying editor control.

      Currently mainly the TextCellEditor is using this IStyle via RenderErrorHandling and the TableCellEditor.

      If this method returns null, the default behaviour of using a red foreground colour will be used on validation errors.

      Returns:
      The IStyle that should be applied to an editor control in case of validation errors.
    • configureFillHandleStyle

      protected void configureFillHandleStyle(IConfigRegistry configRegistry)
      Register the style configurations to render the fill handle.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
      Since:
      1.5
    • getFillHandleColor

      protected abstract org.eclipse.swt.graphics.Color getFillHandleColor()
      Returns the Color that should be used to render the fill handle.
      Returns:
      The Color that should be used to render the fill handle.
      Since:
      1.5
    • getFillHandleBorderStyle

      protected abstract BorderStyle getFillHandleBorderStyle()
      Returns the BorderStyle that should be used to render the border of the fill handle.
      Returns:
      The BorderStyle that should be used to render the border of the fill handle.
      Since:
      1.5
    • getFillHandleRegionBorderStyle

      protected abstract BorderStyle getFillHandleRegionBorderStyle()
      Returns the BorderStyle that should be used to render the border around the fill handle region.
      Returns:
      The BorderStyle that should be used to render the border around the fill handle region.
      Since:
      1.5
    • configureCopyBorderStyle

      protected void configureCopyBorderStyle(IConfigRegistry configRegistry)
      Register the style configurations to render the copy border.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
      Since:
      1.5
    • getCopyBorderStyle

      protected abstract IStyle getCopyBorderStyle()
      Returns the IStyle that should be used to render the copy border. That means this style will be registered against the label SelectionStyleLabels.COPY_BORDER_STYLE. Only the CellStyleAttributes.BORDER_STYLE attribute will be interpreted.
      Returns:
      The IStyle that should be used to render the copy border.
      Since:
      1.5
    • configureDataChangeStyle

      protected void configureDataChangeStyle(IConfigRegistry configRegistry)
      Register the style configurations to render cells in dirty state.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
      Since:
      2.0
    • getDataChangeStyle

      protected abstract IStyle getDataChangeStyle()
      Returns the IStyle that should be used to render dirty cells in DisplayMode.NORMAL. That means this style will be registered against the label DataChangeLayer.DIRTY.
      Returns:
      The IStyle that should be used to render dirty cells.
      Since:
      2.0
    • getDataChangeSelectionStyle

      protected abstract IStyle getDataChangeSelectionStyle()
      Returns the IStyle that should be used to render dirty cells in DisplayMode.SELECT. That means this style will be registered against the label DataChangeLayer.DIRTY.
      Returns:
      The IStyle that should be used to render dirty cells.
      Since:
      2.0
    • configureHideIndicatorStyle

      protected void configureHideIndicatorStyle(IConfigRegistry configRegistry)
      Register the style configurations for rendering the hide indicator.
      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configuration should be applied to.
      Since:
      2.0
    • getHideIndicatorColor

      protected abstract org.eclipse.swt.graphics.Color getHideIndicatorColor()
      Returns the Color that should be used to render the hide indicator . If null is returned, the default color will be used.
      Returns:
      The Color that should be used to render the hide indicator.
      Since:
      2.0
    • getHideIndicatorWidth

      protected abstract Integer getHideIndicatorWidth()
      Returns the width that should be used by the hide indicator. If null is returned, the default width of 1 pixel will be used.
      Returns:
      The width of the hide indicator.
      Since:
      2.0
    • isStyleEmpty

      public static boolean isStyleEmpty(IStyle style)
      Null-safe check if a IStyle is empty or not.
      Parameters:
      style - The IStyle to check.
      Returns:
      true if the given IStyle is null or has no value set for any CellStyleAttributes, false if at least one attribute is set.
    • unregisterThemeStyleConfigurations

      public void unregisterThemeStyleConfigurations(IConfigRegistry configRegistry)
      Unregister the style configurations that were applied by this ThemeConfiguration. This is necessary to ensure a clean IConfigRegistry state before applying a new ThemeConfiguration. Otherwise it would be possible to accidentally mix style configurations.

      It will only unregister configurations that were applied by this ThemeConfiguration. This means for every configuration a check is performed whether there is a value configured in this theme or not. This ensures to not removing configurations that are set somewhere else, e.g. the ICellPainter that is used for the column group header is registered internally by the layer itself, if the theme doesn't change it, it also shouldn't unregister it in case of theme changes.

      Parameters:
      configRegistry - The IConfigRegistry that is used by the NatTable instance to which the style configurations were applied to.
    • addThemeExtension

      public void addThemeExtension(IThemeExtension extension)
      Adds an IThemeExtension to this ThemeConfiguration which adds additional styling configuration on top.
      Parameters:
      extension - The IThemeExtension that should be added to this ThemeConfiguration.
    • removeThemeExtension

      public void removeThemeExtension(IThemeExtension extension)
      Removes an IThemeExtension that was added to this ThemeConfiguration before.
      Parameters:
      extension - The IThemeExtension that should be removed from this ThemeConfiguration.