Package ghidra.framework.project.tool
Class GhidraTool
java.lang.Object
docking.AbstractDockingTool
ghidra.framework.plugintool.PluginTool
ghidra.framework.project.tool.GhidraTool
- All Implemented Interfaces:
Tool,ServiceProvider
- Direct Known Subclasses:
TestTool
Tool created by the workspace when the user chooses to create a new
tool. Its ToolConfigProvider shows all Plugins with the exception of
those plugins that can be added to the Front End tool only.
-
Field Summary
FieldsFields inherited from class ghidra.framework.plugintool.PluginTool
DESCRIPTION_PROPERTY_NAME, ICON_PROPERTY_NAME, iconURL, isDisposed, manageDialog, PLUGIN_COUNT_PROPERTY_NAME, TOOL_NAME_PROPERTY, toolNameFields inherited from class docking.AbstractDockingTool
optionsMap, toolActions, winMgr -
Constructor Summary
ConstructorsConstructorDescriptionGhidraTool(Project project, GhidraToolTemplate template) Construct a new GhidraTool using an existing template.GhidraTool(Project project, String name) Construct a new Ghidra Tool. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected DockingWindowManagercreateDockingWindowManager(boolean isDockable, boolean hasStatus, boolean isModal) This method exists here, as opposed to inline in the constructor, so that subclasses can alter the behavior of the DockingWindowManager construction.protected PluginsConfigurationvoiddispose()protected booleanCalled when it is time to save the tool.getToolTemplate(boolean includeConfigState) protected voidPlaceholder for subclasses to get a chance to install actions before plugins.protected booleanrestoreFromXml(org.jdom.Element root) voidrestoreWindowingDataFromXml(org.jdom.Element rootElement) org.jdom.ElementsaveToXml(boolean includeConfigState) org.jdom.ElementvoidsetToolName(String name) voidsetVisible(boolean visible) Sets the tool visible or invisible.booleanReturns true if this tool needs savingprotected voidMethods inherited from class ghidra.framework.plugintool.PluginTool
accept, acceptDomainFiles, addEventListener, addExitAction, addExportToolAction, addHelpActions, addListenerForAllPluginEvents, addNextPreviousProviderActions, addOptionsAction, addPlugin, addPlugin, addPlugins, addPlugins, addPropertyChangeListener, addSaveToolAction, addServiceListener, addStatusComponent, addToolListener, allowTerminatingTasksWhenClosing, beep, cancelCurrentTask, canClose, canCloseDomainFile, canCloseDomainObject, canClosePlugins, canStopTasks, clearLastEvents, close, contextChanged, execute, execute, execute, execute, execute, executeBackgroundCommand, firePluginEvent, getActiveComponentProvider, getActiveWindow, getConsumedToolEventNames, getDomainFiles, getIcon, getIconURL, getInstanceName, getLocation, getManagedPlugins, getManagePluginsDialog, getName, getOptions, getOptions, getPluginsConfiguration, getProject, getProjectManager, getService, getServices, getSize, getSupportedDataTypes, getToolEventNames, getToolName, getToolServices, getTransientState, getUndoRedoToolState, hasOptions, hasToolListeners, hasUnsavedData, installHomeButton, installUtilityPlugins, isConfigurable, isExecutingCommand, isRestoringDataState, isService, isWindowsOnTop, optionsChanged, prepareToSave, processToolEvent, putInstanceName, registerDefaultContextProvider, registerOptionsNameChange, removeEventListener, removeListenerForAllPluginEvents, removePlugins, removePlugins, removePreferenceState, removePropertyChangeListener, removeServiceListener, removeStatusComponent, removeToolListener, restoreDataStateFromXml, restoreOptionsFromXml, restorePluginsFromXml, saveDataStateToXml, saveTool, saveToolAs, saveToolToToolTemplate, scheduleFollowOnCommand, setConfigChanged, setDefaultComponent, setIconURL, setLocation, setProject, setSize, setSubTitle, setUnconfigurable, setWindowsOnTop, showComponentHeader, showConfig, showDialog, showDialog, showDialogOnActiveWindow, showExtensions, threadIsBackgroundTaskThread, unregisterDefaultContextProviderMethods inherited from class docking.AbstractDockingTool
addAction, addComponentProvider, addContextListener, addLocalAction, addPopupActionProvider, clearStatusInfo, getAllActions, getComponentProvider, getDockingActionsByOwnerName, getGlobalActions, getLocalActions, getProviderWindow, getStatusInfo, getToolActions, getToolFrame, getWindowManager, hasConfigChanged, isActive, isVisible, isVisible, removeAction, removeComponentProvider, removeContextListener, removeLocalAction, removePopupActionProvider, setMenuGroup, setMenuGroup, setStatusInfo, setStatusInfo, showComponentProvider, showDialog, toFront, toFront, updateTitle
-
Field Details
-
autoSave
public static boolean autoSave
-
-
Constructor Details
-
GhidraTool
Construct a new Ghidra Tool.- Parameters:
project- the project associated with the toolname- the name of the tool
-
GhidraTool
Construct a new GhidraTool using an existing template.- Parameters:
project- project that is the associated with the tool.template- the template to use when creating the tool
-
-
Method Details
-
createDockingWindowManager
protected DockingWindowManager createDockingWindowManager(boolean isDockable, boolean hasStatus, boolean isModal) Description copied from class:PluginToolThis method exists here, as opposed to inline in the constructor, so that subclasses can alter the behavior of the DockingWindowManager construction.- Overrides:
createDockingWindowManagerin classPluginTool- Parameters:
isDockable- true if the tool contains components that can be dockedhasStatus- true if the tool should display a status componentisModal- true if the tool is modal, meaning that while this tool is visible, no other tool or dialog in Ghidra can have focus- Returns:
- a new DockingWindowManager
-
initActions
protected void initActions()Description copied from class:PluginToolPlaceholder for subclasses to get a chance to install actions before plugins.- Overrides:
initActionsin classPluginTool
-
createPluginsConfigurations
- Overrides:
createPluginsConfigurationsin classPluginTool
-
setToolName
- Overrides:
setToolNamein classPluginTool
-
getToolTemplate
- Overrides:
getToolTemplatein classPluginTool
-
saveWindowingDataToXml
public org.jdom.Element saveWindowingDataToXml()- Overrides:
saveWindowingDataToXmlin classPluginTool
-
restoreWindowingDataFromXml
public void restoreWindowingDataFromXml(org.jdom.Element rootElement) - Overrides:
restoreWindowingDataFromXmlin classPluginTool
-
saveToXml
public org.jdom.Element saveToXml(boolean includeConfigState) - Overrides:
saveToXmlin classPluginTool
-
restoreFromXml
protected boolean restoreFromXml(org.jdom.Element root) - Overrides:
restoreFromXmlin classPluginTool
-
setVisible
public void setVisible(boolean visible) 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- Overrides:
setVisiblein classAbstractDockingTool- Parameters:
visible- true specifies that the tool should be visible
-
shouldSave
public boolean shouldSave()Description copied from class:PluginToolReturns true if this tool needs saving- Overrides:
shouldSavein classPluginTool- Returns:
- true if this tool needs saving
-
doSaveTool
protected boolean doSaveTool()Description copied from class:PluginToolCalled when it is time to save the tool. Handles auto-saving logic.- Overrides:
doSaveToolin classPluginTool- Returns:
- true if a save happened
-
dispose
public void dispose()- Overrides:
disposein classPluginTool
-
addManagePluginsAction
protected void addManagePluginsAction() -
showConfig
protected void showConfig()
-