Package ghidra.util.table

# Class AbstractSelectionNavigationAction

java.lang.Object
docking.action.DockingAction
docking.action.ToggleDockingAction
ghidra.util.table.AbstractSelectionNavigationAction

All Implemented Interfaces:
  `DockingActionIf`, `ToggleDockingActionIf`, `HelpDescriptor`

Direct Known Subclasses:
  `SelectionNavigationAction`

public abstract class AbstractSelectionNavigationAction extends ToggleDockingAction
An action used to trigger navigation callback on instances of `JTable`. Users can toggle this action to control navigation that is based upon selection.

Subclasses need to implement `navigate()`, which will be called when a navigation is triggered on the given table by a selection.

This class will save the state of the action when the tool is saved.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final JTable`
  `table`

  ### Fields inherited from interface docking.action.DockingActionIf

  `DESCRIPTION_PROPERTY, ENABLEMENT_PROPERTY, GLOBALCONTEXT_PROPERTY, KEYBINDING_DATA_PROPERTY, MENUBAR_DATA_PROPERTY, POPUP_MENU_DATA_PROPERTY, TOOLBAR_DATA_PROPERTY`

  ### Fields inherited from interface docking.action.ToggleDockingActionIf

  `SELECTED_STATE_PROPERTY`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `AbstractSelectionNavigationAction(String name, String owner, JTable table)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract void`
  `navigate()`
  Users of this class will implement this method to know when to use their table to perform navigation tasks in their own way.
  `protected void`
  `restoreState()`
  `protected void`
  `saveState()`
  `void`
  `setEnabled(boolean enable)`
  Enables or disables the action
  `void`
  `setSelected(boolean value)`
  Sets the toggle state for this action.
  `protected void`
  `toggleSelectionListening(boolean listen)`

  ### Methods inherited from class docking.action.ToggleDockingAction

  `actionPerformed, doCreateButton, doCreateMenuItem, isSelected`

  ### Methods inherited from class docking.action.DockingAction

  `addPropertyChangeListener, addToWindowWhen, createButton, createMenuItem, dispose, enabledWhen, firePropertyChanged, getContextClass, getDefaultKeyBindingData, getDescription, getFullName, getHelpInfo, getHelpLocation, getHelpObject, getInceptionFromTheFirstClassThatIsNotUsOrABuilder, getInceptionInformation, getKeyBinding, getKeyBindingData, getKeyBindingType, getMenuBarData, getName, getOwner, getPopupMenuData, getPreferredKeyBindingType, getToolBarData, isAddToPopup, isEnabled, isEnabledForContext, isValidContext, markHelpUnnecessary, popupWhen, removePropertyChangeListener, setAddToAllWindows, setContextClass, setDefaultKeyBindingData, setDescription, setHelpLocation, setKeyBindingData, setMenuBarData, setPopupMenuData, setToolBarData, setUnvalidatedKeyBindingData, shouldAddToWindow, supportsDefaultContext, toString, validContextWhen`

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

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

  ### Methods inherited from interface docking.action.DockingActionIf

  `addPropertyChangeListener, createButton, createMenuComponent, createMenuItem, dispose, getContextClass, getDefaultKeyBindingData, getDescription, getFullName, getInceptionInformation, getKeyBinding, getKeyBindingData, getKeyBindingType, getMenuBarData, getName, getOwner, getOwnerDescription, getPopupMenuData, getToolBarData, isAddToPopup, isEnabled, isEnabledForContext, isValidContext, removePropertyChangeListener, setContextClass, setKeyBindingData, setUnvalidatedKeyBindingData, shouldAddToWindow, supportsDefaultContext`

  ### Methods inherited from interface help.HelpDescriptor

  `getHelpInfo, getHelpObject`

- ## Field Details

  - ### table

    protected final JTable table

- ## Constructor Details

  - ### AbstractSelectionNavigationAction

    protected AbstractSelectionNavigationAction(String name, String owner, JTable table)

- ## Method Details

  - ### navigate

    public abstract void navigate()
    Users of this class will implement this method to know when to use their table to perform navigation tasks in their own way.

  - ### setEnabled

    public void setEnabled(boolean enable)
    Description copied from interface: `DockingActionIf`
    Enables or disables the action
    Specified by:
      `setEnabled` in interface `DockingActionIf`
    Overrides:
      `setEnabled` in class `DockingAction`
    Parameters:
      `enable` - true to enable the action, false to disable it

  - ### setSelected

    public void setSelected(boolean value)
    Description copied from interface: `ToggleDockingActionIf`
    Sets the toggle state for this action.
    Specified by:
      `setSelected` in interface `ToggleDockingActionIf`
    Overrides:
      `setSelected` in class `ToggleDockingAction`
    Parameters:
      `value` - the new toggle state.

  - ### toggleSelectionListening

    protected void toggleSelectionListening(boolean listen)

  - ### saveState

    protected void saveState()

  - ### restoreState

    protected void restoreState()