Class ResizeColumnHideShowLayer

    • Field Detail

      • hiddenColumns

        protected org.eclipse.collections.api.map.primitive.MutableIntObjectMap<ResizeColumnHideShowLayer.ColumnSizeInfo> hiddenColumns
        Map that contains the columns hidden by this layer with the initial width so it can be shown again with the previous width.
    • Constructor Detail

      • ResizeColumnHideShowLayer

        public ResizeColumnHideShowLayer​(IUniqueIndexLayer underlyingLayer,
                                         DataLayer bodyDataLayer)
        Parameters:
        underlyingLayer - The underlying layer.
        bodyDataLayer - The DataLayer of the body region needed to retrieve the configured column width.
    • Method Detail

      • 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
        Overrides:
        saveState in class AbstractIndexLayerTransform
        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.
      • 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
        Overrides:
        getConfigLabelsByPosition in class AbstractIndexLayerTransform
        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.
      • getHiddenColumnIndexes

        public Collection<Integer> getHiddenColumnIndexes()
        Description copied from interface: IColumnHideShowLayer
        Returns all indexes of the columns that are hidden in this layer.

        Note: It does not include the column indexes of hidden columns from underlying layers. This would cause issues on calculating positions as every layer is responsible for those calculations itself.

        Specified by:
        getHiddenColumnIndexes in interface IColumnHideShowLayer
        Returns:
        The indexes of the columns that are hidden in this layer.
      • getHiddenColumnIndexesArray

        public int[] getHiddenColumnIndexesArray()
        Description copied from interface: IColumnHideShowLayer
        Will collect and return all indexes of the columns that are hidden in this layer.

        Note: It is not intended that it also collects the column indexes of underlying layers. This would cause issues on calculating positions, as every layer is responsible for those calculations itself.

        Specified by:
        getHiddenColumnIndexesArray in interface IColumnHideShowLayer
        Returns:
        All column indexes that are hidden in this layer.
      • hideColumnPositions

        public void hideColumnPositions​(int... columnPositions)
        Description copied from interface: IColumnHideShowLayer
        Hide the columns at the specified positions. Note that the positions are required as this method might get called via user interaction in a transformed table (e.g. reordered).
        Specified by:
        hideColumnPositions in interface IColumnHideShowLayer
        Parameters:
        columnPositions - The column positions to hide.
      • hideColumnPositions

        public void hideColumnPositions​(Collection<Integer> columnPositions)
        Description copied from interface: IColumnHideShowLayer
        Hide the columns at the specified positions. Note that the positions are required as this method might get called via user interaction in a transformed table (e.g. reordered).
        Specified by:
        hideColumnPositions in interface IColumnHideShowLayer
        Parameters:
        columnPositions - The column positions to hide.
      • hideColumnIndexes

        public void hideColumnIndexes​(int... columnIndexes)
        Description copied from interface: IColumnHideShowLayer
        Hide the columns with the given indexes.
        Specified by:
        hideColumnIndexes in interface IColumnHideShowLayer
        Parameters:
        columnIndexes - The indexes of the columns to hide.
      • showColumnIndexes

        public void showColumnIndexes​(int... columnIndexes)
        Description copied from interface: IColumnHideShowLayer
        Show the columns with the given indexes again if they are hidden by this layer. Note that the indexes are needed and not the positions. This is because a user is not able to select the hidden column in the NatTable and therefore the position is not available anymore.
        Specified by:
        showColumnIndexes in interface IColumnHideShowLayer
        Parameters:
        columnIndexes - The column indexes to show again.
      • showColumnIndexes

        public void showColumnIndexes​(Collection<Integer> columnIndexes)
        Description copied from interface: IColumnHideShowLayer
        Show the columns with the given indexes again if they are hidden by this layer. Note that the indexes are needed and not the positions. This is because a user is not able to select the hidden column in the NatTable and therefore the position is not available anymore.
        Specified by:
        showColumnIndexes in interface IColumnHideShowLayer
        Parameters:
        columnIndexes - The column indexes to show again.
      • showColumnPosition

        public void showColumnPosition​(int columnPosition,
                                       boolean showToLeft,
                                       boolean showAll)
        Description copied from interface: IColumnHideShowLayer
        Show the column(s) that are hidden next to the given column position.
        Specified by:
        showColumnPosition in interface IColumnHideShowLayer
        Parameters:
        columnPosition - The column position whose neighbors should be shown again.
        showToLeft - Whether the column positions to the left or the right of the given column position should be shown again.
        showAll - Whether all hidden adjacent columns should be shown again or only the single direct adjacent column.