<!ELEMENT extension (clientContext* , binding*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT clientContext (enablement | matcher)>
<!ATTLIST clientContext
id CDATA #REQUIRED>
Definition of a client context, representing a class of objects that a client wishes to edit using a set of element types and advice.
A client context can declare an
<enablement>
expression that matches
model elements that are included in the context.
Where that is not sufficient, an alternative is to define
a matcher class using a <matcher>
element.
<!ELEMENT matcher EMPTY>
<!ATTLIST matcher
class CDATA #REQUIRED>
This element is used to specify the class that will determine whether or not an existing model element matches this client context.
org.eclipse.gmf.runtime.emf.type.core.IElementMatcher
.<!ELEMENT binding (elementType* , advice*)>
<!ATTLIST binding
context CDATA #REQUIRED>
Declares a binding between a client context and one or more element types or advice. The context can, itself, be declared by the same plug-in or by a different plug-in.
The constraints to be bound may be specified by any number of nested <elementType>
and/or <advice>
elements to reference multiple element types and/or advice.
<!ELEMENT elementType EMPTY>
<!ATTLIST elementType
ref CDATA #IMPLIED
pattern CDATA #IMPLIED>
Includes an element type or a pattern of element type IDs in a client context <binding>
.
pattern
attribute.ref
attribute.<!ELEMENT advice EMPTY>
<!ATTLIST advice
ref CDATA #IMPLIED
pattern CDATA #IMPLIED>
Includes an advice or a pattern of advice IDs in a client context <binding>
.
pattern
attribute.ref
attribute.
Example of a context which only includes EObjects
from the logic example's editing domain:
<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings"> <clientContext id="org.eclipse.gmf.examples.runtime.diagram.logic"> <enablement> <test property="org.eclipse.gmf.runtime.emf.core.editingDomain" value="org.eclipse.gmf.examples.runtime.diagram.logicEditingDomain"/> </enablement> </clientContext> </extension>
Example of a binding of a single advice to the logic context:
<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings"> <binding context="org.eclipse.gmf.examples.runtime.diagram.logic"/> <advice ref="org.eclipse.gmf.runtime.diagram.core.advice.notationDepdendents"/> </binding> </extension>
Example of binding multiple element types and advice to the logic context:
<extension point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings"> <binding context="org.eclipse.gmf.examples.runtime.diagram.logic"/> <elementType pattern="logic.*"/> <advice pattern="logic.*"/> </binding> </extension>
Copyright (c) 2006 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