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

    Constructors
    Constructor
    Description
    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 Type
    Method
    Description
    void
     
    void
     
    void
     
    void
    dialogVisibilityChanged(boolean isVisible)
    Will be called when the visibility of the dialog using this model has changed
    void
     
    void
    Forces a refilter, even though filtering operations may be disabled.
    docking.ActionContext
     
     
    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
    load(MatchInfo matchInfo)
    Loads the markup items table and its function comparison panel with the indicated match.
    void
    Indicates that the version tracking mark-up item that is selected has changed.
    void
    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
    Causes the information for the currently selected match to be reloaded.
    void
     
    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • VTMarkupItemsTableProvider

      public VTMarkupItemsTableProvider(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.
      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 interface docking.actions.PopupActionProvider
    • getActionContext

      public docking.ActionContext getActionContext(MouseEvent event)
      Specified by:
      getActionContext in interface docking.action.ActionContextProvider
      Overrides:
      getActionContext in class docking.ComponentProvider
    • getComponent

      public JComponent getComponent()
      Specified by:
      getComponent in class docking.ComponentProvider
    • disposed

      public void disposed()
      Specified by:
      disposed in interface VTControllerListener
    • componentHidden

      public void componentHidden()
      Overrides:
      componentHidden in class docking.ComponentProvider
    • componentShown

      public void componentShown()
      Overrides:
      componentShown in class docking.ComponentProvider
    • reload

      public void reload()
      Causes the information for the currently selected match to be reloaded.
    • load

      public void load(MatchInfo matchInfo)
      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

      public void matchSelected(MatchInfo matchInfo)
      Description copied from interface: VTControllerListener
      Indicates that the version tracking match that is selected has changed.
      Specified by:
      matchSelected in interface VTControllerListener
      Parameters:
      matchInfo - the matchInfo for the match that is now selected or null if no item is selected or multiple matches are selected.
    • sessionChanged

      public void sessionChanged(VTSession session)
      Specified by:
      sessionChanged in interface VTControllerListener
    • sessionUpdated

      public void sessionUpdated(ghidra.framework.model.DomainObjectChangedEvent ev)
      Specified by:
      sessionUpdated in interface VTControllerListener
    • markupItemSelected

      public void markupItemSelected(VTMarkupItem markupItem)
      Description copied from interface: VTControllerListener
      Indicates that the version tracking mark-up item that is selected has changed.
      Specified by:
      markupItemSelected in interface VTControllerListener
      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 interface VTControllerListener
    • 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

      public void addFilter(Filter<VTMarkupItem> filter)
      Specified by:
      addFilter in interface FilterDialogModel<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 interface FilterDialogModel<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 interface FilterDialogModel<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