Package ghidra.framework.main.datatable

# Class ProjectDataTableModel

java.lang.Object
javax.swing.table.AbstractTableModel
docking.widgets.table.AbstractGTableModel<T>
docking.widgets.table.AbstractSortedTableModel<ROW_TYPE>
docking.widgets.table.GDynamicColumnTableModel<ROW_OBJECT,DATA_SOURCE>
docking.widgets.table.threaded.ThreadedTableModel<DomainFileInfo,ProjectData>
ghidra.framework.main.datatable.ProjectDataTableModel

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

public class ProjectDataTableModel extends ThreadedTableModel<DomainFileInfo,ProjectData>

See Also:
  - Serialized Form

- ## Nested Class Summary

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

  `ThreadedTableModel.IncrementalLoadJobListener`

- ## Field Summary

  ### 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`
  `ProjectDataTableModel(ServiceProvider serviceProvider)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected TableColumnDescriptor<DomainFileInfo>`
  `createTableColumnDescriptor()`
  `protected void`
  `doLoad(Accumulator<DomainFileInfo> accumulator, TaskMonitor monitor)`
  The basic method that all children must implement.
  `ProjectData`
  `getDataSource()`
  Returns the table's context for the data.
  `boolean`
  `isCellEditable(int rowIndex, int columnIndex)`
  `void`
  `refresh()`
  Invoke this method when the underlying data has changed, but a reload is not required.
  `void`
  `setEditing(boolean on)`
  `void`
  `setProjectData(ProjectData projectData)`
  `void`
  `setValueAt(Object aValue, int rowIndex, int columnIndex)`

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

  `addInitialLoadListener, addObject, addThreadedTableModelListener, backgroundWorkCancelled, cancelAllUpdates, clearData, createIncrementalLoadJob, createSortComparator, dispose, 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, 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, setLastSelectedObjects`

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

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

  ### 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, removeTableModelListener`

- ## Constructor Details

  - ### ProjectDataTableModel

    protected ProjectDataTableModel(ServiceProvider serviceProvider)

- ## Method Details

  - ### doLoad

    protected void doLoad(Accumulator<DomainFileInfo> 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<DomainFileInfo,ProjectData>`
    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<DomainFileInfo> createTableColumnDescriptor()
    Specified by:
      `createTableColumnDescriptor` in class `GDynamicColumnTableModel<DomainFileInfo,ProjectData>`

  - ### getDataSource

    public ProjectData getDataSource()
    Description copied from class: `GDynamicColumnTableModel`
    Returns the table's context for the data.
    Specified by:
      `getDataSource` in class `GDynamicColumnTableModel<DomainFileInfo,ProjectData>`
    Returns:
      the table's context for the data.

  - ### refresh

    public void refresh()
    Description copied from class: `AbstractGTableModel`
    Invoke this method when the underlying data has changed, but a reload is not required.
    Overrides:
      `refresh` in class `AbstractGTableModel<DomainFileInfo>`

  - ### setProjectData

    public void setProjectData(ProjectData projectData)

  - ### isCellEditable

    public boolean isCellEditable(int rowIndex, int columnIndex)
    Specified by:
      `isCellEditable` in interface `TableModel`
    Overrides:
      `isCellEditable` in class `AbstractTableModel`

  - ### setValueAt

    public void setValueAt(Object aValue, int rowIndex, int columnIndex)
    Specified by:
      `setValueAt` in interface `TableModel`
    Overrides:
      `setValueAt` in class `AbstractTableModel`

  - ### setEditing

    public void setEditing(boolean on)