Package ghidra.app.util.viewer.util

# Class DataOpenCloseManager

java.lang.Object
ghidra.app.util.viewer.util.DataOpenCloseManager

public class DataOpenCloseManager extends Object
Manages the open/close state of structures and arrays at specific addresses.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DataOpenCloseManager()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `closeAllData(Program program, AddressSetView addresses, TaskMonitor monitor)`
  `void`
  `closeData(Data data)`
  Marks the given data as open.
  `int`
  `getOpenDataIndex(Address address, int[] path)`
  Returns the index of the component that is open at the given address.
  `boolean`
  `isDataOpen(Address address, int[] path)`
  Test is the data at the given address and component path is open
  `boolean`
  `isDataOpen(Data data)`
  `void`
  `openAllData(Program program, AddressSetView addresses, TaskMonitor monitor)`
  `void`
  `openData(Data data)`
  Marks the given data as open.
  `void`
  `toggleDataRecursively(Data data, boolean openState, TaskMonitor monitor)`
  `void`
  `toggleOpen(Data data)`

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

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

- ## Constructor Details

  - ### DataOpenCloseManager

    public DataOpenCloseManager()

- ## Method Details

  - ### openData

    public void openData(Data data)
    Marks the given data as open. This method notifies listeners of changes.
    Parameters:
      `data` - The data to open.

  - ### closeData

    public void closeData(Data data)
    Marks the given data as open. This method notifies listeners of changes.
    Parameters:
      `data` - The data to open.

  - ### isDataOpen

    public boolean isDataOpen(Address address, int[] path)
    Test is the data at the given address and component path is open
    Parameters:
      `address` - the address to test
      `path` - the component path to test.
    Returns:
      true if the data with the given component path is open

  - ### getOpenDataIndex

    public int getOpenDataIndex(Address address, int[] path)
    Returns the index of the component that is open at the given address.
    Parameters:
      `address` - the address to find the open index.
      `path` - the component path.
    Returns:
      the index of the component that is open at the given address.

  - ### toggleOpen

    public void toggleOpen(Data data)

  - ### openAllData

    public void openAllData(Program program, AddressSetView addresses, TaskMonitor monitor)

  - ### closeAllData

    public void closeAllData(Program program, AddressSetView addresses, TaskMonitor monitor)

  - ### isDataOpen

    public boolean isDataOpen(Data data)

  - ### toggleDataRecursively

    public void toggleDataRecursively(Data data, boolean openState, TaskMonitor monitor)