Class VTMarkupItemsTableProvider
java.lang.Object
docking.ComponentProvider
ghidra.framework.plugintool.ComponentProviderAdapter
ghidra.feature.vt.gui.provider.markuptable.VTMarkupItemsTableProvider
- All Implemented Interfaces:
docking.action.ActionContextProvider
,docking.actions.PopupActionProvider
,FilterDialogModel<VTMarkupItem>
,VTControllerListener
,help.HelpDescriptor
public class VTMarkupItemsTableProvider
extends ghidra.framework.plugintool.ComponentProviderAdapter
implements FilterDialogModel<VTMarkupItem>, VTControllerListener, docking.actions.PopupActionProvider
This provides the GUI for displaying and working with version tracking markup items.
-
Field Summary
Fields inherited from class ghidra.framework.plugintool.ComponentProviderAdapter
tool
Fields inherited from class docking.ComponentProvider
DEFAULT_WINDOW_GROUP, dockingTool
-
Constructor Summary
ConstructorDescriptionVTMarkupItemsTableProvider
(VTController controller) Creates a new markup items table provider for displaying markup items, and code comparison views such as a dual listing for the currently selected version tracking match. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addFilter
(Filter<VTMarkupItem> filter) void
void
void
dialogVisibilityChanged
(boolean isVisible) Will be called when the visibility of the dialog using this model has changedvoid
disposed()
void
Forces a refilter, even though filtering operations may be disabled.docking.ActionContext
getActionContext
(MouseEvent event) ghidra.features.base.codecompare.panel.FunctionComparisonPanel
Gets the function comparison panel component that possibly contains multiple different views for comparing code such as a dual listing.List
<docking.action.DockingActionIf> getPopupActions
(docking.Tool t, docking.ActionContext context) boolean
Determines whether or not the dual listing is currently being shown to the user.void
Loads the markup items table and its function comparison panel with the indicated match.void
markupItemSelected
(VTMarkupItem markupItem) Indicates that the version tracking mark-up item that is selected has changed.void
matchSelected
(MatchInfo matchInfo) Indicates that the version tracking match that is selected has changed.void
optionsChanged
(ghidra.framework.options.Options options) void
processDestinationLocationChange
(ghidra.program.util.ProgramLocation programLocation) void
processSourceLocationChange
(ghidra.program.util.ProgramLocation programLocation) void
readConfigState
(ghidra.framework.options.SaveState saveState) Restores the markup items table provider's components to the indicated saved configuration state.void
reload()
Causes the information for the currently selected match to be reloaded.void
sessionChanged
(VTSession session) void
sessionUpdated
(ghidra.framework.model.DomainObjectChangedEvent ev) void
writeConfigState
(ghidra.framework.options.SaveState saveState) Saves the current configuration state of the components that compose the markup items table provider.Methods inherited from class ghidra.framework.plugintool.ComponentProviderAdapter
getTool
Methods inherited from class docking.ComponentProvider
addLocalAction, addToTool, addToToolbar, adjustFontSize, canBeParent, closeComponent, componentActivated, componentDeactived, contextChanged, createContext, createContext, createContext, getBaseIcon, getContextType, getDefaultWindowPosition, getHelpInfo, getHelpLocation, getHelpObject, getIcon, getInstanceID, getIntraGroupPosition, getLocalActions, getMappedName, getMappedOwner, getName, getOwner, getSubTitle, getTabText, getTitle, getWindowGroup, getWindowSubMenuName, initializeInstanceID, isActive, isFocusedProvider, isInTool, isSnapshot, isTransient, isVisible, registerAdjustableFontId, registerProviderNameOwnerChange, removeAllLocalActions, removeFromTool, removeLocalAction, requestFocus, resetFontSize, setCustomSubTitle, setCustomTabText, setCustomTitle, setDefaultFocusComponent, setDefaultWindowPosition, setHelpLocation, setIcon, setIntraGroupPosition, setKeyBinding, setSubTitle, setTabText, setTitle, setTransient, setVisible, setWindowGroup, setWindowMenuGroup, toFront, toString
-
Constructor Details
-
VTMarkupItemsTableProvider
Creates a new markup items table provider for displaying markup items, and code comparison views such as a dual listing for the currently selected version tracking match.- Parameters:
controller
- the version tracking controller for this provider
-
-
Method Details
-
getPopupActions
public List<docking.action.DockingActionIf> getPopupActions(docking.Tool t, docking.ActionContext context) - Specified by:
getPopupActions
in interfacedocking.actions.PopupActionProvider
-
getActionContext
- Specified by:
getActionContext
in interfacedocking.action.ActionContextProvider
- Overrides:
getActionContext
in classdocking.ComponentProvider
-
getComponent
- Specified by:
getComponent
in classdocking.ComponentProvider
-
disposed
public void disposed()- Specified by:
disposed
in interfaceVTControllerListener
-
componentHidden
public void componentHidden()- Overrides:
componentHidden
in classdocking.ComponentProvider
-
componentShown
public void componentShown()- Overrides:
componentShown
in classdocking.ComponentProvider
-
reload
public void reload()Causes the information for the currently selected match to be reloaded. -
load
Loads the markup items table and its function comparison panel with the indicated match.- Parameters:
matchInfo
- indicates which match (if any) to load.
-
processSourceLocationChange
public void processSourceLocationChange(ghidra.program.util.ProgramLocation programLocation) -
processDestinationLocationChange
public void processDestinationLocationChange(ghidra.program.util.ProgramLocation programLocation) -
isDualListingShowing
public boolean isDualListingShowing()Determines whether or not the dual listing is currently being shown to the user.- Returns:
- true if the dual listing is showing
-
matchSelected
Description copied from interface:VTControllerListener
Indicates that the version tracking match that is selected has changed.- Specified by:
matchSelected
in interfaceVTControllerListener
- Parameters:
matchInfo
- the matchInfo for the match that is now selected or null if no item is selected or multiple matches are selected.
-
sessionChanged
- Specified by:
sessionChanged
in interfaceVTControllerListener
-
sessionUpdated
public void sessionUpdated(ghidra.framework.model.DomainObjectChangedEvent ev) - Specified by:
sessionUpdated
in interfaceVTControllerListener
-
markupItemSelected
Description copied from interface:VTControllerListener
Indicates that the version tracking mark-up item that is selected has changed.- Specified by:
markupItemSelected
in interfaceVTControllerListener
- Parameters:
markupItem
- the mark-up item that is now selected or null if no item is selected or multiple mark-up items are selected.
-
optionsChanged
public void optionsChanged(ghidra.framework.options.Options options) - Specified by:
optionsChanged
in interfaceVTControllerListener
-
readConfigState
public void readConfigState(ghidra.framework.options.SaveState saveState) Restores the markup items table provider's components to the indicated saved configuration state.- Parameters:
saveState
- the configuration state to restore
-
writeConfigState
public void writeConfigState(ghidra.framework.options.SaveState saveState) Saves the current configuration state of the components that compose the markup items table provider.- Parameters:
saveState
- the new configuration state
-
addFilter
- Specified by:
addFilter
in interfaceFilterDialogModel<VTMarkupItem>
-
forceRefilter
public void forceRefilter()Forces a refilter, even though filtering operations may be disabled. The reload is necessary since the model contents may have changed- Specified by:
forceRefilter
in interfaceFilterDialogModel<VTMarkupItem>
-
dialogVisibilityChanged
public void dialogVisibilityChanged(boolean isVisible) Description copied from interface:FilterDialogModel
Will be called when the visibility of the dialog using this model has changed- Specified by:
dialogVisibilityChanged
in interfaceFilterDialogModel<VTMarkupItem>
- Parameters:
isVisible
- true if visible
-
getFunctionComparisonPanel
public ghidra.features.base.codecompare.panel.FunctionComparisonPanel getFunctionComparisonPanel()Gets the function comparison panel component that possibly contains multiple different views for comparing code such as a dual listing.- Returns:
- the function comparison panel
-