| <?xml version='1.0' encoding='UTF-8'?> |
| <!-- Schema file written by PDE --> |
| <schema targetNamespace="org.eclipse.e4.ui.workbench" xmlns="http://www.w3.org/2001/XMLSchema"> |
| <annotation> |
| <appInfo> |
| <meta.schema plugin="org.eclipse.e4.ui.workbench" id="model" name="Model extensions"/> |
| </appInfo> |
| <documentation> |
| <strong>This is not an API. The schema for this extension point is not frozen and might change in a non-backward compatible way in the future.</strong> |
| <p> |
| This extension point provides extensibility for the UI model of the running application. Modifications can be done in a declarative manner by using XML model fragments, or programmatically by supplying model processors. |
| </p><p> |
| Whenever possible, the model extensions of dependent bundles are processed before the extensions of bundles that depend on them. |
| </p> |
| </documentation> |
| </annotation> |
| |
| <element name="extension"> |
| <annotation> |
| <appInfo> |
| <meta.element /> |
| </appInfo> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="fragment" minOccurs="0" maxOccurs="unbounded"/> |
| <element ref="processor" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="point" type="string" use="required"> |
| <annotation> |
| <documentation> |
| |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="id" type="string" use="required"> |
| <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="fragment"> |
| <annotation> |
| <documentation> |
| The model fragment to be added to the UI model of the running application. The root element of the model fragment is expected to conform to the <code>org.eclipse.e4.ui.model.fragment.MModelFragments</code> interface. |
| </documentation> |
| </annotation> |
| <complexType> |
| <attribute name="uri" type="string" use="required"> |
| <annotation> |
| <documentation> |
| URI describing location of the model fragment. Can be of the form <code>platform:/plugin/bundle.id/...path</code>. |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="resource"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| <attribute name="apply" use="default" value="always"> |
| <annotation> |
| <documentation> |
| This attribute defines in which case a fragment is merged into the model: |
| <ul> |
| <li>always: each time the application started potentially replacing existing model elements and loosing information stored</li> |
| <li>initial: only when coming from a none persistent state</li> |
| <li>notexists: only if the given element does not exist already in the model</li> |
| </ul> |
| </documentation> |
| </annotation> |
| <simpleType> |
| <restriction base="string"> |
| <enumeration value="always"> |
| </enumeration> |
| <enumeration value="initial"> |
| </enumeration> |
| <enumeration value="notexists"> |
| </enumeration> |
| </restriction> |
| </simpleType> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="processor"> |
| <annotation> |
| <documentation> |
| Programmatic processor that gets called with the intention of modifying UI model. |
| </documentation> |
| </annotation> |
| <complexType> |
| <sequence> |
| <element ref="element" minOccurs="0" maxOccurs="unbounded"/> |
| </sequence> |
| <attribute name="class" type="string" use="required"> |
| <annotation> |
| <documentation> |
| Java class containing model processor. A class method with the qualifier <code>"org.eclipse.e4.core.di.annotations.Execute"</code> will be invoked as a part of the model processing. |
| </documentation> |
| <appInfo> |
| <meta.attribute kind="java"/> |
| </appInfo> |
| </annotation> |
| </attribute> |
| <attribute name="beforefragment" type="boolean" use="required"> |
| <annotation> |
| <documentation> |
| This flag specifies that the processor has to be invoked before model fragments are added. |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="apply" use="default" value="always"> |
| <annotation> |
| <documentation> |
| This attribute defines in which case a processor is run |
| <ul> |
| <li>always: each time the application started</li> |
| <li>initial: only when coming from a none persistent state</li> |
| </ul> |
| </documentation> |
| </annotation> |
| <simpleType> |
| <restriction base="string"> |
| <enumeration value="always"> |
| </enumeration> |
| <enumeration value="initial"> |
| </enumeration> |
| </restriction> |
| </simpleType> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <element name="element"> |
| <annotation> |
| <documentation> |
| A model element to be added to the context used to invoke the processor. |
| </documentation> |
| </annotation> |
| <complexType> |
| <attribute name="id" type="string" use="required"> |
| <annotation> |
| <documentation> |
| Identifier of a model element to be added to the context. |
| </documentation> |
| </annotation> |
| </attribute> |
| <attribute name="contextKey" type="string"> |
| <annotation> |
| <documentation> |
| A optional key under which to store the model element in the context. The value of "id" is used if this value is not specified. |
| </documentation> |
| </annotation> |
| </attribute> |
| </complexType> |
| </element> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="since"/> |
| </appInfo> |
| <documentation> |
| 4.2 |
| </documentation> |
| </annotation> |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="examples"/> |
| </appInfo> |
| <documentation> |
| The following is an example for the preference extension point: |
| <p> |
| <pre> |
| <extension |
| id="themeContribution" |
| point="org.eclipse.e4.workbench.model"> |
| <processor |
| beforefragment="true" |
| class="org.eclipse.e4.demo.simpleide.internal.ThemeMenuProcessor"> |
| <element |
| id="simpleide.mainmenu"> |
| </element> |
| </processor> |
| </extension> |
| <extension |
| id="logContribution" |
| point="org.eclipse.e4.workbench.model"> |
| <snippet |
| uri="platform:/plugin/org.eclipse.e4.demo.log/xmi/components.e4xmi"> |
| </snippet> |
| </extension> |
| </pre> |
| </p> |
| </documentation> |
| </annotation> |
| |
| |
| |
| <annotation> |
| <appInfo> |
| <meta.section type="copyright"/> |
| </appInfo> |
| <documentation> |
| Copyright (c) 2010, 2014 IBM Corporation and others.<br> |
| |
| This program and the accompanying materials are made |
| available under the terms of the Eclipse Public License 2.0 which accompanies |
| this distribution, and is available at <a |
| href="https://www.eclipse.org/legal/epl-2.0">https://www.eclipse.org/legal/epl-v20.html</a>/ |
| |
| SPDX-License-Identifier: EPL-2.0 |
| </documentation> |
| </annotation> |
| |
| </schema> |