Class PropertyDescriptor
- All Implemented Interfaces:
IPropertyDescriptor
- Direct Known Subclasses:
ColorPropertyDescriptor
,ComboBoxPropertyDescriptor
,TextPropertyDescriptor
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 aTextCellEditor
ComboBoxPropertyDescriptor
- edits with aComboBoxCellEditor
ColorPropertyDescriptor
- edits with aColorCellEditor
-
Constructor Summary
ConstructorDescriptionPropertyDescriptor
(Object id, String displayName) Creates a new property descriptor with the given id and display name -
Method Summary
Modifier and TypeMethodDescriptioncreatePropertyEditor
(Composite parent) ThePropertyDescriptor
implementation of thisIPropertyDescriptor
method returnsnull
.protected boolean
Returnstrue
if this property descriptor is to be always considered incompatible with any other property descriptor.ThePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value set by thesetCategory
method.ThePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value set by thesetDescription
method.TheSimplePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value supplied on the constructor.String[]
TheSimplePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value set by thesetFilterFlags
method.TheSimplePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value set by thesetHelpContextId
method.getId()
ThePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value supplied on the constructor.ThePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value set by thesetProvider
method or, if no value has been set it returns aLabelProvider
protected ICellEditorValidator
Returns the input validator for editing the property.boolean
isCompatibleWith
(IPropertyDescriptor anotherProperty) TheSimplePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns true if the other property has the same id and category andgetAlwaysIncompatible()
returns falseboolean
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
setFilterFlags
(String[] value) Sets the the filter flags for this property descriptor.void
setHelpContextIds
(Object contextIds) Sets the help context id for this property descriptor.void
setLabelProvider
(ILabelProvider provider) Sets the label provider for this property descriptor.void
setValidator
(ICellEditorValidator validator) Sets the input validator for the cell editor for this property descriptor.
-
Constructor Details
-
PropertyDescriptor
Creates a new property descriptor with the given id and display name- Parameters:
id
- property iddisplayName
- display name
-
-
Method Details
-
createPropertyEditor
ThePropertyDescriptor
implementation of thisIPropertyDescriptor
method returnsnull
.Since no cell editor is returned, the property is read only.
- Specified by:
createPropertyEditor
in interfaceIPropertyDescriptor
- 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()Returnstrue
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
ThePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value set by thesetCategory
method. If unset, this method returnsnull
indicating the default category.- Specified by:
getCategory
in interfaceIPropertyDescriptor
- Returns:
- the category name, or
null
if the default category is to be used - See Also:
-
getDescription
ThePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value set by thesetDescription
method. If unset, this method returnsnull
indicating no description.- Specified by:
getDescription
in interfaceIPropertyDescriptor
- Returns:
- a brief description, or
null
if none - See Also:
-
getDisplayName
TheSimplePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value supplied on the constructor.- Specified by:
getDisplayName
in interfaceIPropertyDescriptor
- Returns:
- a displayable name
-
getFilterFlags
TheSimplePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value set by thesetFilterFlags
method. If unset, this method returnsnull
.Valid values for these flags are declared as constants on
IPropertySheetEntry
- Specified by:
getFilterFlags
in interfaceIPropertyDescriptor
- Returns:
- a list of filter types to which this property belongs, or
null
if none
-
getHelpContextIds
TheSimplePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value set by thesetHelpContextId
method. If unset, this method returnsnull
.- Specified by:
getHelpContextIds
in interfaceIPropertyDescriptor
- Returns:
- the help context id for this entry
- See Also:
-
getId
ThePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value supplied on the constructor.- Specified by:
getId
in interfaceIPropertyDescriptor
- Returns:
- the property id
-
getLabelProvider
ThePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns the value set by thesetProvider
method or, if no value has been set it returns aLabelProvider
- Specified by:
getLabelProvider
in interfaceIPropertyDescriptor
- Returns:
- the label provider used to display this property
- See Also:
-
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
TheSimplePropertyDescriptor
implementation of thisIPropertyDescriptor
method returns true if the other property has the same id and category andgetAlwaysIncompatible()
returns false- Specified by:
isCompatibleWith
in interfaceIPropertyDescriptor
- Parameters:
anotherProperty
- the other property descriptor- Returns:
true
if the property descriptors are compatible, andfalse
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
Sets the category for this property descriptor.- Parameters:
category
- the category for the descriptor, ornull
if none- See Also:
-
setDescription
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, ornull
if none- See Also:
-
setFilterFlags
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
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, ornull
if none- See Also:
-
setLabelProvider
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, ornull
if the default label provider should be used- See Also:
-
setValidator
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, ornull
if none
-