Package ghidra.util.table.field
Class AbstractReferencePreviewTableColumn
- java.lang.Object
-
- docking.widgets.table.AbstractDynamicTableColumn<ROW_TYPE,COLUMN_TYPE,DATA_SOURCE>
-
- docking.widgets.table.DynamicTableColumnExtensionPoint<ROW_TYPE,COLUMN_TYPE,Program>
-
- ghidra.util.table.field.ProgramLocationTableColumnExtensionPoint<ReferenceAddressPair,PreviewTableCellData>
-
- ghidra.util.table.field.AbstractReferencePreviewTableColumn
-
- All Implemented Interfaces:
DynamicTableColumn<ReferenceAddressPair,PreviewTableCellData,Program>,ExtensionPoint,ProgramBasedDynamicTableColumn<ReferenceAddressPair,PreviewTableCellData>,ProgramLocationTableColumn<ReferenceAddressPair,PreviewTableCellData>
- Direct Known Subclasses:
ReferenceFromPreviewTableColumn,ReferenceToPreviewTableColumn
public abstract class AbstractReferencePreviewTableColumn extends ProgramLocationTableColumnExtensionPoint<ReferenceAddressPair,PreviewTableCellData>
This table field displays the preview of the code unit at the ToAddress for the reference or possible reference address pair associated with a row in the table.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface ghidra.util.classfinder.ExtensionPoint
ExtensionPoint.Exclude, ExtensionPoint.Util
-
-
Field Summary
-
Fields inherited from class docking.widgets.table.AbstractDynamicTableColumn
FLOATING_POINT_PRECISION_SETTING, FLOATING_POINT_SETTINGS_DEFINITIONS, INTEGER_RADIX_SETTING, INTEGER_SETTINGS_DEFINITIONS, INTEGER_SIGNEDNESS_MODE_SETTING, NO_SETTINGS_DEFINITIONS
-
-
Constructor Summary
Constructors Constructor Description AbstractReferencePreviewTableColumn()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetColumnDisplayName(Settings settings)Determines the column heading that will be displayed.GColumnRenderer<PreviewTableCellData>getColumnRenderer()Returns the optional cell renderer for this column; null if no renderer is used.intgetMaxLines(Settings settings)Gets the maximum number of text display lines needed for any given cell with the specified settings.ProgramLocationgetProgramLocation(ReferenceAddressPair rowObject, Settings settings, Program program, ServiceProvider serviceProvider)Determines an appropriate program location associated with this field for the indicated row object.SettingsDefinition[]getSettingsDefinitions()Returns a list of settings definitions for this field.PreviewTableCellDatagetValue(ReferenceAddressPair rowObject, Settings settings, Program pgm, ServiceProvider serviceProvider)Creates an object that is appropriate for this field (table column) and for the object that is associated with this row of the table.-
Methods inherited from class docking.widgets.table.AbstractDynamicTableColumn
equals, getColumnClass, getColumnDescription, getColumnName, getColumnPreferredWidth, getComparator, getSupportedRowType, getUniqueIdentifier, hashCode, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface docking.widgets.table.DynamicTableColumn
getColumnClass, getColumnDescription, getColumnName, getColumnPreferredWidth, getComparator, getSupportedRowType, getUniqueIdentifier
-
-
-
-
Method Detail
-
getValue
public PreviewTableCellData getValue(ReferenceAddressPair rowObject, Settings settings, Program pgm, ServiceProvider serviceProvider) throws java.lang.IllegalArgumentException
Description copied from interface:DynamicTableColumnCreates an object that is appropriate for this field (table column) and for the object that is associated with this row of the table.- Specified by:
getValuein interfaceDynamicTableColumn<ReferenceAddressPair,PreviewTableCellData,Program>- Specified by:
getValuein classAbstractDynamicTableColumn<ReferenceAddressPair,PreviewTableCellData,Program>- Parameters:
rowObject- the object associated with the row in the table.settings- field settingspgm- the expected data object, as defined by the DATA_SOURCE typeserviceProvider- theServiceProviderassociated with the table.- Returns:
- the object for the model to display in the table cell.
- Throws:
java.lang.IllegalArgumentException- if the rowObject is not one supported by this class.
-
getProgramLocation
public ProgramLocation getProgramLocation(ReferenceAddressPair rowObject, Settings settings, Program program, ServiceProvider serviceProvider)
Description copied from interface:ProgramLocationTableColumnDetermines an appropriate program location associated with this field for the indicated row object. The most probable use is for navigating from the field.- Parameters:
rowObject- the object associated with the table row.settings- field settingsprogram- the program associated with the table.serviceProvider- the plugin tool associated with the table.- Returns:
- the address associated with the field.
-
getColumnDisplayName
public java.lang.String getColumnDisplayName(Settings settings)
Description copied from interface:DynamicTableColumnDetermines the column heading that will be displayed.- Specified by:
getColumnDisplayNamein interfaceDynamicTableColumn<ReferenceAddressPair,PreviewTableCellData,Program>- Overrides:
getColumnDisplayNamein classAbstractDynamicTableColumn<ReferenceAddressPair,PreviewTableCellData,Program>- Returns:
- the field name to display as the column heading.
-
getMaxLines
public int getMaxLines(Settings settings)
Description copied from interface:DynamicTableColumnGets the maximum number of text display lines needed for any given cell with the specified settings.- Specified by:
getMaxLinesin interfaceDynamicTableColumn<ReferenceAddressPair,PreviewTableCellData,Program>- Overrides:
getMaxLinesin classAbstractDynamicTableColumn<ReferenceAddressPair,PreviewTableCellData,Program>- Parameters:
settings- field settings- Returns:
- maximum number of lines needed
-
getColumnRenderer
public GColumnRenderer<PreviewTableCellData> getColumnRenderer()
Description copied from interface:DynamicTableColumnReturns the optional cell renderer for this column; null if no renderer is used.This method allows columns to define custom rendering. The interface returned here ensures that the text used for filtering matches what the users sees (via the
GColumnRenderer.getFilterString(Object, Settings)method).Note: some types should not make use of the aforementioned filter string. These types include the
Numberwrapper types,DateandEnums. (This is because the filtering system works naturally with these types.) SeeGColumnRenderer.- Specified by:
getColumnRendererin interfaceDynamicTableColumn<ReferenceAddressPair,PreviewTableCellData,Program>- Overrides:
getColumnRendererin classAbstractDynamicTableColumn<ReferenceAddressPair,PreviewTableCellData,Program>- Returns:
- the renderer
-
getSettingsDefinitions
public SettingsDefinition[] getSettingsDefinitions()
Description copied from interface:DynamicTableColumnReturns a list of settings definitions for this field.- Specified by:
getSettingsDefinitionsin interfaceDynamicTableColumn<ReferenceAddressPair,PreviewTableCellData,Program>- Overrides:
getSettingsDefinitionsin classAbstractDynamicTableColumn<ReferenceAddressPair,PreviewTableCellData,Program>- Returns:
- list of settings definitions for this field.
-
-