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.

  • 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)