blob: 03b88a16db5ae1fa11361d58fb13aeefb32f913a [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.emf.ecp.edit" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.emf.ecp.edit" id="controls" name="ECP Controls"/>
</appinfo>
<documentation>
This extension point allows to register controls.
Controls are used to render features of an EObejct in the editor or some other view.
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<sequence>
<element ref="control" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appinfo>
<meta.attribute translatable="true"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="control">
<annotation>
<documentation>
The control being added. A control must define its class, a composite it can be rendered onto and whether or not to show a label. Furthermore either a dynamicTest or a staticTest must be added as a child element.
</documentation>
</annotation>
<complexType>
<choice>
<element ref="dynamicTest"/>
<element ref="staticTest" minOccurs="1" maxOccurs="unbounded"/>
</choice>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
The class implementing the control. This must extend org.eclipse.emf.ecp.edit.ECPAbstractControl.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.emf.ecp.edit.ECPControl"/>
</appinfo>
</annotation>
</attribute>
<attribute name="showLabel" type="boolean" use="default" value="true">
<annotation>
<documentation>
If a label naming the attribut should be displayd. The default is true.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<element name="dynamicTest">
<annotation>
<documentation>
A dynamic test simply provides an implementation of the org.eclipse.emf.ecp.edit.util.ECPApplicableTester interface.
</documentation>
</annotation>
<complexType>
<attribute name="testClass" type="string" use="required">
<annotation>
<documentation>
The implementation of the tester. The Class must extend the org.eclipse.emf.ecp.edit.util.ECPApplicableTester.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.emf.ecp.edit.util.ECPApplicableTester"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="staticTest">
<annotation>
<documentation>
A static test can be used whenever the parameters of a control are fixed.
</documentation>
</annotation>
<complexType>
<attribute name="priority" use="required">
<annotation>
<documentation>
The prioriity to use this control if multiple fitting controls can be found. The control with the higher priority will be taken.
</documentation>
</annotation>
<simpleType>
<restriction base="string">
<enumeration value="1">
</enumeration>
<enumeration value="2">
</enumeration>
<enumeration value="3">
</enumeration>
<enumeration value="4">
</enumeration>
<enumeration value="5">
</enumeration>
<enumeration value="6">
</enumeration>
<enumeration value="7">
</enumeration>
<enumeration value="8">
</enumeration>
<enumeration value="9">
</enumeration>
<enumeration value="10">
</enumeration>
</restriction>
</simpleType>
</attribute>
<attribute name="singleValue" type="boolean" use="required">
<annotation>
<documentation>
Whether this control supports singe value or multivalue features.
</documentation>
</annotation>
</attribute>
<attribute name="supportedClassType" type="string" use="required">
<annotation>
<documentation>
The type of the value the provided control renders.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn="java.lang.Object:"/>
</appinfo>
</annotation>
</attribute>
<attribute name="supportedEObject" type="string">
<annotation>
<documentation>
This defines for which EObject this control can be applied.
The default is the org.eclipse.emf.ecore.EObject itself.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.emf.ecore.EObject"/>
</appinfo>
</annotation>
</attribute>
<attribute name="supportedFeature" type="string">
<annotation>
<documentation>
This field can be defined if the widget should only be used for a specific EStructuralFeature. The value must be a feature of the class set in supportedEObject.
</documentation>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
1.0
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
Example 1:&lt;br/&gt;
&lt;pre&gt;
&lt;control
class=&quot;org.eclipse.emf.ecp.internal.edit.swt.controls.StringControl&quot;
showLabel=&quot;true&quot;
id=&quot;org.eclipse.emf.ecp.control.swt.string&quot;&gt;
&lt;staticTest
priority=&quot;1&quot;
singleValue=&quot;true&quot;
supportedClassType=&quot;java.lang.String&quot;&gt;
&lt;/staticTest&gt;
&lt;/control&gt;
&lt;/pre&gt;
&lt;br/&gt;
Example 2:&lt;br/&gt;
&lt;pre&gt;
&lt;control
class=&quot;org.eclipse.emf.ecp.internal.edit.swt.controls.ReferenceMultiControl&quot;
showLabel=&quot;true&quot;
id=&quot;org.eclipse.emf.ecp.control.swt.multiReference&quot;&gt;
&lt;dynamicTest
testClass=&quot;org.eclipse.emf.ecp.internal.edit.swt.controls.ReferenceMultiControlTester&quot;&gt;
&lt;/dynamicTest&gt;
&lt;/control&gt;
&lt;/pre&gt;
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="copyright"/>
</appinfo>
<documentation>
Copyright (c) 2011-2013 EclipseSource Muenchen GmbH and others.&lt;br/&gt;
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
</documentation>
</annotation>
</schema>