Class InvertedLayer

java.lang.Object
org.eclipse.nebula.widgets.nattable.layer.InvertedLayer
All Implemented Interfaces:
ILayer, ILayerListener, IUniqueIndexLayer, IPersistable

public class InvertedLayer extends Object implements IUniqueIndexLayer
  • Constructor Details

  • Method Details

    • handleLayerEvent

      public void handleLayerEvent(ILayerEvent event)
      Description copied from interface: ILayerListener
      Handle an event notification from an ILayer
      Specified by:
      handleLayerEvent in interface ILayerListener
      Parameters:
      event - the event
    • saveState

      public void saveState(String prefix, Properties properties)
      Description copied from interface: IPersistable
      Saves the state to the given Properties using the specified prefix. Note: The prefix must be prepended to the property key to support multiple states within one Properties instance.
      Specified by:
      saveState in interface IPersistable
      Parameters:
      prefix - The prefix to use for the state keys. Is also used as the state configuration name.
      properties - The Properties instance to save the state to.
    • loadState

      public void loadState(String prefix, Properties properties)
      Description copied from interface: IPersistable
      Restore the state out of the given Properties identified by the specified prefix. Note: The prefix must be prepended to the property key to support multiple states within one Properties instance.
      Specified by:
      loadState in interface IPersistable
      Parameters:
      prefix - The prefix to use for the state keys. Is also used as the state configuration name.
      properties - The Properties instance to load the state from.
    • dispose

      public void dispose()
      Description copied from interface: ILayer
      Dispose any resource allocated by this layer.
      Specified by:
      dispose in interface ILayer
    • registerPersistable

      public void registerPersistable(IPersistable persistable)
      Description copied from interface: ILayer
      Register an IPersistable that can write its state to the state Properties instance when the layer is persisted.
      Specified by:
      registerPersistable in interface ILayer
      Parameters:
      persistable - The persistable that should be registered.
    • unregisterPersistable

      public void unregisterPersistable(IPersistable persistable)
      Description copied from interface: ILayer
      Unregister the given IPersistable.
      Specified by:
      unregisterPersistable in interface ILayer
      Parameters:
      persistable - The persistable to unregister.
    • configure

      public void configure(IConfigRegistry configRegistry, UiBindingRegistry uiBindingRegistry)
      Description copied from interface: ILayer
      Configure this layer, e.g. add any key/mouse bindings and other general configuration.

      This method is triggered by NatTable.configure() and executed down the layer stack.

      Specified by:
      configure in interface ILayer
      Parameters:
      configRegistry - The IConfigRegistry instance owned by the NatTable this layer is attached to.
      uiBindingRegistry - The UiBindingRegistry instance owned by NatTable this layer is attached to.
    • getRegionLabelsByXY

      public LabelStack getRegionLabelsByXY(int x, int y)
      Description copied from interface: ILayer
      Return the LabelStack containing the region labels for the cell at the given pixel position.
      Specified by:
      getRegionLabelsByXY in interface ILayer
      Parameters:
      x - the x pixel coordinate
      y - the y pixel coordinate
      Returns:
      LabelStack containing the region labels for the cell at the given pixel position.
    • doCommand

      public boolean doCommand(ILayerCommand command)
      Description copied from interface: ILayer
      Opportunity to respond to a command as it flows down the stack. If the layer is not interested in the command it should allow the command to keep traveling down the stack.

      Note: Before the layer can process a command it must convert the command to its local coordinates using ILayerCommand.convertToTargetLayer(ILayer)

      Specified by:
      doCommand in interface ILayer
      Parameters:
      command - The command to execute.
      Returns:
      true if the command has been handled and was therefore consumed, false otherwise.
    • registerCommandHandler

      public void registerCommandHandler(ILayerCommandHandler<?> commandHandler)
      Description copied from interface: ILayer
      Register an ILayerCommandHandler to handle a command in this layer. Only one ILayerCommandHandler per ILayerCommand can be registered per layer.
      Specified by:
      registerCommandHandler in interface ILayer
      Parameters:
      commandHandler - The command handler to register with this layer.
    • unregisterCommandHandler

      public void unregisterCommandHandler(Class<? extends ILayerCommand> commandClass)
      Description copied from interface: ILayer
      Unregister the ILayerCommandHandler that is registered for the given ILayerCommand class.
      Specified by:
      unregisterCommandHandler in interface ILayer
      Parameters:
      commandClass - The ILayerCommand class for which the ILayerCommandHandler should be unregistered.
    • fireLayerEvent

      public void fireLayerEvent(ILayerEvent event)
      Description copied from interface: ILayer
      Events can be fired to notify other components of the grid. Events travel up the layer stack and may cause a repaint.

      Example: When the contents of the grid change IVisualChangeEvent can be fired to notify other layers to refresh their caches etc.

      Specified by:
      fireLayerEvent in interface ILayer
      Parameters:
      event - the event to fire
    • addLayerListener

      public void addLayerListener(ILayerListener listener)
      Description copied from interface: ILayer
      Add a general ILayerListener to handle ILayerEvents on this layer.
      Specified by:
      addLayerListener in interface ILayer
      Parameters:
      listener - The ILayerListener to add.
    • removeLayerListener

      public void removeLayerListener(ILayerListener listener)
      Description copied from interface: ILayer
      Remove the given ILayerListener from this layer.
      Specified by:
      removeLayerListener in interface ILayer
      Parameters:
      listener - The ILayerListener to remove.
    • hasLayerListener

      public boolean hasLayerListener(Class<? extends ILayerListener> layerListenerClass)
      Description copied from interface: ILayer
      Check if an ILayerListener of the given type is registered on this layer or not.
      Specified by:
      hasLayerListener in interface ILayer
      Parameters:
      layerListenerClass - The type of ILayerListener to check for.
      Returns:
      true if this ILayer has a ILayerListener of the specified type registered, false if there is no such listener registered.
    • getLayerPainter

      public ILayerPainter getLayerPainter()
      Specified by:
      getLayerPainter in interface ILayer
      Returns:
      The ILayerPainter used to render this layer.
    • getClientAreaProvider

      public IClientAreaProvider getClientAreaProvider()
      Specified by:
      getClientAreaProvider in interface ILayer
      Returns:
      The IClientAreaProvider that specifies the rectangular area available on this layer.
    • setClientAreaProvider

      public void setClientAreaProvider(IClientAreaProvider clientAreaProvider)
      Specified by:
      setClientAreaProvider in interface ILayer
      Parameters:
      clientAreaProvider - The IClientAreaProvider that specifies the rectangular area available on this layer.
    • getColumnCount

      public int getColumnCount()
      Specified by:
      getColumnCount in interface ILayer
      Returns:
      The number of columns in this layer.
    • getPreferredColumnCount

      public int getPreferredColumnCount()
      Specified by:
      getPreferredColumnCount in interface ILayer
    • getColumnIndexByPosition

      public int getColumnIndexByPosition(int columnPosition)
      Description copied from interface: ILayer
      Gets the underlying non-transformed column index for the given column position on this layer.
      Specified by:
      getColumnIndexByPosition in interface ILayer
      Parameters:
      columnPosition - The column position relative to this layer.
      Returns:
      An underlying non-transformed column index, or -1 if the given column position does not exist within this coordinate system.
    • localToUnderlyingColumnPosition

      public int localToUnderlyingColumnPosition(int localColumnPosition)
      Description copied from interface: ILayer
      Convert a column position to the coordinates of the underlying layer. This is possible since each layer is aware of its underlying layer.
      Specified by:
      localToUnderlyingColumnPosition in interface ILayer
      Parameters:
      localColumnPosition - column position in local (the layer's own) coordinates
      Returns:
      column position in the underlying layer's coordinates
    • underlyingToLocalColumnPosition

      public int underlyingToLocalColumnPosition(ILayer sourceUnderlyingLayer, int underlyingColumnPosition)
      Description copied from interface: ILayer
      Transforms the column position relative to the given underlying layer to this layer coordinates.
      Specified by:
      underlyingToLocalColumnPosition in interface ILayer
      Parameters:
      sourceUnderlyingLayer - The underlying layer to which the given column position matches.
      underlyingColumnPosition - The column position in the given underlying layer that should be converted to a local column position.
      Returns:
      The given column position transformed to be local to this layer.
    • underlyingToLocalColumnPositions

      public Collection<Range> underlyingToLocalColumnPositions(ILayer sourceUnderlyingLayer, Collection<Range> underlyingColumnPositionRanges)
      Description copied from interface: ILayer
      Transforms the column position ranges relative to the given underlying layer to this layer coordinates.
      Specified by:
      underlyingToLocalColumnPositions in interface ILayer
      Parameters:
      sourceUnderlyingLayer - The underlying layer to which the given column positions match.
      underlyingColumnPositionRanges - The column position ranges relative to the given underlying layer that should be converted to local column positions.
      Returns:
      The given column position ranges transformed to this layer.
    • getWidth

      public int getWidth()
      Description copied from interface: ILayer
      Returns the total width in pixels of this layer.
      Specified by:
      getWidth in interface ILayer
      Returns:
      The total width in pixels of this layer.
    • getPreferredWidth

      public int getPreferredWidth()
      Specified by:
      getPreferredWidth in interface ILayer
    • getColumnWidthByPosition

      public int getColumnWidthByPosition(int columnPosition)
      Description copied from interface: ILayer
      Returns the width in pixels of the given column. The width of invisible and non-existing columns is 0.
      Specified by:
      getColumnWidthByPosition in interface ILayer
      Parameters:
      columnPosition - The column position in this layer.
      Returns:
      The width of the column.
    • isColumnPositionResizable

      public boolean isColumnPositionResizable(int columnPosition)
      Description copied from interface: ILayer
      Check if the column at the given position is resizable.
      Specified by:
      isColumnPositionResizable in interface ILayer
      Parameters:
      columnPosition - The column position to check.
      Returns:
      true if the column is resizable, false if not.
    • getColumnPositionByX

      public int getColumnPositionByX(int x)
      Description copied from interface: ILayer
      Returns the column position that contains the given x coordinate.
      Specified by:
      getColumnPositionByX in interface ILayer
      Parameters:
      x - A horizontal pixel location relative to the pixel boundary of this layer.
      Returns:
      A column position relative to the associated coordinate system, or -1 if there is no column that contains x.
    • getStartXOfColumnPosition

      public int getStartXOfColumnPosition(int columnPosition)
      Description copied from interface: ILayer
      Returns the x offset in pixels of the given column.
      Specified by:
      getStartXOfColumnPosition in interface ILayer
      Parameters:
      columnPosition - The column position in this layer.
      Returns:
      The x offset of the column, or -1.
    • getUnderlyingLayersByColumnPosition

      public Collection<ILayer> getUnderlyingLayersByColumnPosition(int columnPosition)
      Description copied from interface: ILayer
      Returns the layers that are directly below this layer for the given column position. For simple layers this collection will typically only have one entry. Layer compositions might return multiple values, e.g. in a default grid there will be 2 layers in the collection as there are two layers involved in a column.
      Specified by:
      getUnderlyingLayersByColumnPosition in interface ILayer
      Parameters:
      columnPosition - The column position for which the underlying layers are requested.
      Returns:
      The layers that are directly below this layer for the given column position or null if this layer has no underlying layers.
    • getColumnPositionByIndex

      public int getColumnPositionByIndex(int columnIndex)
      Specified by:
      getColumnPositionByIndex in interface IUniqueIndexLayer
    • getRowCount

      public int getRowCount()
      Specified by:
      getRowCount in interface ILayer
      Returns:
      The number of rows in this layer.
    • getPreferredRowCount

      public int getPreferredRowCount()
      Specified by:
      getPreferredRowCount in interface ILayer
    • getRowIndexByPosition

      public int getRowIndexByPosition(int rowPosition)
      Description copied from interface: ILayer
      Gets the underlying non-transformed row index for the given row position on this layer.
      Specified by:
      getRowIndexByPosition in interface ILayer
      Parameters:
      rowPosition - The row position relative to this layer.
      Returns:
      An underlying non-transformed row index, or -1 if the given row position does not exist within this coordinate system.
    • localToUnderlyingRowPosition

      public int localToUnderlyingRowPosition(int localRowPosition)
      Description copied from interface: ILayer
      Convert a row position to the coordinates of the underlying layer. This is possible since each layer is aware of its underlying layer.
      Specified by:
      localToUnderlyingRowPosition in interface ILayer
      Parameters:
      localRowPosition - row position in local (the layer's own) coordinates
      Returns:
      row position in the underlying layer's coordinates
    • underlyingToLocalRowPosition

      public int underlyingToLocalRowPosition(ILayer sourceUnderlyingLayer, int underlyingRowPosition)
      Description copied from interface: ILayer
      Transforms the row position relative to the given underlying layer to this layer coordinates.
      Specified by:
      underlyingToLocalRowPosition in interface ILayer
      Parameters:
      sourceUnderlyingLayer - The underlying layer to which the given row position matches.
      underlyingRowPosition - The row position in the given underlying layer that should be converted to a local row position.
      Returns:
      The given row position transformed to be local to this layer.
    • underlyingToLocalRowPositions

      public Collection<Range> underlyingToLocalRowPositions(ILayer sourceUnderlyingLayer, Collection<Range> underlyingRowPositionRanges)
      Description copied from interface: ILayer
      Transforms the row position ranges relative to the given underlying layer to this layer coordinates.
      Specified by:
      underlyingToLocalRowPositions in interface ILayer
      Parameters:
      sourceUnderlyingLayer - The underlying layer to which the given row positions match.
      underlyingRowPositionRanges - The row position ranges relative to the given underlying layer that should be converted to local row positions.
      Returns:
      The given row position ranges transformed to this layer.
    • getHeight

      public int getHeight()
      Description copied from interface: ILayer
      Returns the total height in pixels of this layer.
      Specified by:
      getHeight in interface ILayer
      Returns:
      The total height in pixels of this layer.
    • getPreferredHeight

      public int getPreferredHeight()
      Specified by:
      getPreferredHeight in interface ILayer
    • getRowHeightByPosition

      public int getRowHeightByPosition(int rowPosition)
      Description copied from interface: ILayer
      Returns the height in pixels of the given row. The height of invisible and non-existing rows is 0.
      Specified by:
      getRowHeightByPosition in interface ILayer
      Parameters:
      rowPosition - The row position in this layer.
      Returns:
      The height of the row.
    • isRowPositionResizable

      public boolean isRowPositionResizable(int rowPosition)
      Description copied from interface: ILayer
      Check if the row at the given position is resizable.
      Specified by:
      isRowPositionResizable in interface ILayer
      Parameters:
      rowPosition - The row position to check.
      Returns:
      true if the row is resizable, false if not.
    • getRowPositionByY

      public int getRowPositionByY(int y)
      Description copied from interface: ILayer
      Returns the row position that contains the given y coordinate.
      Specified by:
      getRowPositionByY in interface ILayer
      Parameters:
      y - a vertical pixel location relative to the pixel boundary of this layer
      Returns:
      a row position relative to the associated coordinate system, or -1 if there is no row that contains y
    • getStartYOfRowPosition

      public int getStartYOfRowPosition(int rowPosition)
      Description copied from interface: ILayer
      Returns the y offset in pixels of the given row.
      Specified by:
      getStartYOfRowPosition in interface ILayer
      Parameters:
      rowPosition - the row position in this layer
      Returns:
      the y offset of the row, or -1
    • getUnderlyingLayersByRowPosition

      public Collection<ILayer> getUnderlyingLayersByRowPosition(int rowPosition)
      Description copied from interface: ILayer
      Returns the layers that are directly below this layer for the given row position. For simple layers this collection will typically only have one entry. Layer compositions might return multiple values, e.g. in a default grid there will be 2 layers in the collection as there are two layers involved in a row.
      Specified by:
      getUnderlyingLayersByRowPosition in interface ILayer
      Parameters:
      rowPosition - The row position for which the underlying layers are requested.
      Returns:
      The layers that are directly below this layer for the given row position or null if this layer has no underlying layers.
    • getRowPositionByIndex

      public int getRowPositionByIndex(int rowIndex)
      Specified by:
      getRowPositionByIndex in interface IUniqueIndexLayer
    • getCellByPosition

      public ILayerCell getCellByPosition(int columnPosition, int rowPosition)
      Description copied from interface: ILayer
      Returns the cell for the given coordinates on this layer.
      Specified by:
      getCellByPosition in interface ILayer
      Parameters:
      columnPosition - The column position of the requested cell.
      rowPosition - The row position of the requested cell.
      Returns:
      The ILayerCell for the given coordinates in this layer or null if the coordinates are invalid on this layer.
    • getBoundsByPosition

      public org.eclipse.swt.graphics.Rectangle getBoundsByPosition(int columnPosition, int rowPosition)
      Description copied from interface: ILayer
      Calculates the bounds in pixel for the given cell position.
      Specified by:
      getBoundsByPosition in interface ILayer
      Parameters:
      columnPosition - the column position of the cell
      rowPosition - the row position of the cell
      Returns:
      the bounds, or null if there are no valid bounds
    • getDisplayModeByPosition

      public DisplayMode getDisplayModeByPosition(int columnPosition, int rowPosition)
      Description copied from interface: ILayer
      Returns the active DisplayMode for the cell at the given coordinates. Needed to retrieve the corresponding configurations out of the IConfigRegistry. The default value is DisplayMode.NORMAL. The SelectionLayer for example overrides this to return DisplayMode.SELECT for cells that are currently selected.
      Specified by:
      getDisplayModeByPosition in interface ILayer
      Parameters:
      columnPosition - The column position of the cell.
      rowPosition - The row position of the cell.
      Returns:
      DisplayMode for the cell at the given coordinates.
    • getConfigLabelsByPosition

      public LabelStack getConfigLabelsByPosition(int columnPosition, int rowPosition)
      Description copied from interface: ILayer
      Returns the config labels for the cell at the given coordinates. Needed to retrieve the corresponding configurations out of the IConfigRegistry.
      Specified by:
      getConfigLabelsByPosition in interface ILayer
      Parameters:
      columnPosition - The column position of the cell.
      rowPosition - The row position of the cell.
      Returns:
      The LabelStack with the config labels for the cell at the given coordinates.
    • getDataValueByPosition

      public Object getDataValueByPosition(int columnPosition, int rowPosition)
      Description copied from interface: ILayer
      Returns the data value for the cell at the given coordinates.
      Specified by:
      getDataValueByPosition in interface ILayer
      Parameters:
      columnPosition - The column position of the cell.
      rowPosition - The row position of the cell.
      Returns:
      The data value for the cell at the given coordinates.
    • getUnderlyingLayerByPosition

      public ILayer getUnderlyingLayerByPosition(int columnPosition, int rowPosition)
      Description copied from interface: ILayer
      Returns the layer that is directly below this layer for the given cell coordinate.
      Specified by:
      getUnderlyingLayerByPosition in interface ILayer
      Parameters:
      columnPosition - The column position for which the underlying layer is requested.
      rowPosition - The row position for which the underlying layer is requested.
      Returns:
      The layer that is directly below this layer for the given cell coordinates or null if this layer has no underlying layers.
    • getCellPainter

      public ICellPainter getCellPainter(int columnPosition, int rowPosition, ILayerCell cell, IConfigRegistry configRegistry)
      Description copied from interface: ILayer
      Return the ICellPainter for the given ILayerCell at the given coordinates out of the given IConfigRegistry.
      Specified by:
      getCellPainter in interface ILayer
      Parameters:
      columnPosition - The column position of the cell.
      rowPosition - The row position of the cell.
      cell - The ILayerCell for which the ICellPainter is requested.
      configRegistry - The IConfigRegistry to retrieve the painter from.
      Returns:
      The ICellPainter for the given cell at the given coordinates or null if no painter is configured.