Package ghidra.app.util.viewer.listingpanel

# 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 Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected final Program`
  `program`

  ### Fields inherited from interface ghidra.app.util.viewer.listingpanel.ListingModel

  `DISPLAY_EXTERNAL_FUNCTION_POINTER_OPTION_NAME, DISPLAY_NONEXTERNAL_FUNCTION_POINTER_OPTION_NAME, FUNCTION_POINTER_OPTION_GROUP_NAME`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ProgramBigListingModel(Program program, FormatManager formatMgr)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addListener(ListingModelListener listener)`
  `AddressSet`
  `adjustAddressSetToCodeUnitBoundaries(AddressSet addressSet)`
  `void`
  `closeAllData(AddressSetView addresses, TaskMonitor monitor)`
  Closes all data found within the given addresses.
  `void`
  `closeAllData(Data data, TaskMonitor monitor)`
  Recursively close the given data and its sub-components.
  `void`
  `closeData(Data data)`
  Closes the given data, but not any sub-components.
  `ListingModel`
  `copy()`
  Makes a copy of this model.
  `void`
  `dispose()`
  `void`
  `domainObjectChanged(DomainObjectChangedEvent ev)`
  Method called when a change is made to the domain object.
  `void`
  `formatModelAdded(FieldFormatModel model)`
  Notifies that a new format model was added to the format manager.
  `void`
  `formatModelChanged(FieldFormatModel model)`
  Notifies that the given format model was changed.
  `void`
  `formatModelRemoved(FieldFormatModel model)`
  Notifies that a format model was removed.
  `Address`
  `getAddressAfter(Address address)`
  `Address`
  `getAddressBefore(Address addr)`
  `AddressSetView`
  `getAddressSet()`
  `Layout`
  `getLayout(Address addr, boolean isGapAddress)`
  `int`
  `getMaxWidth()`
  `Program`
  `getProgram()`
  `boolean`
  `isClosed()`
  `boolean`
  `isOpen(Data data)`
  Returns true if the data is open
  `boolean`
  `isOpenData(CodeUnit cu)`
  `protected void`
  `notifyDataChanged(boolean updateImmediately)`
  `void`
  `openAllData(AddressSetView addresses, TaskMonitor monitor)`
  Opens all data found within the given addresses.
  `void`
  `openAllData(Data data, TaskMonitor monitor)`
  Recursively open the given data and its sub-components.
  `boolean`
  `openData(Data data)`
  Opens the given data, but not any sub-components.
  `void`
  `optionsChanged(ToolOptions options, String optionName, Object oldValue, Object newValue)`
  Notification that an option changed.
  `void`
  `removeListener(ListingModelListener listener)`
  `void`
  `setFormatManager(FormatManager formatManager)`
  `void`
  `stateChanged(ChangeEvent e)`
  `void`
  `toggleOpen(Data data)`
  Changes the open state of the given data (open -> closes; closed-> open).

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### program

    protected final Program program

- ## Constructor Details

  - ### ProgramBigListingModel

    public ProgramBigListingModel(Program program, FormatManager formatMgr)

- ## 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()
    Specified by:
      `dispose` in interface `ListingModel`

  - ### setFormatManager

    public void setFormatManager(FormatManager formatManager)
    Specified by:
      `setFormatManager` in interface `ListingModel`

  - ### 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()
    Specified by:
      `getMaxWidth` in interface `ListingModel`

  - ### 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

  - ### 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)

  - ### formatModelAdded

    public void formatModelAdded(FieldFormatModel model)
    Description copied from interface: `FormatModelListener`
    Notifies that a new format model was added to the format manager.
    Specified by:
      `formatModelAdded` in interface `FormatModelListener`
    Parameters:
      `model` - the new model.

  - ### 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.

  - ### formatModelRemoved

    public void formatModelRemoved(FieldFormatModel model)
    Description copied from interface: `FormatModelListener`
    Notifies that a format model was removed.
    Specified by:
      `formatModelRemoved` in interface `FormatModelListener`
    Parameters:
      `model` - the model that was removed.

  - ### addListener

    public void addListener(ListingModelListener listener)
    Specified by:
      `addListener` in interface `ListingModel`

  - ### removeListener

    public void removeListener(ListingModelListener listener)
    Specified by:
      `removeListener` in interface `ListingModel`

  - ### getProgram

    public Program getProgram()
    Specified by:
      `getProgram` in interface `ListingModel`

  - ### isClosed

    public boolean isClosed()
    Specified by:
      `isClosed` in interface `ListingModel`

  - ### 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)
    Specified by:
      `adjustAddressSetToCodeUnitBoundaries` in interface `ListingModel`

  - ### 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.