blob: c6127d977c8f4b089119bfa6ea7454a135d823c3 [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.e4.tools.emf.ui" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appinfo>
<meta.schema plugin="org.eclipse.e4.tools.emf.ui" id="org.eclipse.e4.tools.emf.ui.editors" name="Editors"/>
</appinfo>
<documentation>
Contribute editor(s), creation assistants and features for application model element(s).
&lt;br&gt;&lt;br&gt;
This extension point allows three distinct extensions:
&lt;ul&gt;
&lt;li&gt;Definition of (virtual) element editors&lt;/li&gt;
&lt;li&gt;Contribution of model element creation assistants&lt;/li&gt;
&lt;li&gt;Contribution of features for reference by existing model elements&lt;/li&gt;
&lt;li&gt;Contribution of additional tabs to existing element editors&lt;/li&gt;
&lt;/ul&gt;
</documentation>
</annotation>
<element name="extension">
<annotation>
<appinfo>
<meta.element />
</appinfo>
</annotation>
<complexType>
<sequence>
<element ref="editor" minOccurs="0" maxOccurs="unbounded"/>
<element ref="virtualeditor" minOccurs="0" maxOccurs="unbounded"/>
<element ref="editorfeature" minOccurs="0" maxOccurs="unbounded"/>
<element ref="contributionClassCreator" minOccurs="0" maxOccurs="unbounded"/>
<element ref="editorTab" 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="editor">
<annotation>
<documentation>
Contribute an editor for a model element. Used to support editing new model elements not yet covered by the tooling.
&lt;br&gt;&lt;br&gt;
Editors contributed using this extension point override default editors.
</documentation>
</annotation>
<complexType>
<attribute name="descriptorClass" type="string" use="required">
<annotation>
<documentation>
Defines the supported model element and returns a class capable of editing it.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.e4.tools.emf.ui.common.IEditorDescriptor"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="virtualeditor">
<annotation>
<documentation>
Contribute an editor for a virtual model element.
&lt;br&gt;&lt;br&gt;
A virtual model element is an element not backed by a real object. This is for example the case for editors defining the logical tree structure. These virtual editors may containireal model element objects. A concrete example is the virtual &lt;i&gt;Command Categories&lt;/i&gt; editor managing &lt;i&gt;MCategory&lt;/i&gt; objects.
</documentation>
</annotation>
<complexType>
<attribute name="id" type="string" use="required">
<annotation>
<documentation>
The element id this virtual editor is used for.
</documentation>
</annotation>
</attribute>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
An abstract visual editor class for the virtual model element. Use as basis to realize a virtual element editor.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.e4.tools.emf.ui.common.component.AbstractComponentEditor:"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="editorfeature">
<annotation>
<documentation>
Contribute features castable to &lt;i&gt;class&lt;/i&gt; for reference by the application model.
&lt;br&gt;&lt;br&gt;
This is currently used to contribute &lt;i&gt;MExpression#visibleWhen&lt;/i&gt; and
&lt;i&gt;ModelFragment#imports&lt;/i&gt; elements. So, for example, a custom &lt;i&gt;MExpression&lt;/i&gt; class could be contributed in order to provide a specific &lt;i&gt;visibleWhen&lt;/i&gt; rule.
</documentation>
</annotation>
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
Contributes the list of FeatureClass elements.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.e4.tools.emf.ui.common.IEditorFeature"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="contributionClassCreator">
<annotation>
<documentation>
Contribute an assistant for a model elements contribution class creation.
&lt;br&gt;
This assistant will be called by the element editor when instantiating a new contribution of the respective EClass.
</documentation>
</annotation>
<complexType>
<attribute name="class" type="string" use="required">
<annotation>
<documentation>
Specifies the supported types and implements the creation and subsequent presentation of the newly created object in an editor.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn=":org.eclipse.e4.tools.emf.ui.common.IContributionClassCreator"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="editorTab">
<annotation>
<documentation>
Register additional editor tabs to elements in the editor. For each contribution to this extension point, a respective tab item is shown for elements the contribution opts for.
</documentation>
</annotation>
<complexType>
<attribute name="contribution" type="string" use="required">
<annotation>
<documentation>
Defines the types the editorTab is contributed to, the tab label to present and the contributed editor tab itself.
</documentation>
<appinfo>
<meta.attribute kind="java" basedOn="org.eclipse.e4.tools.emf.ui.common.AbstractElementEditorContribution:"/>
</appinfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appinfo>
<meta.section type="since"/>
</appinfo>
<documentation>
[Enter the first release in which this extension point appears.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="examples"/>
</appinfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="apiinfo"/>
</appinfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appinfo>
<meta.section type="implementation"/>
</appinfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
</schema>