Class FunctionTagFieldFactory

  • All Implemented Interfaces:
    ExtensionPoint

    public class FunctionTagFieldFactory
    extends FieldFactory
    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 Detail

      • DEFAULT_COLOR

        public static final java.awt.Color DEFAULT_COLOR
    • Constructor Detail

      • FunctionTagFieldFactory

        public FunctionTagFieldFactory()
        Default Constructor
    • Method Detail

      • getField

        public ListingField getField​(ProxyObj<?> proxy,
                                     int varWidth)
        PUBLIC METHODS
        Specified by:
        getField in class FieldFactory
        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.
      • getFieldLocation

        public FieldLocation getFieldLocation​(ListingField listingField,
                                              java.math.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 class FieldFactory
        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.
      • 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 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.
      • 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 class FieldFactory
        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.
      • displayOptionsChanged

        public void displayOptionsChanged​(Options options,
                                          java.lang.String optionName,
                                          java.lang.Object oldValue,
                                          java.lang.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.
      • createFunctionTagElements

        protected java.util.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.
        Parameters:
        function - the function to retrieve the tags from