Package ghidra.util.table
Class GhidraProgramTableModel<ROW_TYPE>
java.lang.Object
javax.swing.table.AbstractTableModel
docking.widgets.table.AbstractGTableModel<ROW_TYPE>
docking.widgets.table.AbstractSortedTableModel<ROW_TYPE>
docking.widgets.table.GDynamicColumnTableModel<ROW_TYPE,Program>
docking.widgets.table.threaded.ThreadedTableModel<ROW_TYPE,Program>
ghidra.util.table.GhidraProgramTableModel<ROW_TYPE>
- All Implemented Interfaces:
ConfigurableColumnTableModel,DynamicColumnTableModel<ROW_TYPE>,RowObjectFilterModel<ROW_TYPE>,RowObjectTableModel<ROW_TYPE>,SelectionStorage<ROW_TYPE>,SortedTableModel,VariableColumnTableModel,ProgramTableModel,Serializable,EventListener,ChangeListener,TableModel
- Direct Known Subclasses:
AddressBasedTableModel,BSimExecutablesSummaryModel,QuickFixTableModel
public abstract class GhidraProgramTableModel<ROW_TYPE>
extends ThreadedTableModel<ROW_TYPE,Program>
implements ProgramTableModel
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class docking.widgets.table.threaded.ThreadedTableModel
ThreadedTableModel.IncrementalLoadJobListener -
Field Summary
FieldsFields inherited from class docking.widgets.table.threaded.ThreadedTableModel
allData, filteredDataFields inherited from class docking.widgets.table.GDynamicColumnTableModel
columnSettings, serviceProvider, tableColumnsFields inherited from class docking.widgets.table.AbstractSortedTableModel
hasEverSortedFields inherited from class docking.widgets.table.AbstractGTableModel
isDisposed, WIDTH_UNDEFINEDFields inherited from class javax.swing.table.AbstractTableModel
listenerListFields inherited from interface docking.widgets.table.RowObjectFilterModel
SUB_FILTERING_DISABLED_PROPERTYFields inherited from interface docking.widgets.table.SortedTableModel
ASCENDING_ORDER, DESCENDING_ORDER -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedGhidraProgramTableModel(String modelName, ServiceProvider serviceProvider, Program program, TaskMonitor monitor) protectedGhidraProgramTableModel(String modelName, ServiceProvider serviceProvider, Program program, TaskMonitor monitor, boolean loadIncrementally) -
Method Summary
Modifier and TypeMethodDescriptionprotected TableColumnDescriptor<ROW_TYPE> voiddispose()Disposes this model.getAddress(int modelRow) Returns the best Address for the given row.getAddress(int modelRow, int modelColumn) Returns an address for the given row and column.Returns the table's context for the data.Returns the program associated with this ProgramTableModel.protected ProgramExtension point for getting a row-specific program.getProgramLocation(int modelRow, int modelColumn) Returns a program location corresponding the given row and column.getProgramSelection(int[] modelRows) Returns a program selection corresponding to the specified row index array.voidsetProgram(Program program) Methods inherited from class docking.widgets.table.threaded.ThreadedTableModel
addInitialLoadListener, addInitialLoadListener, addObject, addThreadedTableModelListener, backgroundWorkCancelled, cancelAllUpdates, clearData, createAccumulator, createIncrementalLoadJob, createSortComparator, doFilter, doLoad, 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, updateObjectMethods 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, stateChangedMethods inherited from class docking.widgets.table.AbstractSortedTableModel
addSortListener, cleanupTableSortState, createSortingContext, getIndexForRowObject, getIndexForRowObject, getPendingSortState, getPrimarySortColumnIndex, getRowIndex, getRowObject, getTableSortState, isSorted, isSortPending, notifyModelSorted, setDefaultTableSortState, setTableSortState, sortCompletedMethods inherited from class docking.widgets.table.AbstractGTableModel
getLastSelectedObjects, isDisposed, refresh, setLastSelectedObjectsMethods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAtMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface docking.widgets.table.RowObjectTableModel
fireTableDataChanged, getColumnValueForRow, getRowIndex, getRowObjectMethods inherited from interface javax.swing.table.TableModel
addTableModelListener, getColumnClass, getColumnCount, getColumnName, isCellEditable, removeTableModelListener, setValueAt
-
Field Details
-
program
-
-
Constructor Details
-
GhidraProgramTableModel
protected GhidraProgramTableModel(String modelName, ServiceProvider serviceProvider, Program program, TaskMonitor monitor) -
GhidraProgramTableModel
protected GhidraProgramTableModel(String modelName, ServiceProvider serviceProvider, Program program, TaskMonitor monitor, boolean loadIncrementally)
-
-
Method Details
-
createTableColumnDescriptor
- Specified by:
createTableColumnDescriptorin classGDynamicColumnTableModel<ROW_TYPE,Program>
-
setProgram
-
getProgramForRow
Extension point for getting a row-specific program. Most models don't need this capability.- Parameters:
t- The ROW_TYPE row object- Returns:
- the program
-
getProgram
Description copied from interface:ProgramTableModelReturns the program associated with this ProgramTableModel.- Specified by:
getProgramin interfaceProgramTableModel- Returns:
- the program associated with this ProgramTableModel.
-
getDataSource
Description copied from class:GDynamicColumnTableModelReturns the table's context for the data.- Specified by:
getDataSourcein classGDynamicColumnTableModel<ROW_TYPE,Program> - Returns:
- the table's context for the data.
-
dispose
public void dispose()Description copied from class:ThreadedTableModelDisposes this model. Once a model has been disposed, it cannot be reused.- Overrides:
disposein classThreadedTableModel<ROW_TYPE,Program>
-
getAddress
Returns an address for the given row and column.- Parameters:
modelRow- the model rowmodelColumn- the column row- Returns:
- the address
-
getAddress
Returns the best Address for the given row.Implementation Note: this class will only return an Address if this model's row type is Address. Clients that know how to get an Address for a given row should override this method.
- Parameters:
modelRow- the row- Returns:
- the Address or null
-
getProgramLocation
Description copied from interface:ProgramTableModelReturns 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:
getProgramLocationin interfaceProgramTableModel- Parameters:
modelRow- the rowmodelColumn- the column in the model's index- Returns:
- a program location corresponding the given row and column
-
getProgramSelection
Description copied from interface:ProgramTableModelReturns a program selection corresponding to the specified row index array. This array will contain the currently selected rows.- Specified by:
getProgramSelectionin interfaceProgramTableModel- Parameters:
modelRows- the currently selected rows.- Returns:
- a program selection
-