Class AbstractDockingTool
- All Implemented Interfaces:
Tool,ServiceProvider
- Direct Known Subclasses:
PluginTool
Tool that serves as a place to share common functionality-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Map<String, ToolOptions> protected ToolActionsprotected DockingWindowManager -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAction(DockingActionIf action) Adds the action to the tool.voidaddComponentProvider(ComponentProvider provider, boolean show) Adds the ComponentProvider to the tool, optionally making it visible.voidaddContextListener(DockingContextListener listener) Adds the given context listener to this toolvoidaddLocalAction(ComponentProvider provider, DockingActionIf action) Adds the action to the given provider as a local action.voidaddPopupActionProvider(PopupActionProvider provider) Adds the given popup action provider to this tool.voidClear the status informationvoidcontextChanged(ComponentProvider provider) Signals to the tool that the provider's context has changed.Returns the active component provider, that which has focusReturn a set of all actions in the tool.getComponentProvider(String name) Gets the ComponentProvider with the given name.Returns all actions for the given ownerReturn a set of all global actions in the tool.getLocalActions(ComponentProvider provider) Return a set of all local actions for the givenComponentProvider.getProviderWindow(ComponentProvider provider) Returns the parent window for the given providerGet the status informationReturns the class that manages actions for the tool.Returns the DockingWindowManger for this tool.booleanReturn true if the tool's configuration has changedbooleanisActive(ComponentProvider provider) Returns true if the ComponentProvider is the currently active provider.booleanReturns true if tool is visiblebooleanisVisible(ComponentProvider provider) Returns true if the given ComponentProvider is currently visible.voidremoveAction(DockingActionIf action) Removes the given action from the tool.voidremoveComponentProvider(ComponentProvider provider) Removes the given ComponentProvider from the tool.voidremoveContextListener(DockingContextListener listener) Removes the given context listener to this toolvoidremoveLocalAction(ComponentProvider provider, DockingActionIf action) Removes the action from the providervoidremovePopupActionProvider(PopupActionProvider provider) Removes the given popup action providervoidsetConfigChanged(boolean changed) Toggles the "change" state of the tool...voidsetMenuGroup(String[] menuPath, String group) Set the menu group associated with a cascaded submenu.voidsetMenuGroup(String[] menuPath, String group, String menuSubGroup) Set the menu group associated with a cascaded submenu.voidsetStatusInfo(String text) Set the status informationvoidsetStatusInfo(String text, boolean beep) Set the status informationvoidsetVisible(boolean visibility) Sets the tool visible or invisible.voidshowComponentProvider(ComponentProvider provider, boolean visible) Shows or hides the component provider in the toolvoidshowDialog(DialogComponentProvider dialogComponent) Shows the dialog using the tool's root frame as a parent.voidtoFront()Brings this tool to the front.voidtoFront(ComponentProvider provider) Makes the given ComponentProvider move to the front if it is tabbed with other components.voidupdateTitle(ComponentProvider provider) Indicates to the tool that the given componentProvider's title has changed.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.framework.plugintool.ServiceProvider
addServiceListener, getService, removeServiceListenerMethods inherited from interface docking.Tool
close, getIcon, getName, getOptions
-
Field Details
-
winMgr
-
toolActions
-
optionsMap
-
-
Constructor Details
-
AbstractDockingTool
public AbstractDockingTool()
-
-
Method Details
-
isVisible
public boolean isVisible()Description copied from interface:ToolReturns true if tool is visible -
setVisible
public void setVisible(boolean visibility) Description copied from interface:ToolSets the tool visible or invisible. This method is used by the Project to make it's tools visible or invisible depending on whether this tool is in is the active workspace.- Specified by:
setVisiblein interfaceTool- Parameters:
visibility- true specifies that the tool should be visible
-
toFront
public void toFront()Description copied from interface:ToolBrings this tool to the front. Places this tool at the top of the stacking order and shows it in front of any other tools. -
addComponentProvider
Description copied from interface:ToolAdds the ComponentProvider to the tool, optionally making it visible.- Specified by:
addComponentProviderin interfaceTool- Parameters:
provider- the provider to add to the toolshow- if true, the component is made visible.
-
removeComponentProvider
Description copied from interface:ToolRemoves the given ComponentProvider from the tool. When a provider has been removed from the tool it is considered disposed and should not be reused.- Specified by:
removeComponentProviderin interfaceTool- Parameters:
provider- the provider to remove from the tool
-
getComponentProvider
Description copied from interface:ToolGets the ComponentProvider with the given name.- Specified by:
getComponentProviderin interfaceTool- Parameters:
name- the name of the provider to get- Returns:
- the provider
-
setStatusInfo
Description copied from interface:ToolSet the status information- Specified by:
setStatusInfoin interfaceTool- Parameters:
text- non-html string to be displayed in the Status display area
-
setStatusInfo
Description copied from interface:ToolSet the status information- Specified by:
setStatusInfoin interfaceTool- Parameters:
text- string to be displayed in the Status display areabeep- whether to be or not
-
getStatusInfo
Description copied from interface:ToolGet the status information- Specified by:
getStatusInfoin interfaceTool- Returns:
- the string displayed in the Status area
-
clearStatusInfo
public void clearStatusInfo()Description copied from interface:ToolClear the status information- Specified by:
clearStatusInfoin interfaceTool
-
addAction
Description copied from interface:ToolAdds the action to the tool. -
removeAction
Description copied from interface:ToolRemoves the given action from the tool. When an action is removed from the tool it will be disposed and should not be reused.- Specified by:
removeActionin interfaceTool- Parameters:
action- the action to be removed.
-
addLocalAction
Description copied from interface:ToolAdds the action to the given provider as a local action.- Specified by:
addLocalActionin interfaceTool- Parameters:
provider- the provider to add the action to.action- the DockingAction to add to the componentProvider.
-
getLocalActions
Description copied from interface:ToolReturn a set of all local actions for the givenComponentProvider.- Specified by:
getLocalActionsin interfaceTool- Parameters:
provider- the component provider from which to get local actions- Returns:
- set of all local actions for the given provider
-
removeLocalAction
Description copied from interface:ToolRemoves the action from the provider- Specified by:
removeLocalActionin interfaceTool- Parameters:
provider- the component provider from which to remove the action.action- the action to remove.
-
getAllActions
Description copied from interface:ToolReturn a set of all actions in the tool.Note: the result may contain conceptually duplicate actions, which is when multiple actions exist that share the same full name (the full name is the action name with the owner name, such as "My Action (MyPlugin)".
- Specified by:
getAllActionsin interfaceTool- Returns:
- set of all actions
-
getGlobalActions
Description copied from interface:ToolReturn a set of all global actions in the tool.Note: the result may contain conceptually duplicate actions, which is when multiple actions exist that share the same full name (the full name is the action name with the owner name, such as "My Action (MyPlugin)".
- Specified by:
getGlobalActionsin interfaceTool- Returns:
- set of all global actions
-
addPopupActionProvider
Description copied from interface:ToolAdds the given popup action provider to this tool. This provider will be called each time the popup menu is about to be shown.- Specified by:
addPopupActionProviderin interfaceTool- Parameters:
provider- the provider
-
removePopupActionProvider
Description copied from interface:ToolRemoves the given popup action provider- Specified by:
removePopupActionProviderin interfaceTool- Parameters:
provider- the provider
-
getDockingActionsByOwnerName
Description copied from interface:ToolReturns all actions for the given ownerNote: the result may contain conceptually duplicate actions, which is when multiple actions exist that share the same full name (the full name is the action name with the owner name, such as "My Action (MyPlugin)".
- Specified by:
getDockingActionsByOwnerNamein interfaceTool- Parameters:
owner- the action owner's name- Returns:
- the actions
-
getActiveComponentProvider
Description copied from interface:ToolReturns the active component provider, that which has focus- Specified by:
getActiveComponentProviderin interfaceTool- Returns:
- the active provider
-
showComponentProvider
Description copied from interface:ToolShows or hides the component provider in the tool- Specified by:
showComponentProviderin interfaceTool- Parameters:
provider- the provider to either show or hide.visible- true to show the provider, false to hide it.
-
showDialog
Description copied from interface:ToolShows the dialog using the tool's root frame as a parent. Also, remembers any size and location adjustments made by the user for the next time the dialog is shown.- Specified by:
showDialogin interfaceTool- Parameters:
dialogComponent- the DialogComponentProvider object to be shown in a dialog.
-
getToolFrame
-
getProviderWindow
Description copied from interface:ToolReturns the parent window for the given provider- Specified by:
getProviderWindowin interfaceTool- Parameters:
provider- the provider- Returns:
- the window
-
toFront
Description copied from interface:ToolMakes the given ComponentProvider move to the front if it is tabbed with other components. -
isVisible
Description copied from interface:ToolReturns true if the given ComponentProvider is currently visible. -
isActive
Description copied from interface:ToolReturns true if the ComponentProvider is the currently active provider. The active provider is the provider that has keyboard focus and provides the current action context. -
updateTitle
Description copied from interface:ToolIndicates to the tool that the given componentProvider's title has changed.- Specified by:
updateTitlein interfaceTool- Parameters:
provider- the componentProvider whose title has changed.
-
setMenuGroup
Set the menu group associated with a cascaded submenu. This allows a cascading menu item to be grouped with a specific set of actions. The default group for a cascaded submenu is the name of the submenu.- Parameters:
menuPath- menu name path where the last element corresponds to the specified group name.group- group name- See Also:
-
setMenuGroup
Description copied from interface:ToolSet the menu group associated with a cascaded submenu. This allows a cascading menu item to be grouped with a specific set of actions.The default group for a cascaded submenu is the name of the submenu.
- Specified by:
setMenuGroupin interfaceTool- Parameters:
menuPath- menu name path where the last element corresponds to the specified group name.group- group namemenuSubGroup- the name used to sort the cascaded menu within other menu items at its level
-
contextChanged
Description copied from interface:ToolSignals to the tool that the provider's context has changed. This lets toolbar and menu actions update enablement based on current context.Pass
nullto signal that the entire tool's context has changed- Specified by:
contextChangedin interfaceTool- Parameters:
provider- the provider whose context changed; null to signal the tool's context
-
addContextListener
Description copied from interface:ToolAdds the given context listener to this tool- Specified by:
addContextListenerin interfaceTool- Parameters:
listener- the listener to add
-
removeContextListener
Description copied from interface:ToolRemoves the given context listener to this tool- Specified by:
removeContextListenerin interfaceTool- Parameters:
listener- the listener to add
-
getWindowManager
Description copied from interface:ToolReturns the DockingWindowManger for this tool.- Specified by:
getWindowManagerin interfaceTool- Returns:
- the DockingWindowManger for this tool.
-
setConfigChanged
public void setConfigChanged(boolean changed) Description copied from interface:ToolToggles the "change" state of the tool...- Specified by:
setConfigChangedin interfaceTool- Parameters:
changed- true indicates that the tool config has changed.
-
hasConfigChanged
public boolean hasConfigChanged()Description copied from interface:ToolReturn true if the tool's configuration has changed- Specified by:
hasConfigChangedin interfaceTool- Returns:
- true if the tool's configuration has changed
-
getToolActions
Description copied from interface:ToolReturns the class that manages actions for the tool.Most clients will not need to use this methods. Instead, actions should be added to the tool via
Tool.addAction(DockingActionIf)andTool.addLocalAction(ComponentProvider, DockingActionIf).- Specified by:
getToolActionsin interfaceTool- Returns:
- the action manager
-