Package ghidra.app.util.viewer.field
Class FunctionTagFieldFactory
java.lang.Object
ghidra.app.util.viewer.field.FieldFactory
ghidra.app.util.viewer.field.FunctionTagFieldFactory
- All Implemented Interfaces:
ExtensionPoint
Generates a text label that lists the function tags for each
Function
. The
label will will appear as part of the FUNCTION group in the field map.-
Field Summary
FieldsFields 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 -
Method Summary
Modifier and TypeMethodDescriptionboolean
acceptsType
(int category, Class<?> proxyObjectClass) Used to specify which format models this field can belong to.protected List<FieldElement>
createFunctionTagElements
(FunctionDB function) Creates a tags list field to be show at the beginning of each function that shows the tags assigned to that function.void
displayOptionsChanged
(Options options, String optionName, Object oldValue, Object newValue) Notifications that the display options changed.PUBLIC METHODSgetFieldLocation
(ListingField listingField, BigInteger index, int fieldNum, ProgramLocation programLoc) Overridden to ensure that we only place function tag text on the header of a function.getProgramLocation
(int row, int col, ListingField bf) Overridden to ensure that we return` aFunctionTagFieldLocation
instance.newInstance
(FieldFormatModel formatModel, HighlightProvider provider, 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
fieldOptionsChanged, getDefaultColor, getFieldModel, getFieldName, getFieldText, getMetrics, getMetrics, getStartX, getWidth, hasSamePath, initDisplayOptions, isEnabled, optionsChanged, servicesChanged, setEnabled, setStartX, setWidth
-
Field Details
-
FIELD_NAME
- See Also:
-
DEFAULT_COLOR
-
-
Constructor Details
-
FunctionTagFieldFactory
public FunctionTagFieldFactory()Default Constructor
-
-
Method Details
-
getField
PUBLIC METHODS- Specified by:
getField
in classFieldFactory
- Parameters:
proxy
- The object that the generated field will report some information about.varWidth
- the additional distance along the x axis to place the generated field.- Returns:
- the newly generated FactoryField that shows some property or information about the given object.
-
getProgramLocation
Overridden to ensure that we return` aFunctionTagFieldLocation
instance.- Specified by:
getProgramLocation
in classFieldFactory
- 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 listingField, BigInteger index, int fieldNum, ProgramLocation programLoc) Overridden to ensure that we only place function tag text on the header of a function.- Specified by:
getFieldLocation
in classFieldFactory
- Parameters:
listingField
- 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.- Returns:
- the location.
-
acceptsType
Description copied from class:FieldFactory
Used to specify which format models this field can belong to.- Specified by:
acceptsType
in 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.
-
newInstance
public FieldFactory newInstance(FieldFormatModel formatModel, HighlightProvider provider, ToolOptions displayOptions, 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.- Specified by:
newInstance
in classFieldFactory
- Parameters:
formatModel
- the model that the field belongs to.provider
- the HightLightProvider.displayOptions
- 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.
-
createFunctionTagElements
Creates a tags list field to be show at the beginning of each function that shows the tags assigned to that function.- Parameters:
function
- the function to retrieve the tags from
-