Package ghidra.util.table.actions

# Class DeleteTableRowAction

java.lang.Object
docking.action.DockingAction
ghidra.util.table.actions.DeleteTableRowAction

All Implemented Interfaces:
  `DockingActionIf`, `HelpDescriptor`

public class DeleteTableRowAction extends DockingAction
An action to delete data from a table. If your model is a `ThreadedTableModel`, then this class is self-contained. If you have some other kind of model, then you must override `removeSelectedItems()` in order to remove items from your model when the action is executed.

Note: deleting a row object is simply removing it from the given table/model. This code is not altering the database.

Tip: if you are a plugin that uses transient providers, then use `registerDummy(PluginTool, String)` at creation time to install a dummy representative of this action in the Tool's options so that user's can update keybindings, regardless of whether they have ever shown one of your transient providers.

- ## Field Summary

  ### 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`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DeleteTableRowAction(GTable table, String owner)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `actionPerformed(ActionContext context)`
  method to actually perform the action logic for this action.
  `boolean`
  `checkForBusy(TableModel model)`
  `boolean`
  `isEnabledForContext(ActionContext context)`
  Method used to determine if this action should be enabled for the given context.
  `static void`
  `registerDummy(PluginTool tool, String owner)`
  A special method that triggers the registration of this action's shared/dummy keybinding.
  `protected void`
  `removeRowObjects(TableModel model, List<Object> itemsToRemove)`
  `protected void`
  `removeSelectedItems()`

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

  `addPropertyChangeListener, addToWindowWhen, createButton, createMenuItem, dispose, doCreateButton, doCreateMenuItem, enabledWhen, firePropertyChanged, getContextClass, getDefaultKeyBindingData, getDescription, getFullName, getHelpInfo, getHelpLocation, getHelpObject, getInceptionFromTheFirstClassThatIsNotUsOrABuilder, getInceptionInformation, getKeyBinding, getKeyBindingData, getKeyBindingType, getMenuBarData, getName, getOwner, getPopupMenuData, getPreferredKeyBindingType, getToolBarData, isAddToPopup, isEnabled, isValidContext, markHelpUnnecessary, popupWhen, removePropertyChangeListener, setAddToAllWindows, setContextClass, setDescription, setEnabled, 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

  `createMenuComponent, getOwnerDescription`

- ## Constructor Details

  - ### DeleteTableRowAction

    public DeleteTableRowAction(GTable table, String owner)

- ## Method Details

  - ### registerDummy

    public static void registerDummy(PluginTool tool, String owner)
    A special method that triggers the registration of this action's shared/dummy keybinding. This is needed for plugins that produce transient component providers that do not exist at the time the plugin is loaded.
    Parameters:
      `tool` - the tool whose options will updated with a dummy keybinding
      `owner` - the owner of the action that may be installed

  - ### isEnabledForContext

    public boolean isEnabledForContext(ActionContext context)
    Description copied from interface: `DockingActionIf`
    Method used to determine if this action should be enabled for the given context.

    This is the method implementors override to control when the action may be used.

    This method will be called by the DockingWindowManager for actions on the global menuBar and toolBar and for actions that have a keyBinding.

    This method will be called whenever one of the following events occur:

    1. when the user invokes the action via its keyBinding,
    2. the user changes focus from one component provider to another,
    3. the user moves a component to another position in the window or into another window,
    4. a component provider reports a change in it's context,
    5. any plugin or software component reports a general change in context (calls the tool.contextChanged(ComponentProvider) with a null parameter).
    The default implementation will simply return this action's enablement state.
    Specified by:
      `isEnabledForContext` in interface `DockingActionIf`
    Overrides:
      `isEnabledForContext` in class `DockingAction`
    Parameters:
      `context` - the current `ActionContext` for the window.
    Returns:
      true if the action should be enabled for the context or false otherwise.

  - ### actionPerformed

    public void actionPerformed(ActionContext context)
    Description copied from interface: `DockingActionIf`
    method to actually perform the action logic for this action.
    Specified by:
      `actionPerformed` in interface `DockingActionIf`
    Specified by:
      `actionPerformed` in class `DockingAction`
    Parameters:
      `context` - the `ActionContext` object that provides information about where and how this action was invoked.

  - ### removeSelectedItems

    protected void removeSelectedItems()

  - ### removeRowObjects

    protected void removeRowObjects(TableModel model, List<Object> itemsToRemove)

  - ### checkForBusy

    public boolean checkForBusy(TableModel model)