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
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.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.Generates a Field based on the given information.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.getProgramLocation
(int row, int col, ListingField bf) Overridden to ensure that we return` aFunctionTagFieldLocation
instance.newInstance
(FieldFormatModel formatModel, ListingHighlightProvider provider, ToolOptions toolOptions, 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
displayOptionsChanged, fieldOptionsChanged, getFieldModel, getFieldName, getFieldText, getMetrics, getMetrics, getStartX, getWidth, hasSamePath, initDisplayOptions, initFieldOptions, isEnabled, servicesChanged, setEnabled, setStartX, setWidth, simplifyTemplates, supportsLocation
-
Field Details
-
FIELD_NAME
- See Also:
-
-
Constructor Details
-
FunctionTagFieldFactory
public FunctionTagFieldFactory()Default Constructor
-
-
Method Details
-
getField
Description copied from class:FieldFactory
Generates a Field based on the given information.- 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, ListingHighlightProvider provider, ToolOptions toolOptions, 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.toolOptions
- the Options for display properties.fieldOptions
- the Options for field specific properties.- Returns:
- the factory
-
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- Returns:
- the elements
-