Package ghidra.util.table
Class CustomLoadingAddressTableModel
- 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<ROW_TYPE,Program>
-
- ghidra.util.table.GhidraProgramTableModel<ROW_TYPE>
-
- ghidra.util.table.AddressBasedTableModel<Address>
-
- ghidra.util.table.AddressPreviewTableModel
-
- ghidra.util.table.CustomLoadingAddressTableModel
-
- All Implemented Interfaces:
ConfigurableColumnTableModel
,DynamicColumnTableModel<Address>
,RowObjectFilterModel<Address>
,RowObjectTableModel<Address>
,SelectionStorage<Address>
,SortedTableModel
,VariableColumnTableModel
,ProgramTableModel
,java.io.Serializable
,java.util.EventListener
,javax.swing.event.ChangeListener
,javax.swing.table.TableModel
public class CustomLoadingAddressTableModel extends AddressPreviewTableModel
AnAddress
based table model that allows clients to load their data via theTableModelLoader
callback provided at construction time.Why? Well, this allows clients to use the existing table model framework without having to create a new table model. In other words, some of the boilerplate code of creating a model is removed--clients need only implement one method in order to get full thread table functionality, which is a lot.
- 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 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
WIDTH_UNDEFINED
-
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 Constructor Description CustomLoadingAddressTableModel(java.lang.String modelName, ServiceProvider serviceProvider, Program program, TableModelLoader<Address> loader, TaskMonitor monitor)
CustomLoadingAddressTableModel(java.lang.String modelName, ServiceProvider serviceProvider, Program program, TableModelLoader<Address> loader, TaskMonitor monitor, boolean loadIncrementally)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
doLoad(Accumulator<Address> accumulator, TaskMonitor monitor)
The basic method that all children must implement.-
Methods inherited from class ghidra.util.table.AddressPreviewTableModel
getAddress, getProgramSelection, setSelectionSize
-
Methods inherited from class ghidra.util.table.AddressBasedTableModel
createTableColumnDescriptor, getProgramLocation
-
Methods inherited from class ghidra.util.table.GhidraProgramTableModel
getDataSource, getProgram, getProgramForRow, setProgram
-
Methods inherited from class docking.widgets.table.threaded.ThreadedTableModel
addInitialLoadListener, addObject, addThreadedTableModelListener, 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, createSortComparatorForColumn, disposeDynamicColumnData, getColumn, getColumnClass, getColumnCount, getColumnDescription, getColumnDisplayName, getColumnIndex, getColumnIndex, getColumnName, getColumnSettings, getColumnSettingsDefinitions, getColumnValueForRow, getDefaultColumnCount, getMaxLines, getPreferredColumnWidth, getRenderer, 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, 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
-
-
-
-
Constructor Detail
-
CustomLoadingAddressTableModel
public CustomLoadingAddressTableModel(java.lang.String modelName, ServiceProvider serviceProvider, Program program, TableModelLoader<Address> loader, TaskMonitor monitor)
-
CustomLoadingAddressTableModel
public CustomLoadingAddressTableModel(java.lang.String modelName, ServiceProvider serviceProvider, Program program, TableModelLoader<Address> loader, TaskMonitor monitor, boolean loadIncrementally)
-
-
Method Detail
-
doLoad
protected void doLoad(Accumulator<Address> 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 classThreadedTableModel<Address,Program>
- Parameters:
accumulator
- the datastructure into which you should incrementally place you table row datamonitor
- 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 tomonitor.checkCancelled();
.
-
-