Package ghidra.app.util.viewer.field
Class OpenCloseFieldFactory
- java.lang.Object
-
- ghidra.app.util.viewer.field.FieldFactory
-
- ghidra.app.util.viewer.field.OpenCloseFieldFactory
-
- All Implemented Interfaces:
ExtensionPoint
public class OpenCloseFieldFactory extends FieldFactory
Generates Open/Close 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 static java.lang.String
FIELD_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 Constructor Description OpenCloseFieldFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
acceptsType(int category, java.lang.Class<?> proxyObjectClass)
Used to specify which format models this field can belong to.ListingField
getField(ProxyObj<?> proxy, int varWidth)
Returns the FactoryField for the given object at index index.FieldLocation
getFieldLocation(ListingField bf, 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)
.ProgramLocation
getProgramLocation(int row, int col, ListingField bf)
Returns the Program location for the given object, row, col, and groupPathFieldFactory
newInstance(FieldFormatModel fieldModel, 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.void
servicesChanged()
Notification the services changed.-
Methods inherited from class ghidra.app.util.viewer.field.FieldFactory
displayOptionsChanged, fieldOptionsChanged, getDefaultColor, getFieldModel, getFieldName, getFieldText, getMetrics, getMetrics, getStartX, getWidth, hasSamePath, initDisplayOptions, isEnabled, optionsChanged, setEnabled, setStartX, setWidth
-
-
-
-
Field Detail
-
FIELD_NAME
public static final java.lang.String FIELD_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
getField
public ListingField getField(ProxyObj<?> proxy, int varWidth)
Returns the FactoryField for the given object at index index.- Specified by:
getField
in 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.
-
servicesChanged
public void servicesChanged()
Description copied from class:FieldFactory
Notification the services changed. Subclasses should override this method if they care about service changes.- Overrides:
servicesChanged
in classFieldFactory
- See Also:
FieldFactory.servicesChanged()
-
getProgramLocation
public ProgramLocation getProgramLocation(int row, int col, ListingField bf)
Description copied from class:FieldFactory
Returns the Program location for the given object, row, col, and groupPath- 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.- See Also:
FieldFactory.getProgramLocation(int, int, ghidra.app.util.viewer.field.ListingField)
-
getFieldLocation
public FieldLocation getFieldLocation(ListingField bf, java.math.BigInteger index, int fieldNum, ProgramLocation programLoc)
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.- Specified by:
getFieldLocation
in classFieldFactory
- 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.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: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.
- See Also:
FieldFactory.acceptsType(int, java.lang.Class)
-
newInstance
public FieldFactory newInstance(FieldFormatModel fieldModel, 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:
fieldModel
- the model that the field belongs to.provider
- the HightLightProvider.displayOptions
- the Options for display properties.fieldOptions
- the Options for field specific properties.
-
-