Class FrontEndPlugin

java.lang.Object
ghidra.framework.plugintool.Plugin
ghidra.framework.main.FrontEndPlugin
All Implemented Interfaces:
RemoteAdapterListener, FrontEndService, ProgramaticUseOnly, ProjectViewListener, PluginEventListener, ServiceListener, ExtensionPoint

public class FrontEndPlugin extends Plugin implements FrontEndService, RemoteAdapterListener, ProjectViewListener, ProgramaticUseOnly
Main plugin component for the Ghidra Project Window, which is a PluginTool. This plugin manages all of the GUI elements, e.g., the Data tree panel, view panels for other projects, etc.
  • Field Details

  • Constructor Details

    • FrontEndPlugin

      public FrontEndPlugin(PluginTool tool)
      Construct a new FrontEndPlugin. This plugin is constructed once when the Front end tool (Ghidra Project Window) is created. When a previously opened project is created, the Ghidra Project Window is restored to the state associated with that project.
      Parameters:
      tool - the front end tool
  • Method Details

    • createToolSpecificOpenActions

      protected void createToolSpecificOpenActions()
    • getComponent

      public JComponent getComponent()
    • connectionStateChanged

      public void connectionStateChanged(Object adapter)
      Description copied from interface: RemoteAdapterListener
      Callback notification indicating the remote object connection state has changed.
      Specified by:
      connectionStateChanged in interface RemoteAdapterListener
      Parameters:
      adapter - remote interface adapter (e.g., RepositoryServerAdapter).
    • viewedProjectAdded

      public void viewedProjectAdded(URL projectView)
      Description copied from interface: ProjectViewListener
      Provides notification that a read-only viewed project has been added which is intended to be visible. Notification for hidden viewed projects will not be provided.
      Specified by:
      viewedProjectAdded in interface ProjectViewListener
      Parameters:
      projectView - project view URL
    • viewedProjectRemoved

      public void viewedProjectRemoved(URL projectView)
      Description copied from interface: ProjectViewListener
      Provides notification that a viewed project is being removed from the project. Notification for hidden viewed project removal will not be provided.
      Specified by:
      viewedProjectRemoved in interface ProjectViewListener
      Parameters:
      projectView - project view URL
    • writeDataState

      public void writeDataState(SaveState saveState)
      Description copied from class: Plugin
      Tells the Plugin to write any data-dependent state to the output stream.
      Overrides:
      writeDataState in class Plugin
      Parameters:
      saveState - object that holds primitives for state information
    • readDataState

      public void readDataState(SaveState saveState)
      Description copied from class: Plugin
      Tells the Plugin to read its data-dependent state from the given SaveState object.
      Overrides:
      readDataState in class Plugin
      Parameters:
      saveState - object that holds primitives for state information
    • getActiveWorkspace

      public final Workspace getActiveWorkspace()
    • dispose

      protected void dispose()
      Description copied from class: Plugin
      Tells a plugin that it is no longer needed. The plugin should release any resources that it has. All actions, components, services will automatically be cleaned up.
      Overrides:
      dispose in class Plugin
    • addProjectListener

      public void addProjectListener(ProjectListener l)
      Description copied from interface: FrontEndService
      Adds the specified listener to the front-end tool.
      Specified by:
      addProjectListener in interface FrontEndService
      Parameters:
      l - the project listener
    • removeProjectListener

      public void removeProjectListener(ProjectListener l)
      Description copied from interface: FrontEndService
      Removes the specified listener from the front-end tool.
      Specified by:
      removeProjectListener in interface FrontEndService
      Parameters:
      l - the project listener
    • openDomainFile

      public void openDomainFile(DomainFile domainFile)