Package docking.widgets.table

# Class RowObjectSelectionManager<T>

java.lang.Object
javax.swing.DefaultListSelectionModel
docking.widgets.table.RowObjectSelectionManager<T>

Type Parameters:
  `T` - the row type

All Implemented Interfaces:
  `SelectionManager`, `Serializable`, `Cloneable`, `EventListener`, `TableModelListener`, `ListSelectionModel`

public class RowObjectSelectionManager<T> extends DefaultListSelectionModel implements SelectionManager
A class to track and restore selections made in a table. We use this in the docking environment primarily due to the heavy usage of filtering for most tables. As tables are filtered, the contents change (and then change back when the filter is removed). It is nice to be able to filter a table, select an item of interest, and then unfilter the table to see that item in more context.

See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class javax.swing.DefaultListSelectionModel

  `leadAnchorNotificationEnabled, listenerList`

  ### Fields inherited from interface javax.swing.ListSelectionModel

  `MULTIPLE_INTERVAL_SELECTION, SINGLE_INTERVAL_SELECTION, SINGLE_SELECTION`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RowObjectSelectionManager(JTable table, RowObjectTableModel<T> model)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addSelectionManagerListener(SelectionManagerListener listener)`
  `void`
  `clearSavedSelection()`
  `void`
  `clearSelection()`
  `void`
  `dispose()`
  `protected void`
  `fireValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)`
  `void`
  `removeSelectionManagerListener(SelectionManagerListener listener)`
  `void`
  `tableChanged(TableModelEvent e)`
  `protected List<T>`
  `translateRowsToValues(int[] viewRows)`

  ### Methods inherited from class javax.swing.DefaultListSelectionModel

  `addListSelectionListener, addSelectionInterval, clone, fireValueChanged, fireValueChanged, getAnchorSelectionIndex, getLeadSelectionIndex, getListeners, getListSelectionListeners, getMaxSelectionIndex, getMinSelectionIndex, getSelectionMode, getValueIsAdjusting, insertIndexInterval, isLeadAnchorNotificationEnabled, isSelectedIndex, isSelectionEmpty, moveLeadSelectionIndex, removeIndexInterval, removeListSelectionListener, removeSelectionInterval, setAnchorSelectionIndex, setLeadAnchorNotificationEnabled, setLeadSelectionIndex, setSelectionInterval, setSelectionMode, setValueIsAdjusting, toString`

  ### Methods inherited from class java.lang.Object

  `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface javax.swing.ListSelectionModel

  `addListSelectionListener, addSelectionInterval, getAnchorSelectionIndex, getLeadSelectionIndex, getMaxSelectionIndex, getMinSelectionIndex, getSelectedIndices, getSelectedItemsCount, getSelectionMode, getValueIsAdjusting, insertIndexInterval, isSelectedIndex, isSelectionEmpty, removeIndexInterval, removeListSelectionListener, removeSelectionInterval, setAnchorSelectionIndex, setLeadSelectionIndex, setSelectionInterval, setSelectionMode, setValueIsAdjusting`

- ## Constructor Details

  - ### RowObjectSelectionManager

    public RowObjectSelectionManager(JTable table, RowObjectTableModel<T> model)

- ## Method Details

  - ### addSelectionManagerListener

    public void addSelectionManagerListener(SelectionManagerListener listener)
    Specified by:
      `addSelectionManagerListener` in interface `SelectionManager`

  - ### removeSelectionManagerListener

    public void removeSelectionManagerListener(SelectionManagerListener listener)
    Specified by:
      `removeSelectionManagerListener` in interface `SelectionManager`

  - ### dispose

    public void dispose()
    Specified by:
      `dispose` in interface `SelectionManager`

  - ### clearSavedSelection

    public void clearSavedSelection()
    Specified by:
      `clearSavedSelection` in interface `SelectionManager`

  - ### clearSelection

    public void clearSelection()
    Specified by:
      `clearSelection` in interface `ListSelectionModel`
    Overrides:
      `clearSelection` in class `DefaultListSelectionModel`

  - ### fireValueChanged

    protected void fireValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
    Overrides:
      `fireValueChanged` in class `DefaultListSelectionModel`

  - ### translateRowsToValues

    protected List<T> translateRowsToValues(int[] viewRows)

  - ### tableChanged

    public void tableChanged(TableModelEvent e)
    Specified by:
      `tableChanged` in interface `TableModelListener`