Properties Modifiers Extention Point

org.eclipse.gmf.runtime.common.ui.services.properties.propertyModifiers

This extension point facilitates the configuration of modifiers for the properties service (org.eclipse.gmf.runtime.common.ui.services.properties.PropertiesService). Using this extension point, modifiers are registered to specific property providers, which contribute properties to the Eclipse property sheet view part. The role of a modifier is to write-protectect and/or set flags for properties provided by the provider, for which this modifier is for. The associated provider(s) is indicated by the Provider element. There can be one or more associated providers. If the modifier is to be attached to all property providers, it's Provider's element class should be set to '*'.

A policy may be specified to delay loading the modifier until it is applicable

<!ELEMENT extension (PropertyModifier)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT PropertyModifier (Priority , Policy? , Provider+)>

<!ATTLIST PropertyModifier

class CDATA #REQUIRED>


<!ELEMENT Priority EMPTY>

<!ATTLIST Priority

name (Lowest|Low|Medium|High|Highest) >


<!ELEMENT Policy EMPTY>

<!ATTLIST Policy

class CDATA #REQUIRED>


<!ELEMENT Provider EMPTY>

<!ATTLIST Provider

class CDATA #REQUIRED>


The following is an example propertyModifiers extension:

   

<extension id=

"org.eclipse.test.project.ui.editors.providers.ReadOnlyDiagramPropertiesModifier"

name=

"%ext.readOnlyPropertiesModifier"

point=

"org.eclipse.gmf.runtime.common.ui.services.properties.propertyModifiers"

>

<PropertyModifier class=

"org.eclipse.test.project.ui.properties.providers.ReadOnlyDiagramPropertiesModifier"

>

<Priority name=

"Highest"

>

</Priority>

<Provider class=

"*"

>

</Provider>

</PropertyModifier>

</extension>

The value of the class attribute must represent a class that implements org.eclipse.gmf.runtime.common.ui.services.properties.IPropertiesModifier.