Class ProgramBigListingModel

java.lang.Object
ghidra.app.util.viewer.listingpanel.ProgramBigListingModel
All Implemented Interfaces:
FormatModelListener, ListingModel, DomainObjectListener, OptionsChangeListener, EventListener, ChangeListener

public class ProgramBigListingModel extends Object implements ListingModel, FormatModelListener, DomainObjectListener, ChangeListener, OptionsChangeListener
  • Field Details

    • program

      protected final Program program
  • Constructor Details

  • Method Details

    • optionsChanged

      public void optionsChanged(ToolOptions options, String optionName, Object oldValue, Object newValue)
      Description copied from interface: OptionsChangeListener
      Notification that an option changed.

      Note: to reject an options change, you can throw a OptionsVetoException.

      Specified by:
      optionsChanged in interface OptionsChangeListener
      Parameters:
      options - options object containing the property that changed
      optionName - name of option that changed
      oldValue - old value of the option
      newValue - new value of the option
    • getAddressSet

      public AddressSetView getAddressSet()
      Specified by:
      getAddressSet in interface ListingModel
    • dispose

      public void dispose()
      Description copied from interface: ListingModel
      Disposes this model
      Specified by:
      dispose in interface ListingModel
    • setFormatManager

      public void setFormatManager(FormatManager formatManager)
      Description copied from interface: ListingModel
      Sets the FormatManager for this model which determines the layout of the fields.
      Specified by:
      setFormatManager in interface ListingModel
      Parameters:
      formatManager - the new FormatManager to use
    • stateChanged

      public void stateChanged(ChangeEvent e)
      Specified by:
      stateChanged in interface ChangeListener
    • getLayout

      public Layout getLayout(Address addr, boolean isGapAddress)
      Specified by:
      getLayout in interface ListingModel
    • getMaxWidth

      public int getMaxWidth()
      Description copied from interface: ListingModel
      Returns the width of the longest layout this model can produce..
      Specified by:
      getMaxWidth in interface ListingModel
      Returns:
      the width of the longest layout this model can produce.
    • getAddressAfter

      public Address getAddressAfter(Address address)
      Specified by:
      getAddressAfter in interface ListingModel
    • getAddressBefore

      public Address getAddressBefore(Address addr)
      Specified by:
      getAddressBefore in interface ListingModel
    • isOpenData

      public boolean isOpenData(CodeUnit cu)
    • isOpen

      public boolean isOpen(Data data)
      Description copied from interface: ListingModel
      Returns true if the data is open
      Specified by:
      isOpen in interface ListingModel
      Parameters:
      data - the data to check
      Returns:
      true if the data is open
    • toggleOpen

      public void toggleOpen(Data data)
      Description copied from interface: ListingModel
      Changes the open state of the given data (open -> closes; closed-> open).
      Specified by:
      toggleOpen in interface ListingModel
      Parameters:
      data - the data to open
    • setFunctionVariablesOpen

      public void setFunctionVariablesOpen(Address functionAddress, boolean open)
      Description copied from interface: ListingModel
      Sets whether or not to display function variables for the function at the given address.
      Specified by:
      setFunctionVariablesOpen in interface ListingModel
      Parameters:
      functionAddress - the address of the function
      open - if true, the variables are displayed, otherwise they are hidden
    • setAllFunctionVariablesOpen

      public void setAllFunctionVariablesOpen(boolean open)
      Description copied from interface: ListingModel
      Sets the display of variables for all functions. This basically sets the default state, but the state can be overridden for individual functions. Changing this value erases all individually set values.
      Specified by:
      setAllFunctionVariablesOpen in interface ListingModel
      Parameters:
      open - if true, show function variables
    • areFunctionVariablesOpen

      public boolean areFunctionVariablesOpen(Address FunctionAddress)
      Description copied from interface: ListingModel
      Checks if the function variables are being displayed at the given address
      Specified by:
      areFunctionVariablesOpen in interface ListingModel
      Parameters:
      FunctionAddress - the address of the function
      Returns:
      true if the variables are being displayed for the function at the given address
    • openAllData

      public void openAllData(Data data, TaskMonitor monitor)
      Description copied from interface: ListingModel
      Recursively open the given data and its sub-components.
      Specified by:
      openAllData in interface ListingModel
      Parameters:
      data - the data to open
      monitor - the task monitor
    • closeAllData

      public void closeAllData(Data data, TaskMonitor monitor)
      Description copied from interface: ListingModel
      Recursively close the given data and its sub-components.
      Specified by:
      closeAllData in interface ListingModel
      Parameters:
      data - the data to close
      monitor - the task monitor
    • openAllData

      public void openAllData(AddressSetView addresses, TaskMonitor monitor)
      Description copied from interface: ListingModel
      Opens all data found within the given addresses. Each data is fully opened.
      Specified by:
      openAllData in interface ListingModel
      Parameters:
      addresses - the range of addresses to search for data
      monitor - the task monitor
    • closeAllData

      public void closeAllData(AddressSetView addresses, TaskMonitor monitor)
      Description copied from interface: ListingModel
      Closes all data found within the given addresses. Each data is fully closed.
      Specified by:
      closeAllData in interface ListingModel
      Parameters:
      addresses - the range of addresses to search for data
      monitor - the task monitor
    • closeData

      public void closeData(Data data)
      Description copied from interface: ListingModel
      Closes the given data, but not any sub-components.
      Specified by:
      closeData in interface ListingModel
      Parameters:
      data - the data to close
    • openData

      public boolean openData(Data data)
      Description copied from interface: ListingModel
      Opens the given data, but not any sub-components.
      Specified by:
      openData in interface ListingModel
      Parameters:
      data - the data to open
      Returns:
      true if the data was opened (will return false if the data is already open or has no children)
    • notifyDataChanged

      protected void notifyDataChanged(boolean updateImmediately)
    • formatModelChanged

      public void formatModelChanged(FieldFormatModel model)
      Description copied from interface: FormatModelListener
      Notifies that the given format model was changed.
      Specified by:
      formatModelChanged in interface FormatModelListener
      Parameters:
      model - the model that was changed.
    • addListener

      public void addListener(ListingModelListener listener)
      Description copied from interface: ListingModel
      Adds a listener for changes to this model.
      Specified by:
      addListener in interface ListingModel
      Parameters:
      listener - the listener to be notified
    • removeListener

      public void removeListener(ListingModelListener listener)
      Description copied from interface: ListingModel
      Removes a listener from those being notified of model changes.
      Specified by:
      removeListener in interface ListingModel
      Parameters:
      listener - the listener to be removed
    • getProgram

      public Program getProgram()
      Description copied from interface: ListingModel
      Returns the program being displayed by this model..
      Specified by:
      getProgram in interface ListingModel
      Returns:
      the program being displayed by this model.
    • isClosed

      public boolean isClosed()
      Description copied from interface: ListingModel
      Returns true if the program being displayed by this listing has been closed (and therefor the model is invalid.).
      Specified by:
      isClosed in interface ListingModel
      Returns:
      true if the program being displayed by this listing has been closed (and therefor the model is invalid.)
    • domainObjectChanged

      public void domainObjectChanged(DomainObjectChangedEvent ev)
      Description copied from interface: DomainObjectListener
      Method called when a change is made to the domain object.
      Specified by:
      domainObjectChanged in interface DomainObjectListener
      Parameters:
      ev - event containing the change record and type of change that was made
    • adjustAddressSetToCodeUnitBoundaries

      public AddressSet adjustAddressSetToCodeUnitBoundaries(AddressSet addressSet)
      Description copied from interface: ListingModel
      Adjusts each range in the given address set to be on code unit boundaries.
      Specified by:
      adjustAddressSetToCodeUnitBoundaries in interface ListingModel
      Parameters:
      addressSet - the address set to be adjusted
      Returns:
      a new AddressSet where each range is on a code unit boundary
    • copy

      public ListingModel copy()
      Description copied from interface: ListingModel
      Makes a copy of this model.
      Specified by:
      copy in interface ListingModel
      Returns:
      a copy of this model.