Package ghidra.features.base.quickfix

# Class QuickFixTableModel

java.lang.Object
javax.swing.table.AbstractTableModel
docking.widgets.table.AbstractGTableModel<QuickFix>
docking.widgets.table.AbstractSortedTableModel<QuickFix>
docking.widgets.table.GDynamicColumnTableModel<QuickFix,Program>
docking.widgets.table.threaded.ThreadedTableModel<QuickFix,Program>
ghidra.util.table.GhidraProgramTableModel<QuickFix>
ghidra.features.base.quickfix.QuickFixTableModel

All Implemented Interfaces:
  `ConfigurableColumnTableModel`, `DynamicColumnTableModel<QuickFix>`, `RowObjectFilterModel<QuickFix>`, `RowObjectTableModel<QuickFix>`, `SelectionStorage<QuickFix>`, `SortedTableModel`, `VariableColumnTableModel`, `DomainObjectListener`, `ProgramTableModel`, `Serializable`, `EventListener`, `ChangeListener`, `TableModel`

public class QuickFixTableModel extends GhidraProgramTableModel<QuickFix> implements DomainObjectListener
Table model for `QuickFix`s

See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `class`
  `QuickFixTableModel.QuickFixRenderer`

  ## Nested classes/interfaces inherited from class docking.widgets.table.threaded.ThreadedTableModel

  `ThreadedTableModel.IncrementalLoadJobListener`

- ## Field Summary

  ### Fields inherited from class ghidra.util.table.GhidraProgramTableModel

  `program`

  ### Fields inherited from class docking.widgets.table.threaded.ThreadedTableModel

  `allData, filteredData`

  ### Fields inherited from class docking.widgets.table.GDynamicColumnTableModel

  `columnSettings, serviceProvider, tableColumns`

  ### Fields inherited from class docking.widgets.table.AbstractSortedTableModel

  `hasEverSorted`

  ### Fields inherited from class docking.widgets.table.AbstractGTableModel

  `isDisposed, WIDTH_UNDEFINED`

  ### Fields inherited from class javax.swing.table.AbstractTableModel

  `listenerList`

  ### Fields inherited from interface docking.widgets.table.RowObjectFilterModel

  `SUB_FILTERING_DISABLED_PROPERTY`

  ### Fields inherited from interface docking.widgets.table.SortedTableModel

  `ASCENDING_ORDER, DESCENDING_ORDER`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `QuickFixTableModel(Program program, String modelName, ServiceProvider serviceProvider, TableDataLoader<QuickFix> loader)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected TableColumnDescriptor<QuickFix>`
  `createTableColumnDescriptor()`
  `void`
  `dispose()`
  Disposes this model.
  `protected void`
  `doLoad(Accumulator<QuickFix> accumulator, TaskMonitor monitor)`
  The basic method that all children must implement.
  `void`
  `domainObjectChanged(DomainObjectChangedEvent ev)`
  Method called when a change is made to the domain object.
  `ProgramLocation`
  `getProgramLocation(int modelRow, int modelColumn)`
  Returns a program location corresponding the given row and column.

  ### Methods inherited from class ghidra.util.table.GhidraProgramTableModel

  `getAddress, getAddress, getDataSource, getProgram, getProgramForRow, getProgramSelection, setProgram`

  ### Methods inherited from class docking.widgets.table.threaded.ThreadedTableModel

  `addInitialLoadListener, addInitialLoadListener, addObject, addThreadedTableModelListener, backgroundWorkCancelled, cancelAllUpdates, clearData, createAccumulator, createIncrementalLoadJob, createSortComparator, doFilter, fireTableChanged, getAddRemoveStrategy, getAllData, getModelData, getModelIndex, getModelRow, getName, getRowCount, getRowObjects, getTableFilter, getUnfilteredData, getUnfilteredIndexForRowObject, getUnfilteredRowCount, getUnfilteredRowObjectForIndex, getValueAt, getViewIndex, getViewRow, hasFilter, initializeSorting, isBusy, isFiltered, isLoadIncrementally, reFilter, reload, removeObject, removeThreadedTableModelListener, reSort, setIncrementalTaskMonitor, setModelState, setTableFilter, sort, startInitialLoad, updateNow, updateObject`

  ### Methods inherited from class docking.widgets.table.GDynamicColumnTableModel

  `addTableColumn, addTableColumn, addTableColumns, addTableColumns, createSortComparatorForColumn, disposeDynamicColumnData, getColumn, getColumnClass, getColumnCount, getColumnDescription, getColumnDisplayName, getColumnIndex, getColumnIndex, getColumnName, getColumnSettings, getColumnSettingsDefinitions, getColumnValueForRow, getDefaultColumnCount, getHeaderRenderer, getMaxLines, getPreferredColumnWidth, getRenderer, getTableColumnDescriptor, getUniqueIdentifier, isDefaultColumn, isSortable, isVisibleByDefault, loadDiscoveredTableColumns, reloadColumns, removeTableColumn, removeTableColumns, setAllColumnSettings, stateChanged`

  ### Methods inherited from class docking.widgets.table.AbstractSortedTableModel

  `addSortListener, cleanupTableSortState, createSortingContext, getIndexForRowObject, getIndexForRowObject, getPendingSortState, getPrimarySortColumnIndex, getRowIndex, getRowObject, getTableSortState, isSorted, isSortPending, notifyModelSorted, setDefaultTableSortState, setTableSortState, sortCompleted`

  ### Methods inherited from class docking.widgets.table.AbstractGTableModel

  `getLastSelectedObjects, isDisposed, refresh, setLastSelectedObjects`

  ### Methods inherited from class javax.swing.table.AbstractTableModel

  `addTableModelListener, findColumn, fireTableCellUpdated, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt`

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

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

  ### Methods inherited from interface docking.widgets.table.RowObjectTableModel

  `fireTableDataChanged, getColumnValueForRow, getRowIndex, getRowObject`

  ### Methods inherited from interface javax.swing.table.TableModel

  `addTableModelListener, getColumnClass, getColumnCount, getColumnName, isCellEditable, removeTableModelListener, setValueAt`

- ## Constructor Details

  - ### QuickFixTableModel

    protected QuickFixTableModel(Program program, String modelName, ServiceProvider serviceProvider, TableDataLoader<QuickFix> loader)

- ## Method Details

  - ### dispose

    public void dispose()
    Description copied from class: `ThreadedTableModel`
    Disposes this model. Once a model has been disposed, it cannot be reused.
    Overrides:
      `dispose` in class `GhidraProgramTableModel<QuickFix>`

  - ### doLoad

    protected void doLoad(Accumulator<QuickFix> accumulator, TaskMonitor monitor) throws CancelledException
    Description copied from class: `ThreadedTableModel`
    The basic method that all children must implement. This is where children load their data.
    Specified by:
      `doLoad` in class `ThreadedTableModel<QuickFix,Program>`
    Parameters:
      `accumulator` - the datastructure into which you should incrementally place you table row data
      `monitor` - the task monitor to check for cancellations and to update progress
    Throws:
      `CancelledException` - if the task monitor has been cancelled and a call is made to `monitor.checkCancelled();`.

  - ### createTableColumnDescriptor

    protected TableColumnDescriptor<QuickFix> createTableColumnDescriptor()
    Overrides:
      `createTableColumnDescriptor` in class `GhidraProgramTableModel<QuickFix>`

  - ### getProgramLocation

    public ProgramLocation getProgramLocation(int modelRow, int modelColumn)
    Description copied from interface: `ProgramTableModel`
    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.

    Specified by:
      `getProgramLocation` in interface `ProgramTableModel`
    Overrides:
      `getProgramLocation` in class `GhidraProgramTableModel<QuickFix>`
    Parameters:
      `modelRow` - the row
      `modelColumn` - the column in the model's index
    Returns:
      a program location corresponding the given row and column

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