Package ghidra.app.util.viewer.field
Class OperandFieldFactory
- java.lang.Object
-
- ghidra.app.util.viewer.field.FieldFactory
-
- ghidra.app.util.viewer.field.OperandFieldFactory
-
- All Implemented Interfaces:
ExtensionPoint
- Direct Known Subclasses:
SubDataFieldFactory
public class OperandFieldFactory extends FieldFactory
Generates Operand Fields.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface ghidra.util.classfinder.ExtensionPoint
ExtensionPoint.Exclude, ExtensionPoint.Util
-
-
Field Summary
Fields Modifier and Type Field Description protected BrowserCodeUnitFormatcodeUnitFormatstatic java.lang.StringFIELD_NAME-
Fields inherited from class ghidra.app.util.viewer.field.FieldFactory
baseFont, color, colorOptionName, DEFAULT_FIELD_FONT, displayOptions, enabled, FONT_OPTION_NAME, hlProvider, model, name, startX, style, styleOptionName, underlineColor, width
-
-
Constructor Summary
Constructors Modifier Constructor Description OperandFieldFactory()protectedOperandFieldFactory(FieldFormatModel model, HighlightProvider hlProvider, ToolOptions displayOptions, ToolOptions fieldOptions)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanacceptsType(int category, java.lang.Class<?> proxyObjectClass)Used to specify which format models this field can belong to.voiddisplayOptionsChanged(Options options, java.lang.String optionName, java.lang.Object oldValue, java.lang.Object newValue)Notifications that the display options changed.voidfieldOptionsChanged(Options options, java.lang.String optionName, java.lang.Object oldValue, java.lang.Object newValue)Notifications that the field options changed.ListingFieldgetField(ProxyObj<?> proxy, int varWidth)Returns the FactoryField for the given object at index index.FieldLocationgetFieldLocation(ListingField lf, java.math.BigInteger index, int fieldNum, ProgramLocation programLoc)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).ProgramLocationgetProgramLocation(int row, int col, ListingField lf)Returns the Program location for the given object, row, col, and groupPathFieldFactorynewInstance(FieldFormatModel formatModel, HighlightProvider hsProvider, ToolOptions displayOptions, 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
getDefaultColor, getFieldModel, getFieldName, getFieldText, getMetrics, getMetrics, getStartX, getWidth, hasSamePath, initDisplayOptions, isEnabled, optionsChanged, servicesChanged, setEnabled, setStartX, setWidth
-
-
-
-
Field Detail
-
FIELD_NAME
public static final java.lang.String FIELD_NAME
- See Also:
- Constant Field Values
-
codeUnitFormat
protected BrowserCodeUnitFormat codeUnitFormat
-
-
Constructor Detail
-
OperandFieldFactory
public OperandFieldFactory()
-
OperandFieldFactory
protected OperandFieldFactory(FieldFormatModel model, HighlightProvider hlProvider, ToolOptions displayOptions, ToolOptions fieldOptions)
Constructor- Parameters:
model- the model that the field belongs to.hlProvider- the HighlightProvider.displayOptions- the Options for display properties.fieldOptions- the Options for field specific properties.
-
-
Method Detail
-
getField
public ListingField getField(ProxyObj<?> proxy, int varWidth)
Returns the FactoryField for the given object at index index.- Specified by:
getFieldin classFieldFactory- Parameters:
varWidth- the amount of variable width spacing for any fields before this one.proxy- the object whose properties should be displayed.- Returns:
- the newly generated FactoryField that shows some property or information about the given object.
-
getFieldLocation
public FieldLocation getFieldLocation(ListingField lf, java.math.BigInteger index, int fieldNum, ProgramLocation programLoc)
Description copied from class:FieldFactoryReturn 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.- Specified by:
getFieldLocationin classFieldFactory- Parameters:
lf- 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.programLoc- the ProgramLocation to be converted into a FieldLocation.- See Also:
FieldFactory.getFieldLocation(ghidra.app.util.viewer.field.ListingField, BigInteger, int, ghidra.program.util.ProgramLocation)
-
acceptsType
public boolean acceptsType(int category, java.lang.Class<?> proxyObjectClass)Description copied from class:FieldFactoryUsed to specify which format models this field can belong to.- Specified by:
acceptsTypein classFieldFactory- 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:
FieldFactory.acceptsType(int, java.lang.Class)
-
newInstance
public FieldFactory newInstance(FieldFormatModel formatModel, HighlightProvider hsProvider, ToolOptions displayOptions, ToolOptions fieldOptions)
Description copied from class:FieldFactoryReturns a new instance of this FieldFactory that can be used to generate fields instead of being used as a prototype.- Specified by:
newInstancein classFieldFactory- Parameters:
formatModel- the model that the field belongs to.hsProvider- the HightLightProvider.displayOptions- the Options for display properties.fieldOptions- the Options for field specific properties.
-
displayOptionsChanged
public void displayOptionsChanged(Options options, java.lang.String optionName, java.lang.Object oldValue, java.lang.Object newValue)
Description copied from class:FieldFactoryNotifications that the display options changed.- Overrides:
displayOptionsChangedin 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, java.lang.String optionName, java.lang.Object oldValue, java.lang.Object newValue)
Description copied from class:FieldFactoryNotifications that the field options changed.- Overrides:
fieldOptionsChangedin 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.
-
getProgramLocation
public ProgramLocation getProgramLocation(int row, int col, ListingField lf)
Description copied from class:FieldFactoryReturns the Program location for the given object, row, col, and groupPath- Specified by:
getProgramLocationin classFieldFactory- Parameters:
row- the row within this fieldcol- the col on the given row within this field.lf- the ListingField containing the cursor.
-
-