blob: 90176c212e5b8fc7b1c8bf8bd3b24d2be21c984e [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="application" nsURI="http://www.eclipse.org/ui/2010/UIModel/application"
nsPrefix="application">
<eClassifiers xsi:type="ecore:EDataType" name="IEclipseContext" instanceClassName="org.eclipse.e4.core.contexts.IEclipseContext"
serializable="false"/>
<eClassifiers xsi:type="ecore:EClass" name="StringToStringMap" instanceClassName="java.util.Map$Entry">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Application">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xA;The MApplication acts as the root of the UI Model. It's children are the&#xA;MWindows representing the UI for this application. It also owns the application's&#xA;context (which is hooked to the OSGI context, allowing access not only to its&#xA;own runtime information but also to any registered OSGI service.&#xA;&lt;/p>&#xA;&lt;p>&#xA;It also owns a number of caches which, while independent of the UI itself are&#xA;used by the application to populate new windows or to define state that is&#xA;expected to be the same for all windows:&#xA;&lt;/p>&#xA;&lt;ul>&#xA;&lt;li>Keybindings, Handlers, Commands&lt;/li>&#xA;&lt;li>Part Descriptors (to support a 'Show View' dialog...)&lt;/li>&#xA;&lt;li>Snippets of model (such as saved perspectives...)&lt;/li>&#xA;&lt;/ul>&#xA;@since 1.0&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eOperations name="getCommand" eType="#//commands/Command">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Returns the model element for the command identified via the elementId or null if the element cannot be found.&#xA;@param elementId the ID of the command.&#xA;@return the model element for the command identified via the elementId or null if the element cannot be found.&#xA;@since 1.2"/>
<details key="body" value="if (elementIdToCommandMap == null) {&#xA;&#x9;Map&lt;String, MCommand> result = new &lt;%java.util.HashMap%>&lt;String, MCommand>();&#xA;&#x9;for (MCommand command : getCommands()) {&#xA;&#x9;&#x9;MCommand otherCommand = result.put(command.getElementId(), command);&#xA;&#x9;&#x9;if (otherCommand != null) {&#xA;&#x9;&#x9;&#x9;result.put(command.getElementId(), otherCommand);&#xA;&#x9;&#x9;}&#xA;&#x9;}&#xA;&#xA;&#x9;elementIdToCommandMap = result;&#xA;}&#xA;return elementIdToCommandMap.get(elementId);"/>
</eAnnotations>
<eParameters name="elementId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="commands" upperBound="-1"
eType="#//commands/Command" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the list of MCommand elements available in the application. Commands&#xD;&#xA;represent some logical operation. The actual implementation of the operation is&#xD;&#xA;determined by the MHandler chosen by the system based on the current execution&#xD;&#xA;context.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="addons" upperBound="-1"
eType="#//Addon" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the ordered list of MAddons for this model. The individual addons will be&#xD;&#xA;created through injection after the model loads but before it is rendered.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="categories" upperBound="-1"
eType="#//commands/Category" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eGenericSuperTypes eClassifier="#//ui/ElementContainer">
<eTypeArguments eClassifier="#//ui/basic/Window"/>
</eGenericSuperTypes>
<eGenericSuperTypes eClassifier="#//ui/Context"/>
<eGenericSuperTypes eClassifier="#//commands/HandlerContainer"/>
<eGenericSuperTypes eClassifier="#//commands/BindingTableContainer"/>
<eGenericSuperTypes eClassifier="#//descriptor/basic/PartDescriptorContainer"/>
<eGenericSuperTypes eClassifier="#//commands/Bindings"/>
<eGenericSuperTypes eClassifier="#//ui/menu/MenuContributions"/>
<eGenericSuperTypes eClassifier="#//ui/menu/ToolBarContributions"/>
<eGenericSuperTypes eClassifier="#//ui/menu/TrimContributions"/>
<eGenericSuperTypes eClassifier="#//ui/SnippetContainer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ApplicationElement" abstract="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xA;This is the root element for all UI Model elements, defining common attributes&#xA;to every element; the element's id as well as three general storage elements:&#xA;&lt;/p>&#xA;&lt;ul>&#xA;&lt;li>Tags: This is a set of strings which can be used to classify a particular&#xA;element. Tags can be specified in element searches and can also be referred&#xA;to in the CSS styling definition.&lt;/li>&#xA;&lt;li>PersistedState: A string to string map used to store information that needs&#xA;to be persisted between sessions.&lt;/li>&#xA;&lt;li>TransientData: A string to object map which can be used to store runtime data&#xA;relevant to a particular model element.&lt;/li>&#xA;&lt;/ul>&#xA;@since 1.0&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="elementId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="persistedState" upperBound="-1"
eType="#//StringToStringMap" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a String to String map that can be used to persist information about model&#xD;&#xA;elements across program restarts. The format of the 'value' string is defined by&#xD;&#xA;the code setting the value into the map. Information stored in this map is part of&#xD;&#xA;the model and will be persisted and restored as such.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tags" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Tags are a list of Strings that are persistent parts of the UI Model. They can be used to 'refine' a particular&#xD;&#xA;model element, supplying extra 'meta' information. These tags interact with the CSS engine so that it's&#xD;&#xA;possible to write CSS specific to a particular tag. The platform currently uses this mechanism to cause the&#xD;&#xA;color change in the stack comtaining the currently active part&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="contributorURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field is used to track the bundle (if any) from which the UI element was&#xD;&#xA;derived in order to faciliate its removal should the bundle go away or be updated.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="transientData" upperBound="-1"
eType="#//StringToObjectMap" transient="true" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a String to Object map into which any desired runtime information realted to a particular element&#xD;&#xA;may be stored. It is &lt;i>not&lt;/i> persisted across sessions so it is not necessary that the 'values' be&#xD;&#xA;serializable.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Contribution" abstract="true" eSuperTypes="#//ApplicationElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;MContribution is a mix-in class used by concrete elements such as Parts to define&#xD;&#xA;the location of the client supplied class implementing the specific logic needed.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="contributionURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The ContributionURI defines the complete path to a class implementing the logic&#xD;&#xA;for elements require external code to handle the UI such as MParts and MHandlers.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the DI created instance of the class implementing the logic for the element.&#xD;&#xA;It will only be non-null if the element has been rendered into the presentation.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Addon" eSuperTypes="#//Contribution">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;An MAddon represents a self-contained application logic. Addons may be used&#xD;&#xA;to augment the UI in a variety of ways without requriing that the base application&#xD;&#xA;be aware of the extensions.&#xD;&#xA;&lt;/p>&lt;p>&#xD;&#xA;Addons aare expected to be capable of being removed without damage to the&#xD;&#xA;original UI. While not yet implemented there will be an uninstall protocol defined&#xD;&#xA;ni the future allowing an addon to remove any model elements specific to the&#xD;&#xA;addon (i.e. The MinMaxAddon's TrimElements.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StringToObjectMap" instanceClassName="java.util.Map$Entry">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="key" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
</eClassifiers>
<eSubpackages name="commands" nsURI="http://www.eclipse.org/ui/2010/UIModel/application/commands"
nsPrefix="commands">
<eClassifiers xsi:type="ecore:EClass" name="BindingTableContainer" abstract="true"
interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This type contains the list of binding 'tables', representing the various sets of bindings&#xD;&#xA;based on the applicaiton's current running 'context'. Here the 'context' represents&#xD;&#xA;the applicaiton's UI state (i.e. whenther a Dialog is open...).&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="bindingTables" upperBound="-1"
eType="#//commands/BindingTable" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="rootContext" upperBound="-1"
eType="#//commands/BindingContext" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Bindings" abstract="true" interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Mixin interface that lists MBindingContexts that should be active when this&#xA;object is active.&#xD;&#xA;&lt;/p>&#xA;&lt;p>Example values: org.eclipse.ui.contexts.dialog, org.eclipse.ui.contexts.window&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="bindingContexts" upperBound="-1"
eType="#//commands/BindingContext">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BindingContext" eSuperTypes="#//ApplicationElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This class describes the hierarchy of contexts that are used by the&#xA;&lt;code>EBindingService&lt;/code> to determine which Bindings are currently&#xA;available to the user.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
eType="#//commands/BindingContext" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BindingTable" eSuperTypes="#//ApplicationElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A set of Bindings that will be active if the matching &lt;code>MBindingContext&lt;/code>&#xA;is active.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1"
eType="#//commands/KeyBinding" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="bindingContext" lowerBound="1"
eType="#//commands/BindingContext">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Command" eSuperTypes="#//ApplicationElement #//ui/Localizable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A Command represents a logical operation within the applicaiton. The implementation&#xD;&#xA;is provided by an MHandler chosen by examining all the candidate's enablement.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eOperations name="updateLocalization">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="@since 1.1"/>
<details key="suppressedVisibility" value="true"/>
<details key="body" value="if (eNotificationRequired()) {&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, CommandsPackageImpl.COMMAND__LOCALIZED_COMMAND_NAME, null, getLocalizedCommandName()));&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, CommandsPackageImpl.COMMAND__LOCALIZED_DESCRIPTION, null, getLocalizedDescription()));&#xA;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="commandName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field holds the command's name, used in the UI by default when there&#xD;&#xA;are menu or toolbar items representing this command.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field holds the command's description, used in the UI when the commands&#xD;&#xA;being shown in dialogs....&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//commands/CommandParameter" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This list defines the ste of parameters that this command expects to have defined&#xD;&#xA;during execution.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="category" eType="#//commands/Category">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="localizedCommandName"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="get" value="return &lt;%org.eclipse.e4.ui.model.LocalizationHelper%>.getLocalizedFeature(CommandsPackageImpl.Literals.COMMAND__COMMAND_NAME, this);"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="localizedDescription"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="get" value="return &lt;%org.eclipse.e4.ui.model.LocalizationHelper%>.getLocalizedFeature(CommandsPackageImpl.Literals.COMMAND__DESCRIPTION, this);"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CommandParameter" eSuperTypes="#//ApplicationElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This represents the format of a parameter to be used in a Command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The name of the parameter.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The type of the parameter.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Determines whether or not this parameter is optional.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Handler" eSuperTypes="#//Contribution">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Handlers provide the execution logic that provides the implementation of a&#xD;&#xA;particular command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="command" lowerBound="1"
eType="#//commands/Command">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a reference to the Command for which this is an execution candidate.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="HandlerContainer" abstract="true"
interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This provides a container in which to store lists of Handlers.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="handlers" upperBound="-1"
eType="#//commands/Handler" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="KeyBinding" eSuperTypes="#//ApplicationElement #//commands/KeySequence">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Keybindings map a particular keyboard sequence (i.e. Ctrl + C for Copy...) onto&#xD;&#xA;some command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="command" lowerBound="1"
eType="#//commands/Command">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A reference to the Command to (attempt to) execute if the given key sequence is&#xD;&#xA;detected.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//commands/Parameter" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This allows a KeyBinding to provide a particular set of parameters to be used when&#xD;&#xA;the Command is to be executed. This allows generic commands like 'Open Part' to&#xD;&#xA;have bindings that will open a &lt;i>specific&lt;/i> Part...&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="KeySequence" abstract="true" interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This represents the sequence of characters in a KeyBinding whose detection will&#xD;&#xA;fire the associated Command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="keySequence" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a formatted string used by the key binding infrastructure to determine the&#xD;&#xA;exact key sequence for a KeyBinding.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//ApplicationElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This defines the value of a Parameter to be used by a Command.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the name of this parameter.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the value of this parameter.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="ParameterizedCommand" instanceClassName="org.eclipse.core.commands.ParameterizedCommand"
serializable="false"/>
<eClassifiers xsi:type="ecore:EClass" name="Category" eSuperTypes="#//ApplicationElement #//ui/Localizable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This defines a logical grouping of Commands in order to facilitate showing&#xD;&#xA;the current set of Commands in dialogs, lists etc&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eOperations name="updateLocalization">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="suppressedVisibility" value="true"/>
<details key="documentation" value="@since 1.1"/>
<details key="body" value="if (eNotificationRequired()) {&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, CommandsPackageImpl.CATEGORY__LOCALIZED_NAME, null, getLocalizedName()));&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, CommandsPackageImpl.CATEGORY__LOCALIZED_DESCRIPTION, null, getLocalizedDescription()));&#xA;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The name to be displayed for this category.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The description to display for this category.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="localizedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" defaultValueLiteral=""
derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="get" value="return &lt;%org.eclipse.e4.ui.model.LocalizationHelper%>.getLocalizedFeature(CommandsPackageImpl.Literals.CATEGORY__NAME, this);"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="localizedDescription"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="get" value="return &lt;%org.eclipse.e4.ui.model.LocalizationHelper%>.getLocalizedFeature(CommandsPackageImpl.Literals.CATEGORY__DESCRIPTION, this);"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
</eSubpackages>
<eSubpackages name="ui" nsURI="http://www.eclipse.org/ui/2010/UIModel/application/ui"
nsPrefix="ui">
<eClassifiers xsi:type="ecore:EClass" name="Context" abstract="true" interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This class is mixed into a UI element when that element is expected to participate&#xD;&#xA;in the Dependency Injection context hierarchy. The context life-cycle matches&#xD;&#xA;that of the rendered element it belongs to. It's automatically created when the&#xD;&#xA;element is rendered and disposed when the element is unrendered.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="context" eType="#//IEclipseContext"
transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This attribute is a reference to the IEclipseContext for this UI element. It will be&#xD;&#xA;non-null only when the element is rendered.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="variables" ordered="false"
upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
eType="#//StringToStringMap" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Dirtyable" abstract="true" interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This class should be mixed into any UI element that should participate in the&#xD;&#xA;dirty / save handling. Parts are the most likely scenario for this but it exists as&#xD;&#xA;a mix-in to allow for future model extensions.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dirty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The current dirty state of the UI element.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UIElement" abstract="true" eSuperTypes="#//ApplicationElement #//ui/Localizable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the base mix-in shared by all model elements that can be rendered into the&#xD;&#xA;UI presentation of the application. Its main job is to manage the bindings between&#xD;&#xA;the concrete element and the UI 'widget' representing it in the UI.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eOperations name="updateLocalization">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="suppressedVisibility" value="true"/>
<details key="documentation" value="@since 1.1"/>
<details key="body" value="if (eNotificationRequired()) {&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, UiPackageImpl.UI_ELEMENT__LOCALIZED_ACCESSIBILITY_PHRASE, null, getLocalizedAccessibilityPhrase()));&#xA;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="widget" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field represents the platform specific UI 'widget' that is representing this&#xD;&#xA;UIElement on the screen. It will only be non-null when the element has been rendered.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="renderer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field tracks the specific renderer used to create the 'widget'.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="toBeRendered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field controls whether the given UIElement should be displayed within&#xD;&#xA;the application. Note that due to lazy loading it is possible to have this field&#xD;&#xA;set to true but to not have actually rendered the element itself (it does show up&#xD;&#xA;as a tab on the appropiate stack but will only be rendered when that tab is&#xD;&#xA;selected.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="onTop" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="visible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field determines whether or not the given UIElement appears in the presentation&#xD;&#xA;or whether it should be 'cached' for specialized use. Under normal circumstances&#xD;&#xA;this flag should always be 'true'.&#xD;&#xA;&lt;/p>&lt;p>&#xD;&#xA;The MinMaxAddon uses this flag for example when a stack becomes minimized. By&#xD;&#xA;setting the flag to false the stack's widget is cleanly removed from the UI but&#xD;&#xA;is still 'rendered'. Once the widget has been cached the minimized stack can then&#xD;&#xA;display the widget using its own technques.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eOpposite="#//ui/ElementContainer/children">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field is a reference to this element's container. Note that while this field is valid&#xD;&#xA;for most UIElements there are a few (such as TrimBars and the Windows associated&#xD;&#xA;with top level windows and perspectives) where this will return 'null'&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
<eGenericType eClassifier="#//ui/ElementContainer">
<eTypeArguments eClassifier="#//ui/UIElement"/>
</eGenericType>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="containerData" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a persistend field that may be used by the &lt;b>parent&lt;/b> element's renderer&#xD;&#xA;to maintain any data that it needs to control the container. For example this is where&#xD;&#xA;the SashRenderer stores the 'weight' of a particular element.&#xD;&#xA;&lt;/p> &lt;p>&#xD;&#xA;&lt;b>NOTE:&lt;/b> This field is effectively deprecated in favor of the parent renderer&#xD;&#xA;simply adding a new keyed value to the UIElement's 'persistentData' map.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="curSharedRef" eType="#//ui/advanced/Placeholder"
transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a transient (i.e. non-persisted) field which is used in conjunction with&#xD;&#xA;MPlaceholders which are used to share elements actoss multiple perspectives. This&#xD;&#xA;field will point back to the MPlaceholder (if any) currently hosting this one.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="visibleWhen" eType="#//ui/Expression"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="accessibilityPhrase"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field is provided as a way to inform accessibility screen readers with extra&#xD;&#xA;information. The intent is that the reader should 'say' this phrase as well as what&#xD;&#xA;it would normally emit given the widget hierarchy.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="localizedAccessibilityPhrase"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="get" value="return &lt;%org.eclipse.e4.ui.model.LocalizationHelper%>.getLocalizedAccessibilityPhrase(this);"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ElementContainer" abstract="true"
eSuperTypes="#//ui/UIElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xA;This is the base for the two different types of containment used in the model;&#xA;'Stacks' (where only one element would be visible at a time) and 'Tiles' (where&#xA;all the elements are visible at the same time.&#xA;&lt;/p>&lt;p>&#xA;All containers define the type of element that they are to contain. By design this is&#xA;always a single type. Where different concrete types are to be contained within the&#xA;same container they all both mix in a container-specific type. For example both&#xA;MParts and MPlaceholders are valid children for an MPartStack so they both mix in&#xA;'StackElement' (which is an empty stub used only to constrain the stack's types.&#xA;&lt;/p>&#xA;@param &lt;T> the type of contained children&#xA;@since 1.0&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eTypeParameters name="T">
<eBounds eClassifier="#//ui/UIElement"/>
</eTypeParameters>
<eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
containment="true" eOpposite="#//ui/UIElement/parent">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xA;This is the list of contained elements in this container. All elements must be of type T.&#xA;&lt;/p>"/>
</eAnnotations>
<eGenericType eTypeParameter="#//ui/ElementContainer/T"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="selectedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field contains the reference to the currently 'selected' element within a container.&#xD;&#xA;Note that the element must not only be in the container's children list but must also be&#xD;&#xA;visible in the presentation (&quot;toBeRendered' == true).&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
<eGenericType eTypeParameter="#//ui/ElementContainer/T"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UILabel" abstract="true" interface="true"
eSuperTypes="#//ui/Localizable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a mix in that will be used for UI Elements that are capable of showing label&#xD;&#xA;information in the GUI (e.g. Parts, Menus / Toolbars, Persepectives...)&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The label to display for this element. If the label is expected to be internationalized&#xD;&#xA;then the label may be set to a 'key' value to be used by the translation service.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="iconURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field contains a fully qualified URL defining the path to an Image to display&#xD;&#xA;for this element.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tooltip" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The tooltip to display for this element. If the tooltip is expected to be internationalized&#xD;&#xA;then the tooltip may be set to a 'key' value to be used by the translation service.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="localizedLabel" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" defaultValueLiteral=""
derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="get" value="return &lt;%org.eclipse.e4.ui.model.LocalizationHelper%>.getLocalizedFeature(&lt;%org.eclipse.e4.ui.model.application.ui.impl.UiPackageImpl%>.Literals.UI_LABEL__LABEL, this);"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="localizedTooltip" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" defaultValueLiteral=""
derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="get" value="return &lt;%org.eclipse.e4.ui.model.LocalizationHelper%>.getLocalizedFeature(&lt;%org.eclipse.e4.ui.model.application.ui.impl.UiPackageImpl%>.Literals.UI_LABEL__TOOLTIP, this);"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GenericStack" abstract="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This type defines the base type for 'stack' type containers. These containers are&#xD;&#xA;expected to only show their currently 'selected' element.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eTypeParameters name="T">
<eBounds eClassifier="#//ui/UIElement"/>
</eTypeParameters>
<eGenericSuperTypes eClassifier="#//ui/ElementContainer">
<eTypeArguments eTypeParameter="#//ui/GenericStack/T"/>
</eGenericSuperTypes>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GenericTile" abstract="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This type defines the base type for 'tile' type containers. These containers are&#xD;&#xA;expected to only show all their visible children at the same time.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eTypeParameters name="T">
<eBounds eClassifier="#//ui/UIElement"/>
</eTypeParameters>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="horizontal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field determines which direction the tiling should take; 'true' for horizontal' tiling,&#xD;&#xA;'false' for vertical.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eGenericSuperTypes eClassifier="#//ui/ElementContainer">
<eTypeArguments eTypeParameter="#//ui/GenericTile/T"/>
</eGenericSuperTypes>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GenericTrimContainer" abstract="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This provides a collection specifically for TrimBars.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eTypeParameters name="T">
<eBounds eClassifier="#//ui/UIElement"/>
</eTypeParameters>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="side" lowerBound="1"
eType="#//ui/SideValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is an enum defining the side of the UI Window on which this collection&#xD;&#xA;should be displayed.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eGenericSuperTypes eClassifier="#//ui/ElementContainer">
<eTypeArguments eTypeParameter="#//ui/GenericTrimContainer/T"/>
</eGenericSuperTypes>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="SideValue">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;An enum providing the specific values determining the side of a trimmedWindow&#xD;&#xA;on which particular trim bars should be displayed.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>
</eAnnotations>
<eLiterals name="Top"/>
<eLiterals name="Bottom" value="1"/>
<eLiterals name="Left" value="2"/>
<eLiterals name="Right" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true" eSuperTypes="#//ApplicationElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A class upon which specific types of expressions are based. These are often used to&#xA;evaluate visibility and enablement of model elements.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CoreExpression" eSuperTypes="#//ui/Expression">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A specific kind of expression used by the Eclipse Workbench.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="coreExpressionId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="coreExpression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
transient="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ImperativeExpression" eSuperTypes="#//ui/Expression #//Contribution">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tracking" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SnippetContainer" abstract="true"
interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This provides a collection of model fragments that can be subsequently cloned and&#xD;&#xA;inserterd into the model using the EModelService. For example saving a customized&#xD;&#xA;Perspective will create a clone and store it in this container.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="snippets" upperBound="-1"
eType="#//ui/UIElement" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Localizable" abstract="true" interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This class should be mixed into any UI element that should participate in the&#xD;&#xA;Locale update handling.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.1"/>
</eAnnotations>
<eOperations name="updateLocalization">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This method is used to support Locale changes at runtime.&#xD;&#xA;Implementing this method should result in refreshing localizable properties&#xD;&#xA;like labels, tooltips and descriptions.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eOperations>
</eClassifiers>
<eSubpackages name="menu" nsURI="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu"
nsPrefix="menu">
<eClassifiers xsi:type="ecore:EEnum" name="ItemType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This enum defines the style of a menu or toolbar item.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0"/>
</eAnnotations>
<eLiterals name="Push"/>
<eLiterals name="Check" value="1"/>
<eLiterals name="Radio" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Item" abstract="true" eSuperTypes="#//ui/UIElement #//ui/UILabel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the base type for various menu and toolbar items.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eOperations name="updateLocalization">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="suppressedVisibility" value="true"/>
<details key="documentation" value="@since 1.1"/>
<details key="body" value="if (eNotificationRequired()) {&#xA;&#x9;super.updateLocalization();&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, MenuPackageImpl.ITEM__LOCALIZED_LABEL, null, getLocalizedLabel()));&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, MenuPackageImpl.ITEM__LOCALIZED_TOOLTIP, null, getLocalizedTooltip()));&#xA;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="enabled" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Defines the current enablement state of a given menu or toolbar item.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="selected" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Defines the current selection state for a menu or tool item&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1"
eType="#//ui/menu/ItemType">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Defines the item type for this item.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="HandledItem" abstract="true" eSuperTypes="#//ui/menu/Item">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the base class for menu and tool items associated with Commands.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="command" eType="#//commands/Command">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A reference to the Command associated with this item.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wbCommand" eType="#//commands/ParameterizedCommand"
transient="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is used for low level implementation and is not intended to be used by clients&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
eType="#//commands/Parameter" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Defines the specific parameters to use when executing the command through this item.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MenuElement" abstract="true" eSuperTypes="#//ui/UIElement #//ui/UILabel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the bsae type for both menu items and Separators.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eOperations name="getLocalizedMnemonics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a method that will return the translated mnemonic for this element.&#xD;&#xA;&lt;/p>"/>
<details key="body" value="return null;"/>
</eAnnotations>
</eOperations>
<eOperations name="updateLocalization">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="suppressedVisibility" value="true"/>
<details key="documentation" value="@since 1.1"/>
<details key="body" value="if (eNotificationRequired()) {&#xA;&#x9;super.updateLocalization();&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, MenuPackageImpl.MENU_ELEMENT__LOCALIZED_LABEL, null, getLocalizedLabel()));&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, MenuPackageImpl.MENU_ELEMENT__LOCALIZED_TOOLTIP, null, getLocalizedTooltip()));&#xA;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="mnemonics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the character that is interpreted by the platform to allow for easier navigation&#xD;&#xA;through menus.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MenuItem" abstract="true" eSuperTypes="#//ui/menu/Item #//ui/menu/MenuElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the base type for both Handled and direct menu items.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eOperations name="updateLocalization">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="suppressedVisibility" value="true"/>
<details key="documentation" value="@since 1.1"/>
<details key="body" value="super.updateLocalization();"/>
</eAnnotations>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MenuSeparator" eSuperTypes="#//ui/menu/MenuElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;An element representing a separator in a menu.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Menu">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class used to represent a menu in the UI Model.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="enabled" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This field determines whether the associated menu is enabled or not.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eGenericSuperTypes eClassifier="#//ui/menu/MenuElement"/>
<eGenericSuperTypes eClassifier="#//ui/ElementContainer">
<eTypeArguments eClassifier="#//ui/menu/MenuElement"/>
</eGenericSuperTypes>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MenuContribution">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This represents a potential extension to some menu already&#xD;&#xA;defined in the UI.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="positionInParent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
defaultValueLiteral="">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Indicates the position in the parent menu where this contribution should be placed.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="parentId" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The element id of the Menu to be contributed to.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eGenericSuperTypes eClassifier="#//ui/ElementContainer">
<eTypeArguments eClassifier="#//ui/menu/MenuElement"/>
</eGenericSuperTypes>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PopupMenu" eSuperTypes="#//ui/menu/Menu #//ui/Context">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class representing context menus. Menus of this type are generally&#xD;&#xA;managed by code within the running application since they're not visible in the UI.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DirectMenuItem" eSuperTypes="#//ui/menu/MenuItem #//Contribution">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class use to represent a menu item that is directly&#xD;&#xA;invoked when selected. The supplied contribution is asked to execute&#xA;when selected.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="HandledMenuItem" eSuperTypes="#//ui/menu/MenuItem #//ui/menu/HandledItem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete UI Model element representing a menu item that is managed&#xD;&#xA;through the Commands / Handlers infrastructure.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ToolItem" abstract="true" eSuperTypes="#//ui/menu/Item #//ui/menu/ToolBarElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the base type for both Direct and Handled tool items.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="menu" eType="#//ui/menu/Menu"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;When set this represents the menu that appears when the 'drop down' arrow is&#xD;&#xA;clicked on this tool item.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ToolBar">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class representing a Toolbar in the UI Model.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eGenericSuperTypes eClassifier="#//ui/ElementContainer">
<eTypeArguments eClassifier="#//ui/menu/ToolBarElement"/>
</eGenericSuperTypes>
<eGenericSuperTypes eClassifier="#//ui/basic/TrimElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ToolBarElement" abstract="true"
eSuperTypes="#//ui/UIElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a placeholder class mixed in to any other type that can be added to a Toolbar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ToolControl" eSuperTypes="#//ui/menu/ToolBarElement #//Contribution #//ui/basic/TrimElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class representing a widget hosted directly in the trim&#xD;&#xA;or as an item in a Toolbar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="HandledToolItem" eSuperTypes="#//ui/menu/ToolItem #//ui/menu/HandledItem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete UI Model element representing a tool item that is managed&#xD;&#xA;through the Commands / Handlers infrastructure.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DirectToolItem" eSuperTypes="#//ui/menu/ToolItem #//Contribution">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class use to represent a tool item that is directly&#xD;&#xA;invoked when selected. The supplied contribution is asked to execute&#xA;when selected.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ToolBarSeparator" eSuperTypes="#//ui/menu/ToolBarElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class used to represent a separator in a Toolbar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MenuContributions" abstract="true"
interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This is a container aggregating the menu contributions to be&#xD;&#xA;applied to menus.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="menuContributions"
upperBound="-1" eType="#//ui/menu/MenuContribution" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ToolBarContribution">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This represents a potential extension to some toolbar already&#xD;&#xA;defined in the UI.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="parentId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The element id of the Toolbar to be contributed to.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="positionInParent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Indicates the position in the Toolbar where this contribution should be placed.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eGenericSuperTypes eClassifier="#//ui/ElementContainer">
<eTypeArguments eClassifier="#//ui/menu/ToolBarElement"/>
</eGenericSuperTypes>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ToolBarContributions" abstract="true"
interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This is a container aggregating the toolbar contributions to be&#xD;&#xA;applied to existing toolbars.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="toolBarContributions"
upperBound="-1" eType="#//ui/menu/ToolBarContribution" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TrimContribution">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This represents a potential extension to some trim bar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="parentId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The element id of the TrimBar to be contributed to.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="positionInParent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Indicates the position in the TrimBar where this contribution should be placed.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eGenericSuperTypes eClassifier="#//ui/ElementContainer">
<eTypeArguments eClassifier="#//ui/basic/TrimElement"/>
</eGenericSuperTypes>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TrimContributions" abstract="true"
interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Provisional for 4.3. This is a container aggregating the trim bar contributions to be&#xD;&#xA;applied.&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference This interface is not intended to be referenced by clients.&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="trimContributions"
upperBound="-1" eType="#//ui/menu/TrimContribution" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DynamicMenuContribution" eSuperTypes="#//ui/menu/MenuItem #//Contribution">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class used to represent a menu item that replaces itself through&#xD;&#xA;the execution of the associated client code. The supplied contribution will&#xA;provide the appropriate MMenuElement model elements when queried.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
</eSubpackages>
<eSubpackages name="basic" nsURI="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic"
nsPrefix="basic">
<eClassifiers xsi:type="ecore:EClass" name="Part" eSuperTypes="#//ui/UIElement #//ui/basic/PartSashContainerElement #//ui/basic/StackElement #//Contribution #//ui/Context #//ui/UILabel #//commands/HandlerContainer #//ui/Dirtyable #//commands/Bindings #//ui/basic/WindowElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This a concrete class representing the core UI functionality within a Window. It's what&#xD;&#xA;used to be a View / Editor in Eclipse 3.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eOperations name="updateLocalization">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="suppressedVisibility" value="true"/>
<details key="documentation" value="@since 1.1"/>
<details key="body" value="if (eNotificationRequired()) {&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, BasicPackageImpl.PART__LOCALIZED_LABEL, null, getLocalizedLabel()));&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, BasicPackageImpl.PART__LOCALIZED_TOOLTIP, null, getLocalizedTooltip()));&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, BasicPackageImpl.PART__LOCALIZED_DESCRIPTION, null, getLocalizedDescription()));&#xA;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="menus" upperBound="-1"
eType="#//ui/menu/Menu" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xA;This defines the list of the menus associated with this part. There are two specific menus&#xA;that are managed by the core UI:&#xA;&lt;/p>&#xA;&lt;ul>&#xA;&lt;li>If the menu is the part's id prefixed with &quot;menu:&quot; then it will appear as the&#xA;drop down menu available from the view's toolbar.&lt;/li>&#xA;&lt;li>If the menu is the part's id prefixed with &quot;popup:&quot; then it will appear as the&#xA;ddefault context menu for this view.&lt;/li>&#xA;&lt;/ul>&#xA;&lt;p>&#xA;Other menus can be added here but have to be managed by the part itself...&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="toolbar" eType="#//ui/menu/ToolBar"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the Toolbar associated with tihs Part (if any).&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="closeable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Determines whether the user is allowed to close this view.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The description of this Part; used when the Part appears in a list of Parts&#xD;&#xA;(i.e. 'Show View').&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="localizedDescription"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="get" value="return &lt;%org.eclipse.e4.ui.model.LocalizationHelper%>.getLocalizedFeature(BasicPackageImpl.Literals.PART__DESCRIPTION, this);"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="trimBars" upperBound="-1"
eType="#//ui/basic/TrimBar" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The collection of TrimBars associated with this part.&#xD;&#xA;@since 1.3&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompositePart">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a Part that is capable of supporting an internal structure. In order to be useful instances of this part muct be capable&#xD;&#xA;of managing their internal structure.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.1&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eGenericSuperTypes eClassifier="#//ui/basic/Part"/>
<eGenericSuperTypes eClassifier="#//ui/GenericTile">
<eTypeArguments eClassifier="#//ui/basic/PartSashContainerElement"/>
</eGenericSuperTypes>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PartStack">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class representing a stack of Parts in the UI Model.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eGenericSuperTypes eClassifier="#//ui/GenericStack">
<eTypeArguments eClassifier="#//ui/basic/StackElement"/>
</eGenericSuperTypes>
<eGenericSuperTypes eClassifier="#//ui/basic/PartSashContainerElement"/>
<eGenericSuperTypes eClassifier="#//ui/basic/WindowElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PartSashContainer">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class representing sashed containment in the UI Model. This&#xD;&#xA;type is recursive, allowing the creation of a tree of sashes whose leafs are Parts.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eGenericSuperTypes eClassifier="#//ui/GenericTile">
<eTypeArguments eClassifier="#//ui/basic/PartSashContainerElement"/>
</eGenericSuperTypes>
<eGenericSuperTypes eClassifier="#//ui/basic/PartSashContainerElement"/>
<eGenericSuperTypes eClassifier="#//ui/basic/WindowElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Window">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the concrete class representing a bare bones window in the UI Model. Unless&#xD;&#xA;specifically desired it's likely better to use the TrimmedWindow instead.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eOperations name="updateLocalization">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="suppressedVisibility" value="true"/>
<details key="documentation" value="@since 1.1"/>
<details key="body" value="if (eNotificationRequired()) {&#xA;&#x9;super.updateLocalization();&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, BasicPackageImpl.WINDOW__LOCALIZED_LABEL, null, getLocalizedLabel()));&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, BasicPackageImpl.WINDOW__LOCALIZED_TOOLTIP, null, getLocalizedTooltip()));&#xA;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="mainMenu" eType="#//ui/menu/Menu"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The main menu (if any) for this window.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="-2147483648" unsettable="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The 'X' position of this window&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="-2147483648" unsettable="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The 'Y' position of this window&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="width" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="-1" unsettable="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The width of this window&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="height" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
defaultValueLiteral="-1" unsettable="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The heigfht of this window&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="windows" upperBound="-1"
eType="#//ui/basic/Window" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The collection of 'Detached' windows associated with this window.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="sharedElements" upperBound="-1"
eType="#//ui/UIElement" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the collection of UI Elements that are referenced by Placeholders, allowing&#xD;&#xA;the re-use of these elements in different Perspectives.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eGenericSuperTypes eClassifier="#//ui/ElementContainer">
<eTypeArguments eClassifier="#//ui/basic/WindowElement"/>
</eGenericSuperTypes>
<eGenericSuperTypes eClassifier="#//ui/UILabel"/>
<eGenericSuperTypes eClassifier="#//ui/Context"/>
<eGenericSuperTypes eClassifier="#//commands/HandlerContainer"/>
<eGenericSuperTypes eClassifier="#//commands/Bindings"/>
<eGenericSuperTypes eClassifier="#//ui/SnippetContainer"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TrimmedWindow" eSuperTypes="#//ui/basic/Window">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A subclass of Window that also supports TrimBars on its edges.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="trimBars" upperBound="-1"
eType="#//ui/basic/TrimBar" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The collection of TrimBars associated with this window.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TrimElement" abstract="true" interface="true"
eSuperTypes="#//ui/UIElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A class to be mixed in to any element that should be allowed to be added to a TrimBar.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PartSashContainerElement" abstract="true"
interface="true" eSuperTypes="#//ui/UIElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A class to be mixed in to any element that should be allowed to be added to&#xD;&#xA;a PartSashContainer. Since a PartSashContainer is itself a PartSashContainerElement&#xD;&#xA;we can defined nested 'trees' of sash containment.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WindowElement" abstract="true" interface="true"
eSuperTypes="#//ui/UIElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A class to be mixed in to any element that should be allowed to be added to a&#xD;&#xA;Window.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TrimBar">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete class representing the trim along a Window's edge.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="pendingCleanup" upperBound="-1"
eType="#//ui/basic/TrimElement" transient="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is for internal use...&#xD;&#xA;&lt;/p>&#xD;&#xA;@noreference"/>
</eAnnotations>
</eStructuralFeatures>
<eGenericSuperTypes eClassifier="#//ui/GenericTrimContainer">
<eTypeArguments eClassifier="#//ui/basic/TrimElement"/>
</eGenericSuperTypes>
<eGenericSuperTypes eClassifier="#//ui/UIElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="StackElement" abstract="true" interface="true"
eSuperTypes="#//ui/UIElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A class to be mixed in to any element that should be allowed to be added to a&#xD;&#xA;PartStack.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
</eClassifiers>
</eSubpackages>
<eSubpackages name="advanced" nsURI="http://www.eclipse.org/ui/2010/UIModel/application/ui/advanced"
nsPrefix="advanced">
<eClassifiers xsi:type="ecore:EClass" name="Placeholder" eSuperTypes="#//ui/UIElement #//ui/basic/PartSashContainerElement #//ui/basic/StackElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A Placeholder is a concrete class used to share elements between perspectives. The&#xD;&#xA;elements referenced by a Placeholder generally exist in the Window's 'sharedElements'&#xD;&#xA;list. By convention a placeholder usually shares the same elementId as the element&#xD;&#xA;that it's referencing.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="ref" lowerBound="1"
eType="#//ui/UIElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The reference to the actual UI element that this Placeholder is acting as a proxy for.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="closeable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Determines whether the element (usually a Part) referenced by this Placeholder can&#xD;&#xA;be closed by the User. This allows a Part to be closeable in one perspective but&#xD;&#xA;not closeable in a different one.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Perspective">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The Persepctive defines a part of the UI presentation that can be switched independently&#xD;&#xA;of the rest of the UI. By using Placeholders it's possible to share elements between&#xD;&#xA;different perspectives.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eOperations name="updateLocalization">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="suppressedVisibility" value="true"/>
<details key="documentation" value="@since 1.1"/>
<details key="body" value="if (eNotificationRequired()) {&#xA;&#x9;super.updateLocalization();&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, AdvancedPackageImpl.PERSPECTIVE__LOCALIZED_LABEL, null, getLocalizedLabel()));&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, AdvancedPackageImpl.PERSPECTIVE__LOCALIZED_TOOLTIP, null, getLocalizedTooltip()));&#xA;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="windows" upperBound="-1"
eType="#//ui/basic/Window" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="trimBars" upperBound="-1"
eType="#//ui/basic/TrimBar" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The collection of TrimBars associated with this perspective.&#xD;&#xA;@since 1.3&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eGenericSuperTypes eClassifier="#//ui/ElementContainer">
<eTypeArguments eClassifier="#//ui/basic/PartSashContainerElement"/>
</eGenericSuperTypes>
<eGenericSuperTypes eClassifier="#//ui/UILabel"/>
<eGenericSuperTypes eClassifier="#//ui/Context"/>
<eGenericSuperTypes eClassifier="#//commands/HandlerContainer"/>
<eGenericSuperTypes eClassifier="#//commands/Bindings"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PerspectiveStack">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The PerspectiveStack is a collectin of Perspectives. Only one perspective may be&#xD;&#xA;visible at a time and is determined by the container's 'selectedElement'.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eGenericSuperTypes eClassifier="#//ui/UIElement"/>
<eGenericSuperTypes eClassifier="#//ui/GenericStack">
<eTypeArguments eClassifier="#//ui/advanced/Perspective"/>
</eGenericSuperTypes>
<eGenericSuperTypes eClassifier="#//ui/basic/PartSashContainerElement"/>
<eGenericSuperTypes eClassifier="#//ui/basic/WindowElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Area" eSuperTypes="#//ui/basic/PartSashContainer #//ui/UILabel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is a concrete element representing a (possibly sashed) chunk of the UI presentation&#xD;&#xA;that will minimize / maximize as one unit. This is used in Eclipse 4 to allow for a split&#xD;&#xA;Editor Area.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eOperations name="updateLocalization">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="suppressedVisibility" value="true"/>
<details key="documentation" value="@since 1.1"/>
<details key="body" value="if (eNotificationRequired()) {&#xA;&#x9;super.updateLocalization();&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, AdvancedPackageImpl.AREA__LOCALIZED_LABEL, null, getLocalizedLabel()));&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, AdvancedPackageImpl.AREA__LOCALIZED_TOOLTIP, null, getLocalizedTooltip()));&#xA;}"/>
</eAnnotations>
</eOperations>
</eClassifiers>
</eSubpackages>
</eSubpackages>
<eSubpackages name="descriptor" nsURI="http://www.eclipse.org/ui/2010/UIModel/application/descriptor"
nsPrefix="descriptor">
<eSubpackages name="basic" nsURI="http://www.eclipse.org/ui/2010/UIModel/application/descriptor/basic"
nsPrefix="basic">
<eClassifiers xsi:type="ecore:EClass" name="PartDescriptor" eSuperTypes="#//ApplicationElement #//ui/UILabel #//commands/HandlerContainer #//commands/Bindings">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This element represents a template from which an MPart can be created on demand.&#xD;&#xA;The collection of PartDescriptors owned by the Application represents the contributed&#xD;&#xA;parts and is used in the e4 version of 'Show View'...&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eOperations name="updateLocalization">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="suppressedVisibility" value="true"/>
<details key="documentation" value="@since 1.1"/>
<details key="body" value="if (eNotificationRequired()) {&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, BasicPackageImpl.PART_DESCRIPTOR__LOCALIZED_LABEL, null, getLocalizedLabel()));&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, BasicPackageImpl.PART_DESCRIPTOR__LOCALIZED_TOOLTIP, null, getLocalizedTooltip()));&#xA;&#x9;eNotify(new ENotificationImpl(&#xA;&#x9;&#x9;&#x9;this, Notification.SET, BasicPackageImpl.PART_DESCRIPTOR__LOCALIZED_DESCRIPTION, null, getLocalizedDescription()));&#xA;}"/>
</eAnnotations>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="allowMultiple" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Determines whether or not the part represented by this descriptot can have multiple&#xD;&#xA;instances with a given window.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The category that the view represented by this descriptor belongs to.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="menus" upperBound="-1"
eType="#//ui/menu/Menu" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xA;This defines the list of the menus associated with the part represented by this descriptor.&#xA;There are two specific menus that are managed by the core UI:&#xA;&lt;/p>&#xA;&lt;ul>&#xA;&lt;li>If the menu is the part's id prefixed with &quot;menu:&quot; then it will appear as the&#xA;drop down menu available from the view's toolbar.&lt;/li>&#xA;&lt;li>If the menu is the part's id prefixed with &quot;popup:&quot; then it will appear as the&#xA;default context menu for this view.&lt;/li>&#xA;&lt;/ul>&#xA;&lt;p>&#xA;Other menus can be added here but have to be managed by the part itself...&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="toolbar" eType="#//ui/menu/ToolBar"
containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;This is the Toolbar associated with tihs Part (if any).&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="closeable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;Defines whether instances of views created from this descriptor are closeable by the&#xD;&#xA;User.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dirtyable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xA;Determines whether Parts generated from this template can participate in the&#xA;Dirty -&amp;gt; Save cycle. At best this is a hint since all Parts are inherently dirtyable.&#xA;&lt;/p>&#xA;@deprecated dirtyable is managed by part.&#xA;@noreference This method is not intended to be referenced by clients.&#xA;@see &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=530887&quot;>Bug 530887&lt;/a>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="contributionURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The fully qualified path to the class implementing the behavior of the Part.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The description of this Part.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="localizedDescription"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
changeable="false" volatile="true" transient="true" derived="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="get" value="return &lt;%org.eclipse.e4.ui.model.LocalizationHelper%>.getLocalizedFeature(BasicPackageImpl.Literals.PART_DESCRIPTOR__DESCRIPTION, this);"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="variables" ordered="false"
upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
eType="#//StringToStringMap" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;&lt;strong>Developers&lt;/strong>:&#xD;&#xA;Add more detailed documentation by editing this comment in&#xD;&#xA;org.eclipse.ui.model.workbench/model/UIElements.ecore.&#xD;&#xA;There is a GenModel/documentation node under each type and attribute.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="trimBars" upperBound="-1"
eType="#//ui/basic/TrimBar" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;The collection of TrimBars associated with the part represented by this descriptor.&#xD;&#xA;@since 1.3&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PartDescriptorContainer" abstract="true"
interface="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A type specific collection of PartDescriptors.&#xD;&#xA;&lt;/p>&#xD;&#xA;@since 1.0&#xD;&#xA;@noimplement This interface is not intended to be implemented by clients."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="descriptors" upperBound="-1"
eType="#//descriptor/basic/PartDescriptor" containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="&lt;p>&#xD;&#xA;A collection of PartDescriptors.&#xD;&#xA;&lt;/p>"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
</eSubpackages>
</eSubpackages>
</ecore:EPackage>