bug 392903:
* new model elements
* util class for invocation
diff --git a/bundles/org.eclipse.e4.ui.di/src/org/eclipse/e4/ui/di/LifecycleAboutToHide.java b/bundles/org.eclipse.e4.ui.di/src/org/eclipse/e4/ui/di/LifecycleAboutToHide.java
new file mode 100644
index 0000000..9ca5e12
--- /dev/null
+++ b/bundles/org.eclipse.e4.ui.di/src/org/eclipse/e4/ui/di/LifecycleAboutToHide.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.e4.ui.di;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Parts can specify this annotation on one of its methods to tag it as the
+ * method to be invoked when it has been granted focus.
+ * <p>
+ * This annotation must not be applied to more than one method on a class. If
+ * multiple methods of the class are tagged with this this annotation, only one
+ * of them will be called to grant focus to the part.
+ * </p>
+ */
+@Documented
+@Target({ ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface LifecycleAboutToHide {
+ // intentionally left empty
+}
diff --git a/bundles/org.eclipse.e4.ui.di/src/org/eclipse/e4/ui/di/LifecycleAboutToShow.java b/bundles/org.eclipse.e4.ui.di/src/org/eclipse/e4/ui/di/LifecycleAboutToShow.java
new file mode 100644
index 0000000..9f5d084
--- /dev/null
+++ b/bundles/org.eclipse.e4.ui.di/src/org/eclipse/e4/ui/di/LifecycleAboutToShow.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.e4.ui.di;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Parts can specify this annotation on one of its methods to tag it as the
+ * method to be invoked when it has been granted focus.
+ * <p>
+ * This annotation must not be applied to more than one method on a class. If
+ * multiple methods of the class are tagged with this this annotation, only one
+ * of them will be called to grant focus to the part.
+ * </p>
+ */
+@Documented
+@Target({ ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface LifecycleAboutToShow {
+ // intentionally left empty
+}
diff --git a/bundles/org.eclipse.e4.ui.model.workbench.edit/plugin.properties b/bundles/org.eclipse.e4.ui.model.workbench.edit/plugin.properties
index 13f120a..9a5f012 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench.edit/plugin.properties
+++ b/bundles/org.eclipse.e4.ui.model.workbench.edit/plugin.properties
@@ -282,3 +282,5 @@
_UI_SnippetContainer_type = Snippet Container
_UI_SnippetContainer_snippets_feature = Snippets
_UI_ApplicationElement_persistedState_feature = Persisted State
+_UI_LifecycledElement_type = Lifecycled Element
+_UI_LifecycledElement_lifecyleURIs_feature = Lifecyle UR Is
diff --git a/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/provider/ApplicationItemProvider.java b/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/provider/ApplicationItemProvider.java
index 290d29a..d3f950f 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/provider/ApplicationItemProvider.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/provider/ApplicationItemProvider.java
@@ -73,6 +73,7 @@
addContextPropertyDescriptor(object);
addVariablesPropertyDescriptor(object);
addBindingContextsPropertyDescriptor(object);
+ addLifecyleURIsPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -144,6 +145,28 @@
}
/**
+ * This adds a property descriptor for the Lifecyle UR Is feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLifecyleURIsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LifecycledElement_lifecyleURIs_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_LifecycledElement_lifecyleURIs_feature", "_UI_LifecycledElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UiPackageImpl.Literals.LIFECYCLED_ELEMENT__LIFECYLE_UR_IS,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
* This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
* {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
* {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
@@ -222,6 +245,7 @@
case ApplicationPackageImpl.APPLICATION__CONTEXT:
case ApplicationPackageImpl.APPLICATION__VARIABLES:
case ApplicationPackageImpl.APPLICATION__BINDING_CONTEXTS:
+ case ApplicationPackageImpl.APPLICATION__LIFECYLE_UR_IS:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
case ApplicationPackageImpl.APPLICATION__PROPERTIES:
diff --git a/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/ui/advanced/provider/PerspectiveItemProvider.java b/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/ui/advanced/provider/PerspectiveItemProvider.java
index 230fe5f..61e71ab 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/ui/advanced/provider/PerspectiveItemProvider.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/ui/advanced/provider/PerspectiveItemProvider.java
@@ -76,6 +76,7 @@
addTooltipPropertyDescriptor(object);
addContextPropertyDescriptor(object);
addVariablesPropertyDescriptor(object);
+ addLifecyleURIsPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
@@ -191,6 +192,28 @@
}
/**
+ * This adds a property descriptor for the Lifecyle UR Is feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLifecyleURIsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LifecycledElement_lifecyleURIs_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_LifecycledElement_lifecyleURIs_feature", "_UI_LifecycledElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UiPackageImpl.Literals.LIFECYCLED_ELEMENT__LIFECYLE_UR_IS,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
* This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
* {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
* {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
@@ -263,6 +286,7 @@
case AdvancedPackageImpl.PERSPECTIVE__TOOLTIP:
case AdvancedPackageImpl.PERSPECTIVE__CONTEXT:
case AdvancedPackageImpl.PERSPECTIVE__VARIABLES:
+ case AdvancedPackageImpl.PERSPECTIVE__LIFECYLE_UR_IS:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
case AdvancedPackageImpl.PERSPECTIVE__PROPERTIES:
diff --git a/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/ui/basic/provider/WindowItemProvider.java b/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/ui/basic/provider/WindowItemProvider.java
index c1f245d..388200d 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/ui/basic/provider/WindowItemProvider.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/ui/basic/provider/WindowItemProvider.java
@@ -81,6 +81,7 @@
addContextPropertyDescriptor(object);
addVariablesPropertyDescriptor(object);
addBindingContextsPropertyDescriptor(object);
+ addLifecyleURIsPropertyDescriptor(object);
addXPropertyDescriptor(object);
addYPropertyDescriptor(object);
addWidthPropertyDescriptor(object);
@@ -223,6 +224,28 @@
}
/**
+ * This adds a property descriptor for the Lifecyle UR Is feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLifecyleURIsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LifecycledElement_lifecyleURIs_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_LifecycledElement_lifecyleURIs_feature", "_UI_LifecycledElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UiPackageImpl.Literals.LIFECYCLED_ELEMENT__LIFECYLE_UR_IS,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
* This adds a property descriptor for the X feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -410,6 +433,7 @@
case BasicPackageImpl.WINDOW__CONTEXT:
case BasicPackageImpl.WINDOW__VARIABLES:
case BasicPackageImpl.WINDOW__BINDING_CONTEXTS:
+ case BasicPackageImpl.WINDOW__LIFECYLE_UR_IS:
case BasicPackageImpl.WINDOW__X:
case BasicPackageImpl.WINDOW__Y:
case BasicPackageImpl.WINDOW__WIDTH:
diff --git a/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/ui/menu/provider/MenuItemProvider.java b/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/ui/menu/provider/MenuItemProvider.java
index 2aff8d7..24f21e2 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/ui/menu/provider/MenuItemProvider.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench.edit/src/org/eclipse/e4/ui/model/application/ui/menu/provider/MenuItemProvider.java
@@ -70,6 +70,7 @@
super.getPropertyDescriptors(object);
addSelectedElementPropertyDescriptor(object);
+ addLifecyleURIsPropertyDescriptor(object);
addEnabledPropertyDescriptor(object);
}
return itemPropertyDescriptors;
@@ -98,6 +99,28 @@
}
/**
+ * This adds a property descriptor for the Lifecyle UR Is feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLifecyleURIsPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_LifecycledElement_lifecyleURIs_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_LifecycledElement_lifecyleURIs_feature", "_UI_LifecycledElement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ UiPackageImpl.Literals.LIFECYCLED_ELEMENT__LIFECYLE_UR_IS,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
* This adds a property descriptor for the Enabled feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -186,6 +209,7 @@
updateChildren(notification);
switch (notification.getFeatureID(MMenu.class)) {
+ case MenuPackageImpl.MENU__LIFECYLE_UR_IS:
case MenuPackageImpl.MENU__ENABLED:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/model/UIElements.ecore b/bundles/org.eclipse.e4.ui.model.workbench/model/UIElements.ecore
index 012d1c3..21d3a41 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/model/UIElements.ecore
+++ b/bundles/org.eclipse.e4.ui.model.workbench/model/UIElements.ecore
@@ -1,472 +1,481 @@
-<?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">
- <eStructuralFeatures xsi:type="ecore:EReference" name="commands" upperBound="-1"
- eType="#//commands/Command" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="addons" upperBound="-1"
- eType="#//Addon" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="categories" upperBound="-1"
- eType="#//commands/Category" containment="true"/>
- <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">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="persistedState" upperBound="-1"
- eType="#//StringToStringMap" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="tags" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="contributorURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="transientData" upperBound="-1"
- eType="#//StringToObjectMap" transient="true" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Contribution" abstract="true" eSuperTypes="#//ApplicationElement">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="contributionURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
- transient="true" derived="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Addon" eSuperTypes="#//Contribution"/>
- <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">
- <eStructuralFeatures xsi:type="ecore:EReference" name="bindingTables" upperBound="-1"
- eType="#//commands/BindingTable" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="rootContext" upperBound="-1"
- eType="#//commands/BindingContext" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Bindings" abstract="true" interface="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="bindingContexts" upperBound="-1"
- eType="#//commands/BindingContext"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="BindingContext" eSuperTypes="#//ApplicationElement">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
- eType="#//commands/BindingContext" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="BindingTable" eSuperTypes="#//ApplicationElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1"
- eType="#//commands/KeyBinding" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="bindingContext" lowerBound="1"
- eType="#//commands/BindingContext"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Command" eSuperTypes="#//ApplicationElement">
- <eOperations name="getLocalizedCommandName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eOperations name="getLocalizedDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="commandName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
- eType="#//commands/CommandParameter" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="category" eType="#//commands/Category"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="CommandParameter" eSuperTypes="#//ApplicationElement">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Handler" eSuperTypes="#//Contribution">
- <eStructuralFeatures xsi:type="ecore:EReference" name="command" lowerBound="1"
- eType="#//commands/Command"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="HandlerContainer" abstract="true"
- interface="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="handlers" upperBound="-1"
- eType="#//commands/Handler" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="KeyBinding" eSuperTypes="#//ApplicationElement #//commands/KeySequence">
- <eStructuralFeatures xsi:type="ecore:EReference" name="command" lowerBound="1"
- eType="#//commands/Command"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
- eType="#//commands/Parameter" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="KeySequence" abstract="true" interface="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="keySequence" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//ApplicationElement">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" 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:EDataType" name="ParameterizedCommand" instanceClassName="org.eclipse.core.commands.ParameterizedCommand"
- serializable="false"/>
- <eClassifiers xsi:type="ecore:EClass" name="Category" eSuperTypes="#//ApplicationElement">
- <eOperations name="getLocalizedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eOperations name="getLocalizedDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </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">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="context" eType="#//IEclipseContext"
- transient="true" derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="variables" ordered="false"
- upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
- eType="#//StringToStringMap" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Dirtyable" abstract="true" interface="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="dirty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- transient="true" derived="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Input" abstract="true" interface="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="inputURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="UIElement" abstract="true" eSuperTypes="#//ApplicationElement">
- <eOperations name="getLocalizedAccessibilityPhrase" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="widget" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
- transient="true" derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="renderer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
- transient="true" derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="toBeRendered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="onTop" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="visible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eOpposite="#//ui/ElementContainer/children">
- <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"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="curSharedRef" eType="#//ui/advanced/Placeholder"
- transient="true" derived="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="visibleWhen" eType="#//ui/Expression"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="accessibilityPhrase"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ElementContainer" abstract="true"
- eSuperTypes="#//ui/UIElement">
- <eTypeParameters name="T">
- <eBounds eClassifier="#//ui/UIElement"/>
- </eTypeParameters>
- <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
- containment="true" eOpposite="#//ui/UIElement/parent">
- <eGenericType eTypeParameter="#//ui/ElementContainer/T"/>
- </eStructuralFeatures>
- <eStructuralFeatures xsi:type="ecore:EReference" name="selectedElement">
- <eGenericType eTypeParameter="#//ui/ElementContainer/T"/>
- </eStructuralFeatures>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="UILabel" abstract="true" interface="true">
- <eOperations name="getLocalizedLabel" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eOperations name="getLocalizedTooltip" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="iconURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="tooltip" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="GenericStack" abstract="true">
- <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">
- <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"/>
- <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
- <eTypeArguments eTypeParameter="#//ui/GenericTile/T"/>
- </eGenericSuperTypes>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="GenericTrimContainer" abstract="true">
- <eTypeParameters name="T">
- <eBounds eClassifier="#//ui/UIElement"/>
- </eTypeParameters>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="side" lowerBound="1"
- eType="#//ui/SideValue"/>
- <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
- <eTypeArguments eTypeParameter="#//ui/GenericTrimContainer/T"/>
- </eGenericSuperTypes>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EEnum" name="SideValue">
- <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"/>
- <eClassifiers xsi:type="ecore:EClass" name="CoreExpression" eSuperTypes="#//ui/Expression">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="coreExpressionId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
- defaultValueLiteral=""/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="coreExpression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
- transient="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="SnippetContainer" abstract="true"
- interface="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="snippets" upperBound="-1"
- eType="#//ui/UIElement" containment="true"/>
- </eClassifiers>
- <eSubpackages name="menu" nsURI="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu"
- nsPrefix="menu">
- <eClassifiers xsi:type="ecore:EEnum" name="ItemType">
- <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">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="enabled" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="selected" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1"
- eType="#//ui/menu/ItemType"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="HandledItem" abstract="true" eSuperTypes="#//ui/menu/Item">
- <eStructuralFeatures xsi:type="ecore:EReference" name="command" eType="#//commands/Command"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="wbCommand" eType="#//commands/ParameterizedCommand"
- transient="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
- eType="#//commands/Parameter" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="MenuElement" abstract="true" eSuperTypes="#//ui/UIElement #//ui/UILabel">
- <eOperations name="getLocalizedMnemonics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="mnemonics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="MenuItem" abstract="true" eSuperTypes="#//ui/menu/Item #//ui/menu/MenuElement"/>
- <eClassifiers xsi:type="ecore:EClass" name="MenuSeparator" eSuperTypes="#//ui/menu/MenuElement"/>
- <eClassifiers xsi:type="ecore:EClass" name="Menu">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="enabled" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="true"/>
- <eGenericSuperTypes eClassifier="#//ui/menu/MenuElement"/>
- <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
- <eTypeArguments eClassifier="#//ui/menu/MenuElement"/>
- </eGenericSuperTypes>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="MenuContribution">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="positionInParent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
- defaultValueLiteral=""/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="parentId" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
- <eTypeArguments eClassifier="#//ui/menu/MenuElement"/>
- </eGenericSuperTypes>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PopupMenu" eSuperTypes="#//ui/menu/Menu #//ui/Context"/>
- <eClassifiers xsi:type="ecore:EClass" name="DirectMenuItem" eSuperTypes="#//ui/menu/MenuItem #//Contribution"/>
- <eClassifiers xsi:type="ecore:EClass" name="HandledMenuItem" eSuperTypes="#//ui/menu/MenuItem #//ui/menu/HandledItem"/>
- <eClassifiers xsi:type="ecore:EClass" name="ToolItem" abstract="true" eSuperTypes="#//ui/menu/Item #//ui/menu/ToolBarElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="menu" eType="#//ui/menu/Menu"
- containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ToolBar">
- <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"/>
- <eClassifiers xsi:type="ecore:EClass" name="ToolControl" eSuperTypes="#//ui/menu/ToolBarElement #//Contribution #//ui/basic/TrimElement"/>
- <eClassifiers xsi:type="ecore:EClass" name="HandledToolItem" eSuperTypes="#//ui/menu/ToolItem #//ui/menu/HandledItem"/>
- <eClassifiers xsi:type="ecore:EClass" name="DirectToolItem" eSuperTypes="#//ui/menu/ToolItem #//Contribution"/>
- <eClassifiers xsi:type="ecore:EClass" name="ToolBarSeparator" eSuperTypes="#//ui/menu/ToolBarElement"/>
- <eClassifiers xsi:type="ecore:EClass" name="MenuContributions" abstract="true"
- interface="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="menuContributions"
- upperBound="-1" eType="#//ui/menu/MenuContribution" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="RenderedMenu" eSuperTypes="#//ui/menu/Menu">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="contributionManager"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
- transient="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="RenderedToolBar" eSuperTypes="#//ui/menu/ToolBar">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="contributionManager"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
- transient="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ToolBarContribution">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="parentId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="positionInParent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
- <eTypeArguments eClassifier="#//ui/menu/ToolBarElement"/>
- </eGenericSuperTypes>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ToolBarContributions" abstract="true"
- interface="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="toolBarContributions"
- upperBound="-1" eType="#//ui/menu/ToolBarContribution" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TrimContribution">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="parentId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="positionInParent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
- <eTypeArguments eClassifier="#//ui/basic/TrimElement"/>
- </eGenericSuperTypes>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TrimContributions" abstract="true"
- interface="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="trimContributions"
- upperBound="-1" eType="#//ui/menu/TrimContribution" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="RenderedMenuItem" eSuperTypes="#//ui/menu/MenuItem">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="contributionItem" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
- transient="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OpaqueToolItem" eSuperTypes="#//ui/menu/ToolItem">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="opaqueItem" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
- transient="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OpaqueMenuItem" eSuperTypes="#//ui/menu/MenuItem">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="opaqueItem" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
- transient="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OpaqueMenuSeparator" eSuperTypes="#//ui/menu/MenuSeparator">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="opaqueItem" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
- transient="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="OpaqueMenu" eSuperTypes="#//ui/menu/Menu"/>
- </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">
- <eOperations name="getLocalizedDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="menus" upperBound="-1"
- eType="#//ui/menu/Menu" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="toolbar" eType="#//ui/menu/ToolBar"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="closeable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="InputPart" eSuperTypes="#//ui/basic/Part #//ui/Input"/>
- <eClassifiers xsi:type="ecore:EClass" name="PartStack">
- <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">
- <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">
- <eStructuralFeatures xsi:type="ecore:EReference" name="mainMenu" eType="#//ui/menu/Menu"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
- defaultValueLiteral="-2147483648"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
- defaultValueLiteral="-2147483648"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
- defaultValueLiteral="-1"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="height" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
- defaultValueLiteral="-1"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="windows" upperBound="-1"
- eType="#//ui/basic/Window" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="sharedElements" upperBound="-1"
- eType="#//ui/UIElement" containment="true"/>
- <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">
- <eStructuralFeatures xsi:type="ecore:EReference" name="trimBars" upperBound="-1"
- eType="#//ui/basic/TrimBar" containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="TrimElement" abstract="true" eSuperTypes="#//ui/UIElement"/>
- <eClassifiers xsi:type="ecore:EClass" name="PartSashContainerElement" abstract="true"
- interface="true" eSuperTypes="#//ui/UIElement"/>
- <eClassifiers xsi:type="ecore:EClass" name="WindowElement" abstract="true" interface="true"
- eSuperTypes="#//ui/UIElement"/>
- <eClassifiers xsi:type="ecore:EClass" name="TrimBar">
- <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"/>
- </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">
- <eStructuralFeatures xsi:type="ecore:EReference" name="ref" lowerBound="1"
- eType="#//ui/UIElement"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="closeable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Perspective">
- <eStructuralFeatures xsi:type="ecore:EReference" name="windows" upperBound="-1"
- eType="#//ui/basic/Window" containment="true"/>
- <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
- <eTypeArguments eClassifier="#//ui/basic/PartSashContainerElement"/>
- </eGenericSuperTypes>
- <eGenericSuperTypes eClassifier="#//ui/UILabel"/>
- <eGenericSuperTypes eClassifier="#//ui/Context"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PerspectiveStack">
- <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"/>
- </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">
- <eOperations name="getLocalizedDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowMultiple" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="menus" upperBound="-1"
- eType="#//ui/menu/Menu" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="toolbar" eType="#//ui/menu/ToolBar"
- containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="closeable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
- defaultValueLiteral="false"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="dirtyable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="contributionURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PartDescriptorContainer" abstract="true"
- interface="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="descriptors" upperBound="-1"
- eType="#//descriptor/basic/PartDescriptor" containment="true"/>
- </eClassifiers>
- </eSubpackages>
- </eSubpackages>
-</ecore:EPackage>
+<?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">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="commands" upperBound="-1"
+ eType="#//commands/Command" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="addons" upperBound="-1"
+ eType="#//Addon" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="categories" upperBound="-1"
+ eType="#//commands/Category" containment="true"/>
+ <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"/>
+ <eGenericSuperTypes eClassifier="#//ui/LifecycledElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ApplicationElement" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="persistedState" upperBound="-1"
+ eType="#//StringToStringMap" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="tags" upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="contributorURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="transientData" upperBound="-1"
+ eType="#//StringToObjectMap" transient="true" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Contribution" abstract="true" eSuperTypes="#//ApplicationElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="contributionURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="object" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
+ transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Addon" eSuperTypes="#//Contribution"/>
+ <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">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="bindingTables" upperBound="-1"
+ eType="#//commands/BindingTable" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rootContext" upperBound="-1"
+ eType="#//commands/BindingContext" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Bindings" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="bindingContexts" upperBound="-1"
+ eType="#//commands/BindingContext"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BindingContext" eSuperTypes="#//ApplicationElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//commands/BindingContext" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BindingTable" eSuperTypes="#//ApplicationElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1"
+ eType="#//commands/KeyBinding" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="bindingContext" lowerBound="1"
+ eType="#//commands/BindingContext"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Command" eSuperTypes="#//ApplicationElement">
+ <eOperations name="getLocalizedCommandName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eOperations name="getLocalizedDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="commandName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
+ eType="#//commands/CommandParameter" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="category" eType="#//commands/Category"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CommandParameter" eSuperTypes="#//ApplicationElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Handler" eSuperTypes="#//Contribution">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="command" lowerBound="1"
+ eType="#//commands/Command"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HandlerContainer" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="handlers" upperBound="-1"
+ eType="#//commands/Handler" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="KeyBinding" eSuperTypes="#//ApplicationElement #//commands/KeySequence">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="command" lowerBound="1"
+ eType="#//commands/Command"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
+ eType="#//commands/Parameter" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="KeySequence" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="keySequence" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//ApplicationElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" 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:EDataType" name="ParameterizedCommand" instanceClassName="org.eclipse.core.commands.ParameterizedCommand"
+ serializable="false"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Category" eSuperTypes="#//ApplicationElement">
+ <eOperations name="getLocalizedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eOperations name="getLocalizedDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </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">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="context" eType="#//IEclipseContext"
+ transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="variables" ordered="false"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
+ eType="#//StringToStringMap" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Dirtyable" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="dirty" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Input" abstract="true" interface="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="inputURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UIElement" abstract="true" eSuperTypes="#//ApplicationElement">
+ <eOperations name="getLocalizedAccessibilityPhrase" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="widget" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
+ transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="renderer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
+ transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="toBeRendered" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="onTop" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="visible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eOpposite="#//ui/ElementContainer/children">
+ <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"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="curSharedRef" eType="#//ui/advanced/Placeholder"
+ transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="visibleWhen" eType="#//ui/Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="accessibilityPhrase"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ElementContainer" abstract="true"
+ eSuperTypes="#//ui/UIElement">
+ <eTypeParameters name="T">
+ <eBounds eClassifier="#//ui/UIElement"/>
+ </eTypeParameters>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ containment="true" eOpposite="#//ui/UIElement/parent">
+ <eGenericType eTypeParameter="#//ui/ElementContainer/T"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="selectedElement">
+ <eGenericType eTypeParameter="#//ui/ElementContainer/T"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UILabel" abstract="true" interface="true">
+ <eOperations name="getLocalizedLabel" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eOperations name="getLocalizedTooltip" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="iconURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="tooltip" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GenericStack" abstract="true">
+ <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">
+ <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"/>
+ <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
+ <eTypeArguments eTypeParameter="#//ui/GenericTile/T"/>
+ </eGenericSuperTypes>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="GenericTrimContainer" abstract="true">
+ <eTypeParameters name="T">
+ <eBounds eClassifier="#//ui/UIElement"/>
+ </eTypeParameters>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="side" lowerBound="1"
+ eType="#//ui/SideValue"/>
+ <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
+ <eTypeArguments eTypeParameter="#//ui/GenericTrimContainer/T"/>
+ </eGenericSuperTypes>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="SideValue">
+ <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"/>
+ <eClassifiers xsi:type="ecore:EClass" name="CoreExpression" eSuperTypes="#//ui/Expression">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="coreExpressionId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral=""/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="coreExpression" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
+ transient="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SnippetContainer" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="snippets" upperBound="-1"
+ eType="#//ui/UIElement" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="LifecycledElement" abstract="true"
+ interface="true" eSuperTypes="#//ui/UIElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lifecyleURIs" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eSubpackages name="menu" nsURI="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu"
+ nsPrefix="menu">
+ <eClassifiers xsi:type="ecore:EEnum" name="ItemType">
+ <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">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="enabled" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="selected" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1"
+ eType="#//ui/menu/ItemType"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HandledItem" abstract="true" eSuperTypes="#//ui/menu/Item">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="command" eType="#//commands/Command"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="wbCommand" eType="#//commands/ParameterizedCommand"
+ transient="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
+ eType="#//commands/Parameter" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MenuElement" abstract="true" eSuperTypes="#//ui/UIElement #//ui/UILabel">
+ <eOperations name="getLocalizedMnemonics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mnemonics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MenuItem" abstract="true" eSuperTypes="#//ui/menu/Item #//ui/menu/MenuElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="MenuSeparator" eSuperTypes="#//ui/menu/MenuElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Menu">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="enabled" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="true"/>
+ <eGenericSuperTypes eClassifier="#//ui/menu/MenuElement"/>
+ <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
+ <eTypeArguments eClassifier="#//ui/menu/MenuElement"/>
+ </eGenericSuperTypes>
+ <eGenericSuperTypes eClassifier="#//ui/LifecycledElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MenuContribution">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="positionInParent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
+ defaultValueLiteral=""/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="parentId" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
+ <eTypeArguments eClassifier="#//ui/menu/MenuElement"/>
+ </eGenericSuperTypes>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PopupMenu" eSuperTypes="#//ui/menu/Menu #//ui/Context"/>
+ <eClassifiers xsi:type="ecore:EClass" name="DirectMenuItem" eSuperTypes="#//ui/menu/MenuItem #//Contribution"/>
+ <eClassifiers xsi:type="ecore:EClass" name="HandledMenuItem" eSuperTypes="#//ui/menu/MenuItem #//ui/menu/HandledItem"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ToolItem" abstract="true" eSuperTypes="#//ui/menu/Item #//ui/menu/ToolBarElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="menu" eType="#//ui/menu/Menu"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ToolBar">
+ <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"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ToolControl" eSuperTypes="#//ui/menu/ToolBarElement #//Contribution #//ui/basic/TrimElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="HandledToolItem" eSuperTypes="#//ui/menu/ToolItem #//ui/menu/HandledItem"/>
+ <eClassifiers xsi:type="ecore:EClass" name="DirectToolItem" eSuperTypes="#//ui/menu/ToolItem #//Contribution"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ToolBarSeparator" eSuperTypes="#//ui/menu/ToolBarElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="MenuContributions" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="menuContributions"
+ upperBound="-1" eType="#//ui/menu/MenuContribution" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RenderedMenu" eSuperTypes="#//ui/menu/Menu">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="contributionManager"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
+ transient="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RenderedToolBar" eSuperTypes="#//ui/menu/ToolBar">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="contributionManager"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
+ transient="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ToolBarContribution">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="parentId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="positionInParent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
+ <eTypeArguments eClassifier="#//ui/menu/ToolBarElement"/>
+ </eGenericSuperTypes>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ToolBarContributions" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toolBarContributions"
+ upperBound="-1" eType="#//ui/menu/ToolBarContribution" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TrimContribution">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="parentId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="positionInParent" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
+ <eTypeArguments eClassifier="#//ui/basic/TrimElement"/>
+ </eGenericSuperTypes>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TrimContributions" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="trimContributions"
+ upperBound="-1" eType="#//ui/menu/TrimContribution" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RenderedMenuItem" eSuperTypes="#//ui/menu/MenuItem">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="contributionItem" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
+ transient="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OpaqueToolItem" eSuperTypes="#//ui/menu/ToolItem">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="opaqueItem" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
+ transient="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OpaqueMenuItem" eSuperTypes="#//ui/menu/MenuItem">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="opaqueItem" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
+ transient="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OpaqueMenuSeparator" eSuperTypes="#//ui/menu/MenuSeparator">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="opaqueItem" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"
+ transient="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="OpaqueMenu" eSuperTypes="#//ui/menu/Menu"/>
+ </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">
+ <eOperations name="getLocalizedDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="menus" upperBound="-1"
+ eType="#//ui/menu/Menu" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toolbar" eType="#//ui/menu/ToolBar"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="closeable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InputPart" eSuperTypes="#//ui/basic/Part #//ui/Input"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PartStack">
+ <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">
+ <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">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="mainMenu" eType="#//ui/menu/Menu"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="x" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="-2147483648"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="-2147483648"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="width" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="height" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
+ defaultValueLiteral="-1"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="windows" upperBound="-1"
+ eType="#//ui/basic/Window" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sharedElements" upperBound="-1"
+ eType="#//ui/UIElement" containment="true"/>
+ <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"/>
+ <eGenericSuperTypes eClassifier="#//ui/LifecycledElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TrimmedWindow" eSuperTypes="#//ui/basic/Window">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="trimBars" upperBound="-1"
+ eType="#//ui/basic/TrimBar" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TrimElement" abstract="true" eSuperTypes="#//ui/UIElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PartSashContainerElement" abstract="true"
+ interface="true" eSuperTypes="#//ui/UIElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="WindowElement" abstract="true" interface="true"
+ eSuperTypes="#//ui/UIElement"/>
+ <eClassifiers xsi:type="ecore:EClass" name="TrimBar">
+ <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"/>
+ </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">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ref" lowerBound="1"
+ eType="#//ui/UIElement"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="closeable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Perspective">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="windows" upperBound="-1"
+ eType="#//ui/basic/Window" containment="true"/>
+ <eGenericSuperTypes eClassifier="#//ui/ElementContainer">
+ <eTypeArguments eClassifier="#//ui/basic/PartSashContainerElement"/>
+ </eGenericSuperTypes>
+ <eGenericSuperTypes eClassifier="#//ui/UILabel"/>
+ <eGenericSuperTypes eClassifier="#//ui/Context"/>
+ <eGenericSuperTypes eClassifier="#//ui/LifecycledElement"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PerspectiveStack">
+ <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"/>
+ </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">
+ <eOperations name="getLocalizedDescription" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="allowMultiple" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="category" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="menus" upperBound="-1"
+ eType="#//ui/menu/Menu" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toolbar" eType="#//ui/menu/ToolBar"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="closeable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
+ defaultValueLiteral="false"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="dirtyable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="contributionURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="description" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PartDescriptorContainer" abstract="true"
+ interface="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="descriptors" upperBound="-1"
+ eType="#//descriptor/basic/PartDescriptor" containment="true"/>
+ </eClassifiers>
+ </eSubpackages>
+ </eSubpackages>
+</ecore:EPackage>
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/MApplication.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/MApplication.java
index 7ce48cb..d9e7f91 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/MApplication.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/MApplication.java
@@ -19,6 +19,7 @@
import org.eclipse.e4.ui.model.application.descriptor.basic.MPartDescriptorContainer;
import org.eclipse.e4.ui.model.application.ui.MContext;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MSnippetContainer;
import org.eclipse.e4.ui.model.application.ui.basic.MWindow;
import org.eclipse.e4.ui.model.application.ui.menu.MMenuContributions;
@@ -42,7 +43,7 @@
* @model
* @generated
*/
-public interface MApplication extends MElementContainer<MWindow>, MContext, MHandlerContainer, MBindingTableContainer, MPartDescriptorContainer, MBindings, MMenuContributions, MToolBarContributions, MTrimContributions, MSnippetContainer {
+public interface MApplication extends MElementContainer<MWindow>, MContext, MHandlerContainer, MBindingTableContainer, MPartDescriptorContainer, MBindings, MMenuContributions, MToolBarContributions, MTrimContributions, MSnippetContainer, MLifecycledElement {
/**
* Returns the value of the '<em><b>Commands</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.e4.ui.model.application.commands.MCommand}.
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/commands/impl/CommandsFactoryImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/commands/impl/CommandsFactoryImpl.java
index 11e3b0a..b0c03c0 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/commands/impl/CommandsFactoryImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/commands/impl/CommandsFactoryImpl.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.e4.ui.model.application.commands.impl;
+import org.eclipse.e4.ui.model.application.commands.*;
import org.eclipse.e4.ui.model.application.commands.MBindingContext;
import org.eclipse.e4.ui.model.application.commands.MBindingTable;
import org.eclipse.e4.ui.model.application.commands.MCategory;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/commands/util/CommandsAdapterFactory.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/commands/util/CommandsAdapterFactory.java
index c832074..6ad0af6 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/commands/util/CommandsAdapterFactory.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/commands/util/CommandsAdapterFactory.java
@@ -12,6 +12,7 @@
import org.eclipse.e4.ui.model.application.MApplicationElement;
import org.eclipse.e4.ui.model.application.MContribution;
+import org.eclipse.e4.ui.model.application.commands.*;
import org.eclipse.e4.ui.model.application.commands.MBindingContext;
import org.eclipse.e4.ui.model.application.commands.MBindingTable;
import org.eclipse.e4.ui.model.application.commands.MBindingTableContainer;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/commands/util/CommandsSwitch.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/commands/util/CommandsSwitch.java
index f44f5fb..7538aaf 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/commands/util/CommandsSwitch.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/commands/util/CommandsSwitch.java
@@ -12,6 +12,7 @@
import org.eclipse.e4.ui.model.application.MApplicationElement;
import org.eclipse.e4.ui.model.application.MContribution;
+import org.eclipse.e4.ui.model.application.commands.*;
import org.eclipse.e4.ui.model.application.commands.MBindingContext;
import org.eclipse.e4.ui.model.application.commands.MBindingTable;
import org.eclipse.e4.ui.model.application.commands.MBindingTableContainer;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/descriptor/basic/impl/BasicFactoryImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/descriptor/basic/impl/BasicFactoryImpl.java
index 8374a8a..3579e98 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/descriptor/basic/impl/BasicFactoryImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/descriptor/basic/impl/BasicFactoryImpl.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.e4.ui.model.application.descriptor.basic.impl;
+import org.eclipse.e4.ui.model.application.descriptor.basic.*;
import org.eclipse.e4.ui.model.application.descriptor.basic.MBasicFactory;
import org.eclipse.e4.ui.model.application.descriptor.basic.MPartDescriptor;
import org.eclipse.emf.ecore.EClass;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/descriptor/basic/util/BasicAdapterFactory.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/descriptor/basic/util/BasicAdapterFactory.java
index 159fce8..d6aaa1f 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/descriptor/basic/util/BasicAdapterFactory.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/descriptor/basic/util/BasicAdapterFactory.java
@@ -13,6 +13,7 @@
import org.eclipse.e4.ui.model.application.MApplicationElement;
import org.eclipse.e4.ui.model.application.commands.MBindings;
import org.eclipse.e4.ui.model.application.commands.MHandlerContainer;
+import org.eclipse.e4.ui.model.application.descriptor.basic.*;
import org.eclipse.e4.ui.model.application.descriptor.basic.MPartDescriptor;
import org.eclipse.e4.ui.model.application.descriptor.basic.MPartDescriptorContainer;
import org.eclipse.e4.ui.model.application.descriptor.basic.impl.BasicPackageImpl;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/descriptor/basic/util/BasicSwitch.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/descriptor/basic/util/BasicSwitch.java
index f223ff7..d0ce648 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/descriptor/basic/util/BasicSwitch.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/descriptor/basic/util/BasicSwitch.java
@@ -13,6 +13,7 @@
import org.eclipse.e4.ui.model.application.MApplicationElement;
import org.eclipse.e4.ui.model.application.commands.MBindings;
import org.eclipse.e4.ui.model.application.commands.MHandlerContainer;
+import org.eclipse.e4.ui.model.application.descriptor.basic.*;
import org.eclipse.e4.ui.model.application.descriptor.basic.MPartDescriptor;
import org.eclipse.e4.ui.model.application.descriptor.basic.MPartDescriptorContainer;
import org.eclipse.e4.ui.model.application.descriptor.basic.impl.BasicPackageImpl;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/impl/ApplicationFactoryImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/impl/ApplicationFactoryImpl.java
index d41b015..3d3de47 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/impl/ApplicationFactoryImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/impl/ApplicationFactoryImpl.java
@@ -11,6 +11,7 @@
package org.eclipse.e4.ui.model.application.impl;
import java.util.Map;
+import org.eclipse.e4.ui.model.application.*;
import org.eclipse.e4.ui.model.application.MAddon;
import org.eclipse.e4.ui.model.application.MApplication;
import org.eclipse.e4.ui.model.application.MApplicationFactory;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/impl/ApplicationImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/impl/ApplicationImpl.java
index 2921352..88b068e 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/impl/ApplicationImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/impl/ApplicationImpl.java
@@ -29,6 +29,7 @@
import org.eclipse.e4.ui.model.application.descriptor.basic.MPartDescriptorContainer;
import org.eclipse.e4.ui.model.application.descriptor.basic.impl.BasicPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MContext;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MSnippetContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.basic.MWindow;
@@ -74,6 +75,7 @@
* <li>{@link org.eclipse.e4.ui.model.application.impl.ApplicationImpl#getToolBarContributions <em>Tool Bar Contributions</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.impl.ApplicationImpl#getTrimContributions <em>Trim Contributions</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.impl.ApplicationImpl#getSnippets <em>Snippets</em>}</li>
+ * <li>{@link org.eclipse.e4.ui.model.application.impl.ApplicationImpl#getLifecyleURIs <em>Lifecyle UR Is</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.impl.ApplicationImpl#getCommands <em>Commands</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.impl.ApplicationImpl#getAddons <em>Addons</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.impl.ApplicationImpl#getCategories <em>Categories</em>}</li>
@@ -214,6 +216,16 @@
protected EList<MUIElement> snippets;
/**
+ * The cached value of the '{@link #getLifecyleURIs() <em>Lifecyle UR Is</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLifecyleURIs()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> lifecyleURIs;
+
+ /**
* The cached value of the '{@link #getCommands() <em>Commands</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -420,6 +432,18 @@
* <!-- end-user-doc -->
* @generated
*/
+ public List<String> getLifecyleURIs() {
+ if (lifecyleURIs == null) {
+ lifecyleURIs = new EDataTypeUniqueEList<String>(String.class, this, ApplicationPackageImpl.APPLICATION__LIFECYLE_UR_IS);
+ }
+ return lifecyleURIs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public List<MCommand> getCommands() {
if (commands == null) {
commands = new EObjectContainmentEList<MCommand>(MCommand.class, this, ApplicationPackageImpl.APPLICATION__COMMANDS);
@@ -520,6 +544,8 @@
return getTrimContributions();
case ApplicationPackageImpl.APPLICATION__SNIPPETS:
return getSnippets();
+ case ApplicationPackageImpl.APPLICATION__LIFECYLE_UR_IS:
+ return getLifecyleURIs();
case ApplicationPackageImpl.APPLICATION__COMMANDS:
return getCommands();
case ApplicationPackageImpl.APPLICATION__ADDONS:
@@ -585,6 +611,10 @@
getSnippets().clear();
getSnippets().addAll((Collection<? extends MUIElement>)newValue);
return;
+ case ApplicationPackageImpl.APPLICATION__LIFECYLE_UR_IS:
+ getLifecyleURIs().clear();
+ getLifecyleURIs().addAll((Collection<? extends String>)newValue);
+ return;
case ApplicationPackageImpl.APPLICATION__COMMANDS:
getCommands().clear();
getCommands().addAll((Collection<? extends MCommand>)newValue);
@@ -645,6 +675,9 @@
case ApplicationPackageImpl.APPLICATION__SNIPPETS:
getSnippets().clear();
return;
+ case ApplicationPackageImpl.APPLICATION__LIFECYLE_UR_IS:
+ getLifecyleURIs().clear();
+ return;
case ApplicationPackageImpl.APPLICATION__COMMANDS:
getCommands().clear();
return;
@@ -690,6 +723,8 @@
return trimContributions != null && !trimContributions.isEmpty();
case ApplicationPackageImpl.APPLICATION__SNIPPETS:
return snippets != null && !snippets.isEmpty();
+ case ApplicationPackageImpl.APPLICATION__LIFECYLE_UR_IS:
+ return lifecyleURIs != null && !lifecyleURIs.isEmpty();
case ApplicationPackageImpl.APPLICATION__COMMANDS:
return commands != null && !commands.isEmpty();
case ApplicationPackageImpl.APPLICATION__ADDONS:
@@ -764,6 +799,12 @@
default: return -1;
}
}
+ if (baseClass == MLifecycledElement.class) {
+ switch (derivedFeatureID) {
+ case ApplicationPackageImpl.APPLICATION__LIFECYLE_UR_IS: return UiPackageImpl.LIFECYCLED_ELEMENT__LIFECYLE_UR_IS;
+ default: return -1;
+ }
+ }
return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
}
@@ -831,6 +872,12 @@
default: return -1;
}
}
+ if (baseClass == MLifecycledElement.class) {
+ switch (baseFeatureID) {
+ case UiPackageImpl.LIFECYCLED_ELEMENT__LIFECYLE_UR_IS: return ApplicationPackageImpl.APPLICATION__LIFECYLE_UR_IS;
+ default: return -1;
+ }
+ }
return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
}
@@ -848,6 +895,8 @@
result.append(context);
result.append(", variables: "); //$NON-NLS-1$
result.append(variables);
+ result.append(", lifecyleURIs: "); //$NON-NLS-1$
+ result.append(lifecyleURIs);
result.append(')');
return result.toString();
}
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/impl/ApplicationPackageImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/impl/ApplicationPackageImpl.java
index 96cae1e..13e691a 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/impl/ApplicationPackageImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/impl/ApplicationPackageImpl.java
@@ -470,13 +470,22 @@
public static final int APPLICATION__SNIPPETS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 11;
/**
+ * The feature id for the '<em><b>Lifecyle UR Is</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int APPLICATION__LIFECYLE_UR_IS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 12;
+
+ /**
* The feature id for the '<em><b>Commands</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int APPLICATION__COMMANDS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 12;
+ public static final int APPLICATION__COMMANDS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 13;
/**
* The feature id for the '<em><b>Addons</b></em>' containment reference list.
@@ -485,7 +494,7 @@
* @generated
* @ordered
*/
- public static final int APPLICATION__ADDONS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 13;
+ public static final int APPLICATION__ADDONS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 14;
/**
* The feature id for the '<em><b>Categories</b></em>' containment reference list.
@@ -494,7 +503,7 @@
* @generated
* @ordered
*/
- public static final int APPLICATION__CATEGORIES = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 14;
+ public static final int APPLICATION__CATEGORIES = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 15;
/**
* The number of structural features of the '<em>Application</em>' class.
@@ -503,7 +512,7 @@
* @generated
* @ordered
*/
- public static final int APPLICATION_FEATURE_COUNT = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 15;
+ public static final int APPLICATION_FEATURE_COUNT = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 16;
/**
* The operation id for the '<em>Get Localized Accessibility Phrase</em>' operation.
@@ -1292,6 +1301,8 @@
applicationEClass.getEGenericSuperTypes().add(g1);
g1 = createEGenericType(theUiPackage.getSnippetContainer());
applicationEClass.getEGenericSuperTypes().add(g1);
+ g1 = createEGenericType(theUiPackage.getLifecycledElement());
+ applicationEClass.getEGenericSuperTypes().add(g1);
contributionEClass.getESuperTypes().add(this.getApplicationElement());
addonEClass.getESuperTypes().add(this.getContribution());
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/MLifecycledElement.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/MLifecycledElement.java
new file mode 100644
index 0000000..e167b64
--- /dev/null
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/MLifecycledElement.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (c) 2008, 2012 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ */
+package org.eclipse.e4.ui.model.application.ui;
+
+import java.util.List;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Lifecycled Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.e4.ui.model.application.ui.MLifecycledElement#getLifecyleURIs <em>Lifecyle UR Is</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface MLifecycledElement extends MUIElement {
+ /**
+ * Returns the value of the '<em><b>Lifecyle UR Is</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lifecyle UR Is</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lifecyle UR Is</em>' attribute list.
+ * @model
+ * @generated
+ */
+ List<String> getLifecyleURIs();
+
+} // MLifecycledElement
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/MPerspective.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/MPerspective.java
index a36e304..3a62373 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/MPerspective.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/MPerspective.java
@@ -13,6 +13,7 @@
import java.util.List;
import org.eclipse.e4.ui.model.application.ui.MContext;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
import org.eclipse.e4.ui.model.application.ui.basic.MPartSashContainerElement;
import org.eclipse.e4.ui.model.application.ui.basic.MWindow;
@@ -32,7 +33,7 @@
* @model
* @generated
*/
-public interface MPerspective extends MElementContainer<MPartSashContainerElement>, MUILabel, MContext {
+public interface MPerspective extends MElementContainer<MPartSashContainerElement>, MUILabel, MContext, MLifecycledElement {
/**
* Returns the value of the '<em><b>Windows</b></em>' containment reference list.
* The list contents are of type {@link org.eclipse.e4.ui.model.application.ui.basic.MWindow}.
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/impl/AdvancedFactoryImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/impl/AdvancedFactoryImpl.java
index ff56b72..5d70d48 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/impl/AdvancedFactoryImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/impl/AdvancedFactoryImpl.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.e4.ui.model.application.ui.advanced.impl;
+import org.eclipse.e4.ui.model.application.ui.advanced.*;
import org.eclipse.e4.ui.model.application.ui.advanced.MAdvancedFactory;
import org.eclipse.e4.ui.model.application.ui.advanced.MArea;
import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/impl/AdvancedPackageImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/impl/AdvancedPackageImpl.java
index c6f42b9..91e1afc 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/impl/AdvancedPackageImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/impl/AdvancedPackageImpl.java
@@ -484,13 +484,22 @@
public static final int PERSPECTIVE__PROPERTIES = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 5;
/**
+ * The feature id for the '<em><b>Lifecyle UR Is</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int PERSPECTIVE__LIFECYLE_UR_IS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 6;
+
+ /**
* The feature id for the '<em><b>Windows</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int PERSPECTIVE__WINDOWS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 6;
+ public static final int PERSPECTIVE__WINDOWS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 7;
/**
* The number of structural features of the '<em>Perspective</em>' class.
@@ -499,7 +508,7 @@
* @generated
* @ordered
*/
- public static final int PERSPECTIVE_FEATURE_COUNT = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 7;
+ public static final int PERSPECTIVE_FEATURE_COUNT = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 8;
/**
* The operation id for the '<em>Get Localized Accessibility Phrase</em>' operation.
@@ -1254,6 +1263,8 @@
perspectiveEClass.getEGenericSuperTypes().add(g1);
g1 = createEGenericType(theUiPackage.getContext());
perspectiveEClass.getEGenericSuperTypes().add(g1);
+ g1 = createEGenericType(theUiPackage.getLifecycledElement());
+ perspectiveEClass.getEGenericSuperTypes().add(g1);
g1 = createEGenericType(theUiPackage.getUIElement());
perspectiveStackEClass.getEGenericSuperTypes().add(g1);
g1 = createEGenericType(theUiPackage.getGenericStack());
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/impl/PerspectiveImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/impl/PerspectiveImpl.java
index a1af521..ea98d5b 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/impl/PerspectiveImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/impl/PerspectiveImpl.java
@@ -19,6 +19,7 @@
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.impl.StringToStringMapImpl;
import org.eclipse.e4.ui.model.application.ui.MContext;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
import org.eclipse.e4.ui.model.application.ui.basic.MPartSashContainerElement;
@@ -51,6 +52,7 @@
* <li>{@link org.eclipse.e4.ui.model.application.ui.advanced.impl.PerspectiveImpl#getContext <em>Context</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.advanced.impl.PerspectiveImpl#getVariables <em>Variables</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.advanced.impl.PerspectiveImpl#getProperties <em>Properties</em>}</li>
+ * <li>{@link org.eclipse.e4.ui.model.application.ui.advanced.impl.PerspectiveImpl#getLifecyleURIs <em>Lifecyle UR Is</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.advanced.impl.PerspectiveImpl#getWindows <em>Windows</em>}</li>
* </ul>
* </p>
@@ -159,6 +161,16 @@
protected EMap<String, String> properties;
/**
+ * The cached value of the '{@link #getLifecyleURIs() <em>Lifecyle UR Is</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLifecyleURIs()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> lifecyleURIs;
+
+ /**
* The cached value of the '{@link #getWindows() <em>Windows</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -300,6 +312,18 @@
* <!-- end-user-doc -->
* @generated
*/
+ public List<String> getLifecyleURIs() {
+ if (lifecyleURIs == null) {
+ lifecyleURIs = new EDataTypeUniqueEList<String>(String.class, this, AdvancedPackageImpl.PERSPECTIVE__LIFECYLE_UR_IS);
+ }
+ return lifecyleURIs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public List<MWindow> getWindows() {
if (windows == null) {
windows = new EObjectContainmentEList<MWindow>(MWindow.class, this, AdvancedPackageImpl.PERSPECTIVE__WINDOWS);
@@ -360,6 +384,8 @@
case AdvancedPackageImpl.PERSPECTIVE__PROPERTIES:
if (coreType) return ((EMap.InternalMapView<String, String>)getProperties()).eMap();
else return getProperties();
+ case AdvancedPackageImpl.PERSPECTIVE__LIFECYLE_UR_IS:
+ return getLifecyleURIs();
case AdvancedPackageImpl.PERSPECTIVE__WINDOWS:
return getWindows();
}
@@ -394,6 +420,10 @@
case AdvancedPackageImpl.PERSPECTIVE__PROPERTIES:
((EStructuralFeature.Setting)((EMap.InternalMapView<String, String>)getProperties()).eMap()).set(newValue);
return;
+ case AdvancedPackageImpl.PERSPECTIVE__LIFECYLE_UR_IS:
+ getLifecyleURIs().clear();
+ getLifecyleURIs().addAll((Collection<? extends String>)newValue);
+ return;
case AdvancedPackageImpl.PERSPECTIVE__WINDOWS:
getWindows().clear();
getWindows().addAll((Collection<? extends MWindow>)newValue);
@@ -428,6 +458,9 @@
case AdvancedPackageImpl.PERSPECTIVE__PROPERTIES:
getProperties().clear();
return;
+ case AdvancedPackageImpl.PERSPECTIVE__LIFECYLE_UR_IS:
+ getLifecyleURIs().clear();
+ return;
case AdvancedPackageImpl.PERSPECTIVE__WINDOWS:
getWindows().clear();
return;
@@ -455,6 +488,8 @@
return variables != null && !variables.isEmpty();
case AdvancedPackageImpl.PERSPECTIVE__PROPERTIES:
return properties != null && !properties.isEmpty();
+ case AdvancedPackageImpl.PERSPECTIVE__LIFECYLE_UR_IS:
+ return lifecyleURIs != null && !lifecyleURIs.isEmpty();
case AdvancedPackageImpl.PERSPECTIVE__WINDOWS:
return windows != null && !windows.isEmpty();
}
@@ -484,6 +519,12 @@
default: return -1;
}
}
+ if (baseClass == MLifecycledElement.class) {
+ switch (derivedFeatureID) {
+ case AdvancedPackageImpl.PERSPECTIVE__LIFECYLE_UR_IS: return UiPackageImpl.LIFECYCLED_ELEMENT__LIFECYLE_UR_IS;
+ default: return -1;
+ }
+ }
return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
}
@@ -510,6 +551,12 @@
default: return -1;
}
}
+ if (baseClass == MLifecycledElement.class) {
+ switch (baseFeatureID) {
+ case UiPackageImpl.LIFECYCLED_ELEMENT__LIFECYLE_UR_IS: return AdvancedPackageImpl.PERSPECTIVE__LIFECYLE_UR_IS;
+ default: return -1;
+ }
+ }
return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
}
@@ -532,6 +579,11 @@
default: return -1;
}
}
+ if (baseClass == MLifecycledElement.class) {
+ switch (baseOperationID) {
+ default: return -1;
+ }
+ }
return super.eDerivedOperationID(baseOperationID, baseClass);
}
@@ -571,6 +623,8 @@
result.append(context);
result.append(", variables: "); //$NON-NLS-1$
result.append(variables);
+ result.append(", lifecyleURIs: "); //$NON-NLS-1$
+ result.append(lifecyleURIs);
result.append(')');
return result.toString();
}
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/util/AdvancedAdapterFactory.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/util/AdvancedAdapterFactory.java
index 864e573..235b514 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/util/AdvancedAdapterFactory.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/util/AdvancedAdapterFactory.java
@@ -15,8 +15,10 @@
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MGenericStack;
import org.eclipse.e4.ui.model.application.ui.MGenericTile;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
+import org.eclipse.e4.ui.model.application.ui.advanced.*;
import org.eclipse.e4.ui.model.application.ui.advanced.MArea;
import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
import org.eclipse.e4.ui.model.application.ui.advanced.MPerspectiveStack;
@@ -132,6 +134,10 @@
return createContextAdapter();
}
@Override
+ public Adapter caseLifecycledElement(MLifecycledElement object) {
+ return createLifecycledElementAdapter();
+ }
+ @Override
public <T extends MUIElement> Adapter caseGenericStack(MGenericStack<T> object) {
return createGenericStackAdapter();
}
@@ -322,6 +328,20 @@
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.ui.model.application.ui.MLifecycledElement <em>Lifecycled Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.ui.model.application.ui.MLifecycledElement
+ * @generated
+ */
+ public Adapter createLifecycledElementAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for an object of class '{@link org.eclipse.e4.ui.model.application.ui.MGenericStack <em>Generic Stack</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/util/AdvancedSwitch.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/util/AdvancedSwitch.java
index 954e649..b7bcd6a 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/util/AdvancedSwitch.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/advanced/util/AdvancedSwitch.java
@@ -15,8 +15,10 @@
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MGenericStack;
import org.eclipse.e4.ui.model.application.ui.MGenericTile;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
+import org.eclipse.e4.ui.model.application.ui.advanced.*;
import org.eclipse.e4.ui.model.application.ui.advanced.MArea;
import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
import org.eclipse.e4.ui.model.application.ui.advanced.MPerspectiveStack;
@@ -103,6 +105,7 @@
if (result == null) result = caseElementContainer(perspective);
if (result == null) result = caseUILabel(perspective);
if (result == null) result = caseContext(perspective);
+ if (result == null) result = caseLifecycledElement(perspective);
if (result == null) result = caseUIElement(perspective);
if (result == null) result = caseApplicationElement(perspective);
if (result == null) result = defaultCase(theEObject);
@@ -304,6 +307,21 @@
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Lifecycled Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lifecycled Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseLifecycledElement(MLifecycledElement object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>Generic Stack</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/MWindow.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/MWindow.java
index de44054..de05cd5 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/MWindow.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/MWindow.java
@@ -15,6 +15,7 @@
import org.eclipse.e4.ui.model.application.commands.MHandlerContainer;
import org.eclipse.e4.ui.model.application.ui.MContext;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MSnippetContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
@@ -41,7 +42,7 @@
* @model
* @generated
*/
-public interface MWindow extends MElementContainer<MWindowElement>, MUILabel, MContext, MHandlerContainer, MBindings, MSnippetContainer {
+public interface MWindow extends MElementContainer<MWindowElement>, MUILabel, MContext, MHandlerContainer, MBindings, MSnippetContainer, MLifecycledElement {
/**
* Returns the value of the '<em><b>Main Menu</b></em>' containment reference.
* <!-- begin-user-doc -->
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/impl/BasicFactoryImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/impl/BasicFactoryImpl.java
index 4190634..68ac102 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/impl/BasicFactoryImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/impl/BasicFactoryImpl.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.e4.ui.model.application.ui.basic.impl;
+import org.eclipse.e4.ui.model.application.ui.basic.*;
import org.eclipse.e4.ui.model.application.ui.basic.MBasicFactory;
import org.eclipse.e4.ui.model.application.ui.basic.MInputPart;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/impl/BasicPackageImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/impl/BasicPackageImpl.java
index 8a4e6c7..454444d 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/impl/BasicPackageImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/impl/BasicPackageImpl.java
@@ -1455,13 +1455,22 @@
public static final int WINDOW__SNIPPETS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 8;
/**
+ * The feature id for the '<em><b>Lifecyle UR Is</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int WINDOW__LIFECYLE_UR_IS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 9;
+
+ /**
* The feature id for the '<em><b>Main Menu</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int WINDOW__MAIN_MENU = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 9;
+ public static final int WINDOW__MAIN_MENU = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 10;
/**
* The feature id for the '<em><b>X</b></em>' attribute.
@@ -1470,7 +1479,7 @@
* @generated
* @ordered
*/
- public static final int WINDOW__X = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 10;
+ public static final int WINDOW__X = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 11;
/**
* The feature id for the '<em><b>Y</b></em>' attribute.
@@ -1479,7 +1488,7 @@
* @generated
* @ordered
*/
- public static final int WINDOW__Y = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 11;
+ public static final int WINDOW__Y = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 12;
/**
* The feature id for the '<em><b>Width</b></em>' attribute.
@@ -1488,7 +1497,7 @@
* @generated
* @ordered
*/
- public static final int WINDOW__WIDTH = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 12;
+ public static final int WINDOW__WIDTH = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 13;
/**
* The feature id for the '<em><b>Height</b></em>' attribute.
@@ -1497,7 +1506,7 @@
* @generated
* @ordered
*/
- public static final int WINDOW__HEIGHT = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 13;
+ public static final int WINDOW__HEIGHT = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 14;
/**
* The feature id for the '<em><b>Windows</b></em>' containment reference list.
@@ -1506,7 +1515,7 @@
* @generated
* @ordered
*/
- public static final int WINDOW__WINDOWS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 14;
+ public static final int WINDOW__WINDOWS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 15;
/**
* The feature id for the '<em><b>Shared Elements</b></em>' containment reference list.
@@ -1515,7 +1524,7 @@
* @generated
* @ordered
*/
- public static final int WINDOW__SHARED_ELEMENTS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 15;
+ public static final int WINDOW__SHARED_ELEMENTS = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 16;
/**
* The number of structural features of the '<em>Window</em>' class.
@@ -1524,7 +1533,7 @@
* @generated
* @ordered
*/
- public static final int WINDOW_FEATURE_COUNT = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 16;
+ public static final int WINDOW_FEATURE_COUNT = UiPackageImpl.ELEMENT_CONTAINER_FEATURE_COUNT + 17;
/**
* The operation id for the '<em>Get Localized Accessibility Phrase</em>' operation.
@@ -1797,6 +1806,15 @@
public static final int TRIMMED_WINDOW__SNIPPETS = WINDOW__SNIPPETS;
/**
+ * The feature id for the '<em><b>Lifecyle UR Is</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int TRIMMED_WINDOW__LIFECYLE_UR_IS = WINDOW__LIFECYLE_UR_IS;
+
+ /**
* The feature id for the '<em><b>Main Menu</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3355,6 +3373,8 @@
windowEClass.getEGenericSuperTypes().add(g1);
g1 = createEGenericType(theUiPackage.getSnippetContainer());
windowEClass.getEGenericSuperTypes().add(g1);
+ g1 = createEGenericType(theUiPackage.getLifecycledElement());
+ windowEClass.getEGenericSuperTypes().add(g1);
trimmedWindowEClass.getESuperTypes().add(this.getWindow());
trimElementEClass.getESuperTypes().add(theUiPackage.getUIElement());
partSashContainerElementEClass.getESuperTypes().add(theUiPackage.getUIElement());
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/impl/WindowImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/impl/WindowImpl.java
index 5c2203b..eaccd7d 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/impl/WindowImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/impl/WindowImpl.java
@@ -24,6 +24,7 @@
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.impl.StringToStringMapImpl;
import org.eclipse.e4.ui.model.application.ui.MContext;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MSnippetContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
@@ -62,6 +63,7 @@
* <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.WindowImpl#getHandlers <em>Handlers</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.WindowImpl#getBindingContexts <em>Binding Contexts</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.WindowImpl#getSnippets <em>Snippets</em>}</li>
+ * <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.WindowImpl#getLifecyleURIs <em>Lifecyle UR Is</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.WindowImpl#getMainMenu <em>Main Menu</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.WindowImpl#getX <em>X</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.basic.impl.WindowImpl#getY <em>Y</em>}</li>
@@ -206,6 +208,16 @@
protected EList<MUIElement> snippets;
/**
+ * The cached value of the '{@link #getLifecyleURIs() <em>Lifecyle UR Is</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLifecyleURIs()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> lifecyleURIs;
+
+ /**
* The cached value of the '{@link #getMainMenu() <em>Main Menu</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -483,6 +495,18 @@
* <!-- end-user-doc -->
* @generated
*/
+ public List<String> getLifecyleURIs() {
+ if (lifecyleURIs == null) {
+ lifecyleURIs = new EDataTypeUniqueEList<String>(String.class, this, BasicPackageImpl.WINDOW__LIFECYLE_UR_IS);
+ }
+ return lifecyleURIs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public MMenu getMainMenu() {
return mainMenu;
}
@@ -696,6 +720,8 @@
return getBindingContexts();
case BasicPackageImpl.WINDOW__SNIPPETS:
return getSnippets();
+ case BasicPackageImpl.WINDOW__LIFECYLE_UR_IS:
+ return getLifecyleURIs();
case BasicPackageImpl.WINDOW__MAIN_MENU:
return getMainMenu();
case BasicPackageImpl.WINDOW__X:
@@ -754,6 +780,10 @@
getSnippets().clear();
getSnippets().addAll((Collection<? extends MUIElement>)newValue);
return;
+ case BasicPackageImpl.WINDOW__LIFECYLE_UR_IS:
+ getLifecyleURIs().clear();
+ getLifecyleURIs().addAll((Collection<? extends String>)newValue);
+ return;
case BasicPackageImpl.WINDOW__MAIN_MENU:
setMainMenu((MMenu)newValue);
return;
@@ -816,6 +846,9 @@
case BasicPackageImpl.WINDOW__SNIPPETS:
getSnippets().clear();
return;
+ case BasicPackageImpl.WINDOW__LIFECYLE_UR_IS:
+ getLifecyleURIs().clear();
+ return;
case BasicPackageImpl.WINDOW__MAIN_MENU:
setMainMenu((MMenu)null);
return;
@@ -867,6 +900,8 @@
return bindingContexts != null && !bindingContexts.isEmpty();
case BasicPackageImpl.WINDOW__SNIPPETS:
return snippets != null && !snippets.isEmpty();
+ case BasicPackageImpl.WINDOW__LIFECYLE_UR_IS:
+ return lifecyleURIs != null && !lifecyleURIs.isEmpty();
case BasicPackageImpl.WINDOW__MAIN_MENU:
return mainMenu != null;
case BasicPackageImpl.WINDOW__X:
@@ -926,6 +961,12 @@
default: return -1;
}
}
+ if (baseClass == MLifecycledElement.class) {
+ switch (derivedFeatureID) {
+ case BasicPackageImpl.WINDOW__LIFECYLE_UR_IS: return UiPackageImpl.LIFECYCLED_ELEMENT__LIFECYLE_UR_IS;
+ default: return -1;
+ }
+ }
return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
}
@@ -970,6 +1011,12 @@
default: return -1;
}
}
+ if (baseClass == MLifecycledElement.class) {
+ switch (baseFeatureID) {
+ case UiPackageImpl.LIFECYCLED_ELEMENT__LIFECYLE_UR_IS: return BasicPackageImpl.WINDOW__LIFECYLE_UR_IS;
+ default: return -1;
+ }
+ }
return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
}
@@ -1007,6 +1054,11 @@
default: return -1;
}
}
+ if (baseClass == MLifecycledElement.class) {
+ switch (baseOperationID) {
+ default: return -1;
+ }
+ }
return super.eDerivedOperationID(baseOperationID, baseClass);
}
@@ -1046,6 +1098,8 @@
result.append(context);
result.append(", variables: "); //$NON-NLS-1$
result.append(variables);
+ result.append(", lifecyleURIs: "); //$NON-NLS-1$
+ result.append(lifecyleURIs);
result.append(", x: "); //$NON-NLS-1$
result.append(x);
result.append(", y: "); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/util/BasicAdapterFactory.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/util/BasicAdapterFactory.java
index b4561ac..d2ea163 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/util/BasicAdapterFactory.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/util/BasicAdapterFactory.java
@@ -21,9 +21,11 @@
import org.eclipse.e4.ui.model.application.ui.MGenericTile;
import org.eclipse.e4.ui.model.application.ui.MGenericTrimContainer;
import org.eclipse.e4.ui.model.application.ui.MInput;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MSnippetContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
+import org.eclipse.e4.ui.model.application.ui.basic.*;
import org.eclipse.e4.ui.model.application.ui.basic.MInputPart;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.e4.ui.model.application.ui.basic.MPartSashContainer;
@@ -194,6 +196,10 @@
return createSnippetContainerAdapter();
}
@Override
+ public Adapter caseLifecycledElement(MLifecycledElement object) {
+ return createLifecycledElementAdapter();
+ }
+ @Override
public <T extends MUIElement> Adapter caseGenericTrimContainer(MGenericTrimContainer<T> object) {
return createGenericTrimContainerAdapter();
}
@@ -554,6 +560,20 @@
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.ui.model.application.ui.MLifecycledElement <em>Lifecycled Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.ui.model.application.ui.MLifecycledElement
+ * @generated
+ */
+ public Adapter createLifecycledElementAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for an object of class '{@link org.eclipse.e4.ui.model.application.ui.MGenericTrimContainer <em>Generic Trim Container</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/util/BasicSwitch.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/util/BasicSwitch.java
index 7ae3910..6e91b1c 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/util/BasicSwitch.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/basic/util/BasicSwitch.java
@@ -21,9 +21,11 @@
import org.eclipse.e4.ui.model.application.ui.MGenericTile;
import org.eclipse.e4.ui.model.application.ui.MGenericTrimContainer;
import org.eclipse.e4.ui.model.application.ui.MInput;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MSnippetContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
+import org.eclipse.e4.ui.model.application.ui.basic.*;
import org.eclipse.e4.ui.model.application.ui.basic.MInputPart;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.e4.ui.model.application.ui.basic.MPartSashContainer;
@@ -166,6 +168,7 @@
if (result == null) result = caseHandlerContainer(window);
if (result == null) result = caseBindings(window);
if (result == null) result = caseSnippetContainer(window);
+ if (result == null) result = caseLifecycledElement(window);
if (result == null) result = caseUIElement(window);
if (result == null) result = caseApplicationElement(window);
if (result == null) result = defaultCase(theEObject);
@@ -181,6 +184,7 @@
if (result == null) result = caseHandlerContainer(trimmedWindow);
if (result == null) result = caseBindings(trimmedWindow);
if (result == null) result = caseSnippetContainer(trimmedWindow);
+ if (result == null) result = caseLifecycledElement(trimmedWindow);
if (result == null) result = caseUIElement(trimmedWindow);
if (result == null) result = caseApplicationElement(trimmedWindow);
if (result == null) result = defaultCase(theEObject);
@@ -593,6 +597,21 @@
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Lifecycled Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lifecycled Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseLifecycledElement(MLifecycledElement object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>Generic Trim Container</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/impl/UiFactoryImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/impl/UiFactoryImpl.java
index 97c92c1..f9d4934 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/impl/UiFactoryImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/impl/UiFactoryImpl.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.e4.ui.model.application.ui.impl;
+import org.eclipse.e4.ui.model.application.ui.*;
import org.eclipse.e4.ui.model.application.ui.MCoreExpression;
import org.eclipse.e4.ui.model.application.ui.MUiFactory;
import org.eclipse.e4.ui.model.application.ui.SideValue;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/impl/UiPackageImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/impl/UiPackageImpl.java
index 298c676..723ca91 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/impl/UiPackageImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/impl/UiPackageImpl.java
@@ -21,6 +21,7 @@
import org.eclipse.e4.ui.model.application.ui.MGenericTile;
import org.eclipse.e4.ui.model.application.ui.MGenericTrimContainer;
import org.eclipse.e4.ui.model.application.ui.MInput;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MSnippetContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
@@ -1442,6 +1443,187 @@
public static final int SNIPPET_CONTAINER_OPERATION_COUNT = 0;
/**
+ * The meta object id for the '{@link org.eclipse.e4.ui.model.application.ui.MLifecycledElement <em>Lifecycled Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.ui.model.application.ui.MLifecycledElement
+ * @see org.eclipse.e4.ui.model.application.ui.impl.UiPackageImpl#getLifecycledElement()
+ * @generated
+ */
+ public static final int LIFECYCLED_ELEMENT = 12;
+
+ /**
+ * The feature id for the '<em><b>Element Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__ELEMENT_ID = UI_ELEMENT__ELEMENT_ID;
+
+ /**
+ * The feature id for the '<em><b>Persisted State</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__PERSISTED_STATE = UI_ELEMENT__PERSISTED_STATE;
+
+ /**
+ * The feature id for the '<em><b>Tags</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__TAGS = UI_ELEMENT__TAGS;
+
+ /**
+ * The feature id for the '<em><b>Contributor URI</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__CONTRIBUTOR_URI = UI_ELEMENT__CONTRIBUTOR_URI;
+
+ /**
+ * The feature id for the '<em><b>Transient Data</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__TRANSIENT_DATA = UI_ELEMENT__TRANSIENT_DATA;
+
+ /**
+ * The feature id for the '<em><b>Widget</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__WIDGET = UI_ELEMENT__WIDGET;
+
+ /**
+ * The feature id for the '<em><b>Renderer</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__RENDERER = UI_ELEMENT__RENDERER;
+
+ /**
+ * The feature id for the '<em><b>To Be Rendered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__TO_BE_RENDERED = UI_ELEMENT__TO_BE_RENDERED;
+
+ /**
+ * The feature id for the '<em><b>On Top</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__ON_TOP = UI_ELEMENT__ON_TOP;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__VISIBLE = UI_ELEMENT__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__PARENT = UI_ELEMENT__PARENT;
+
+ /**
+ * The feature id for the '<em><b>Container Data</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__CONTAINER_DATA = UI_ELEMENT__CONTAINER_DATA;
+
+ /**
+ * The feature id for the '<em><b>Cur Shared Ref</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__CUR_SHARED_REF = UI_ELEMENT__CUR_SHARED_REF;
+
+ /**
+ * The feature id for the '<em><b>Visible When</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__VISIBLE_WHEN = UI_ELEMENT__VISIBLE_WHEN;
+
+ /**
+ * The feature id for the '<em><b>Accessibility Phrase</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__ACCESSIBILITY_PHRASE = UI_ELEMENT__ACCESSIBILITY_PHRASE;
+
+ /**
+ * The feature id for the '<em><b>Lifecyle UR Is</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT__LIFECYLE_UR_IS = UI_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Lifecycled Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT_FEATURE_COUNT = UI_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Get Localized Accessibility Phrase</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT___GET_LOCALIZED_ACCESSIBILITY_PHRASE = UI_ELEMENT___GET_LOCALIZED_ACCESSIBILITY_PHRASE;
+
+ /**
+ * The number of operations of the '<em>Lifecycled Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int LIFECYCLED_ELEMENT_OPERATION_COUNT = UI_ELEMENT_OPERATION_COUNT + 0;
+
+ /**
* The meta object id for the '{@link org.eclipse.e4.ui.model.application.ui.SideValue <em>Side Value</em>}' enum.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1449,7 +1631,7 @@
* @see org.eclipse.e4.ui.model.application.ui.impl.UiPackageImpl#getSideValue()
* @generated
*/
- public static final int SIDE_VALUE = 12;
+ public static final int SIDE_VALUE = 13;
/**
* <!-- begin-user-doc -->
@@ -1540,6 +1722,13 @@
* <!-- end-user-doc -->
* @generated
*/
+ private EClass lifecycledElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EEnum sideValueEEnum = null;
/**
@@ -2142,6 +2331,33 @@
/**
+ * Returns the meta object for class '{@link org.eclipse.e4.ui.model.application.ui.MLifecycledElement <em>Lifecycled Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Lifecycled Element</em>'.
+ * @see org.eclipse.e4.ui.model.application.ui.MLifecycledElement
+ * @generated
+ */
+ public EClass getLifecycledElement() {
+ return lifecycledElementEClass;
+ }
+
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.e4.ui.model.application.ui.MLifecycledElement#getLifecyleURIs <em>Lifecyle UR Is</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Lifecyle UR Is</em>'.
+ * @see org.eclipse.e4.ui.model.application.ui.MLifecycledElement#getLifecyleURIs()
+ * @see #getLifecycledElement()
+ * @generated
+ */
+ public EAttribute getLifecycledElement_LifecyleURIs() {
+ return (EAttribute)lifecycledElementEClass.getEStructuralFeatures().get(0);
+ }
+
+
+ /**
* Returns the meta object for enum '{@link org.eclipse.e4.ui.model.application.ui.SideValue <em>Side Value</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2235,6 +2451,9 @@
snippetContainerEClass = createEClass(SNIPPET_CONTAINER);
createEReference(snippetContainerEClass, SNIPPET_CONTAINER__SNIPPETS);
+ lifecycledElementEClass = createEClass(LIFECYCLED_ELEMENT);
+ createEAttribute(lifecycledElementEClass, LIFECYCLED_ELEMENT__LIFECYLE_UR_IS);
+
// Create enums
sideValueEEnum = createEEnum(SIDE_VALUE);
}
@@ -2306,6 +2525,7 @@
genericTrimContainerEClass.getEGenericSuperTypes().add(g1);
expressionEClass.getESuperTypes().add(theApplicationPackage.getApplicationElement());
coreExpressionEClass.getESuperTypes().add(this.getExpression());
+ lifecycledElementEClass.getESuperTypes().add(this.getUIElement());
// Initialize classes, features, and operations; add parameters
initEClass(contextEClass, MContext.class, "Context", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
@@ -2368,6 +2588,9 @@
initEClass(snippetContainerEClass, MSnippetContainer.class, "SnippetContainer", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
initEReference(getSnippetContainer_Snippets(), this.getUIElement(), null, "snippets", null, 0, -1, MSnippetContainer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+ initEClass(lifecycledElementEClass, MLifecycledElement.class, "LifecycledElement", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEAttribute(getLifecycledElement_LifecyleURIs(), ecorePackage.getEString(), "lifecyleURIs", null, 0, -1, MLifecycledElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
+
// Initialize enums and add enum literals
initEEnum(sideValueEEnum, SideValue.class, "SideValue"); //$NON-NLS-1$
addEEnumLiteral(sideValueEEnum, SideValue.TOP);
@@ -2734,6 +2957,24 @@
public static final EReference SNIPPET_CONTAINER__SNIPPETS = eINSTANCE.getSnippetContainer_Snippets();
/**
+ * The meta object literal for the '{@link org.eclipse.e4.ui.model.application.ui.MLifecycledElement <em>Lifecycled Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.ui.model.application.ui.MLifecycledElement
+ * @see org.eclipse.e4.ui.model.application.ui.impl.UiPackageImpl#getLifecycledElement()
+ * @generated
+ */
+ public static final EClass LIFECYCLED_ELEMENT = eINSTANCE.getLifecycledElement();
+
+ /**
+ * The meta object literal for the '<em><b>Lifecyle UR Is</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EAttribute LIFECYCLED_ELEMENT__LIFECYLE_UR_IS = eINSTANCE.getLifecycledElement_LifecyleURIs();
+
+ /**
* The meta object literal for the '{@link org.eclipse.e4.ui.model.application.ui.SideValue <em>Side Value</em>}' enum.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/MMenu.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/MMenu.java
index d58006f..6879ff0 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/MMenu.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/MMenu.java
@@ -11,6 +11,7 @@
package org.eclipse.e4.ui.model.application.ui.menu;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
/**
* <!-- begin-user-doc -->
@@ -27,7 +28,7 @@
* @model
* @generated
*/
-public interface MMenu extends MMenuElement, MElementContainer<MMenuElement> {
+public interface MMenu extends MMenuElement, MElementContainer<MMenuElement>, MLifecycledElement {
/**
* Returns the value of the '<em><b>Enabled</b></em>' attribute.
* The default value is <code>"true"</code>.
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuFactoryImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuFactoryImpl.java
index 674df3d..6c8f9c7 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuFactoryImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuFactoryImpl.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.e4.ui.model.application.ui.menu.impl;
+import org.eclipse.e4.ui.model.application.ui.menu.*;
import org.eclipse.e4.ui.model.application.ui.menu.ItemType;
import org.eclipse.e4.ui.model.application.ui.menu.MDirectMenuItem;
import org.eclipse.e4.ui.model.application.ui.menu.MDirectToolItem;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuImpl.java
index f79a71c..43d0759 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuImpl.java
@@ -13,6 +13,7 @@
import java.util.Collection;
import java.util.List;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.impl.UiPackageImpl;
import org.eclipse.e4.ui.model.application.ui.menu.MMenu;
@@ -24,6 +25,7 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.InternalEList;
@@ -36,6 +38,7 @@
* <ul>
* <li>{@link org.eclipse.e4.ui.model.application.ui.menu.impl.MenuImpl#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.menu.impl.MenuImpl#getSelectedElement <em>Selected Element</em>}</li>
+ * <li>{@link org.eclipse.e4.ui.model.application.ui.menu.impl.MenuImpl#getLifecyleURIs <em>Lifecyle UR Is</em>}</li>
* <li>{@link org.eclipse.e4.ui.model.application.ui.menu.impl.MenuImpl#isEnabled <em>Enabled</em>}</li>
* </ul>
* </p>
@@ -64,6 +67,16 @@
protected MMenuElement selectedElement;
/**
+ * The cached value of the '{@link #getLifecyleURIs() <em>Lifecyle UR Is</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLifecyleURIs()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> lifecyleURIs;
+
+ /**
* The default value of the '{@link #isEnabled() <em>Enabled</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -157,6 +170,18 @@
* <!-- end-user-doc -->
* @generated
*/
+ public List<String> getLifecyleURIs() {
+ if (lifecyleURIs == null) {
+ lifecyleURIs = new EDataTypeUniqueEList<String>(String.class, this, MenuPackageImpl.MENU__LIFECYLE_UR_IS);
+ }
+ return lifecyleURIs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public boolean isEnabled() {
return enabled;
}
@@ -215,6 +240,8 @@
case MenuPackageImpl.MENU__SELECTED_ELEMENT:
if (resolve) return getSelectedElement();
return basicGetSelectedElement();
+ case MenuPackageImpl.MENU__LIFECYLE_UR_IS:
+ return getLifecyleURIs();
case MenuPackageImpl.MENU__ENABLED:
return isEnabled();
}
@@ -237,6 +264,10 @@
case MenuPackageImpl.MENU__SELECTED_ELEMENT:
setSelectedElement((MMenuElement)newValue);
return;
+ case MenuPackageImpl.MENU__LIFECYLE_UR_IS:
+ getLifecyleURIs().clear();
+ getLifecyleURIs().addAll((Collection<? extends String>)newValue);
+ return;
case MenuPackageImpl.MENU__ENABLED:
setEnabled((Boolean)newValue);
return;
@@ -258,6 +289,9 @@
case MenuPackageImpl.MENU__SELECTED_ELEMENT:
setSelectedElement((MMenuElement)null);
return;
+ case MenuPackageImpl.MENU__LIFECYLE_UR_IS:
+ getLifecyleURIs().clear();
+ return;
case MenuPackageImpl.MENU__ENABLED:
setEnabled(ENABLED_EDEFAULT);
return;
@@ -277,6 +311,8 @@
return children != null && !children.isEmpty();
case MenuPackageImpl.MENU__SELECTED_ELEMENT:
return selectedElement != null;
+ case MenuPackageImpl.MENU__LIFECYLE_UR_IS:
+ return lifecyleURIs != null && !lifecyleURIs.isEmpty();
case MenuPackageImpl.MENU__ENABLED:
return enabled != ENABLED_EDEFAULT;
}
@@ -297,6 +333,12 @@
default: return -1;
}
}
+ if (baseClass == MLifecycledElement.class) {
+ switch (derivedFeatureID) {
+ case MenuPackageImpl.MENU__LIFECYLE_UR_IS: return UiPackageImpl.LIFECYCLED_ELEMENT__LIFECYLE_UR_IS;
+ default: return -1;
+ }
+ }
return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
}
@@ -314,6 +356,12 @@
default: return -1;
}
}
+ if (baseClass == MLifecycledElement.class) {
+ switch (baseFeatureID) {
+ case UiPackageImpl.LIFECYCLED_ELEMENT__LIFECYLE_UR_IS: return MenuPackageImpl.MENU__LIFECYLE_UR_IS;
+ default: return -1;
+ }
+ }
return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
}
@@ -327,7 +375,9 @@
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
- result.append(" (enabled: "); //$NON-NLS-1$
+ result.append(" (lifecyleURIs: "); //$NON-NLS-1$
+ result.append(lifecyleURIs);
+ result.append(", enabled: "); //$NON-NLS-1$
result.append(enabled);
result.append(')');
return result.toString();
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuPackageImpl.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuPackageImpl.java
index bec00b8..c4c0afe 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuPackageImpl.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/impl/MenuPackageImpl.java
@@ -1551,13 +1551,22 @@
public static final int MENU__SELECTED_ELEMENT = MENU_ELEMENT_FEATURE_COUNT + 1;
/**
+ * The feature id for the '<em><b>Lifecyle UR Is</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int MENU__LIFECYLE_UR_IS = MENU_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
* The feature id for the '<em><b>Enabled</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- public static final int MENU__ENABLED = MENU_ELEMENT_FEATURE_COUNT + 2;
+ public static final int MENU__ENABLED = MENU_ELEMENT_FEATURE_COUNT + 3;
/**
* The number of structural features of the '<em>Menu</em>' class.
@@ -1566,7 +1575,7 @@
* @generated
* @ordered
*/
- public static final int MENU_FEATURE_COUNT = MENU_ELEMENT_FEATURE_COUNT + 3;
+ public static final int MENU_FEATURE_COUNT = MENU_ELEMENT_FEATURE_COUNT + 4;
/**
* The operation id for the '<em>Get Localized Accessibility Phrase</em>' operation.
@@ -2021,6 +2030,15 @@
public static final int POPUP_MENU__SELECTED_ELEMENT = MENU__SELECTED_ELEMENT;
/**
+ * The feature id for the '<em><b>Lifecyle UR Is</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int POPUP_MENU__LIFECYLE_UR_IS = MENU__LIFECYLE_UR_IS;
+
+ /**
* The feature id for the '<em><b>Enabled</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -4444,6 +4462,15 @@
public static final int RENDERED_MENU__SELECTED_ELEMENT = MENU__SELECTED_ELEMENT;
/**
+ * The feature id for the '<em><b>Lifecyle UR Is</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int RENDERED_MENU__LIFECYLE_UR_IS = MENU__LIFECYLE_UR_IS;
+
+ /**
* The feature id for the '<em><b>Enabled</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -6452,6 +6479,15 @@
public static final int OPAQUE_MENU__SELECTED_ELEMENT = MENU__SELECTED_ELEMENT;
/**
+ * The feature id for the '<em><b>Lifecyle UR Is</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ public static final int OPAQUE_MENU__LIFECYLE_UR_IS = MENU__LIFECYLE_UR_IS;
+
+ /**
* The feature id for the '<em><b>Enabled</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -7697,6 +7733,8 @@
EGenericType g2 = createEGenericType(this.getMenuElement());
g1.getETypeArguments().add(g2);
menuEClass.getEGenericSuperTypes().add(g1);
+ g1 = createEGenericType(theUiPackage.getLifecycledElement());
+ menuEClass.getEGenericSuperTypes().add(g1);
g1 = createEGenericType(theUiPackage.getElementContainer());
g2 = createEGenericType(this.getMenuElement());
g1.getETypeArguments().add(g2);
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/util/MenuAdapterFactory.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/util/MenuAdapterFactory.java
index c50d3f9..7d021a7 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/util/MenuAdapterFactory.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/util/MenuAdapterFactory.java
@@ -14,9 +14,11 @@
import org.eclipse.e4.ui.model.application.MContribution;
import org.eclipse.e4.ui.model.application.ui.MContext;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
import org.eclipse.e4.ui.model.application.ui.basic.MTrimElement;
+import org.eclipse.e4.ui.model.application.ui.menu.*;
import org.eclipse.e4.ui.model.application.ui.menu.MDirectMenuItem;
import org.eclipse.e4.ui.model.application.ui.menu.MDirectToolItem;
import org.eclipse.e4.ui.model.application.ui.menu.MHandledItem;
@@ -241,6 +243,10 @@
return createElementContainerAdapter();
}
@Override
+ public Adapter caseLifecycledElement(MLifecycledElement object) {
+ return createLifecycledElementAdapter();
+ }
+ @Override
public Adapter caseContext(MContext object) {
return createContextAdapter();
}
@@ -735,6 +741,20 @@
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.ui.model.application.ui.MLifecycledElement <em>Lifecycled Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.ui.model.application.ui.MLifecycledElement
+ * @generated
+ */
+ public Adapter createLifecycledElementAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for an object of class '{@link org.eclipse.e4.ui.model.application.ui.MContext <em>Context</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/util/MenuSwitch.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/util/MenuSwitch.java
index 23acb34..359c9fd 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/util/MenuSwitch.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/menu/util/MenuSwitch.java
@@ -14,9 +14,11 @@
import org.eclipse.e4.ui.model.application.MContribution;
import org.eclipse.e4.ui.model.application.ui.MContext;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.MUILabel;
import org.eclipse.e4.ui.model.application.ui.basic.MTrimElement;
+import org.eclipse.e4.ui.model.application.ui.menu.*;
import org.eclipse.e4.ui.model.application.ui.menu.MDirectMenuItem;
import org.eclipse.e4.ui.model.application.ui.menu.MDirectToolItem;
import org.eclipse.e4.ui.model.application.ui.menu.MHandledItem;
@@ -162,6 +164,7 @@
T1 result = caseMenu(menu);
if (result == null) result = caseMenuElement(menu);
if (result == null) result = caseElementContainer(menu);
+ if (result == null) result = caseLifecycledElement(menu);
if (result == null) result = caseUIElement(menu);
if (result == null) result = caseUILabel(menu);
if (result == null) result = caseApplicationElement(menu);
@@ -184,6 +187,7 @@
if (result == null) result = caseContext(popupMenu);
if (result == null) result = caseMenuElement(popupMenu);
if (result == null) result = caseElementContainer(popupMenu);
+ if (result == null) result = caseLifecycledElement(popupMenu);
if (result == null) result = caseUIElement(popupMenu);
if (result == null) result = caseUILabel(popupMenu);
if (result == null) result = caseApplicationElement(popupMenu);
@@ -303,6 +307,7 @@
if (result == null) result = caseMenu(renderedMenu);
if (result == null) result = caseMenuElement(renderedMenu);
if (result == null) result = caseElementContainer(renderedMenu);
+ if (result == null) result = caseLifecycledElement(renderedMenu);
if (result == null) result = caseUIElement(renderedMenu);
if (result == null) result = caseUILabel(renderedMenu);
if (result == null) result = caseApplicationElement(renderedMenu);
@@ -403,6 +408,7 @@
if (result == null) result = caseMenu(opaqueMenu);
if (result == null) result = caseMenuElement(opaqueMenu);
if (result == null) result = caseElementContainer(opaqueMenu);
+ if (result == null) result = caseLifecycledElement(opaqueMenu);
if (result == null) result = caseUIElement(opaqueMenu);
if (result == null) result = caseUILabel(opaqueMenu);
if (result == null) result = caseApplicationElement(opaqueMenu);
@@ -909,6 +915,21 @@
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Lifecycled Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lifecycled Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseLifecycledElement(MLifecycledElement object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>Context</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/util/UiAdapterFactory.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/util/UiAdapterFactory.java
index dd37f9e..058802d 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/util/UiAdapterFactory.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/util/UiAdapterFactory.java
@@ -11,6 +11,7 @@
package org.eclipse.e4.ui.model.application.ui.util;
import org.eclipse.e4.ui.model.application.MApplicationElement;
+import org.eclipse.e4.ui.model.application.ui.*;
import org.eclipse.e4.ui.model.application.ui.MContext;
import org.eclipse.e4.ui.model.application.ui.MCoreExpression;
import org.eclipse.e4.ui.model.application.ui.MDirtyable;
@@ -134,6 +135,10 @@
return createSnippetContainerAdapter();
}
@Override
+ public Adapter caseLifecycledElement(MLifecycledElement object) {
+ return createLifecycledElementAdapter();
+ }
+ @Override
public Adapter caseApplicationElement(MApplicationElement object) {
return createApplicationElementAdapter();
}
@@ -326,6 +331,20 @@
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.ui.model.application.ui.MLifecycledElement <em>Lifecycled Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.ui.model.application.ui.MLifecycledElement
+ * @generated
+ */
+ public Adapter createLifecycledElementAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for an object of class '{@link org.eclipse.e4.ui.model.application.MApplicationElement <em>Element</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/util/UiSwitch.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/util/UiSwitch.java
index b8ffb09..8e8bc6a 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/util/UiSwitch.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/ui/util/UiSwitch.java
@@ -11,6 +11,7 @@
package org.eclipse.e4.ui.model.application.ui.util;
import org.eclipse.e4.ui.model.application.MApplicationElement;
+import org.eclipse.e4.ui.model.application.ui.*;
import org.eclipse.e4.ui.model.application.ui.MContext;
import org.eclipse.e4.ui.model.application.ui.MCoreExpression;
import org.eclipse.e4.ui.model.application.ui.MDirtyable;
@@ -172,6 +173,14 @@
if (result == null) result = defaultCase(theEObject);
return result;
}
+ case UiPackageImpl.LIFECYCLED_ELEMENT: {
+ MLifecycledElement lifecycledElement = (MLifecycledElement)theEObject;
+ T1 result = caseLifecycledElement(lifecycledElement);
+ if (result == null) result = caseUIElement(lifecycledElement);
+ if (result == null) result = caseApplicationElement(lifecycledElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
default: return defaultCase(theEObject);
}
}
@@ -357,6 +366,21 @@
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Lifecycled Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lifecycled Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseLifecycledElement(MLifecycledElement object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>Element</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/util/ApplicationAdapterFactory.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/util/ApplicationAdapterFactory.java
index 4f818b0..5563d41 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/util/ApplicationAdapterFactory.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/util/ApplicationAdapterFactory.java
@@ -11,6 +11,7 @@
package org.eclipse.e4.ui.model.application.util;
import java.util.Map;
+import org.eclipse.e4.ui.model.application.*;
import org.eclipse.e4.ui.model.application.MAddon;
import org.eclipse.e4.ui.model.application.MApplication;
import org.eclipse.e4.ui.model.application.MApplicationElement;
@@ -22,6 +23,7 @@
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MContext;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MSnippetContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.menu.MMenuContributions;
@@ -157,6 +159,10 @@
return createSnippetContainerAdapter();
}
@Override
+ public Adapter caseLifecycledElement(MLifecycledElement object) {
+ return createLifecycledElementAdapter();
+ }
+ @Override
public Adapter defaultCase(EObject object) {
return createEObjectAdapter();
}
@@ -415,6 +421,20 @@
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.ui.model.application.ui.MLifecycledElement <em>Lifecycled Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.ui.model.application.ui.MLifecycledElement
+ * @generated
+ */
+ public Adapter createLifecycledElementAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->
* This default implementation returns null.
diff --git a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/util/ApplicationSwitch.java b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/util/ApplicationSwitch.java
index 1aa0769..47641fd 100644
--- a/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/util/ApplicationSwitch.java
+++ b/bundles/org.eclipse.e4.ui.model.workbench/src/org/eclipse/e4/ui/model/application/util/ApplicationSwitch.java
@@ -11,6 +11,7 @@
package org.eclipse.e4.ui.model.application.util;
import java.util.Map;
+import org.eclipse.e4.ui.model.application.*;
import org.eclipse.e4.ui.model.application.MAddon;
import org.eclipse.e4.ui.model.application.MApplication;
import org.eclipse.e4.ui.model.application.MApplicationElement;
@@ -22,6 +23,7 @@
import org.eclipse.e4.ui.model.application.impl.ApplicationPackageImpl;
import org.eclipse.e4.ui.model.application.ui.MContext;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
import org.eclipse.e4.ui.model.application.ui.MSnippetContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.menu.MMenuContributions;
@@ -107,6 +109,7 @@
if (result == null) result = caseToolBarContributions(application);
if (result == null) result = caseTrimContributions(application);
if (result == null) result = caseSnippetContainer(application);
+ if (result == null) result = caseLifecycledElement(application);
if (result == null) result = caseUIElement(application);
if (result == null) result = caseApplicationElement(application);
if (result == null) result = defaultCase(theEObject);
@@ -399,6 +402,21 @@
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Lifecycled Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Lifecycled Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T1 caseLifecycledElement(MLifecycledElement object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java
index e10afdd..caa4f1e 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerShowProcessor.java
@@ -13,6 +13,8 @@
import java.util.HashMap;
import javax.inject.Inject;
import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.ui.di.LifecycleAboutToHide;
+import org.eclipse.e4.ui.di.LifecycleAboutToShow;
import org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer;
import org.eclipse.e4.ui.internal.workbench.swt.Policy;
import org.eclipse.e4.ui.internal.workbench.swt.WorkbenchSWTActivator;
@@ -20,6 +22,7 @@
import org.eclipse.e4.ui.model.application.ui.menu.MMenu;
import org.eclipse.e4.ui.model.application.ui.menu.MPopupMenu;
import org.eclipse.e4.ui.workbench.modeling.EModelService;
+import org.eclipse.e4.ui.workbench.modeling.LifecycleHelper;
import org.eclipse.e4.ui.workbench.swt.factories.IRendererFactory;
import org.eclipse.jface.action.IMenuListener2;
import org.eclipse.jface.action.IMenuManager;
@@ -65,6 +68,10 @@
MenuManager menuManager = (MenuManager) manager;
final MMenu menuModel = renderer.getMenuModel(menuManager);
final Menu menu = menuManager.getMenu();
+
+ LifecycleHelper.invokeLifecycleHandlers(modelService, menuModel,
+ LifecycleAboutToShow.class);
+
if (menuModel != null && menuManager != null) {
cleanUp(menu, menuModel, menuManager);
}
@@ -96,6 +103,10 @@
}
MenuManager menuManager = (MenuManager) manager;
final MMenu menuModel = renderer.getMenuModel(menuManager);
+
+ LifecycleHelper.invokeLifecycleHandlers(modelService, menuModel,
+ LifecycleAboutToHide.class);
+
final Menu menu = menuManager.getMenu();
if (menuModel != null) {
showMenu(menu, menuModel, menuManager);
diff --git a/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/workbench/modeling/LifecycleHelper.java b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/workbench/modeling/LifecycleHelper.java
new file mode 100644
index 0000000..2b82e13
--- /dev/null
+++ b/bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/ui/workbench/modeling/LifecycleHelper.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2012 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ ******************************************************************************/
+
+package org.eclipse.e4.ui.workbench.modeling;
+
+import java.lang.annotation.Annotation;
+import org.eclipse.e4.core.contexts.ContextInjectionFactory;
+import org.eclipse.e4.core.contexts.IEclipseContext;
+import org.eclipse.e4.core.services.contributions.IContributionFactory;
+import org.eclipse.e4.ui.model.application.ui.MLifecycledElement;
+
+/**
+ * Utility methods
+ */
+public class LifecycleHelper {
+ /**
+ * Invoke all lifecycle listeners
+ *
+ * @param modelService
+ * the model service
+ * @param element
+ * the lifecycle element
+ * @param annotation
+ * the annotation to invoke
+ */
+ public static void invokeLifecycleHandlers(EModelService modelService,
+ MLifecycledElement element, Class<? extends Annotation> annotation) {
+ if (!element.getLifecyleURIs().isEmpty()) {
+ IEclipseContext modelContext = modelService.getContainingContext(element);
+ IContributionFactory contributionFactory = (IContributionFactory) modelContext
+ .get(IContributionFactory.class.getName());
+
+ for (String u : element.getLifecyleURIs()) {
+ Object o = element.getTransientData().get(u);
+ if (o == null) {
+ o = contributionFactory.create(u, modelContext);
+ element.getTransientData().put(u, o);
+ }
+ ContextInjectionFactory.invoke(o, annotation, modelContext, null);
+ }
+ }
+ }
+
+ /**
+ * Invoke all lifecycle listeners
+ *
+ * @param modelService
+ * the model service
+ * @param element
+ * the lifecycle element
+ * @param annotation
+ * the annotation to invoke
+ * @return collected boolean value
+ */
+ public static boolean invokeBooleanLifecycleHandlers(EModelService modelService,
+ MLifecycledElement element, Class<? extends Annotation> annotation) {
+ boolean rv = true;
+ if (!element.getLifecyleURIs().isEmpty()) {
+ IEclipseContext modelContext = modelService.getContainingContext(element);
+ IContributionFactory contributionFactory = (IContributionFactory) modelContext
+ .get(IContributionFactory.class.getName());
+
+ for (String u : element.getLifecyleURIs()) {
+ Object o = element.getTransientData().get(u);
+ if (o == null) {
+ o = contributionFactory.create(u, modelContext);
+ element.getTransientData().put(u, o);
+ }
+ rv &= (Boolean) ContextInjectionFactory.invoke(o, annotation, modelContext,
+ Boolean.TRUE);
+ }
+ }
+ return rv;
+ }
+}