# Properties Modifiers Extention Point

###### Identifier:

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

###### Description:

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

###### Configuration Markup:

<!ELEMENT extension (PropertyModifier)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED

>

- point - The identifier of the extension point.
- id - The identifier of the extension, e.g. `propertyModifiers`.
- name - The name of the extension, e.g. `%ext.propertyModifiers`.

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

<!ATTLIST PropertyModifier

class CDATA #REQUIRED

>

- class - Fully qualified string containing the provider class.

<!ELEMENT Priority EMPTY>

<!ATTLIST Priority

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

>

- name - This element is used to specify the priority that this provider has relative to other property modifier providers. All providers have the opportunity to make their contributions. The provider with the lowest priority will be chosen as the first contributor, while the provider with the highest priority will be chosen as the last contributor.

<!ELEMENT Policy EMPTY>

<!ATTLIST Policy

class CDATA #REQUIRED

>

- class - Fully qualified string containing the provider class.

<!ELEMENT Provider EMPTY>

<!ATTLIST Provider

class CDATA #REQUIRED

>

- class -

###### Examples:

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>

Copyright (c) 2005 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html