Package ghidra.util.table

# Interface ProgramTableModel

All Known Subinterfaces:
  `EnumeratedColumnProgramTableModel<R>`

All Known Implementing Classes:
  `AddressArrayTableModel`, `AddressBasedTableModel`, `AddressPreviewTableModel`, `AddressSetTableModel`, `AlignedObjectBasedPreviewTableModel`, `BSimApplyResultsTableModel`, `BSimExecutablesSummaryModel`, `BSimMatchResultsModel`, `BSimOverviewModel`, `CustomLoadingAddressTableModel`, `DefaultEnumeratedColumnProgramTableModel`, `FunctionXrefsTableModel`, `GhidraProgramTableModel`, `IncomingReferencesTableModel`, `MemoryMatchTableModel`, `ProgramLocationPreviewTableModel`, `QuickFixTableModel`, `ReferencesFromTableModel`, `TableChooserTableModel`

public interface ProgramTableModel
An interface for translating table rows and columns into program locations and selections.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Program`
  `getProgram()`
  Returns the program associated with this ProgramTableModel.
  `ProgramLocation`
  `getProgramLocation(int modelRow, int modelColumn)`
  Returns a program location corresponding the given row and column.
  `ProgramSelection`
  `getProgramSelection(int[] modelRows)`
  Returns a program selection corresponding to the specified row index array.

- ## Method Details

  - ### getProgramLocation

    ProgramLocation getProgramLocation(int modelRow, int modelColumn)
    Returns a program location corresponding the given row and column.

    Motivation: Given a table that has a column that contains addresses. If the user clicks on this column, then it would be nice to have the CodeBrowser navigate to this address.

    Parameters:
      `modelRow` - the row
      `modelColumn` - the column in the model's index
    Returns:
      a program location corresponding the given row and column

  - ### getProgramSelection

    ProgramSelection getProgramSelection(int[] modelRows)
    Returns a program selection corresponding to the specified row index array. This array will contain the currently selected rows.
    Parameters:
      `modelRows` - the currently selected rows.
    Returns:
      a program selection

  - ### getProgram

    Program getProgram()
    Returns the program associated with this ProgramTableModel.
    Returns:
      the program associated with this ProgramTableModel.