Package ghidra.app.util.viewer.multilisting

# Class ListingModelConverter

java.lang.Object
ghidra.app.util.viewer.multilisting.ListingModelConverter

All Implemented Interfaces:
  `ListingModel`

public class ListingModelConverter extends Object implements ListingModel

- ## Field Summary

  ### 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
  `ListingModelConverter(ListingModel primaryModel, ListingModel model)`
  Converts addresses from the primary model into addresses for this converters model.

- ## 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()`
  `Address`
  `getAddressAfter(Address primaryModelAddress)`
  `Address`
  `getAddressBefore(Address primaryModelAddress)`
  `AddressSetView`
  `getAddressSet()`
  `Layout`
  `getLayout(Address primaryAddress, boolean isGapAddress)`
  `int`
  `getMaxWidth()`
  `Program`
  `getProgram()`
  `boolean`
  `isClosed()`
  `boolean`
  `isOpen(Data data)`
  Returns true if the data is open
  `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`
  `removeListener(ListingModelListener listener)`
  `void`
  `setAddressTranslator(AddressTranslator translator)`
  Sets an address translator for this converter.
  `void`
  `setFormatManager(FormatManager formatManager)`
  `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`

- ## Constructor Details

  - ### ListingModelConverter

    public ListingModelConverter(ListingModel primaryModel, ListingModel model)
    Converts addresses from the primary model into addresses for this converters model.
    Parameters:
      `primaryModel` - the primary model
      `model` - this converter's model

- ## Method Details

  - ### addListener

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

  - ### dispose

    public void dispose()
    Specified by:
      `dispose` in interface `ListingModel`

  - ### getAddressAfter

    public Address getAddressAfter(Address primaryModelAddress)
    Specified by:
      `getAddressAfter` in interface `ListingModel`

  - ### getAddressBefore

    public Address getAddressBefore(Address primaryModelAddress)
    Specified by:
      `getAddressBefore` in interface `ListingModel`

  - ### getAddressSet

    public AddressSetView getAddressSet()
    Specified by:
      `getAddressSet` in interface `ListingModel`

  - ### getLayout

    public Layout getLayout(Address primaryAddress, boolean isGapAddress)
    Specified by:
      `getLayout` in interface `ListingModel`

  - ### getMaxWidth

    public int getMaxWidth()
    Specified by:
      `getMaxWidth` in interface `ListingModel`

  - ### getProgram

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

  - ### isClosed

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

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

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

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

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

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

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

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

  - ### removeListener

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

  - ### setFormatManager

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

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

  - ### adjustAddressSetToCodeUnitBoundaries

    public AddressSet adjustAddressSetToCodeUnitBoundaries(AddressSet addressSet)
    Specified by:
      `adjustAddressSetToCodeUnitBoundaries` in interface `ListingModel`

  - ### setAddressTranslator

    public void setAddressTranslator(AddressTranslator translator)
    Sets an address translator for this converter. If provided the translator converts addresses from the primary program to those in the program for this converter's model.
    Parameters:
      `translator` - translates addresses between the primary model and this converter's model

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