Class PropertyDescriptor

java.lang.Object
org.eclipse.ui.views.properties.PropertyDescriptor
All Implemented Interfaces:
IPropertyDescriptor
Direct Known Subclasses:
ColorPropertyDescriptor, ComboBoxPropertyDescriptor, TextPropertyDescriptor

public class PropertyDescriptor extends Object implements IPropertyDescriptor
Standard implementation for property descriptors.

The required attributes of property descriptors (id and display name) are passed to the constructor; the optional attributes can be configured using the various set methods (all have reasonable default values):

  • setDescription
  • setCategory
  • setLabelProvider
  • setHelpContexts

Subclasses should reimplement getPropertyEditor to provide a cell editor for changing the value; otherwise the property will be effectively read only.

There are several concrete subclasses provided in this package that cover the most common cases:

  • TextPropertyDescriptor - edits with a TextCellEditor
  • ComboBoxPropertyDescriptor - edits with a ComboBoxCellEditor
  • ColorPropertyDescriptor - edits with a ColorCellEditor
  • Constructor Summary

    Constructors
    Constructor
    Description
    PropertyDescriptor(Object id, String displayName)
    Creates a new property descriptor with the given id and display name
  • Method Summary

    Modifier and Type
    Method
    Description
    The PropertyDescriptor implementation of this IPropertyDescriptor method returns null.
    protected boolean
    Returns true if this property descriptor is to be always considered incompatible with any other property descriptor.
    The PropertyDescriptor implementation of this IPropertyDescriptor method returns the value set by the setCategory method.
    The PropertyDescriptor implementation of this IPropertyDescriptor method returns the value set by the setDescription method.
    The SimplePropertyDescriptor implementation of this IPropertyDescriptor method returns the value supplied on the constructor.
    The SimplePropertyDescriptor implementation of this IPropertyDescriptor method returns the value set by the setFilterFlags method.
    The SimplePropertyDescriptor implementation of this IPropertyDescriptor method returns the value set by the setHelpContextId method.
    The PropertyDescriptor implementation of this IPropertyDescriptor method returns the value supplied on the constructor.
    The PropertyDescriptor implementation of this IPropertyDescriptor method returns the value set by the setProvider method or, if no value has been set it returns a LabelProvider
    Returns the input validator for editing the property.
    boolean
    The SimplePropertyDescriptor implementation of this IPropertyDescriptor method returns true if the other property has the same id and category and getAlwaysIncompatible() returns false
    boolean
    Returns whether a label provider has been set on the receiver.
    void
    setAlwaysIncompatible(boolean flag)
    Sets a flag indicating whether this property descriptor is to be always considered incompatible with any other property descriptor.
    void
    setCategory(String category)
    Sets the category for this property descriptor.
    void
    setDescription(String description)
    Sets the description for this property descriptor.
    void
    Sets the the filter flags for this property descriptor.
    void
    Sets the help context id for this property descriptor.
    void
    Sets the label provider for this property descriptor.
    void
    Sets the input validator for the cell editor for this property descriptor.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PropertyDescriptor

      public PropertyDescriptor(Object id, String displayName)
      Creates a new property descriptor with the given id and display name
      Parameters:
      id - property id
      displayName - display name
  • Method Details

    • createPropertyEditor

      public CellEditor createPropertyEditor(Composite parent)
      The PropertyDescriptor implementation of this IPropertyDescriptor method returns null.

      Since no cell editor is returned, the property is read only.

      Specified by:
      createPropertyEditor in interface IPropertyDescriptor
      Parameters:
      parent - the parent widget for the cell editor
      Returns:
      the cell editor for this property, or null if this property cannot be edited
    • getAlwaysIncompatible

      protected boolean getAlwaysIncompatible()
      Returns true if this property descriptor is to be always considered incompatible with any other property descriptor. This prevents a property from displaying during multiple selection.
      Returns:
      true to indicate always incompatible
    • getCategory

      public String getCategory()
      The PropertyDescriptor implementation of this IPropertyDescriptor method returns the value set by the setCategory method. If unset, this method returns null indicating the default category.
      Specified by:
      getCategory in interface IPropertyDescriptor
      Returns:
      the category name, or null if the default category is to be used
      See Also:
    • getDescription

      public String getDescription()
      The PropertyDescriptor implementation of this IPropertyDescriptor method returns the value set by the setDescription method. If unset, this method returns null indicating no description.
      Specified by:
      getDescription in interface IPropertyDescriptor
      Returns:
      a brief description, or null if none
      See Also:
    • getDisplayName

      public String getDisplayName()
      The SimplePropertyDescriptor implementation of this IPropertyDescriptor method returns the value supplied on the constructor.
      Specified by:
      getDisplayName in interface IPropertyDescriptor
      Returns:
      a displayable name
    • getFilterFlags

      public String[] getFilterFlags()
      The SimplePropertyDescriptor implementation of this IPropertyDescriptor method returns the value set by the setFilterFlags method. If unset, this method returns null.

      Valid values for these flags are declared as constants on IPropertySheetEntry

      Specified by:
      getFilterFlags in interface IPropertyDescriptor
      Returns:
      a list of filter types to which this property belongs, or null if none
    • getHelpContextIds

      public Object getHelpContextIds()
      The SimplePropertyDescriptor implementation of this IPropertyDescriptor method returns the value set by the setHelpContextId method. If unset, this method returns null.
      Specified by:
      getHelpContextIds in interface IPropertyDescriptor
      Returns:
      the help context id for this entry
      See Also:
    • getId

      public Object getId()
      The PropertyDescriptor implementation of this IPropertyDescriptor method returns the value supplied on the constructor.
      Specified by:
      getId in interface IPropertyDescriptor
      Returns:
      the property id
    • getLabelProvider

      public ILabelProvider getLabelProvider()
      The PropertyDescriptor implementation of this IPropertyDescriptor method returns the value set by the setProvider method or, if no value has been set it returns a LabelProvider
      Specified by:
      getLabelProvider in interface IPropertyDescriptor
      Returns:
      the label provider used to display this property
      See Also:
    • getValidator

      protected ICellEditorValidator getValidator()
      Returns the input validator for editing the property.
      Returns:
      the validator used to verify correct values for this property, or null
    • isLabelProviderSet

      public boolean isLabelProviderSet()
      Returns whether a label provider has been set on the receiver.
      Returns:
      whether a label provider has been set on the receiver.
      Since:
      3.0
      See Also:
    • isCompatibleWith

      public boolean isCompatibleWith(IPropertyDescriptor anotherProperty)
      The SimplePropertyDescriptor implementation of this IPropertyDescriptor method returns true if the other property has the same id and category and getAlwaysIncompatible() returns false
      Specified by:
      isCompatibleWith in interface IPropertyDescriptor
      Parameters:
      anotherProperty - the other property descriptor
      Returns:
      true if the property descriptors are compatible, and false otherwise
    • setAlwaysIncompatible

      public void setAlwaysIncompatible(boolean flag)
      Sets a flag indicating whether this property descriptor is to be always considered incompatible with any other property descriptor. Setting this flag prevents a property from displaying during multiple selection.
      Parameters:
      flag - true to indicate always incompatible
    • setCategory

      public void setCategory(String category)
      Sets the category for this property descriptor.
      Parameters:
      category - the category for the descriptor, or null if none
      See Also:
    • setDescription

      public void setDescription(String description)
      Sets the description for this property descriptor. The description should be limited to a single line so that it can be displayed in the status line.
      Parameters:
      description - the description, or null if none
      See Also:
    • setFilterFlags

      public void setFilterFlags(String[] value)
      Sets the the filter flags for this property descriptor. The description should be limited to a single line so that it can be displayed in the status line.

      Valid values for these flags are declared as constants on IPropertySheetEntry

      Parameters:
      value - the filter flags
      See Also:
    • setHelpContextIds

      public void setHelpContextIds(Object contextIds)
      Sets the help context id for this property descriptor. NOTE: Help support system API's changed since 2.0 and arrays of contexts are no longer supported.

      Thus the only valid parameter type for this method is a String representing a context id. The previously valid parameter types are deprecated. The plural name for this method is unfortunate.

      Parameters:
      contextIds - the help context ids, or null if none
      See Also:
    • setLabelProvider

      public void setLabelProvider(ILabelProvider provider)
      Sets the label provider for this property descriptor.

      If no label provider is set an instance of LabelProvider will be created as the default when needed.

      Parameters:
      provider - the label provider for the descriptor, or null if the default label provider should be used
      See Also:
    • setValidator

      public void setValidator(ICellEditorValidator validator)
      Sets the input validator for the cell editor for this property descriptor.

      [Issue: This method should be unnecessary is the cell editor's own validator is used. ]

      Parameters:
      validator - the cell input validator, or null if none