Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMélanie Bats2016-01-28 08:54:35 +0000
committerPierre-Charles David2016-02-02 10:43:43 +0000
commit935544fc9588ebb2dbebcf40676fe4faff4a15a8 (patch)
tree64aad762e3db6defe0faa32b39183d4d9255a141
parenta8a12d81f6285dacc5048fcf97612686eae712e3 (diff)
downloadorg.eclipse.sirius-935544fc9588ebb2dbebcf40676fe4faff4a15a8.tar.gz
org.eclipse.sirius-935544fc9588ebb2dbebcf40676fe4faff4a15a8.tar.xz
org.eclipse.sirius-935544fc9588ebb2dbebcf40676fe4faff4a15a8.zip
[482528] Contribute select description to the view description
A new SelectDescription is defined in properties.ecore. The SelectDescription is a new kind of widget which describes a combo in the properties view. Bug: 482528 Change-Id: If85a38d82278511109c65b3fc5d3a7e8ddc3e621 Signed-off-by: Mélanie Bats <melanie.bats@obeo.fr> Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/META-INF/MANIFEST.MF5
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/help/contexts.xml56
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/plugin.xml52
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingcase/DynamicMappingCaseCaseExpressionFilter.java43
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingfor/DynamicMappingForDomainClassExpressionFilter.java43
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingfor/DynamicMappingForIteratorFilter.java43
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingswitch/DynamicMappingSwitchSwitchExpressionFilter.java43
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/selectdescription/SelectDescriptionCandidateDisplayExpressionFilter.java43
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/selectdescription/SelectDescriptionCandidatesExpressionFilter.java43
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/selectdescription/SelectDescriptionValueExpressionFilter.java43
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingcase/DynamicMappingCaseCaseExpressionPropertySection.java92
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingfor/DynamicMappingForDomainClassExpressionPropertySection.java93
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingfor/DynamicMappingForIteratorPropertySection.java92
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingswitch/DynamicMappingSwitchSwitchExpressionPropertySection.java92
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/groupdescription/GroupDescriptionLabelExpressionPropertySection.java2
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/groupdescription/GroupDescriptionSemanticCandidateExpressionPropertySection.java2
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/pagedescription/PageDescriptionLabelExpressionPropertySection.java2
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/pagedescription/PageDescriptionSemanticCandidateExpressionPropertySection.java2
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/selectdescription/SelectDescriptionCandidateDisplayExpressionPropertySection.java115
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/selectdescription/SelectDescriptionCandidatesExpressionPropertySection.java115
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/selectdescription/SelectDescriptionValueExpressionPropertySection.java114
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/textdescription/TextDescriptionValueExpressionPropertySection.java2
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/viewextensiondescription/ViewExtensionDescriptionLabelExpressionPropertySection.java2
-rw-r--r--incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/widgetdescription/WidgetDescriptionLabelExpressionPropertySection.java2
-rw-r--r--incubation/org.eclipse.sirius.properties.edit/icons/full/ctool16/CreateContainerDescription_widgets_SelectDescription.gifbin0 -> 223 bytes
-rw-r--r--incubation/org.eclipse.sirius.properties.edit/icons/full/ctool16/CreateDynamicMappingCase_widget_SelectDescription.gifbin0 -> 223 bytes
-rw-r--r--incubation/org.eclipse.sirius.properties.edit/icons/full/ctool16/CreateSelectDescription_initialOperation_InitialOperation.gifbin0 -> 223 bytes
-rw-r--r--incubation/org.eclipse.sirius.properties.edit/icons/full/obj16/SelectDescription.gifbin0 -> 129 bytes
-rw-r--r--incubation/org.eclipse.sirius.properties.edit/plugin.properties5
-rw-r--r--incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/ContainerDescriptionItemProvider.java5
-rw-r--r--incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/DynamicMappingCaseItemProvider.java5
-rw-r--r--incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/PropertiesItemProviderAdapterFactory.java24
-rw-r--r--incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/SelectDescriptionItemProvider.java231
-rw-r--r--incubation/org.eclipse.sirius.properties/model/properties.ecore28
-rw-r--r--incubation/org.eclipse.sirius.properties/model/properties.genmodel20
-rw-r--r--incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/PropertiesFactory.java9
-rw-r--r--incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/PropertiesPackage.java170
-rw-r--r--incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/SelectDescription.java140
-rw-r--r--incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/PropertiesFactoryImpl.java11
-rw-r--r--incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/PropertiesPackageImpl.java66
-rw-r--r--incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/SelectDescriptionImpl.java361
-rw-r--r--incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/util/PropertiesAdapterFactory.java18
-rw-r--r--incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/util/PropertiesSwitch.java22
-rw-r--r--incubation/org.eclipse.sirius.sample.properties/description/project.odesign20
-rw-r--r--incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/tabprovider/ViewDescriptionConverter.java14
45 files changed, 2267 insertions, 23 deletions
diff --git a/incubation/org.eclipse.sirius.editor.properties/META-INF/MANIFEST.MF b/incubation/org.eclipse.sirius.editor.properties/META-INF/MANIFEST.MF
index 35dcecf691..ca33c961f8 100644
--- a/incubation/org.eclipse.sirius.editor.properties/META-INF/MANIFEST.MF
+++ b/incubation/org.eclipse.sirius.editor.properties/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-Name: Properties
Bundle-SymbolicName: org.eclipse.sirius.editor.properties;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
-Require-Bundle: com.google.guava;bundle-version="[11.0.2,16.0)",
+Require-Bundle: com.google.guava;bundle-version="[11.0.2,16.0)",
org.eclipse.core.runtime;bundle-version="3.8.0",
org.eclipse.emf.edit.ui;bundle-version="2.3.1",
org.eclipse.sirius.common;bundle-version="2.0.0",
@@ -14,4 +14,5 @@ Require-Bundle: com.google.guava;bundle-version="[11.0.2,16.0)",
org.eclipse.sirius.editor;bundle-version="2.0.0",
org.eclipse.ui.ide;bundle-version="3.5.200",
org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.300",
- org.eclipse.ui.workbench.texteditor;bundle-version="3.8.0"
+ org.eclipse.ui.workbench.texteditor;bundle-version="3.8.0",
+ org.eclipse.sirius.ext.swt;bundle-version="4.0.0"
diff --git a/incubation/org.eclipse.sirius.editor.properties/help/contexts.xml b/incubation/org.eclipse.sirius.editor.properties/help/contexts.xml
index 22e453c4af..5897e2c6ab 100644
--- a/incubation/org.eclipse.sirius.editor.properties/help/contexts.xml
+++ b/incubation/org.eclipse.sirius.editor.properties/help/contexts.xml
@@ -66,4 +66,60 @@
</description>
</context>
+ <context id="LabelDescription">
+ <description>
+
+
+
+ <!-- Start of user code LabelDescription description -->
+
+ <!-- End of user code LabelDescription description -->
+
+ </description>
+ </context>
+ <context id="DynamicMappingFor">
+ <description>
+
+
+
+ <!-- Start of user code DynamicMappingFor description -->
+
+ <!-- End of user code DynamicMappingFor description -->
+
+ </description>
+ </context>
+ <context id="DynamicMappingSwitch">
+ <description>
+
+
+
+ <!-- Start of user code DynamicMappingSwitch description -->
+
+ <!-- End of user code DynamicMappingSwitch description -->
+
+ </description>
+ </context>
+ <context id="DynamicMappingCase">
+ <description>
+
+
+
+ <!-- Start of user code DynamicMappingCase description -->
+
+ <!-- End of user code DynamicMappingCase description -->
+
+ </description>
+ </context>
+ <context id="SelectDescription">
+ <description>
+ Represents a collection of candidates used to edit a single or multi-valued property.
+
+
+
+ <!-- Start of user code SelectDescription description -->
+
+ <!-- End of user code SelectDescription description -->
+
+ </description>
+ </context>
</contexts> \ No newline at end of file
diff --git a/incubation/org.eclipse.sirius.editor.properties/plugin.xml b/incubation/org.eclipse.sirius.editor.properties/plugin.xml
index 651a35d54e..23cd7c3324 100644
--- a/incubation/org.eclipse.sirius.editor.properties/plugin.xml
+++ b/incubation/org.eclipse.sirius.editor.properties/plugin.xml
@@ -19,6 +19,58 @@
<extension point="org.eclipse.ui.views.properties.tabbed.propertySections">
<propertySections contributorId="org.eclipse.sirius.editor.editorPlugin.SiriusEditorContributor">
<propertySection
+ class="org.eclipse.sirius.properties.editor.properties.sections.properties.selectdescription.SelectDescriptionCandidateDisplayExpressionPropertySection"
+ id="properties.section.selectDescription.CandidateDisplayExpression"
+ filter="org.eclipse.sirius.properties.editor.properties.filters.properties.selectdescription.SelectDescriptionCandidateDisplayExpressionFilter"
+ afterSection="properties.section.selectDescription.CandidatesExpression"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.properties.SelectDescription"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.properties.editor.properties.sections.properties.selectdescription.SelectDescriptionCandidatesExpressionPropertySection"
+ id="properties.section.selectDescription.CandidatesExpression"
+ filter="org.eclipse.sirius.properties.editor.properties.filters.properties.selectdescription.SelectDescriptionCandidatesExpressionFilter"
+ afterSection="properties.section.selectDescription.ValueExpression"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.properties.SelectDescription"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.properties.editor.properties.sections.properties.selectdescription.SelectDescriptionValueExpressionPropertySection"
+ id="properties.section.selectDescription.ValueExpression"
+ filter="org.eclipse.sirius.properties.editor.properties.filters.properties.selectdescription.SelectDescriptionValueExpressionFilter"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.properties.SelectDescription"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.properties.editor.properties.sections.properties.dynamicmappingcase.DynamicMappingCaseCaseExpressionPropertySection"
+ id="properties.section.dynamicMappingCase.CaseExpression"
+ filter="org.eclipse.sirius.properties.editor.properties.filters.properties.dynamicmappingcase.DynamicMappingCaseCaseExpressionFilter"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.properties.DynamicMappingCase"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.properties.editor.properties.sections.properties.dynamicmappingswitch.DynamicMappingSwitchSwitchExpressionPropertySection"
+ id="properties.section.dynamicMappingSwitch.SwitchExpression"
+ filter="org.eclipse.sirius.properties.editor.properties.filters.properties.dynamicmappingswitch.DynamicMappingSwitchSwitchExpressionFilter"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.properties.DynamicMappingSwitch"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.properties.editor.properties.sections.properties.dynamicmappingfor.DynamicMappingForDomainClassExpressionPropertySection"
+ id="properties.section.dynamicMappingFor.DomainClassExpression"
+ filter="org.eclipse.sirius.properties.editor.properties.filters.properties.dynamicmappingfor.DynamicMappingForDomainClassExpressionFilter"
+ afterSection="properties.section.dynamicMappingFor.Iterator"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.properties.DynamicMappingFor"/>
+ </propertySection>
+ <propertySection
+ class="org.eclipse.sirius.properties.editor.properties.sections.properties.dynamicmappingfor.DynamicMappingForIteratorPropertySection"
+ id="properties.section.dynamicMappingFor.Iterator"
+ filter="org.eclipse.sirius.properties.editor.properties.filters.properties.dynamicmappingfor.DynamicMappingForIteratorFilter"
+ tab="viewpoint.tab.general">
+ <input type="org.eclipse.sirius.properties.DynamicMappingFor"/>
+ </propertySection>
+ <propertySection
class="org.eclipse.sirius.properties.editor.properties.sections.properties.textdescription.TextDescriptionValueExpressionPropertySection"
id="properties.section.textDescription.ValueExpression"
filter="org.eclipse.sirius.properties.editor.properties.filters.properties.textdescription.TextDescriptionValueExpressionFilter"
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingcase/DynamicMappingCaseCaseExpressionFilter.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingcase/DynamicMappingCaseCaseExpressionFilter.java
new file mode 100644
index 0000000000..3b87578d3b
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingcase/DynamicMappingCaseCaseExpressionFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.filters.properties.dynamicmappingcase;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.properties.PropertiesPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the caseExpression property section.
+ */
+public class DynamicMappingCaseCaseExpressionFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return PropertiesPackage.eINSTANCE.getDynamicMappingCase_CaseExpression();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.properties.DynamicMappingCase;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingfor/DynamicMappingForDomainClassExpressionFilter.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingfor/DynamicMappingForDomainClassExpressionFilter.java
new file mode 100644
index 0000000000..44e21659f7
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingfor/DynamicMappingForDomainClassExpressionFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.filters.properties.dynamicmappingfor;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.properties.PropertiesPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the domainClassExpression property section.
+ */
+public class DynamicMappingForDomainClassExpressionFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return PropertiesPackage.eINSTANCE.getDynamicMappingFor_DomainClassExpression();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.properties.DynamicMappingFor;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingfor/DynamicMappingForIteratorFilter.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingfor/DynamicMappingForIteratorFilter.java
new file mode 100644
index 0000000000..2d7763528e
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingfor/DynamicMappingForIteratorFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.filters.properties.dynamicmappingfor;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.properties.PropertiesPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the iterator property section.
+ */
+public class DynamicMappingForIteratorFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return PropertiesPackage.eINSTANCE.getDynamicMappingFor_Iterator();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.properties.DynamicMappingFor;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingswitch/DynamicMappingSwitchSwitchExpressionFilter.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingswitch/DynamicMappingSwitchSwitchExpressionFilter.java
new file mode 100644
index 0000000000..7fbe191b2d
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/dynamicmappingswitch/DynamicMappingSwitchSwitchExpressionFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.filters.properties.dynamicmappingswitch;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.properties.PropertiesPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the switchExpression property section.
+ */
+public class DynamicMappingSwitchSwitchExpressionFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return PropertiesPackage.eINSTANCE.getDynamicMappingSwitch_SwitchExpression();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.properties.DynamicMappingSwitch;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/selectdescription/SelectDescriptionCandidateDisplayExpressionFilter.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/selectdescription/SelectDescriptionCandidateDisplayExpressionFilter.java
new file mode 100644
index 0000000000..eb11ad82d9
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/selectdescription/SelectDescriptionCandidateDisplayExpressionFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.filters.properties.selectdescription;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.properties.PropertiesPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the candidateDisplayExpression property section.
+ */
+public class SelectDescriptionCandidateDisplayExpressionFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return PropertiesPackage.eINSTANCE.getSelectDescription_CandidateDisplayExpression();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.properties.SelectDescription;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/selectdescription/SelectDescriptionCandidatesExpressionFilter.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/selectdescription/SelectDescriptionCandidatesExpressionFilter.java
new file mode 100644
index 0000000000..f43381306a
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/selectdescription/SelectDescriptionCandidatesExpressionFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.filters.properties.selectdescription;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.properties.PropertiesPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the candidatesExpression property section.
+ */
+public class SelectDescriptionCandidatesExpressionFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return PropertiesPackage.eINSTANCE.getSelectDescription_CandidatesExpression();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.properties.SelectDescription;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/selectdescription/SelectDescriptionValueExpressionFilter.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/selectdescription/SelectDescriptionValueExpressionFilter.java
new file mode 100644
index 0000000000..5487f853bb
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/filters/properties/selectdescription/SelectDescriptionValueExpressionFilter.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.filters.properties.selectdescription;
+
+// Start of user code specific imports
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.sirius.editor.properties.filters.common.ViewpointPropertyFilter;
+import org.eclipse.sirius.properties.PropertiesPackage;
+
+// End of user code specific imports
+
+/**
+ * A filter for the valueExpression property section.
+ */
+public class SelectDescriptionValueExpressionFilter extends ViewpointPropertyFilter {
+
+ /**
+ * {@inheritDoc}
+ */
+ protected EStructuralFeature getFeature() {
+ return PropertiesPackage.eINSTANCE.getSelectDescription_ValueExpression();
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isRightInputType(Object arg0) {
+ return arg0 instanceof org.eclipse.sirius.properties.SelectDescription;
+ }
+
+ // Start of user code user methods
+
+ // End of user code user methods
+
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingcase/DynamicMappingCaseCaseExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingcase/DynamicMappingCaseCaseExpressionPropertySection.java
new file mode 100644
index 0000000000..c2e6424015
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingcase/DynamicMappingCaseCaseExpressionPropertySection.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.sections.properties.dynamicmappingcase;
+
+// Start of user code imports
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection;
+import org.eclipse.sirius.properties.PropertiesPackage;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the caseExpression property of a DynamicMappingCase object.
+ */
+public class DynamicMappingCaseCaseExpressionPropertySection extends AbstractTextPropertySection {
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "CaseExpression"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + "*:"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return PropertiesPackage.eINSTANCE.getDynamicMappingCase_CaseExpression();
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+
+ nameLabel.setFont(SiriusEditor.getFontRegistry().get("required"));
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingfor/DynamicMappingForDomainClassExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingfor/DynamicMappingForDomainClassExpressionPropertySection.java
new file mode 100644
index 0000000000..2a0cc0fa87
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingfor/DynamicMappingForDomainClassExpressionPropertySection.java
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.sections.properties.dynamicmappingfor;
+
+// Start of user code imports
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection;
+import org.eclipse.sirius.properties.PropertiesPackage;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the domainClassExpression property of a DynamicMappingFor
+ * object.
+ */
+public class DynamicMappingForDomainClassExpressionPropertySection extends AbstractTextPropertySection {
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "DomainClassExpression"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + "*:"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return PropertiesPackage.eINSTANCE.getDynamicMappingFor_DomainClassExpression();
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+
+ nameLabel.setFont(SiriusEditor.getFontRegistry().get("required"));
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingfor/DynamicMappingForIteratorPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingfor/DynamicMappingForIteratorPropertySection.java
new file mode 100644
index 0000000000..43eb681296
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingfor/DynamicMappingForIteratorPropertySection.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.sections.properties.dynamicmappingfor;
+
+// Start of user code imports
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection;
+import org.eclipse.sirius.properties.PropertiesPackage;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the iterator property of a DynamicMappingFor object.
+ */
+public class DynamicMappingForIteratorPropertySection extends AbstractTextPropertySection {
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "Iterator"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + "*:"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return PropertiesPackage.eINSTANCE.getDynamicMappingFor_Iterator();
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+
+ nameLabel.setFont(SiriusEditor.getFontRegistry().get("required"));
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingswitch/DynamicMappingSwitchSwitchExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingswitch/DynamicMappingSwitchSwitchExpressionPropertySection.java
new file mode 100644
index 0000000000..facfff19fc
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/dynamicmappingswitch/DynamicMappingSwitchSwitchExpressionPropertySection.java
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.sections.properties.dynamicmappingswitch;
+
+// Start of user code imports
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextPropertySection;
+import org.eclipse.sirius.properties.PropertiesPackage;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the switchExpression property of a DynamicMappingSwitch object.
+ */
+public class DynamicMappingSwitchSwitchExpressionPropertySection extends AbstractTextPropertySection {
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "SwitchExpression"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + "*:"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return PropertiesPackage.eINSTANCE.getDynamicMappingSwitch_SwitchExpression();
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+
+ nameLabel.setFont(SiriusEditor.getFontRegistry().get("required"));
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/groupdescription/GroupDescriptionLabelExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/groupdescription/GroupDescriptionLabelExpressionPropertySection.java
index 008a7be5f5..99b3b861ce 100644
--- a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/groupdescription/GroupDescriptionLabelExpressionPropertySection.java
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/groupdescription/GroupDescriptionLabelExpressionPropertySection.java
@@ -29,7 +29,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
/**
* A section for the labelExpression property of a GroupDescription object.
*/
-public class GroupDescriptionLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection /* implements ContentProposalClient */ {
+public class GroupDescriptionLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
/**
* @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/groupdescription/GroupDescriptionSemanticCandidateExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/groupdescription/GroupDescriptionSemanticCandidateExpressionPropertySection.java
index b8c56c8702..7e62e76a3b 100644
--- a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/groupdescription/GroupDescriptionSemanticCandidateExpressionPropertySection.java
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/groupdescription/GroupDescriptionSemanticCandidateExpressionPropertySection.java
@@ -30,7 +30,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
* A section for the semanticCandidateExpression property of a GroupDescription
* object.
*/
-public class GroupDescriptionSemanticCandidateExpressionPropertySection extends AbstractTextWithButtonPropertySection /* implements ContentProposalClient */ {
+public class GroupDescriptionSemanticCandidateExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
/**
* @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/pagedescription/PageDescriptionLabelExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/pagedescription/PageDescriptionLabelExpressionPropertySection.java
index bb8ce5e908..bc2d667eb1 100644
--- a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/pagedescription/PageDescriptionLabelExpressionPropertySection.java
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/pagedescription/PageDescriptionLabelExpressionPropertySection.java
@@ -29,7 +29,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
/**
* A section for the labelExpression property of a PageDescription object.
*/
-public class PageDescriptionLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection /* implements ContentProposalClient */ {
+public class PageDescriptionLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
/**
* @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/pagedescription/PageDescriptionSemanticCandidateExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/pagedescription/PageDescriptionSemanticCandidateExpressionPropertySection.java
index 5946279e09..6df9a2a8b4 100644
--- a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/pagedescription/PageDescriptionSemanticCandidateExpressionPropertySection.java
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/pagedescription/PageDescriptionSemanticCandidateExpressionPropertySection.java
@@ -30,7 +30,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
* A section for the semanticCandidateExpression property of a PageDescription
* object.
*/
-public class PageDescriptionSemanticCandidateExpressionPropertySection extends AbstractTextWithButtonPropertySection /* implements ContentProposalClient */ {
+public class PageDescriptionSemanticCandidateExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
/**
* @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/selectdescription/SelectDescriptionCandidateDisplayExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/selectdescription/SelectDescriptionCandidateDisplayExpressionPropertySection.java
new file mode 100644
index 0000000000..ac8cf049c5
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/selectdescription/SelectDescriptionCandidateDisplayExpressionPropertySection.java
@@ -0,0 +1,115 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.sections.properties.selectdescription;
+
+// Start of user code imports
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection;
+import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider;
+import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog;
+import org.eclipse.sirius.properties.PropertiesPackage;
+import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the candidateDisplayExpression property of a SelectDescription
+ * object.
+ */
+public class SelectDescriptionCandidateDisplayExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "CandidateDisplayExpression"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + ":"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return PropertiesPackage.eINSTANCE.getSelectDescription_CandidateDisplayExpression();
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+ /*
+ * We set the color as it's a InterpretedExpression
+ */
+ text.setBackground(SiriusEditor.getColorRegistry().get("yellow"));
+
+ TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text);
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ @Override
+ protected SelectionListener createButtonListener() {
+ return new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SelectDescriptionCandidateDisplayExpressionPropertySection.this, text.getText());
+ dialog.open();
+ text.setText(dialog.getResult());
+ handleTextModified();
+ }
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/selectdescription/SelectDescriptionCandidatesExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/selectdescription/SelectDescriptionCandidatesExpressionPropertySection.java
new file mode 100644
index 0000000000..703463a785
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/selectdescription/SelectDescriptionCandidatesExpressionPropertySection.java
@@ -0,0 +1,115 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.sections.properties.selectdescription;
+
+// Start of user code imports
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection;
+import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider;
+import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog;
+import org.eclipse.sirius.properties.PropertiesPackage;
+import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the candidatesExpression property of a SelectDescription
+ * object.
+ */
+public class SelectDescriptionCandidatesExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "CandidatesExpression"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + ":"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return PropertiesPackage.eINSTANCE.getSelectDescription_CandidatesExpression();
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+ /*
+ * We set the color as it's a InterpretedExpression
+ */
+ text.setBackground(SiriusEditor.getColorRegistry().get("yellow"));
+
+ TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text);
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ @Override
+ protected SelectionListener createButtonListener() {
+ return new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SelectDescriptionCandidatesExpressionPropertySection.this, text.getText());
+ dialog.open();
+ text.setText(dialog.getResult());
+ handleTextModified();
+ }
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/selectdescription/SelectDescriptionValueExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/selectdescription/SelectDescriptionValueExpressionPropertySection.java
new file mode 100644
index 0000000000..4fea002a0f
--- /dev/null
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/selectdescription/SelectDescriptionValueExpressionPropertySection.java
@@ -0,0 +1,114 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.sirius.properties.editor.properties.sections.properties.selectdescription;
+
+// Start of user code imports
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.sirius.editor.editorPlugin.SiriusEditor;
+import org.eclipse.sirius.editor.properties.sections.common.AbstractTextWithButtonPropertySection;
+import org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider;
+import org.eclipse.sirius.editor.tools.internal.presentation.TextWithContentProposalDialog;
+import org.eclipse.sirius.properties.PropertiesPackage;
+import org.eclipse.sirius.ui.tools.api.assist.ContentProposalClient;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
+
+// End of user code imports
+
+/**
+ * A section for the valueExpression property of a SelectDescription object.
+ */
+public class SelectDescriptionValueExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
+ */
+ protected String getDefaultLabelText() {
+ return "ValueExpression"; //$NON-NLS-1$
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getLabelText()
+ */
+ protected String getLabelText() {
+ String labelText;
+ labelText = super.getLabelText() + ":"; //$NON-NLS-1$
+ // Start of user code get label text
+
+ // End of user code get label text
+ return labelText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeature()
+ */
+ public EAttribute getFeature() {
+ return PropertiesPackage.eINSTANCE.getSelectDescription_ValueExpression();
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getFeatureValue(String)
+ */
+ protected Object getFeatureValue(String newText) {
+ return newText;
+ }
+
+ /**
+ * @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#isEqual(String)
+ */
+ protected boolean isEqual(String newText) {
+ return getFeatureAsText().equals(newText);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createControls(Composite parent, TabbedPropertySheetPage tabbedPropertySheetPage) {
+ super.createControls(parent, tabbedPropertySheetPage);
+ /*
+ * We set the color as it's a InterpretedExpression
+ */
+ text.setBackground(SiriusEditor.getColorRegistry().get("yellow"));
+
+ TypeContentProposalProvider.bindPluginsCompletionProcessors(this, text);
+
+ // Start of user code create controls
+
+ // End of user code create controls
+
+ }
+
+ @Override
+ protected SelectionListener createButtonListener() {
+ return new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ TextWithContentProposalDialog dialog = new TextWithContentProposalDialog(composite.getShell(), SelectDescriptionValueExpressionPropertySection.this, text.getText());
+ dialog.open();
+ text.setText(dialog.getResult());
+ handleTextModified();
+ }
+ };
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected String getPropertyDescription() {
+ return "";
+ }
+
+ // Start of user code user operations
+
+ // End of user code user operations
+}
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/textdescription/TextDescriptionValueExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/textdescription/TextDescriptionValueExpressionPropertySection.java
index 8e49b3506e..5187d02647 100644
--- a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/textdescription/TextDescriptionValueExpressionPropertySection.java
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/textdescription/TextDescriptionValueExpressionPropertySection.java
@@ -29,7 +29,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
/**
* A section for the valueExpression property of a TextDescription object.
*/
-public class TextDescriptionValueExpressionPropertySection extends AbstractTextWithButtonPropertySection /* implements ContentProposalClient */ {
+public class TextDescriptionValueExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
/**
* @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/viewextensiondescription/ViewExtensionDescriptionLabelExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/viewextensiondescription/ViewExtensionDescriptionLabelExpressionPropertySection.java
index 97a6d5b5b6..ac9b431015 100644
--- a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/viewextensiondescription/ViewExtensionDescriptionLabelExpressionPropertySection.java
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/viewextensiondescription/ViewExtensionDescriptionLabelExpressionPropertySection.java
@@ -30,7 +30,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
* A section for the labelExpression property of a ViewExtensionDescription
* object.
*/
-public class ViewExtensionDescriptionLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection /* implements ContentProposalClient */ {
+public class ViewExtensionDescriptionLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
/**
* @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
diff --git a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/widgetdescription/WidgetDescriptionLabelExpressionPropertySection.java b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/widgetdescription/WidgetDescriptionLabelExpressionPropertySection.java
index 3f716fef29..d5ecc1830e 100644
--- a/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/widgetdescription/WidgetDescriptionLabelExpressionPropertySection.java
+++ b/incubation/org.eclipse.sirius.editor.properties/src-gen/org/eclipse/sirius/properties/editor/properties/sections/properties/widgetdescription/WidgetDescriptionLabelExpressionPropertySection.java
@@ -29,7 +29,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
/**
* A section for the labelExpression property of a WidgetDescription object.
*/
-public class WidgetDescriptionLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection /* implements ContentProposalClient */ {
+public class WidgetDescriptionLabelExpressionPropertySection extends AbstractTextWithButtonPropertySection implements ContentProposalClient {
/**
* @see org.eclipse.sirius.properties.editor.properties.sections.AbstractTextWithButtonPropertySection#getDefaultLabelText()
diff --git a/incubation/org.eclipse.sirius.properties.edit/icons/full/ctool16/CreateContainerDescription_widgets_SelectDescription.gif b/incubation/org.eclipse.sirius.properties.edit/icons/full/ctool16/CreateContainerDescription_widgets_SelectDescription.gif
new file mode 100644
index 0000000000..6560457c10
--- /dev/null
+++ b/incubation/org.eclipse.sirius.properties.edit/icons/full/ctool16/CreateContainerDescription_widgets_SelectDescription.gif
Binary files differ
diff --git a/incubation/org.eclipse.sirius.properties.edit/icons/full/ctool16/CreateDynamicMappingCase_widget_SelectDescription.gif b/incubation/org.eclipse.sirius.properties.edit/icons/full/ctool16/CreateDynamicMappingCase_widget_SelectDescription.gif
new file mode 100644
index 0000000000..ac131b19ec
--- /dev/null
+++ b/incubation/org.eclipse.sirius.properties.edit/icons/full/ctool16/CreateDynamicMappingCase_widget_SelectDescription.gif
Binary files differ
diff --git a/incubation/org.eclipse.sirius.properties.edit/icons/full/ctool16/CreateSelectDescription_initialOperation_InitialOperation.gif b/incubation/org.eclipse.sirius.properties.edit/icons/full/ctool16/CreateSelectDescription_initialOperation_InitialOperation.gif
new file mode 100644
index 0000000000..159fb27cec
--- /dev/null
+++ b/incubation/org.eclipse.sirius.properties.edit/icons/full/ctool16/CreateSelectDescription_initialOperation_InitialOperation.gif
Binary files differ
diff --git a/incubation/org.eclipse.sirius.properties.edit/icons/full/obj16/SelectDescription.gif b/incubation/org.eclipse.sirius.properties.edit/icons/full/obj16/SelectDescription.gif
new file mode 100644
index 0000000000..9250fecbff
--- /dev/null
+++ b/incubation/org.eclipse.sirius.properties.edit/icons/full/obj16/SelectDescription.gif
Binary files differ
diff --git a/incubation/org.eclipse.sirius.properties.edit/plugin.properties b/incubation/org.eclipse.sirius.properties.edit/plugin.properties
index 7c84624b1b..caacb4a544 100644
--- a/incubation/org.eclipse.sirius.properties.edit/plugin.properties
+++ b/incubation/org.eclipse.sirius.properties.edit/plugin.properties
@@ -54,6 +54,11 @@ _UI_DynamicMappingSwitch_type = Dynamic Mapping Switch
_UI_DynamicMappingCase_type = Dynamic Mapping Case
_UI_ContainerDescription_dynamicMappings_feature = Dynamic Mappings
_UI_DynamicMappingFor_iterator_feature = Iterator
+_UI_SelectDescription_type = Select Description
+_UI_SelectDescription_valueExpression_feature = Value Expression
+_UI_SelectDescription_initialOperation_feature = Initial Operation
+_UI_SelectDescription_candidatesExpression_feature = Candidates Expression
+_UI_SelectDescription_candidateDisplayExpression_feature = Candidate Display Expression
_UI_DynamicMappingFor_domainClassExpression_feature = Domain Class Expression
_UI_DynamicMappingFor_switch_feature = Switch
_UI_DynamicMappingSwitch_switchExpression_feature = Switch Expression
diff --git a/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/ContainerDescriptionItemProvider.java b/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/ContainerDescriptionItemProvider.java
index b1bc8e7fe1..2f1f7ce48f 100644
--- a/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/ContainerDescriptionItemProvider.java
+++ b/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/ContainerDescriptionItemProvider.java
@@ -202,6 +202,11 @@ public class ContainerDescriptionItemProvider
newChildDescriptors.add
(createChildParameter
+ (PropertiesPackage.Literals.CONTAINER_DESCRIPTION__WIDGETS,
+ PropertiesFactory.eINSTANCE.createSelectDescription()));
+
+ newChildDescriptors.add
+ (createChildParameter
(PropertiesPackage.Literals.CONTAINER_DESCRIPTION__DYNAMIC_MAPPINGS,
PropertiesFactory.eINSTANCE.createDynamicMappingFor()));
}
diff --git a/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/DynamicMappingCaseItemProvider.java b/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/DynamicMappingCaseItemProvider.java
index faee405bb2..a0269421a7 100644
--- a/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/DynamicMappingCaseItemProvider.java
+++ b/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/DynamicMappingCaseItemProvider.java
@@ -197,6 +197,11 @@ public class DynamicMappingCaseItemProvider
(createChildParameter
(PropertiesPackage.Literals.DYNAMIC_MAPPING_CASE__WIDGET,
PropertiesFactory.eINSTANCE.createLabelDescription()));
+
+ newChildDescriptors.add
+ (createChildParameter
+ (PropertiesPackage.Literals.DYNAMIC_MAPPING_CASE__WIDGET,
+ PropertiesFactory.eINSTANCE.createSelectDescription()));
}
/**
diff --git a/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/PropertiesItemProviderAdapterFactory.java b/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/PropertiesItemProviderAdapterFactory.java
index 2a46b1e242..86d5e59777 100644
--- a/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/PropertiesItemProviderAdapterFactory.java
+++ b/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/PropertiesItemProviderAdapterFactory.java
@@ -305,6 +305,29 @@ public class PropertiesItemProviderAdapterFactory extends PropertiesAdapterFacto
}
/**
+ * This keeps track of the one adapter used for all {@link org.eclipse.sirius.properties.SelectDescription} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SelectDescriptionItemProvider selectDescriptionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.sirius.properties.SelectDescription}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createSelectDescriptionAdapter() {
+ if (selectDescriptionItemProvider == null) {
+ selectDescriptionItemProvider = new SelectDescriptionItemProvider(this);
+ }
+
+ return selectDescriptionItemProvider;
+ }
+
+ /**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -412,6 +435,7 @@ public class PropertiesItemProviderAdapterFactory extends PropertiesAdapterFacto
if (dynamicMappingForItemProvider != null) dynamicMappingForItemProvider.dispose();
if (dynamicMappingSwitchItemProvider != null) dynamicMappingSwitchItemProvider.dispose();
if (dynamicMappingCaseItemProvider != null) dynamicMappingCaseItemProvider.dispose();
+ if (selectDescriptionItemProvider != null) selectDescriptionItemProvider.dispose();
}
/**
diff --git a/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/SelectDescriptionItemProvider.java b/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/SelectDescriptionItemProvider.java
new file mode 100644
index 0000000000..d1a085c5e8
--- /dev/null
+++ b/incubation/org.eclipse.sirius.properties.edit/src-gen/org/eclipse/sirius/properties/provider/SelectDescriptionItemProvider.java
@@ -0,0 +1,231 @@
+/**
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.properties.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.sirius.properties.PropertiesPackage;
+import org.eclipse.sirius.properties.SelectDescription;
+
+import org.eclipse.sirius.viewpoint.description.tool.ToolFactory;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.sirius.properties.SelectDescription} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SelectDescriptionItemProvider extends WidgetDescriptionItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SelectDescriptionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addValueExpressionPropertyDescriptor(object);
+ addCandidatesExpressionPropertyDescriptor(object);
+ addCandidateDisplayExpressionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Value Expression feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addValueExpressionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_SelectDescription_valueExpression_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_SelectDescription_valueExpression_feature", "_UI_SelectDescription_type"),
+ PropertiesPackage.Literals.SELECT_DESCRIPTION__VALUE_EXPRESSION,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Candidates Expression feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addCandidatesExpressionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_SelectDescription_candidatesExpression_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_SelectDescription_candidatesExpression_feature", "_UI_SelectDescription_type"),
+ PropertiesPackage.Literals.SELECT_DESCRIPTION__CANDIDATES_EXPRESSION,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Candidate Display Expression feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addCandidateDisplayExpressionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_SelectDescription_candidateDisplayExpression_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_SelectDescription_candidateDisplayExpression_feature", "_UI_SelectDescription_type"),
+ PropertiesPackage.Literals.SELECT_DESCRIPTION__CANDIDATE_DISPLAY_EXPRESSION,
+ 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}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+ if (childrenFeatures == null) {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(PropertiesPackage.Literals.SELECT_DESCRIPTION__INITIAL_OPERATION);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child) {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns SelectDescription.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/SelectDescription"));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((SelectDescription)object).getIdentifier();
+ return label == null || label.length() == 0 ?
+ getString("_UI_SelectDescription_type") :
+ getString("_UI_SelectDescription_type") + " " + label;
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(SelectDescription.class)) {
+ case PropertiesPackage.SELECT_DESCRIPTION__VALUE_EXPRESSION:
+ case PropertiesPackage.SELECT_DESCRIPTION__CANDIDATES_EXPRESSION:
+ case PropertiesPackage.SELECT_DESCRIPTION__CANDIDATE_DISPLAY_EXPRESSION:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case PropertiesPackage.SELECT_DESCRIPTION__INITIAL_OPERATION:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add
+ (createChildParameter
+ (PropertiesPackage.Literals.SELECT_DESCRIPTION__INITIAL_OPERATION,
+ ToolFactory.eINSTANCE.createInitialOperation()));
+ }
+
+}
diff --git a/incubation/org.eclipse.sirius.properties/model/properties.ecore b/incubation/org.eclipse.sirius.properties/model/properties.ecore
index 35453f902a..db50ccdb90 100644
--- a/incubation/org.eclipse.sirius.properties/model/properties.ecore
+++ b/incubation/org.eclipse.sirius.properties/model/properties.ecore
@@ -74,4 +74,32 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="widget" lowerBound="1"
eType="#//WidgetDescription" containment="true"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SelectDescription" eSuperTypes="#//WidgetDescription">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Represents a collection of candidates used to edit a single or multi-valued property."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="valueExpression" eType="ecore:EDataType ../../org.eclipse.sirius/model/viewpoint.ecore#//description/InterpretedExpression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The initial selected values of the combo."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="initialOperation" lowerBound="1"
+ eType="ecore:EClass ../../org.eclipse.sirius/model/viewpoint.ecore#//description/tool/InitialOperation"
+ containment="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Defines the behavior executed when the end-user updates the value of the combo."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="candidatesExpression" eType="ecore:EDataType ../../org.eclipse.sirius/model/viewpoint.ecore#//description/InterpretedExpression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Defines the various proposals available."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="candidateDisplayExpression"
+ eType="ecore:EDataType ../../org.eclipse.sirius/model/viewpoint.ecore#//description/InterpretedExpression">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Indicates how to display the input value."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
</ecore:EPackage>
diff --git a/incubation/org.eclipse.sirius.properties/model/properties.genmodel b/incubation/org.eclipse.sirius.properties/model/properties.genmodel
index 1027c7c8e3..0238dbebe7 100644
--- a/incubation/org.eclipse.sirius.properties/model/properties.genmodel
+++ b/incubation/org.eclipse.sirius.properties/model/properties.genmodel
@@ -36,6 +36,7 @@
<genClasses ecoreClass="properties.ecore#//ContainerDescription">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//ContainerDescription/identifier"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference properties.ecore#//ContainerDescription/widgets"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference properties.ecore#//ContainerDescription/dynamicMappings"/>
</genClasses>
<genClasses image="false" ecoreClass="properties.ecore#//WidgetDescription">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//WidgetDescription/identifier"/>
@@ -46,5 +47,24 @@
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference properties.ecore#//TextDescription/initialOperation"/>
</genClasses>
<genClasses ecoreClass="properties.ecore#//LabelDescription"/>
+ <genClasses ecoreClass="properties.ecore#//DynamicMappingFor">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//DynamicMappingFor/iterator"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//DynamicMappingFor/domainClassExpression"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference properties.ecore#//DynamicMappingFor/switch"/>
+ </genClasses>
+ <genClasses ecoreClass="properties.ecore#//DynamicMappingSwitch">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//DynamicMappingSwitch/switchExpression"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference properties.ecore#//DynamicMappingSwitch/cases"/>
+ </genClasses>
+ <genClasses ecoreClass="properties.ecore#//DynamicMappingCase">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//DynamicMappingCase/caseExpression"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference properties.ecore#//DynamicMappingCase/widget"/>
+ </genClasses>
+ <genClasses ecoreClass="properties.ecore#//SelectDescription">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//SelectDescription/valueExpression"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference properties.ecore#//SelectDescription/initialOperation"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//SelectDescription/candidatesExpression"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute properties.ecore#//SelectDescription/candidateDisplayExpression"/>
+ </genClasses>
</genPackages>
</genmodel:GenModel>
diff --git a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/PropertiesFactory.java b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/PropertiesFactory.java
index 6711358ba0..ca2297109f 100644
--- a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/PropertiesFactory.java
+++ b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/PropertiesFactory.java
@@ -112,6 +112,15 @@ public interface PropertiesFactory extends EFactory {
DynamicMappingCase createDynamicMappingCase();
/**
+ * Returns a new object of class '<em>Select Description</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Select Description</em>'.
+ * @generated
+ */
+ SelectDescription createSelectDescription();
+
+ /**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/PropertiesPackage.java b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/PropertiesPackage.java
index f613a49e2f..6a7f5bde62 100644
--- a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/PropertiesPackage.java
+++ b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/PropertiesPackage.java
@@ -566,6 +566,80 @@ public interface PropertiesPackage extends EPackage {
/**
+ * The meta object id for the '{@link org.eclipse.sirius.properties.impl.SelectDescriptionImpl <em>Select Description</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.sirius.properties.impl.SelectDescriptionImpl
+ * @see org.eclipse.sirius.properties.impl.PropertiesPackageImpl#getSelectDescription()
+ * @generated
+ */
+ int SELECT_DESCRIPTION = 10;
+
+ /**
+ * The feature id for the '<em><b>Identifier</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECT_DESCRIPTION__IDENTIFIER = WIDGET_DESCRIPTION__IDENTIFIER;
+
+ /**
+ * The feature id for the '<em><b>Label Expression</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECT_DESCRIPTION__LABEL_EXPRESSION = WIDGET_DESCRIPTION__LABEL_EXPRESSION;
+
+ /**
+ * The feature id for the '<em><b>Value Expression</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECT_DESCRIPTION__VALUE_EXPRESSION = WIDGET_DESCRIPTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Initial Operation</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECT_DESCRIPTION__INITIAL_OPERATION = WIDGET_DESCRIPTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Candidates Expression</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECT_DESCRIPTION__CANDIDATES_EXPRESSION = WIDGET_DESCRIPTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Candidate Display Expression</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECT_DESCRIPTION__CANDIDATE_DISPLAY_EXPRESSION = WIDGET_DESCRIPTION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Select Description</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECT_DESCRIPTION_FEATURE_COUNT = WIDGET_DESCRIPTION_FEATURE_COUNT + 4;
+
+
+ /**
* Returns the meta object for class '{@link org.eclipse.sirius.properties.ViewExtensionDescription <em>View Extension Description</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -996,6 +1070,60 @@ public interface PropertiesPackage extends EPackage {
EReference getDynamicMappingCase_Widget();
/**
+ * Returns the meta object for class '{@link org.eclipse.sirius.properties.SelectDescription <em>Select Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Select Description</em>'.
+ * @see org.eclipse.sirius.properties.SelectDescription
+ * @generated
+ */
+ EClass getSelectDescription();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.properties.SelectDescription#getValueExpression <em>Value Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value Expression</em>'.
+ * @see org.eclipse.sirius.properties.SelectDescription#getValueExpression()
+ * @see #getSelectDescription()
+ * @generated
+ */
+ EAttribute getSelectDescription_ValueExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.sirius.properties.SelectDescription#getInitialOperation <em>Initial Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Initial Operation</em>'.
+ * @see org.eclipse.sirius.properties.SelectDescription#getInitialOperation()
+ * @see #getSelectDescription()
+ * @generated
+ */
+ EReference getSelectDescription_InitialOperation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.properties.SelectDescription#getCandidatesExpression <em>Candidates Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Candidates Expression</em>'.
+ * @see org.eclipse.sirius.properties.SelectDescription#getCandidatesExpression()
+ * @see #getSelectDescription()
+ * @generated
+ */
+ EAttribute getSelectDescription_CandidatesExpression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.sirius.properties.SelectDescription#getCandidateDisplayExpression <em>Candidate Display Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Candidate Display Expression</em>'.
+ * @see org.eclipse.sirius.properties.SelectDescription#getCandidateDisplayExpression()
+ * @see #getSelectDescription()
+ * @generated
+ */
+ EAttribute getSelectDescription_CandidateDisplayExpression();
+
+ /**
* Returns the factory that creates the instances of the model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1357,6 +1485,48 @@ public interface PropertiesPackage extends EPackage {
*/
EReference DYNAMIC_MAPPING_CASE__WIDGET = eINSTANCE.getDynamicMappingCase_Widget();
+ /**
+ * The meta object literal for the '{@link org.eclipse.sirius.properties.impl.SelectDescriptionImpl <em>Select Description</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.sirius.properties.impl.SelectDescriptionImpl
+ * @see org.eclipse.sirius.properties.impl.PropertiesPackageImpl#getSelectDescription()
+ * @generated
+ */
+ EClass SELECT_DESCRIPTION = eINSTANCE.getSelectDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Value Expression</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SELECT_DESCRIPTION__VALUE_EXPRESSION = eINSTANCE.getSelectDescription_ValueExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Initial Operation</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SELECT_DESCRIPTION__INITIAL_OPERATION = eINSTANCE.getSelectDescription_InitialOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Candidates Expression</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SELECT_DESCRIPTION__CANDIDATES_EXPRESSION = eINSTANCE.getSelectDescription_CandidatesExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Candidate Display Expression</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SELECT_DESCRIPTION__CANDIDATE_DISPLAY_EXPRESSION = eINSTANCE.getSelectDescription_CandidateDisplayExpression();
+
}
} //PropertiesPackage
diff --git a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/SelectDescription.java b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/SelectDescription.java
new file mode 100644
index 0000000000..3815cb7ded
--- /dev/null
+++ b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/SelectDescription.java
@@ -0,0 +1,140 @@
+/**
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.properties;
+
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Select Description</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Represents a collection of candidates used to edit a single or multi-valued property.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.sirius.properties.SelectDescription#getValueExpression <em>Value Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.properties.SelectDescription#getInitialOperation <em>Initial Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.properties.SelectDescription#getCandidatesExpression <em>Candidates Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.properties.SelectDescription#getCandidateDisplayExpression <em>Candidate Display Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.sirius.properties.PropertiesPackage#getSelectDescription()
+ * @model
+ * @generated
+ */
+public interface SelectDescription extends WidgetDescription {
+ /**
+ * Returns the value of the '<em><b>Value Expression</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * The initial selected values of the combo.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Value Expression</em>' attribute.
+ * @see #setValueExpression(String)
+ * @see org.eclipse.sirius.properties.PropertiesPackage#getSelectDescription_ValueExpression()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression"
+ * @generated
+ */
+ String getValueExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.properties.SelectDescription#getValueExpression <em>Value Expression</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value Expression</em>' attribute.
+ * @see #getValueExpression()
+ * @generated
+ */
+ void setValueExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Initial Operation</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Defines the behavior executed when the end-user updates the value of the combo.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Initial Operation</em>' containment reference.
+ * @see #setInitialOperation(InitialOperation)
+ * @see org.eclipse.sirius.properties.PropertiesPackage#getSelectDescription_InitialOperation()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ InitialOperation getInitialOperation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.properties.SelectDescription#getInitialOperation <em>Initial Operation</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Initial Operation</em>' containment reference.
+ * @see #getInitialOperation()
+ * @generated
+ */
+ void setInitialOperation(InitialOperation value);
+
+ /**
+ * Returns the value of the '<em><b>Candidates Expression</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Defines the various proposals available.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Candidates Expression</em>' attribute.
+ * @see #setCandidatesExpression(String)
+ * @see org.eclipse.sirius.properties.PropertiesPackage#getSelectDescription_CandidatesExpression()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression"
+ * @generated
+ */
+ String getCandidatesExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.properties.SelectDescription#getCandidatesExpression <em>Candidates Expression</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Candidates Expression</em>' attribute.
+ * @see #getCandidatesExpression()
+ * @generated
+ */
+ void setCandidatesExpression(String value);
+
+ /**
+ * Returns the value of the '<em><b>Candidate Display Expression</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Indicates how to display the input value.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Candidate Display Expression</em>' attribute.
+ * @see #setCandidateDisplayExpression(String)
+ * @see org.eclipse.sirius.properties.PropertiesPackage#getSelectDescription_CandidateDisplayExpression()
+ * @model dataType="org.eclipse.sirius.viewpoint.description.InterpretedExpression"
+ * @generated
+ */
+ String getCandidateDisplayExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.sirius.properties.SelectDescription#getCandidateDisplayExpression <em>Candidate Display Expression</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Candidate Display Expression</em>' attribute.
+ * @see #getCandidateDisplayExpression()
+ * @generated
+ */
+ void setCandidateDisplayExpression(String value);
+
+} // SelectDescription
diff --git a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/PropertiesFactoryImpl.java b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/PropertiesFactoryImpl.java
index 518da62798..77679c8180 100644
--- a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/PropertiesFactoryImpl.java
+++ b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/PropertiesFactoryImpl.java
@@ -74,6 +74,7 @@ public class PropertiesFactoryImpl extends EFactoryImpl implements PropertiesFac
case PropertiesPackage.DYNAMIC_MAPPING_FOR: return createDynamicMappingFor();
case PropertiesPackage.DYNAMIC_MAPPING_SWITCH: return createDynamicMappingSwitch();
case PropertiesPackage.DYNAMIC_MAPPING_CASE: return createDynamicMappingCase();
+ case PropertiesPackage.SELECT_DESCRIPTION: return createSelectDescription();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -174,6 +175,16 @@ public class PropertiesFactoryImpl extends EFactoryImpl implements PropertiesFac
* <!-- end-user-doc -->
* @generated
*/
+ public SelectDescription createSelectDescription() {
+ SelectDescriptionImpl selectDescription = new SelectDescriptionImpl();
+ return selectDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public PropertiesPackage getPropertiesPackage() {
return (PropertiesPackage)getEPackage();
}
diff --git a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/PropertiesPackageImpl.java b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/PropertiesPackageImpl.java
index 2bac2d71ff..56be628ba8 100644
--- a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/PropertiesPackageImpl.java
+++ b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/PropertiesPackageImpl.java
@@ -28,6 +28,7 @@ import org.eclipse.sirius.properties.LabelDescription;
import org.eclipse.sirius.properties.PageDescription;
import org.eclipse.sirius.properties.PropertiesFactory;
import org.eclipse.sirius.properties.PropertiesPackage;
+import org.eclipse.sirius.properties.SelectDescription;
import org.eclipse.sirius.properties.TextDescription;
import org.eclipse.sirius.properties.ViewExtensionDescription;
import org.eclipse.sirius.properties.WidgetDescription;
@@ -116,6 +117,13 @@ public class PropertiesPackageImpl extends EPackageImpl implements PropertiesPac
private EClass dynamicMappingCaseEClass = null;
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass selectDescriptionEClass = null;
+
+ /**
* Creates an instance of the model <b>Package</b>, registered with
* {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
@@ -544,6 +552,51 @@ public class PropertiesPackageImpl extends EPackageImpl implements PropertiesPac
* <!-- end-user-doc -->
* @generated
*/
+ public EClass getSelectDescription() {
+ return selectDescriptionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSelectDescription_ValueExpression() {
+ return (EAttribute)selectDescriptionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSelectDescription_InitialOperation() {
+ return (EReference)selectDescriptionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSelectDescription_CandidatesExpression() {
+ return (EAttribute)selectDescriptionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSelectDescription_CandidateDisplayExpression() {
+ return (EAttribute)selectDescriptionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public PropertiesFactory getPropertiesFactory() {
return (PropertiesFactory)getEFactoryInstance();
}
@@ -616,6 +669,12 @@ public class PropertiesPackageImpl extends EPackageImpl implements PropertiesPac
dynamicMappingCaseEClass = createEClass(DYNAMIC_MAPPING_CASE);
createEAttribute(dynamicMappingCaseEClass, DYNAMIC_MAPPING_CASE__CASE_EXPRESSION);
createEReference(dynamicMappingCaseEClass, DYNAMIC_MAPPING_CASE__WIDGET);
+
+ selectDescriptionEClass = createEClass(SELECT_DESCRIPTION);
+ createEAttribute(selectDescriptionEClass, SELECT_DESCRIPTION__VALUE_EXPRESSION);
+ createEReference(selectDescriptionEClass, SELECT_DESCRIPTION__INITIAL_OPERATION);
+ createEAttribute(selectDescriptionEClass, SELECT_DESCRIPTION__CANDIDATES_EXPRESSION);
+ createEAttribute(selectDescriptionEClass, SELECT_DESCRIPTION__CANDIDATE_DISPLAY_EXPRESSION);
}
/**
@@ -654,6 +713,7 @@ public class PropertiesPackageImpl extends EPackageImpl implements PropertiesPac
viewExtensionDescriptionEClass.getESuperTypes().add(theDescriptionPackage.getExtension());
textDescriptionEClass.getESuperTypes().add(this.getWidgetDescription());
labelDescriptionEClass.getESuperTypes().add(this.getWidgetDescription());
+ selectDescriptionEClass.getESuperTypes().add(this.getWidgetDescription());
// Initialize classes and features; add operations and parameters
initEClass(viewExtensionDescriptionEClass, ViewExtensionDescription.class, "ViewExtensionDescription", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -706,6 +766,12 @@ public class PropertiesPackageImpl extends EPackageImpl implements PropertiesPac
initEAttribute(getDynamicMappingCase_CaseExpression(), theEcorePackage.getEString(), "caseExpression", null, 1, 1, DynamicMappingCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getDynamicMappingCase_Widget(), this.getWidgetDescription(), null, "widget", null, 1, 1, DynamicMappingCase.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(selectDescriptionEClass, SelectDescription.class, "SelectDescription", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSelectDescription_ValueExpression(), theDescriptionPackage.getInterpretedExpression(), "valueExpression", null, 0, 1, SelectDescription.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSelectDescription_InitialOperation(), theToolPackage.getInitialOperation(), null, "initialOperation", null, 1, 1, SelectDescription.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSelectDescription_CandidatesExpression(), theDescriptionPackage.getInterpretedExpression(), "candidatesExpression", null, 0, 1, SelectDescription.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSelectDescription_CandidateDisplayExpression(), theDescriptionPackage.getInterpretedExpression(), "candidateDisplayExpression", null, 0, 1, SelectDescription.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
// Create resource
createResource(eNS_URI);
}
diff --git a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/SelectDescriptionImpl.java b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/SelectDescriptionImpl.java
new file mode 100644
index 0000000000..122c5a42a2
--- /dev/null
+++ b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/impl/SelectDescriptionImpl.java
@@ -0,0 +1,361 @@
+/**
+ * Copyright (c) 2015 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *
+ */
+package org.eclipse.sirius.properties.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.sirius.properties.PropertiesPackage;
+import org.eclipse.sirius.properties.SelectDescription;
+
+import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Select Description</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.sirius.properties.impl.SelectDescriptionImpl#getValueExpression <em>Value Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.properties.impl.SelectDescriptionImpl#getInitialOperation <em>Initial Operation</em>}</li>
+ * <li>{@link org.eclipse.sirius.properties.impl.SelectDescriptionImpl#getCandidatesExpression <em>Candidates Expression</em>}</li>
+ * <li>{@link org.eclipse.sirius.properties.impl.SelectDescriptionImpl#getCandidateDisplayExpression <em>Candidate Display Expression</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SelectDescriptionImpl extends WidgetDescriptionImpl implements SelectDescription {
+ /**
+ * The default value of the '{@link #getValueExpression() <em>Value Expression</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValueExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValueExpression() <em>Value Expression</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValueExpression()
+ * @generated
+ * @ordered
+ */
+ protected String valueExpression = VALUE_EXPRESSION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getInitialOperation() <em>Initial Operation</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitialOperation()
+ * @generated
+ * @ordered
+ */
+ protected InitialOperation initialOperation;
+
+ /**
+ * The default value of the '{@link #getCandidatesExpression() <em>Candidates Expression</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCandidatesExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String CANDIDATES_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCandidatesExpression() <em>Candidates Expression</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCandidatesExpression()
+ * @generated
+ * @ordered
+ */
+ protected String candidatesExpression = CANDIDATES_EXPRESSION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCandidateDisplayExpression() <em>Candidate Display Expression</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCandidateDisplayExpression()
+ * @generated
+ * @ordered
+ */
+ protected static final String CANDIDATE_DISPLAY_EXPRESSION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCandidateDisplayExpression() <em>Candidate Display Expression</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCandidateDisplayExpression()
+ * @generated
+ * @ordered
+ */
+ protected String candidateDisplayExpression = CANDIDATE_DISPLAY_EXPRESSION_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SelectDescriptionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return PropertiesPackage.Literals.SELECT_DESCRIPTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValueExpression() {
+ return valueExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValueExpression(String newValueExpression) {
+ String oldValueExpression = valueExpression;
+ valueExpression = newValueExpression;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertiesPackage.SELECT_DESCRIPTION__VALUE_EXPRESSION, oldValueExpression, valueExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InitialOperation getInitialOperation() {
+ return initialOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetInitialOperation(InitialOperation newInitialOperation, NotificationChain msgs) {
+ InitialOperation oldInitialOperation = initialOperation;
+ initialOperation = newInitialOperation;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, PropertiesPackage.SELECT_DESCRIPTION__INITIAL_OPERATION, oldInitialOperation, newInitialOperation);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setInitialOperation(InitialOperation newInitialOperation) {
+ if (newInitialOperation != initialOperation) {
+ NotificationChain msgs = null;
+ if (initialOperation != null)
+ msgs = ((InternalEObject)initialOperation).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - PropertiesPackage.SELECT_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ if (newInitialOperation != null)
+ msgs = ((InternalEObject)newInitialOperation).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - PropertiesPackage.SELECT_DESCRIPTION__INITIAL_OPERATION, null, msgs);
+ msgs = basicSetInitialOperation(newInitialOperation, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertiesPackage.SELECT_DESCRIPTION__INITIAL_OPERATION, newInitialOperation, newInitialOperation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCandidatesExpression() {
+ return candidatesExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCandidatesExpression(String newCandidatesExpression) {
+ String oldCandidatesExpression = candidatesExpression;
+ candidatesExpression = newCandidatesExpression;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertiesPackage.SELECT_DESCRIPTION__CANDIDATES_EXPRESSION, oldCandidatesExpression, candidatesExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCandidateDisplayExpression() {
+ return candidateDisplayExpression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCandidateDisplayExpression(String newCandidateDisplayExpression) {
+ String oldCandidateDisplayExpression = candidateDisplayExpression;
+ candidateDisplayExpression = newCandidateDisplayExpression;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, PropertiesPackage.SELECT_DESCRIPTION__CANDIDATE_DISPLAY_EXPRESSION, oldCandidateDisplayExpression, candidateDisplayExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case PropertiesPackage.SELECT_DESCRIPTION__INITIAL_OPERATION:
+ return basicSetInitialOperation(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case PropertiesPackage.SELECT_DESCRIPTION__VALUE_EXPRESSION:
+ return getValueExpression();
+ case PropertiesPackage.SELECT_DESCRIPTION__INITIAL_OPERATION:
+ return getInitialOperation();
+ case PropertiesPackage.SELECT_DESCRIPTION__CANDIDATES_EXPRESSION:
+ return getCandidatesExpression();
+ case PropertiesPackage.SELECT_DESCRIPTION__CANDIDATE_DISPLAY_EXPRESSION:
+ return getCandidateDisplayExpression();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case PropertiesPackage.SELECT_DESCRIPTION__VALUE_EXPRESSION:
+ setValueExpression((String)newValue);
+ return;
+ case PropertiesPackage.SELECT_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialOperation)newValue);
+ return;
+ case PropertiesPackage.SELECT_DESCRIPTION__CANDIDATES_EXPRESSION:
+ setCandidatesExpression((String)newValue);
+ return;
+ case PropertiesPackage.SELECT_DESCRIPTION__CANDIDATE_DISPLAY_EXPRESSION:
+ setCandidateDisplayExpression((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case PropertiesPackage.SELECT_DESCRIPTION__VALUE_EXPRESSION:
+ setValueExpression(VALUE_EXPRESSION_EDEFAULT);
+ return;
+ case PropertiesPackage.SELECT_DESCRIPTION__INITIAL_OPERATION:
+ setInitialOperation((InitialOperation)null);
+ return;
+ case PropertiesPackage.SELECT_DESCRIPTION__CANDIDATES_EXPRESSION:
+ setCandidatesExpression(CANDIDATES_EXPRESSION_EDEFAULT);
+ return;
+ case PropertiesPackage.SELECT_DESCRIPTION__CANDIDATE_DISPLAY_EXPRESSION:
+ setCandidateDisplayExpression(CANDIDATE_DISPLAY_EXPRESSION_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case PropertiesPackage.SELECT_DESCRIPTION__VALUE_EXPRESSION:
+ return VALUE_EXPRESSION_EDEFAULT == null ? valueExpression != null : !VALUE_EXPRESSION_EDEFAULT.equals(valueExpression);
+ case PropertiesPackage.SELECT_DESCRIPTION__INITIAL_OPERATION:
+ return initialOperation != null;
+ case PropertiesPackage.SELECT_DESCRIPTION__CANDIDATES_EXPRESSION:
+ return CANDIDATES_EXPRESSION_EDEFAULT == null ? candidatesExpression != null : !CANDIDATES_EXPRESSION_EDEFAULT.equals(candidatesExpression);
+ case PropertiesPackage.SELECT_DESCRIPTION__CANDIDATE_DISPLAY_EXPRESSION:
+ return CANDIDATE_DISPLAY_EXPRESSION_EDEFAULT == null ? candidateDisplayExpression != null : !CANDIDATE_DISPLAY_EXPRESSION_EDEFAULT.equals(candidateDisplayExpression);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (valueExpression: ");
+ result.append(valueExpression);
+ result.append(", candidatesExpression: ");
+ result.append(candidatesExpression);
+ result.append(", candidateDisplayExpression: ");
+ result.append(candidateDisplayExpression);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SelectDescriptionImpl
diff --git a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/util/PropertiesAdapterFactory.java b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/util/PropertiesAdapterFactory.java
index 8a2d72326f..7add736092 100644
--- a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/util/PropertiesAdapterFactory.java
+++ b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/util/PropertiesAdapterFactory.java
@@ -119,6 +119,10 @@ public class PropertiesAdapterFactory extends AdapterFactoryImpl {
return createDynamicMappingCaseAdapter();
}
@Override
+ public Adapter caseSelectDescription(SelectDescription object) {
+ return createSelectDescriptionAdapter();
+ }
+ @Override
public Adapter caseExtension(Extension object) {
return createExtensionAdapter();
}
@@ -283,6 +287,20 @@ public class PropertiesAdapterFactory extends AdapterFactoryImpl {
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.sirius.properties.SelectDescription <em>Select Description</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.sirius.properties.SelectDescription
+ * @generated
+ */
+ public Adapter createSelectDescriptionAdapter() {
+ return null;
+ }
+
+ /**
* Creates a new adapter for an object of class '{@link org.eclipse.sirius.viewpoint.description.Extension <em>Extension</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
diff --git a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/util/PropertiesSwitch.java b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/util/PropertiesSwitch.java
index ee822b44fc..d31368a396 100644
--- a/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/util/PropertiesSwitch.java
+++ b/incubation/org.eclipse.sirius.properties/src-gen/org/eclipse/sirius/properties/util/PropertiesSwitch.java
@@ -157,6 +157,13 @@ public class PropertiesSwitch<T> {
if (result == null) result = defaultCase(theEObject);
return result;
}
+ case PropertiesPackage.SELECT_DESCRIPTION: {
+ SelectDescription selectDescription = (SelectDescription)theEObject;
+ T result = caseSelectDescription(selectDescription);
+ if (result == null) result = caseWidgetDescription(selectDescription);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
default: return defaultCase(theEObject);
}
}
@@ -312,6 +319,21 @@ public class PropertiesSwitch<T> {
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>Select Description</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>Select Description</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSelectDescription(SelectDescription object) {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>Extension</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/incubation/org.eclipse.sirius.sample.properties/description/project.odesign b/incubation/org.eclipse.sirius.sample.properties/description/project.odesign
index 8c8c5ff460..4023f1042f 100644
--- a/incubation/org.eclipse.sirius.sample.properties/description/project.odesign
+++ b/incubation/org.eclipse.sirius.sample.properties/description/project.odesign
@@ -92,21 +92,13 @@
domainClass="ecore.EClass"
semanticCandidateExpression="var:self"
groups="//@extensions.0/@groups.1"/>
- <pages identifier="All EClass attributes"
labelExpression="aql:self.name"
- domainClass="ecore.EAttribute"
- semanticCandidateExpression="aql:self.eContents(ecore::EAttribute)"
- groups="//@extensions.0/@groups.0"/>
- <pages identifier="Single EAttribute"
- labelExpression="aql:self.name"
- domainClass="ecore.EAttribute"
+ domainClass="ecore.EClass"
semanticCandidateExpression="var:self"
groups="//@extensions.0/@groups.0"/>
<groups
- identifier="EAttribute properties"
- labelExpression=""
- domainClass="ecore.EAttribute"
- semanticCandidateExpression="">
+ identifier="EClass properties"
+ domainClass="ecore.EClass">
<container>
<widgets
xsi:type="properties:TextDescription"
@@ -121,9 +113,9 @@
</initialOperation>
</widgets>
<widgets
- xsi:type="properties:LabelDescription"
- identifier="Label"
- labelExpression="feature:name"/>
+ xsi:type="properties:SelectDescription"
+ identifier="Reference"
+ labelExpression="Reference"
</container>
</groups>
<groups
diff --git a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/tabprovider/ViewDescriptionConverter.java b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/tabprovider/ViewDescriptionConverter.java
index 9cf6e1dc8d..f64131645a 100644
--- a/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/tabprovider/ViewDescriptionConverter.java
+++ b/incubation/org.eclipse.sirius.ui.properties/src/org/eclipse/sirius/ui/properties/internal/tabprovider/ViewDescriptionConverter.java
@@ -19,6 +19,7 @@ import org.eclipse.eef.EEFDynamicMappingSwitch;
import org.eclipse.eef.EEFGroupDescription;
import org.eclipse.eef.EEFLabelDescription;
import org.eclipse.eef.EEFPageDescription;
+import org.eclipse.eef.EEFSelectDescription;
import org.eclipse.eef.EEFTextDescription;
import org.eclipse.eef.EEFViewDescription;
import org.eclipse.eef.EEFWidgetDescription;
@@ -30,6 +31,7 @@ import org.eclipse.sirius.properties.DynamicMappingSwitch;
import org.eclipse.sirius.properties.GroupDescription;
import org.eclipse.sirius.properties.LabelDescription;
import org.eclipse.sirius.properties.PageDescription;
+import org.eclipse.sirius.properties.SelectDescription;
import org.eclipse.sirius.properties.TextDescription;
import org.eclipse.sirius.properties.WidgetDescription;
import org.eclipse.sirius.viewpoint.description.tool.InitialOperation;
@@ -106,6 +108,8 @@ public class ViewDescriptionConverter {
containerDesc.getWidgets().add(createEEFTextDescription((TextDescription) widgetDescription));
} else if (widgetDescription instanceof LabelDescription) {
containerDesc.getWidgets().add(createEEFLabelDescription((LabelDescription) widgetDescription));
+ } else if (widgetDescription instanceof SelectDescription) {
+ containerDesc.getWidgets().add(createEEFSelectDescription((SelectDescription) widgetDescription));
}
EEFWidgetDescription description = this.createEEFWidgetDescription(widgetDescription);
@@ -172,4 +176,14 @@ public class ViewDescriptionConverter {
return eefLabelDescription;
}
+ private EEFSelectDescription createEEFSelectDescription(SelectDescription selectDescription) {
+ EEFSelectDescription eefSelectDescription = EefFactory.eINSTANCE.createEEFSelectDescription();
+
+ eefSelectDescription.setIdentifier(selectDescription.getIdentifier());
+ eefSelectDescription.setLabelExpression(selectDescription.getLabelExpression());
+ eefSelectDescription.setValueExpression(selectDescription.getValueExpression());
+ eefSelectDescription.setCandidatesExpression(selectDescription.getCandidatesExpression());
+ eefSelectDescription.setCandidateDisplayExpression(selectDescription.getCandidateDisplayExpression());
+ return eefSelectDescription;
+ }
}

Back to the top