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.
  • Field Details

  • Constructor Details

    • OperandFieldFactory

      public OperandFieldFactory()
    • OperandFieldFactory

      protected OperandFieldFactory(FieldFormatModel model, ListingHighlightProvider 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 Details

    • getField

      public ListingField getField(ProxyObj<?> proxy, int varWidth)
      Returns the FactoryField for the given object at index index.
      Specified by:
      getField in class FieldFactory
      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, 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's FieldFactory.getFieldLocation(ListingField, BigInteger, int, ProgramLocation). Each FieldFactory should generate and process a unique ProgramLocation class.
      Specified by:
      getFieldLocation in class FieldFactory
      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.
      Returns:
      the location.
      See Also:
    • acceptsType

      public boolean acceptsType(int category, Class<?> proxyObjectClass)
      Description copied from class: FieldFactory
      Used to specify which format models this field can belong to.
      Specified by:
      acceptsType in class FieldFactory
      Parameters:
      category - the category for this field
      proxyObjectClass - 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 hsProvider, 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 class FieldFactory
      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.
      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 class FieldFactory
      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 class FieldFactory
      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: FieldFactory
      Returns the Program location for the given object, row, col, and groupPath
      Specified by:
      getProgramLocation in class FieldFactory
      Parameters:
      row - the row within this field
      col - the col on the given row within this field.
      lf - the ListingField containing the cursor.
      Returns:
      the location.