Package ghidra.app.util.viewer.field
Class SubDataFieldFactory
java.lang.Object
ghidra.app.util.viewer.field.FieldFactory
ghidra.app.util.viewer.field.OperandFieldFactory
ghidra.app.util.viewer.field.SubDataFieldFactory
- All Implemented Interfaces:
ExtensionPoint
Generates data value Fields for data subcomponents.
This field is not meant to be loaded by the ClassSearcher
, hence the X in the name.
-
Field Summary
Fields inherited from class ghidra.app.util.viewer.field.OperandFieldFactory
FIELD_NAME
Fields inherited from class ghidra.app.util.viewer.field.FieldFactory
BASE_LISTING_FONT_ID, baseFont, colorOptionName, enabled, FONT_OPTION_NAME, hlProvider, model, name, startX, style, styleOptionName, width
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
acceptsType
(int category, Class<?> proxyObjectClass) Used to specify which format models this field can belong to.void
displayOptionsChanged
(Options options, String optionName, Object oldValue, Object newValue) Notifications that the display options changed.void
fieldOptionsChanged
(Options options, String optionName, Object oldValue, Object newValue) Notifications that the field options changed.Returns the FactoryField for the given object at index index.getFieldLocation
(ListingField bf, BigInteger index, int fieldNum, ProgramLocation loc) Return a FieldLocation that corresponds to the given index, fieldNum, and ProgramLocation IF and ONLY IF the given programLocation is the type generated by this class'sFieldFactory.getFieldLocation(ListingField, BigInteger, int, ProgramLocation)
.getProgramLocation
(int row, int col, ListingField bf) Returns the Program location for the given object, row, col, and groupPathnewInstance
(FieldFormatModel formatModel, ListingHighlightProvider provider, ToolOptions options, ToolOptions fieldOptions) Returns a new instance of this FieldFactory that can be used to generate fields instead of being used as a prototype.Methods inherited from class ghidra.app.util.viewer.field.FieldFactory
getFieldModel, getFieldName, getFieldText, getMetrics, getMetrics, getStartX, getWidth, hasSamePath, initDisplayOptions, initFieldOptions, isEnabled, servicesChanged, setEnabled, setStartX, setWidth, simplifyTemplates, supportsLocation
-
Field Details
-
codeUnitFormat
-
-
Constructor Details
-
SubDataFieldFactory
Constructor- Parameters:
name
- the name of the fieldpath
- the component path for the data
-
-
Method Details
-
getField
Description copied from class:OperandFieldFactory
Returns the FactoryField for the given object at index index.- Overrides:
getField
in classOperandFieldFactory
- Parameters:
proxy
- the object whose properties should be displayed.varWidth
- the amount of variable width spacing for any fields before this one.- Returns:
- the newly generated FactoryField that shows some property or information about the given object.
-
getProgramLocation
Description copied from class:FieldFactory
Returns the Program location for the given object, row, col, and groupPath- Parameters:
row
- the row within this fieldcol
- the col on the given row within this field.bf
- the ListingField containing the cursor.- Returns:
- the location.
-
getFieldLocation
public FieldLocation getFieldLocation(ListingField bf, BigInteger index, int fieldNum, ProgramLocation loc) Description copied from class:FieldFactory
Return a FieldLocation that corresponds to the given index, fieldNum, and ProgramLocation IF and ONLY IF the given programLocation is the type generated by this class'sFieldFactory.getFieldLocation(ListingField, BigInteger, int, ProgramLocation)
. Each FieldFactory should generate and process a unique ProgramLocation class.- Overrides:
getFieldLocation
in classOperandFieldFactory
- Parameters:
bf
- the ListingField at the current cursor.index
- the line index (corresponds to an address)fieldNum
- the index of field within the layout to try and get a FieldLocation.loc
- the ProgramLocation to be converted into a FieldLocation.- Returns:
- the location.
- See Also:
-
acceptsType
Description copied from class:FieldFactory
Used to specify which format models this field can belong to.- Overrides:
acceptsType
in classOperandFieldFactory
- Parameters:
category
- the category for this fieldproxyObjectClass
- the type of proxy object used by this field- Returns:
- true if this class accepts the given category.
- See Also:
-
newInstance
public FieldFactory newInstance(FieldFormatModel formatModel, ListingHighlightProvider provider, ToolOptions options, ToolOptions fieldOptions) Description copied from class:FieldFactory
Returns a new instance of this FieldFactory that can be used to generate fields instead of being used as a prototype.- Overrides:
newInstance
in classOperandFieldFactory
- Parameters:
formatModel
- the model that the field belongs to.provider
- the HightLightProvider.options
- the Options for display properties.fieldOptions
- the Options for field specific properties.- Returns:
- the factory
-
displayOptionsChanged
public void displayOptionsChanged(Options options, String optionName, Object oldValue, Object newValue) Description copied from class:FieldFactory
Notifications that the display options changed.- Overrides:
displayOptionsChanged
in classFieldFactory
- Parameters:
options
- the Display Options object that changed.optionName
- the name of the property that changed.oldValue
- the old value of the property.newValue
- the new value of the property.
-
fieldOptionsChanged
public void fieldOptionsChanged(Options options, String optionName, Object oldValue, Object newValue) Description copied from class:FieldFactory
Notifications that the field options changed.- Overrides:
fieldOptionsChanged
in classFieldFactory
- Parameters:
options
- the Field Options object that changed.optionName
- the name of the property that changed.oldValue
- the old value of the property.newValue
- the new value of the property.
-