Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCedric Dumoulin2014-01-10 20:56:18 +0000
committerCedric Dumoulin2014-01-27 13:57:25 +0000
commitcc1c7778e1d15ff8f88b74d0e1e3a0d17c042596 (patch)
tree6cb37cc119d908ff08b86e539f19eb9d6d079364 /extraplugins/layers/org.eclipse.papyrus.layers.stackmodel
parente1898665a62032926f02c75b2696c66fe0b165b0 (diff)
downloadorg.eclipse.papyrus-cc1c7778e1d15ff8f88b74d0e1e3a0d17c042596.tar.gz
org.eclipse.papyrus-cc1c7778e1d15ff8f88b74d0e1e3a0d17c042596.tar.xz
org.eclipse.papyrus-cc1c7778e1d15ff8f88b74d0e1e3a0d17c042596.zip
Bug 330199 - Add Layers states ATTACHED DETACHED
Diffstat (limited to 'extraplugins/layers/org.eclipse.papyrus.layers.stackmodel')
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.di6
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.ecore61
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.genmodel20
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.notation452
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.uml100
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayerExpression.java92
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayerState.java208
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayersPackage.java849
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayersStack.java108
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/AbstractLayerImpl.java17
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/AbstractLayerOperatorImpl.java1
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerExpressionImpl.java194
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerOperatorImpl.java58
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersFactoryImpl.java24
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersPackageImpl.java179
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersStackApplicationImpl.java1
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersStackImpl.java192
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/RegExpLayerImpl.java34
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/StackedLayerOperatorImpl.java1
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/test/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerImplWithApplicationTest.java1
-rw-r--r--extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/test/org/eclipse/papyrus/layers/stackmodel/notifier/DiagramViewChangedEventNotifierTest.java3
21 files changed, 2519 insertions, 82 deletions
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.di b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.di
index 4f8b162bb47..be066f27bda 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.di
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.di
@@ -37,6 +37,9 @@
<availablePage>
<emfPageIdentifier href="layers.notation#_Up8U8P91EeKlldop5b2mtw"/>
</availablePage>
+ <availablePage>
+ <emfPageIdentifier href="layers.notation#_Vjf6UHbuEeOlpfB_tZS-QA"/>
+ </availablePage>
</pageList>
<sashModel currentSelection="//@sashModel/@windows.0/@children.0">
<windows>
@@ -48,6 +51,9 @@
<emfPageIdentifier href="layers.notation#_y-BQANa7EeKPiuTfpuvqHA"/>
</children>
<children>
+ <emfPageIdentifier href="layers.notation#_Vjf6UHbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children>
<emfPageIdentifier href="layers.notation#_C_qusNa8EeKPiuTfpuvqHA"/>
</children>
<children>
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.ecore b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.ecore
index b11af1d433b..e6f5952988a 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.ecore
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.ecore
@@ -1,6 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="layers" nsURI="org.eclipse.papyrus.layers.0.10" nsPrefix="org.eclipse.papyrus.layers.stackmodel.layers">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Start the LayesStack.&#xD;&#xA;This method should be called after the LayersStack creation. It is not called from the constructor, because &#xD;&#xA;the initialisation can differ if the LayersStack is created by the user or by EMF after a reloading.&#xD;&#xA;"/>
+ </eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="LayerNamedStyle" eSuperTypes="../../org.eclipse.gmf.runtime.notation/model/notation.ecore#//NamedStyle">
<eStructuralFeatures xsi:type="ecore:EReference" name="layersStack" ordered="false"
upperBound="-1" eType="#//LayersStack" containment="true"/>
@@ -21,6 +24,32 @@
<eParameters name="view" upperBound="-1" eType="ecore:EClass ../../org.eclipse.gmf.runtime.notation/model/notation.ecore#//View"/>
<eParameters name="property" ordered="false" lowerBound="1" eType="#//Property"/>
</eOperations>
+ <eOperations name="startAfterCreation" ordered="false" lowerBound="1"/>
+ <eOperations name="attachLayers" ordered="false" lowerBound="1" eExceptions="#//LayersException">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Start the LayersStack after a reloading by EMF. This method should be explicitly called after a reloading.&#xD;&#xA;The method usually start the layer behaviors."/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="attach" ordered="false" lowerBound="1" eExceptions="#//LayersException">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Try to attach this Layer. If successful, the state go to &quot;attached&quot;. Otherwise, an exception is thrown.&#xD;&#xA;A Layer can be attached if its required attributes are set.&#xD;&#xA;Required attributes:&#xD;&#xA;&lt;ul>&#xD;&#xA; &lt;li>application&lt;/li>&#xD;&#xA; &lt;li>owningLayerStack&lt;/li>&#xD;&#xA; &lt;li>parent container&lt;/li>&#xD;&#xA; &lt;li>&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;Just after enterring in &quot;attached&quot; state, the enterAttachedState() method is called.&#xD;&#xA;If this Layer is successfully attached, then attach subLayers."/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="detach" ordered="false" lowerBound="1" eExceptions="#//LayersException">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Detach the Layer. The state go to &quot;detached&quot;.&#xD;&#xA;Associated behavior are stopped."/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="enterAttachedState" ordered="false" lowerBound="1" eExceptions="#//LayersException">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This method is called by the class immediately after entering in attached state.&#xD;&#xA;The methodcan be used to start the layer behaviors."/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="exitAttachedState" ordered="false" lowerBound="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This method is called just before this Layer leave the attached state.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="layers" ordered="false"
eType="#//LayerExpression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
@@ -29,6 +58,8 @@
lowerBound="1" eType="#//String"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="diagram" ordered="false"
eType="ecore:EClass ../../org.eclipse.gmf.runtime.notation/model/notation.ecore#//Diagram"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="state" ordered="false"
+ unique="false" lowerBound="1" eType="#//LayerState" defaultValueLiteral="detached"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LayerExpression" abstract="true" eSuperTypes="#//ApplicationDependantElement">
<eOperations name="getComputePropertyValueCommand" ordered="false" lowerBound="1"
@@ -46,9 +77,9 @@
<eParameters name="view" ordered="false" lowerBound="1" eType="ecore:EClass ../../org.eclipse.gmf.runtime.notation/model/notation.ecore#//View"/>
<eParameters name="property" lowerBound="1" upperBound="-1" eType="#//Property"/>
</eOperations>
- <eOperations name="initLayer" ordered="false" lowerBound="1">
+ <eOperations name="attachToLayersStack" ordered="false" lowerBound="1">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
- <details key="documentation" value="Method called to specify that this Layer should be initialized for the specified LayerStack.&#xD;&#xA;Init this Layer for the specified LayersStack."/>
+ <details key="documentation" value="Method called to specify that this Layer should be initialized for the specified LayerStack.&#xD;&#xA;Init this Layer for the specified LayersStack.&#xD;&#xA;This method is called by the LayersStack when it detect that tha layer is attached to it.&#xD;&#xA;"/>
</eAnnotations>
<eParameters name="owningLayersStack" ordered="false" lowerBound="1" eType="#//LayersStack"/>
</eOperations>
@@ -58,6 +89,26 @@
<details key="documentation" value="A checked version of getOwningLayersStack.&#xD;&#xA;"/>
</eAnnotations>
</eOperations>
+ <eOperations name="enterAttachedState" ordered="false" lowerBound="1" eExceptions="#//LayersException">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This method is called by the class immediately after entering in attached state.&#xD;&#xA;The methodcan be used to start the layer behaviors."/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="attach" ordered="false" lowerBound="1" eExceptions="#//LayersException">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Try to attach this Layer. If successful, the state go to &quot;attached&quot;. Otherwise, an exception is thrown.&#xD;&#xA;A Layer can be attached if its required attributes are set.&#xD;&#xA;Required attributes:&#xD;&#xA;&lt;ul>&#xD;&#xA; &lt;li>application&lt;/li>&#xD;&#xA; &lt;li>owningLayerStack&lt;/li>&#xD;&#xA; &lt;li>parent container&lt;/li>&#xD;&#xA; &lt;li>&lt;/li>&#xD;&#xA;&lt;/ul>&#xD;&#xA;Just after enterring in &quot;attached&quot; state, the enterAttachedState() method is called.&#xD;&#xA;If this Layer is successfully attached, then attach subLayers."/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="detach" ordered="false" lowerBound="1" eExceptions="#//LayersException">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Detach the Layer. The state go to &quot;detached&quot;.&#xD;&#xA;Associated behavior are stopped."/>
+ </eAnnotations>
+ </eOperations>
+ <eOperations name="exitAttachedState" ordered="false" lowerBound="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This method is called just before this Layer leave the attached state.&#xD;&#xA;"/>
+ </eAnnotations>
+ </eOperations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
eType="#//String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" ordered="false"
@@ -75,6 +126,8 @@
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="owningLayersStack" ordered="false"
eType="#//LayersStack"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="state" ordered="false"
+ unique="false" lowerBound="1" eType="#//LayerState" defaultValueLiteral="detached"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ApplicationDependantElement" abstract="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="application" ordered="false"
@@ -337,6 +390,10 @@
eType="#//LayerExpression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DefaultPropertyOperator" eSuperTypes="#//PropertyOperator"/>
+ <eClassifiers xsi:type="ecore:EEnum" name="LayerState">
+ <eLiterals name="detached"/>
+ <eLiterals name="attached" value="1"/>
+ </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AbstractLayer" abstract="true" eSuperTypes="#//LayerExpression">
<eOperations name="addPropertyInstance" ordered="false" lowerBound="1" eType="#//TypeInstance"
eExceptions="#//LayersException">
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.genmodel b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.genmodel
index 5b0b8a988b0..1fcbb2aaabb 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.genmodel
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.genmodel
@@ -29,6 +29,10 @@
<foreignModel>layers.uml</foreignModel>
<genPackages xsi:type="genmodel:GenPackage" prefix="Layers" basePackage="org.eclipse.papyrus.layers.stackmodel"
disposableProviderFactory="true" ecorePackage="layers.ecore#/">
+ <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="layers.ecore#//LayerState">
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="layers.ecore#//LayerState/detached"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="layers.ecore#//LayerState/attached"/>
+ </genEnums>
<genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="layers.ecore#//EventLevel">
<genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="layers.ecore#//EventLevel/level1"/>
<genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="layers.ecore#//EventLevel/allLevels"/>
@@ -54,6 +58,7 @@
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//LayersStack/description"/>
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference layers.ecore#//LayersStack/diagram"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//LayersStack/state"/>
<genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayersStack/getComputePropertyValueCommand">
<genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//LayersStack/getComputePropertyValueCommand/view"/>
<genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//LayersStack/getComputePropertyValueCommand/property"/>
@@ -66,6 +71,12 @@
<genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//LayersStack/getViewsComputePropertyValueCommand/view"/>
<genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//LayersStack/getViewsComputePropertyValueCommand/property"/>
</genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayersStack/startAfterCreation"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayersStack/attachLayers"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayersStack/attach"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayersStack/detach"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayersStack/enterAttachedState"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayersStack/exitAttachedState"/>
</genClasses>
<genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="layers.ecore#//LayerExpression">
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//LayerExpression/name"/>
@@ -76,6 +87,7 @@
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//LayerExpression/isBranchEnabled"/>
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference layers.ecore#//LayerExpression/owningLayersStack"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute layers.ecore#//LayerExpression/state"/>
<genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayerExpression/getComputePropertyValueCommand">
<genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//LayerExpression/getComputePropertyValueCommand/view"/>
<genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//LayerExpression/getComputePropertyValueCommand/property"/>
@@ -88,10 +100,14 @@
<genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//LayerExpression/getPropertiesComputePropertyValueCommand/view"/>
<genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//LayerExpression/getPropertiesComputePropertyValueCommand/property"/>
</genOperations>
- <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayerExpression/initLayer">
- <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//LayerExpression/initLayer/owningLayersStack"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayerExpression/attachToLayersStack">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="layers.ecore#//LayerExpression/attachToLayersStack/owningLayersStack"/>
</genOperations>
<genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayerExpression/getLayersStack"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayerExpression/enterAttachedState"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayerExpression/attach"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayerExpression/detach"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="layers.ecore#//LayerExpression/exitAttachedState"/>
</genClasses>
<genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="layers.ecore#//ApplicationDependantElement">
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.notation b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.notation
index 313bed87174..6a5038b50e4 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.notation
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.notation
@@ -826,6 +826,14 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_zpKezda7EeKPiuTfpuvqHA"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_zpKezta7EeKPiuTfpuvqHA" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_U4pyQHl6EeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_9n-f4HbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_U4pyQXl6EeOlpfB_tZS-QA" x="50" y="17"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VuiRYHl6EeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_rQGJoHbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VuiRYXl6EeOlpfB_tZS-QA" x="71" y="17"/>
+ </children>
<styles xmi:type="notation:TitleStyle" xmi:id="_zpKez9a7EeKPiuTfpuvqHA"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_zpKe0Na7EeKPiuTfpuvqHA"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_zpKe0da7EeKPiuTfpuvqHA"/>
@@ -838,7 +846,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_zpKe19a7EeKPiuTfpuvqHA"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_gT0asNa7EeKPiuTfpuvqHA"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zpKewda7EeKPiuTfpuvqHA" x="-24" y="78" height="133"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zpKewda7EeKPiuTfpuvqHA" x="120" y="108" width="242" height="133"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_52F7ENa7EeKPiuTfpuvqHA" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_52F7Eta7EeKPiuTfpuvqHA" source="ShadowFigure">
@@ -870,7 +878,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_52F7J9a7EeKPiuTfpuvqHA"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_51zAINa7EeKPiuTfpuvqHA"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_52F7Eda7EeKPiuTfpuvqHA" x="480" y="348" width="115" height="193"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_52F7Eda7EeKPiuTfpuvqHA" x="696" y="378" width="115" height="193"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_AjwF4Na8EeKPiuTfpuvqHA" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AjwF4ta8EeKPiuTfpuvqHA" source="ShadowFigure">
@@ -902,7 +910,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_AjwF99a8EeKPiuTfpuvqHA"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_AjTZ8Na8EeKPiuTfpuvqHA"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AjwF4da8EeKPiuTfpuvqHA" x="747" y="349"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AjwF4da8EeKPiuTfpuvqHA" x="963" y="379"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_T7HNENbFEeKPiuTfpuvqHA" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T7HNEtbFEeKPiuTfpuvqHA" source="ShadowFigure">
@@ -934,7 +942,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7QXB9bFEeKPiuTfpuvqHA"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_eNnjMNa7EeKPiuTfpuvqHA"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7HNEdbFEeKPiuTfpuvqHA" x="744" y="228"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T7HNEdbFEeKPiuTfpuvqHA" x="960" y="258"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_vMekkNjKEeKgkM6XJF9t4A" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vMkrMNjKEeKgkM6XJF9t4A" source="ShadowFigure">
@@ -974,7 +982,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_vMkrRdjKEeKgkM6XJF9t4A"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_vMMQsNjKEeKgkM6XJF9t4A"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vMekkdjKEeKgkM6XJF9t4A" x="744" y="480" width="203"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vMekkdjKEeKgkM6XJF9t4A" x="960" y="510" width="203"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_9IsT4NjiEeKQqZMBCFd2Uw" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9IsT4tjiEeKQqZMBCFd2Uw" source="ShadowFigure">
@@ -1062,7 +1070,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_9IyakNjiEeKQqZMBCFd2Uw"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_9IaAANjiEeKQqZMBCFd2Uw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9IsT4djiEeKQqZMBCFd2Uw" x="252" y="54" width="475" height="238"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9IsT4djiEeKQqZMBCFd2Uw" x="468" y="72" width="475" height="250"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_Hoi98NjjEeKQqZMBCFd2Uw" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Hoi98tjjEeKQqZMBCFd2Uw" source="ShadowFigure">
@@ -1094,7 +1102,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hoi-B9jjEeKQqZMBCFd2Uw"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_HoKjcNjjEeKQqZMBCFd2Uw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hoi98djjEeKQqZMBCFd2Uw" x="144" y="330" width="115"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hoi98djjEeKQqZMBCFd2Uw" x="360" y="360" width="115"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_WunlMNjjEeKQqZMBCFd2Uw" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Wutr0NjjEeKQqZMBCFd2Uw" source="ShadowFigure">
@@ -1126,7 +1134,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wutr5djjEeKQqZMBCFd2Uw"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_WuVRUNjjEeKQqZMBCFd2Uw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WunlMdjjEeKQqZMBCFd2Uw" x="240" y="504" width="157"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WunlMdjjEeKQqZMBCFd2Uw" x="456" y="534" width="157"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_gqpJcNjjEeKQqZMBCFd2Uw" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_gqvQENjjEeKQqZMBCFd2Uw" source="ShadowFigure">
@@ -1158,7 +1166,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_gqvQJdjjEeKQqZMBCFd2Uw"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_gqW1kNjjEeKQqZMBCFd2Uw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gqpJcdjjEeKQqZMBCFd2Uw" x="366" y="642"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gqpJcdjjEeKQqZMBCFd2Uw" x="582" y="672"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_wpUMoNjjEeKQqZMBCFd2Uw" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wpUMotjjEeKQqZMBCFd2Uw" source="ShadowFigure">
@@ -1190,7 +1198,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_wpUMt9jjEeKQqZMBCFd2Uw"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_wpB4wNjjEeKQqZMBCFd2Uw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wpUModjjEeKQqZMBCFd2Uw" x="156" y="642" width="169"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wpUModjjEeKQqZMBCFd2Uw" x="372" y="672" width="169"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_1xfAUNjjEeKQqZMBCFd2Uw" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_1xfnYNjjEeKQqZMBCFd2Uw" source="ShadowFigure">
@@ -1222,7 +1230,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xgOg9jjEeKQqZMBCFd2Uw"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_1xJCENjjEeKQqZMBCFd2Uw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xfAUdjjEeKQqZMBCFd2Uw" x="6" y="504" width="163"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1xfAUdjjEeKQqZMBCFd2Uw" x="222" y="534" width="163"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_zT_qYNt5EeKwptaAAanMDg" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zT_qYtt5EeKwptaAAanMDg" source="ShadowFigure">
@@ -1254,7 +1262,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_zT_qd9t5EeKwptaAAanMDg"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_325AENt0EeKQqZMBCFd2Uw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zT_qYdt5EeKwptaAAanMDg" x="396" y="-48" height="45"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zT_qYdt5EeKwptaAAanMDg" x="612" y="-18" height="45"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_z-jdcOHTEeKCZbxNW-U3VQ" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z-jdcuHTEeKCZbxNW-U3VQ" source="ShadowFigure">
@@ -1342,7 +1350,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-jdh-HTEeKCZbxNW-U3VQ"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_z9aN8OHTEeKCZbxNW-U3VQ"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-jdceHTEeKCZbxNW-U3VQ" x="684" y="666"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-jdceHTEeKCZbxNW-U3VQ" x="900" y="696"/>
</children>
<children xmi:type="notation:Shape" xmi:id="__1eoIOHTEeKCZbxNW-U3VQ" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__1eoIuHTEeKCZbxNW-U3VQ" source="ShadowFigure">
@@ -1374,7 +1382,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="__1eoN-HTEeKCZbxNW-U3VQ"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#__1GNoOHTEeKCZbxNW-U3VQ"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="__1eoIeHTEeKCZbxNW-U3VQ" x="516" y="666"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__1eoIeHTEeKCZbxNW-U3VQ" x="732" y="696"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_7c7RQFVHEeOah7Z-UYdQAA" type="2006" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7c7RQlVHEeOah7Z-UYdQAA" source="ShadowFigure">
@@ -1402,7 +1410,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_7c7RTVVHEeOah7Z-UYdQAA"/>
</children>
<element xmi:type="uml:Enumeration" href="layers.uml#_7cWpgFVHEeOah7Z-UYdQAA"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7c7RQVVHEeOah7Z-UYdQAA" x="280" y="790"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7c7RQVVHEeOah7Z-UYdQAA" x="496" y="820"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_ft-hUWtpEeOlpfB_tZS-QA" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ft-hU2tpEeOlpfB_tZS-QA" source="ShadowFigure">
@@ -1434,7 +1442,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_fuEoA2tpEeOlpfB_tZS-QA"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_ft-hUGtpEeOlpfB_tZS-QA"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ft-hUmtpEeOlpfB_tZS-QA" x="516" y="792"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ft-hUmtpEeOlpfB_tZS-QA" x="732" y="822"/>
</children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_y-BQAda7EeKPiuTfpuvqHA"/>
<element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
@@ -2052,7 +2060,7 @@
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_bHgZ5NhbEeKgkM6XJF9t4A"/>
</children>
<element xmi:type="uml:Class" href="layers.uml#_-vaacNa7EeKPiuTfpuvqHA"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bHaTMdhbEeKgkM6XJF9t4A" x="96" y="150" height="385"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bHaTMdhbEeKgkM6XJF9t4A" x="18" y="144" height="385"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_bvJBkNhbEeKgkM6XJF9t4A" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bvJBkthbEeKgkM6XJF9t4A" source="ShadowFigure">
@@ -3438,7 +3446,6 @@
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_M3hWt9kDEeKQqZMBCFd2Uw" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_M3hWuNkDEeKQqZMBCFd2Uw" type="5038"/>
- <element xmi:type="uml:Comment" href="layers.uml#_M28u8NkDEeKQqZMBCFd2Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_M3hWsdkDEeKQqZMBCFd2Uw" x="246" y="180"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_a8TPANqCEeKQqZMBCFd2Uw" type="2008" fontName="Segoe UI" lineColor="0">
@@ -5621,4 +5628,413 @@
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UrRKYgxJEeOjX-JbGFEH7w" id="(0.8253275109170306,1.0)"/>
</edges>
</notation:Diagram>
+ <notation:Diagram xmi:id="_Vjf6UHbuEeOlpfB_tZS-QA" type="PapyrusUMLClassDiagram" name="LayersStack" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_bGfo0HbuEeOlpfB_tZS-QA" type="2008" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfo0XbuEeOlpfB_tZS-QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfo0nbuEeOlpfB_tZS-QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfo03buEeOlpfB_tZS-QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfo1HbuEeOlpfB_tZS-QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfo1XbuEeOlpfB_tZS-QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfo1nbuEeOlpfB_tZS-QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfo13buEeOlpfB_tZS-QA" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfo2HbuEeOlpfB_tZS-QA" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_bGfo2XbuEeOlpfB_tZS-QA" type="3012" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="layers.uml#_AWx_gNjuEeKQqZMBCFd2Uw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfo2nbuEeOlpfB_tZS-QA" x="47" y="9"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfo23buEeOlpfB_tZS-QA" type="3012" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="layers.uml#_AW-MwNjuEeKQqZMBCFd2Uw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfo3HbuEeOlpfB_tZS-QA" x="47" y="9"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfo3XbuEeOlpfB_tZS-QA" type="3012" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfo3nbuEeOlpfB_tZS-QA" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfo33buEeOlpfB_tZS-QA" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfo4HbuEeOlpfB_tZS-QA" key="StereotypeList" value="Ecore::EAttribute"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfo4XbuEeOlpfB_tZS-QA" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfo4nbuEeOlpfB_tZS-QA" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfo43buEeOlpfB_tZS-QA" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <element xmi:type="uml:Property" href="layers.uml#_mCUIAAxEEeOjX-JbGFEH7w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfo5HbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfo5XbuEeOlpfB_tZS-QA" type="3012" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="layers.uml#_qaozIAxEEeOjX-JbGFEH7w"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfo5nbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfo53buEeOlpfB_tZS-QA" type="3012" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="layers.uml#_xcbgQGQ7EeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfo6HbuEeOlpfB_tZS-QA" x="153" y="77"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_E2yuoHluEeOlpfB_tZS-QA" type="3012" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="layers.uml#_E2soAHluEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_E2yuoXluEeOlpfB_tZS-QA"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfo6XbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfo6nbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfo63buEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfo7HbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfo7XbuEeOlpfB_tZS-QA" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_bGfo7nbuEeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfo73buEeOlpfB_tZS-QA" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfo8HbuEeOlpfB_tZS-QA" key="CustomAppearance_MaskValue" value="17160"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="layers.uml#_VdSFsO7HEeK0p4PkXjd-_Q"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfo8XbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfo8nbuEeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfo83buEeOlpfB_tZS-QA" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfo9HbuEeOlpfB_tZS-QA" key="CustomAppearance_MaskValue" value="17160"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="layers.uml#_xfz8UO7HEeK0p4PkXjd-_Q"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfo9XbuEeOlpfB_tZS-QA" x="93" y="23"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfo9nbuEeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfo93buEeOlpfB_tZS-QA" source="CustomAppearance_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfo-HbuEeOlpfB_tZS-QA" key="CustomAppearance_MaskValue" value="17160"/>
+ </eAnnotations>
+ <element xmi:type="uml:Operation" href="layers.uml#_x2PfUO7HEeK0p4PkXjd-_Q"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfo-XbuEeOlpfB_tZS-QA" x="93" y="23"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfo-nbuEeOlpfB_tZS-QA" type="3013" fontColor="8421504" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_Ps2L4GUaEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfo-3buEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfo_HbuEeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_kzSSwGUdEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfo_XbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_g7BWwHbvEeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_YeJ4IHbvEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_g7BWwXbvEeOlpfB_tZS-QA" x="212" y="84"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VTiN4HluEeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_VTcHQHluEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VTiN4XluEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_XeS1QXluEeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_XeS1QHluEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XeS1QnluEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_XNTkMXl0EeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_XNTkMHl0EeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_XNTkMnl0EeOlpfB_tZS-QA"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfo_nbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfo_3buEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfpAHbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfpAXbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfpAnbuEeOlpfB_tZS-QA" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfpA3buEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfpBHbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfpBXbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfpBnbuEeOlpfB_tZS-QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="layers.uml#_9IaAANjiEeKQqZMBCFd2Uw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfpCnbuEeOlpfB_tZS-QA" x="546" y="132" width="481" height="349"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfp73buEeOlpfB_tZS-QA" type="2008" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfp8HbuEeOlpfB_tZS-QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfp8XbuEeOlpfB_tZS-QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfp8nbuEeOlpfB_tZS-QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfp83buEeOlpfB_tZS-QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfp9HbuEeOlpfB_tZS-QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfp9XbuEeOlpfB_tZS-QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfp9nbuEeOlpfB_tZS-QA" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfp93buEeOlpfB_tZS-QA" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfp-HbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfp-XbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfp-nbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfp-3buEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfp_HbuEeOlpfB_tZS-QA" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfp_XbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfp_nbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfp_3buEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfqAHbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfqAXbuEeOlpfB_tZS-QA" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfqAnbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfqA3buEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfqBHbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfqBXbuEeOlpfB_tZS-QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="layers.uml#_325AENt0EeKQqZMBCFd2Uw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfqCXbuEeOlpfB_tZS-QA" x="690" y="30" height="45"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfqCnbuEeOlpfB_tZS-QA" type="2008" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfqC3buEeOlpfB_tZS-QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfqDHbuEeOlpfB_tZS-QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfqDXbuEeOlpfB_tZS-QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfqDnbuEeOlpfB_tZS-QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfqD3buEeOlpfB_tZS-QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfqEHbuEeOlpfB_tZS-QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfqEXbuEeOlpfB_tZS-QA" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfqEnbuEeOlpfB_tZS-QA" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfqE3buEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfqFHbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfqFXbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfqFnbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfqF3buEeOlpfB_tZS-QA" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfqGHbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfqGXbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfqGnbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfqG3buEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfqHHbuEeOlpfB_tZS-QA" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfqHXbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfqHnbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfqH3buEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfqIHbuEeOlpfB_tZS-QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="layers.uml#_51zAINa7EeKPiuTfpuvqHA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfqJHbuEeOlpfB_tZS-QA" x="774" y="576" width="115" height="193"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfq6HbuEeOlpfB_tZS-QA" type="2008" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfq6XbuEeOlpfB_tZS-QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfq6nbuEeOlpfB_tZS-QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfq63buEeOlpfB_tZS-QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfq7HbuEeOlpfB_tZS-QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfq7XbuEeOlpfB_tZS-QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfq7nbuEeOlpfB_tZS-QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfq73buEeOlpfB_tZS-QA" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfq8HbuEeOlpfB_tZS-QA" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_bGfq8XbuEeOlpfB_tZS-QA" type="3012" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="layers.uml#_ctvjINjwEeKQqZMBCFd2Uw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfq8nbuEeOlpfB_tZS-QA" x="58" y="16"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfq83buEeOlpfB_tZS-QA" type="3012" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="layers.uml#_ct7wYNjwEeKQqZMBCFd2Uw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfq9HbuEeOlpfB_tZS-QA" x="58" y="16"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_fKXnwHl8EeOlpfB_tZS-QA" type="3012" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Property" href="layers.uml#_c5OEgHl8EeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fKXnwXl8EeOlpfB_tZS-QA" x="112" y="67"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfq9XbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfq9nbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfq93buEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfq-HbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfq-XbuEeOlpfB_tZS-QA" type="7018">
+ <children xmi:type="notation:Shape" xmi:id="_rQGJoXbuEeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_rQGJoHbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rQGJonbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_9n-f4XbuEeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_9n-f4HbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9n-f4nbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_an4UAHl8EeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_RnmmUHl8EeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_an4UAXl8EeOlpfB_tZS-QA" x="90" y="100"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_an-aoHl8EeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_RnmmUnl8EeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_an-aoXl8EeOlpfB_tZS-QA" x="90" y="100"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_aoEhQHl8EeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_RnmmVHl8EeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aoEhQXl8EeOlpfB_tZS-QA" x="90" y="100"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_aoEhQnl8EeOlpfB_tZS-QA" type="3013" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:Operation" href="layers.uml#_RnmmVnl8EeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aoEhQ3l8EeOlpfB_tZS-QA" x="90" y="100"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfq-nbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfq-3buEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfq_HbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfq_XbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfq_nbuEeOlpfB_tZS-QA" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfq_3buEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfrAHbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfrAXbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfrAnbuEeOlpfB_tZS-QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="layers.uml#_gT0asNa7EeKPiuTfpuvqHA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfrBnbuEeOlpfB_tZS-QA" x="72" y="132" width="310" height="343"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bGfrN3buEeOlpfB_tZS-QA" type="2008" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfrOHbuEeOlpfB_tZS-QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfrOXbuEeOlpfB_tZS-QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfrOnbuEeOlpfB_tZS-QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfrO3buEeOlpfB_tZS-QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_bGfrPHbuEeOlpfB_tZS-QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_bGfrPXbuEeOlpfB_tZS-QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfrPnbuEeOlpfB_tZS-QA" type="5029"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfrP3buEeOlpfB_tZS-QA" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfrQHbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfrQXbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfrQnbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfrQ3buEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfrRHbuEeOlpfB_tZS-QA" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfrRXbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfrRnbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfrR3buEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfrSHbuEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bGfrSXbuEeOlpfB_tZS-QA" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bGfrSnbuEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bGfrS3buEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bGfrTHbuEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfrTXbuEeOlpfB_tZS-QA"/>
+ </children>
+ <element xmi:type="uml:Class" href="layers.uml#_HoKjcNjjEeKQqZMBCFd2Uw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bGfrUXbuEeOlpfB_tZS-QA" x="438" y="576" width="115"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_9AF4IHltEeOlpfB_tZS-QA" type="2006" fontName="Segoe UI" lineColor="0">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9AL-wHltEeOlpfB_tZS-QA" source="ShadowFigure">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9AL-wXltEeOlpfB_tZS-QA" key="ShadowFigure_Value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9AL-wnltEeOlpfB_tZS-QA" source="displayNameLabelIcon">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9AL-w3ltEeOlpfB_tZS-QA" key="displayNameLabelIcon_value" value="false"/>
+ </eAnnotations>
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9AL-xHltEeOlpfB_tZS-QA" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_9AL-xXltEeOlpfB_tZS-QA" key="QualifiedNameDepth" value="1000"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9AL-xnltEeOlpfB_tZS-QA" type="5023"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9AL-x3ltEeOlpfB_tZS-QA" type="7015">
+ <children xmi:type="notation:Shape" xmi:id="_AKSjQHluEeOlpfB_tZS-QA" type="3017" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:EnumerationLiteral" href="layers.uml#_AKMcoHluEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AKSjQXluEeOlpfB_tZS-QA"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_BUS4QXluEeOlpfB_tZS-QA" type="3017" fontName="Segoe UI" lineColor="0">
+ <element xmi:type="uml:EnumerationLiteral" href="layers.uml#_BUS4QHluEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_BUS4QnluEeOlpfB_tZS-QA"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9AL-yHltEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9AL-yXltEeOlpfB_tZS-QA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9AL-ynltEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9AL-y3ltEeOlpfB_tZS-QA"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="layers.uml#_8__xgHltEeOlpfB_tZS-QA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9AF4IXltEeOlpfB_tZS-QA" x="1122" y="162"/>
+ </children>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_Vjf6UXbuEeOlpfB_tZS-QA"/>
+ <element xmi:type="uml:Model" href="layers.uml#_gAOFQLcqEeK8_t7Rpq6ZJA"/>
+ <edges xmi:type="notation:Connector" xmi:id="_bGfpC3buEeOlpfB_tZS-QA" type="4002" source="_bGfrN3buEeOlpfB_tZS-QA" target="_bGfo0HbuEeOlpfB_tZS-QA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfpDHbuEeOlpfB_tZS-QA" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfpDXbuEeOlpfB_tZS-QA" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_bGfpDnbuEeOlpfB_tZS-QA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="layers.uml#_OJCPcNjjEeKQqZMBCFd2Uw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bGfpD3buEeOlpfB_tZS-QA" points="[2, -2, -91, 72]$[90, -64, -3, 10]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGfpEHbuEeOlpfB_tZS-QA" id="(0.6,0.02)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGfpEXbuEeOlpfB_tZS-QA" id="(0.4122137404580153,0.9)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_bGfpVnbuEeOlpfB_tZS-QA" type="4002" source="_bGfo0HbuEeOlpfB_tZS-QA" target="_bGfp73buEeOlpfB_tZS-QA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfpV3buEeOlpfB_tZS-QA" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfpWHbuEeOlpfB_tZS-QA" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_bGfpWXbuEeOlpfB_tZS-QA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="layers.uml#_18JYYNt5EeKwptaAAanMDg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bGfpWnbuEeOlpfB_tZS-QA" points="[-3, -5, 0, 82]$[-11, -80, -8, 7]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGfpW3buEeOlpfB_tZS-QA" id="(0.48210526315789476,0.004672897196261682)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGfpXHbuEeOlpfB_tZS-QA" id="(0.41624365482233505,0.8444444444444444)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_bGfpXXbuEeOlpfB_tZS-QA" type="4002" source="_bGfqCnbuEeOlpfB_tZS-QA" target="_bGfo0HbuEeOlpfB_tZS-QA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfpXnbuEeOlpfB_tZS-QA" type="6007">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfpX3buEeOlpfB_tZS-QA" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_bGfpYHbuEeOlpfB_tZS-QA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Generalization" href="layers.uml#__ujk4NjMEeKgkM6XJF9t4A"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bGfpYXbuEeOlpfB_tZS-QA" points="[25, -12, -69, 32]$[88, -42, -6, 2]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGfpYnbuEeOlpfB_tZS-QA" id="(0.62,0.053811659192825115)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGfpY3buEeOlpfB_tZS-QA" id="(0.08396946564885496,0.59)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_bGfp3nbuEeOlpfB_tZS-QA" type="4001" source="_bGfq6HbuEeOlpfB_tZS-QA" target="_bGfo0HbuEeOlpfB_tZS-QA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfp33buEeOlpfB_tZS-QA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfp4HbuEeOlpfB_tZS-QA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfp4XbuEeOlpfB_tZS-QA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfp4nbuEeOlpfB_tZS-QA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfp43buEeOlpfB_tZS-QA" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfp5HbuEeOlpfB_tZS-QA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfp5XbuEeOlpfB_tZS-QA" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfp5nbuEeOlpfB_tZS-QA" x="-16" y="9"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfp53buEeOlpfB_tZS-QA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfp6HbuEeOlpfB_tZS-QA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfp6XbuEeOlpfB_tZS-QA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfp6nbuEeOlpfB_tZS-QA" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_bGfp63buEeOlpfB_tZS-QA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="layers.uml#_cHkbsNbGEeKPiuTfpuvqHA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bGfp7HbuEeOlpfB_tZS-QA" points="[5, -6, -94, 0]$[97, -7, -2, -1]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGfp7XbuEeOlpfB_tZS-QA" id="(0.9941176470588236,0.3533834586466165)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGfp7nbuEeOlpfB_tZS-QA" id="(0.002079002079002079,0.2591362126245847)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_bGfqJXbuEeOlpfB_tZS-QA" type="4001" source="_bGfo0HbuEeOlpfB_tZS-QA" target="_bGfq6HbuEeOlpfB_tZS-QA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfqJnbuEeOlpfB_tZS-QA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfqJ3buEeOlpfB_tZS-QA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfqKHbuEeOlpfB_tZS-QA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfqKXbuEeOlpfB_tZS-QA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfqKnbuEeOlpfB_tZS-QA" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfqK3buEeOlpfB_tZS-QA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfqLHbuEeOlpfB_tZS-QA" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfqLXbuEeOlpfB_tZS-QA" x="-22" y="15"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfqLnbuEeOlpfB_tZS-QA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfqL3buEeOlpfB_tZS-QA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfqMHbuEeOlpfB_tZS-QA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfqMXbuEeOlpfB_tZS-QA" x="-14" y="-15"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_bGfqMnbuEeOlpfB_tZS-QA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="layers.uml#_PznBc2Q5EeOlpfB_tZS-QA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bGfqM3buEeOlpfB_tZS-QA" points="[-2, -4, 81, 0]$[-78, -1, 5, 3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGfqNHbuEeOlpfB_tZS-QA" id="(0.004210526315789474,0.5560747663551402)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGfqNXbuEeOlpfB_tZS-QA" id="(0.9705882352941176,0.8646616541353384)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_bGfrB3buEeOlpfB_tZS-QA" type="4001" source="_bGfrN3buEeOlpfB_tZS-QA" target="_bGfo0HbuEeOlpfB_tZS-QA" lineColor="0">
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfrCHbuEeOlpfB_tZS-QA" visible="false" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfrCXbuEeOlpfB_tZS-QA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfrCnbuEeOlpfB_tZS-QA" visible="false" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfrC3buEeOlpfB_tZS-QA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfrDHbuEeOlpfB_tZS-QA" visible="false" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfrDXbuEeOlpfB_tZS-QA" x="-34" y="-41"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfrDnbuEeOlpfB_tZS-QA" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfrD3buEeOlpfB_tZS-QA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfrEHbuEeOlpfB_tZS-QA" visible="false" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfrEXbuEeOlpfB_tZS-QA" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bGfrEnbuEeOlpfB_tZS-QA" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bGfrE3buEeOlpfB_tZS-QA" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_bGfrFHbuEeOlpfB_tZS-QA" fontName="Segoe UI"/>
+ <element xmi:type="uml:Association" href="layers.uml#_em-rwNjnEeKQqZMBCFd2Uw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bGfrFXbuEeOlpfB_tZS-QA" points="[0, -4, -89, 78]$[0, -76, -89, 6]$[87, -76, -2, 6]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGfrFnbuEeOlpfB_tZS-QA" id="(0.1826086956521739,0.04)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bGfrF3buEeOlpfB_tZS-QA" id="(0.015267175572519083,0.84)"/>
+ </edges>
+ </notation:Diagram>
</xmi:XMI>
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.uml b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.uml
index a73e8958beb..97a0944861e 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.uml
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/model/layers.uml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
<uml:Model xmi:id="_gAOFQLcqEeK8_t7Rpq6ZJA" name="layers">
- <ownedComment xmi:type="uml:Comment" xmi:id="_M28u8NkDEeKQqZMBCFd2Uw">
- <body>Not use anymore</body>
+ <ownedComment xmi:type="uml:Comment" xmi:id="_7_dC4HbuEeOlpfB_tZS-QA" annotatedElement="_gAOFQLcqEeK8_t7Rpq6ZJA">
+ <body>Start the LayesStack.&#xD;
+This method should be called after the LayersStack creation. It is not called from the constructor, because &#xD;
+the initialisation can differ if the LayersStack is created by the user or by EMF after a reloading.&#xD;
+</body>
</ownedComment>
<packageImport xmi:type="uml:PackageImport" xmi:id="_uhlc8LcqEeK8_t7Rpq6ZJA">
<importedPackage xmi:type="uml:Model" href="notation/notation.uml#_AziHILcnEeKeLJDBCBPhPw"/>
@@ -47,6 +50,11 @@
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hQIS8dkhEeKQqZMBCFd2Uw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hQIS8tkhEeKQqZMBCFd2Uw" value="1"/>
</ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_c5OEgHl8EeOlpfB_tZS-QA" name="state" visibility="public" type="_8__xgHltEeOlpfB_tZS-QA" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_c5OEgXl8EeOlpfB_tZS-QA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_c5OEgnl8EeOlpfB_tZS-QA" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_c5OEg3l8EeOlpfB_tZS-QA" name="detached" value="detached"/>
+ </ownedAttribute>
<ownedOperation xmi:type="uml:Operation" xmi:id="_8H1xgO70EeK0p4PkXjd-_Q" name="getComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
<ownedComment xmi:type="uml:Comment" xmi:id="_8H1xge70EeK0p4PkXjd-_Q">
<body>Get the ComputePropertyValueCommands for the specified views and Property.&#xD;
@@ -91,6 +99,46 @@
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_8ILIuO70EeK0p4PkXjd-_Q" value="*"/>
</ownedParameter>
</ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_rQGJoHbuEeOlpfB_tZS-QA" name="startAfterCreation"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_9n-f4HbuEeOlpfB_tZS-QA" name="attachLayers" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_Go6U4HbvEeOlpfB_tZS-QA" annotatedElement="_9n-f4HbuEeOlpfB_tZS-QA">
+ <body>Start the LayersStack after a reloading by EMF. This method should be explicitly called after a reloading.&#xD;
+The method usually start the layer behaviors.</body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_RnmmUHl8EeOlpfB_tZS-QA" name="attach" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_RnmmUXl8EeOlpfB_tZS-QA" annotatedElement="_RnmmUHl8EeOlpfB_tZS-QA">
+ <body>Try to attach this Layer. If successful, the state go to &quot;attached&quot;. Otherwise, an exception is thrown.&#xD;
+A Layer can be attached if its required attributes are set.&#xD;
+Required attributes:&#xD;
+&lt;ul>&#xD;
+ &lt;li>application&lt;/li>&#xD;
+ &lt;li>owningLayerStack&lt;/li>&#xD;
+ &lt;li>parent container&lt;/li>&#xD;
+ &lt;li>&lt;/li>&#xD;
+&lt;/ul>&#xD;
+Just after enterring in &quot;attached&quot; state, the enterAttachedState() method is called.&#xD;
+If this Layer is successfully attached, then attach subLayers.</body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_RnmmUnl8EeOlpfB_tZS-QA" name="detach" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_RnmmU3l8EeOlpfB_tZS-QA" annotatedElement="_RnmmUnl8EeOlpfB_tZS-QA">
+ <body>Detach the Layer. The state go to &quot;detached&quot;.&#xD;
+Associated behavior are stopped.</body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_RnmmVHl8EeOlpfB_tZS-QA" name="enterAttachedState" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_RnmmVXl8EeOlpfB_tZS-QA" annotatedElement="_RnmmVHl8EeOlpfB_tZS-QA">
+ <body>This method is called by the class immediately after entering in attached state.&#xD;
+The methodcan be used to start the layer behaviors.</body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_RnmmVnl8EeOlpfB_tZS-QA" name="exitAttachedState">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_RnmmV3l8EeOlpfB_tZS-QA" annotatedElement="_RnmmVnl8EeOlpfB_tZS-QA">
+ <body>This method is called just before this Layer leave the attached state.&#xD;
+</body>
+ </ownedComment>
+ </ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_jWQ4ANa7EeKPiuTfpuvqHA" name="layerNamedStyle_layerStack_1" memberEnd="_jWQ4Ada7EeKPiuTfpuvqHA _jWHHANa7EeKPiuTfpuvqHA">
<ownedEnd xmi:type="uml:Property" xmi:id="_jWQ4Ada7EeKPiuTfpuvqHA" name="layerNamedStyle" type="_yN_dQLcqEeK8_t7Rpq6ZJA" association="_jWQ4ANa7EeKPiuTfpuvqHA">
@@ -551,6 +599,11 @@ Setting the value of this node set the value of the subnodes.</body>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PznBcWQ5EeOlpfB_tZS-QA"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_PznBcmQ5EeOlpfB_tZS-QA" value="1"/>
</ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_E2soAHluEeOlpfB_tZS-QA" name="state" visibility="public" type="_8__xgHltEeOlpfB_tZS-QA" isUnique="false">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ISCtgHluEeOlpfB_tZS-QA" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ISCtgXluEeOlpfB_tZS-QA" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_QPjWoHluEeOlpfB_tZS-QA" name="detached" value="detached"/>
+ </ownedAttribute>
<ownedOperation xmi:type="uml:Operation" xmi:id="_VdSFsO7HEeK0p4PkXjd-_Q" name="getComputePropertyValueCommand" raisedException="_iYKFMNxGEeKwptaAAanMDg">
<ownedComment xmi:type="uml:Comment" xmi:id="_CI71QO7JEeK0p4PkXjd-_Q">
<body>Get the ComputePropertyValueCommands for the specified views and Property.&#xD;
@@ -595,10 +648,12 @@ Setting the value of this node set the value of the subnodes.</body>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_cpKoIO7IEeK0p4PkXjd-_Q" value="*"/>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:type="uml:Operation" xmi:id="_Ps2L4GUaEeOlpfB_tZS-QA" name="initLayer">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_Ps2L4GUaEeOlpfB_tZS-QA" name="attachToLayersStack">
<ownedComment xmi:type="uml:Comment" xmi:id="_nC1a4GUaEeOlpfB_tZS-QA" annotatedElement="_Ps2L4GUaEeOlpfB_tZS-QA">
<body>Method called to specify that this Layer should be initialized for the specified LayerStack.&#xD;
-Init this Layer for the specified LayersStack.</body>
+Init this Layer for the specified LayersStack.&#xD;
+This method is called by the LayersStack when it detect that tha layer is attached to it.&#xD;
+</body>
</ownedComment>
<ownedParameter xmi:type="uml:Parameter" xmi:id="_cr5cQGUaEeOlpfB_tZS-QA" name="owningLayersStack" type="_gT0asNa7EeKPiuTfpuvqHA"/>
</ownedOperation>
@@ -609,6 +664,39 @@ Init this Layer for the specified LayersStack.</body>
</ownedComment>
<ownedParameter xmi:type="uml:Parameter" xmi:id="_r3jmwGUdEeOlpfB_tZS-QA" name="layersStack" type="_gT0asNa7EeKPiuTfpuvqHA" direction="return"/>
</ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_YeJ4IHbvEeOlpfB_tZS-QA" name="enterAttachedState" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_YeJ4IXbvEeOlpfB_tZS-QA" annotatedElement="_YeJ4IHbvEeOlpfB_tZS-QA">
+ <body>This method is called by the class immediately after entering in attached state.&#xD;
+The methodcan be used to start the layer behaviors.</body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_VTcHQHluEeOlpfB_tZS-QA" name="attach" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_tUEZQHlvEeOlpfB_tZS-QA" annotatedElement="_VTcHQHluEeOlpfB_tZS-QA">
+ <body>Try to attach this Layer. If successful, the state go to &quot;attached&quot;. Otherwise, an exception is thrown.&#xD;
+A Layer can be attached if its required attributes are set.&#xD;
+Required attributes:&#xD;
+&lt;ul>&#xD;
+ &lt;li>application&lt;/li>&#xD;
+ &lt;li>owningLayerStack&lt;/li>&#xD;
+ &lt;li>parent container&lt;/li>&#xD;
+ &lt;li>&lt;/li>&#xD;
+&lt;/ul>&#xD;
+Just after enterring in &quot;attached&quot; state, the enterAttachedState() method is called.&#xD;
+If this Layer is successfully attached, then attach subLayers.</body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_XeS1QHluEeOlpfB_tZS-QA" name="detach" raisedException="_iYKFMNxGEeKwptaAAanMDg">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_yitoYHlvEeOlpfB_tZS-QA" annotatedElement="_XeS1QHluEeOlpfB_tZS-QA">
+ <body>Detach the Layer. The state go to &quot;detached&quot;.&#xD;
+Associated behavior are stopped.</body>
+ </ownedComment>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_XNTkMHl0EeOlpfB_tZS-QA" name="exitAttachedState">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_e9TVwHl0EeOlpfB_tZS-QA" annotatedElement="_XNTkMHl0EeOlpfB_tZS-QA">
+ <body>This method is called just before this Layer leave the attached state.&#xD;
+</body>
+ </ownedComment>
+ </ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_HoKjcNjjEeKQqZMBCFd2Uw" name="LayerOperator" isAbstract="true">
<generalization xmi:type="uml:Generalization" xmi:id="_OJCPcNjjEeKQqZMBCFd2Uw" general="_9IaAANjiEeKQqZMBCFd2Uw"/>
@@ -1406,6 +1494,10 @@ layerStackChanged().</body>
<packagedElement xmi:type="uml:Class" xmi:id="_ft-hUGtpEeOlpfB_tZS-QA" name="AllViewsDerivedLayer">
<generalization xmi:type="uml:Generalization" xmi:id="_p-dSoGtpEeOlpfB_tZS-QA" general="_51zAINa7EeKPiuTfpuvqHA"/>
</packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_8__xgHltEeOlpfB_tZS-QA" name="LayerState">
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_AKMcoHluEeOlpfB_tZS-QA" name="detached"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_BUS4QHluEeOlpfB_tZS-QA" name="attached"/>
+ </packagedElement>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_X07z8LcsEeK8_t7Rpq6ZJA">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_X2lZwLcsEeK8_t7Rpq6ZJA" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayerExpression.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayerExpression.java
index 566f3b50aa7..1999e47b892 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayerExpression.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayerExpression.java
@@ -34,6 +34,7 @@ import org.eclipse.papyrus.layers.stackmodel.command.ComputePropertyValueCommand
* <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#isLayerEnabled <em>Is Layer Enabled</em>}</li>
* <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#isBranchEnabled <em>Is Branch Enabled</em>}</li>
* <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#getOwningLayersStack <em>Owning Layers Stack</em>}</li>
+ * <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#getState <em>State</em>}</li>
* </ul>
* </p>
*
@@ -193,6 +194,36 @@ public interface LayerExpression extends ApplicationDependantElement {
void setOwningLayersStack(LayersStack value);
/**
+ * Returns the value of the '<em><b>State</b></em>' attribute.
+ * The default value is <code>"detached"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.layers.stackmodel.layers.LayerState}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>State</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>State</em>' attribute.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerState
+ * @see #setState(LayerState)
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayersPackage#getLayerExpression_State()
+ * @model default="detached" unique="false" required="true" ordered="false"
+ * @generated
+ */
+ LayerState getState();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#getState <em>State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>State</em>' attribute.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerState
+ * @see #getState()
+ * @generated
+ */
+ void setState(LayerState value);
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model dataType="org.eclipse.papyrus.layers.stackmodel.layers.ComputePropertyValueCommand" required="true" ordered="false" exceptions="org.eclipse.papyrus.layers.stackmodel.layers.LayersException" viewRequired="true" viewOrdered="false" propertyRequired="true" propertyOrdered="false"
@@ -222,11 +253,13 @@ public interface LayerExpression extends ApplicationDependantElement {
* <!-- begin-model-doc -->
* Method called to specify that this Layer should be initialized for the specified LayerStack.
* Init this Layer for the specified LayersStack.
+ * This method is called by the LayersStack when it detect that tha layer is attached to it.
+ *
* <!-- end-model-doc -->
* @model owningLayersStackRequired="true" owningLayersStackOrdered="false"
* @generated
*/
- void initLayer(LayersStack owningLayersStack);
+ void attachToLayersStack(LayersStack owningLayersStack);
/**
* <!-- begin-user-doc -->
@@ -243,6 +276,63 @@ public interface LayerExpression extends ApplicationDependantElement {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This method is called by the class immediately after entering in attached state.
+ * The methodcan be used to start the layer behaviors.
+ * <!-- end-model-doc -->
+ * @model exceptions="org.eclipse.papyrus.layers.stackmodel.layers.LayersException"
+ * @generated
+ */
+ void enterAttachedState() throws LayersException;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Try to attach this Layer. If successful, the state go to "attached". Otherwise, an exception is thrown.
+ * A Layer can be attached if its required attributes are set.
+ * Required attributes:
+ * <ul>
+ * <li>application</li>
+ * <li>owningLayerStack</li>
+ * <li>parent container</li>
+ * <li></li>
+ * </ul>
+ * Just after enterring in "attached" state, the enterAttachedState() method is called.
+ * If this Layer is successfully attached, then attach subLayers.
+ * <!-- end-model-doc -->
+ * @model exceptions="org.eclipse.papyrus.layers.stackmodel.layers.LayersException"
+ * @generated
+ */
+ void attach() throws LayersException;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Detach the Layer. The state go to "detached".
+ * Associated behavior are stopped.
+ * <!-- end-model-doc -->
+ * @model exceptions="org.eclipse.papyrus.layers.stackmodel.layers.LayersException"
+ * @generated
+ */
+ void detach() throws LayersException;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This method is called just before this Layer leave the attached state.
+ *
+ * <!-- end-model-doc -->
+ * @model
+ * @generated
+ */
+ void exitAttachedState();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
* @throws LayersException
* @model dataType="org.eclipse.papyrus.layers.stackmodel.layers.ComputePropertyValueCommand" viewMany="true" propertyRequired="true" propertyOrdered="false"
* @generated NOT
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayerState.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayerState.java
new file mode 100644
index 00000000000..6932cacaba8
--- /dev/null
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayerState.java
@@ -0,0 +1,208 @@
+/**
+ */
+package org.eclipse.papyrus.layers.stackmodel.layers;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Layer State</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayersPackage#getLayerState()
+ * @model
+ * @generated
+ */
+public enum LayerState implements Enumerator {
+ /**
+ * The '<em><b>Detached</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #DETACHED_VALUE
+ * @generated
+ * @ordered
+ */
+ DETACHED(0, "detached", "detached"),
+
+ /**
+ * The '<em><b>Attached</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #ATTACHED_VALUE
+ * @generated
+ * @ordered
+ */
+ ATTACHED(1, "attached", "attached");
+
+ /**
+ * The '<em><b>Detached</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Detached</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #DETACHED
+ * @model name="detached"
+ * @generated
+ * @ordered
+ */
+ public static final int DETACHED_VALUE = 0;
+
+ /**
+ * The '<em><b>Attached</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Attached</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #ATTACHED
+ * @model name="attached"
+ * @generated
+ * @ordered
+ */
+ public static final int ATTACHED_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>Layer State</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final LayerState[] VALUES_ARRAY =
+ new LayerState[] {
+ DETACHED,
+ ATTACHED,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Layer State</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<LayerState> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Layer State</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LayerState get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ LayerState result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Layer State</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LayerState getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ LayerState result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Layer State</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static LayerState get(int value) {
+ switch (value) {
+ case DETACHED_VALUE: return DETACHED;
+ case ATTACHED_VALUE: return ATTACHED;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private LayerState(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //LayerState
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayersPackage.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayersPackage.java
index 116205a39d7..a36aa51364c 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayersPackage.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayersPackage.java
@@ -34,6 +34,12 @@ import org.eclipse.gmf.runtime.notation.NotationPackage;
* <li>and each data type</li>
* </ul>
* <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Start the LayesStack.
+ * This method should be called after the LayersStack creation. It is not called from the constructor, because
+ * the initialisation can differ if the LayersStack is created by the user or by EMF after a reloading.
+ *
+ * <!-- end-model-doc -->
* @see org.eclipse.papyrus.layers.stackmodel.layers.LayersFactory
* @model kind="package"
* @generated
@@ -224,13 +230,22 @@ public interface LayersPackage extends EPackage {
int LAYERS_STACK__DIAGRAM = 3;
/**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYERS_STACK__STATE = 4;
+
+ /**
* The number of structural features of the '<em>Stack</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int LAYERS_STACK_FEATURE_COUNT = 4;
+ int LAYERS_STACK_FEATURE_COUNT = 5;
/**
* The operation id for the '<em>Get Compute Property Value Command</em>' operation.
@@ -260,13 +275,67 @@ public interface LayersPackage extends EPackage {
int LAYERS_STACK___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = 2;
/**
+ * The operation id for the '<em>Start After Creation</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYERS_STACK___START_AFTER_CREATION = 3;
+
+ /**
+ * The operation id for the '<em>Attach Layers</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYERS_STACK___ATTACH_LAYERS = 4;
+
+ /**
+ * The operation id for the '<em>Attach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYERS_STACK___ATTACH = 5;
+
+ /**
+ * The operation id for the '<em>Detach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYERS_STACK___DETACH = 6;
+
+ /**
+ * The operation id for the '<em>Enter Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYERS_STACK___ENTER_ATTACHED_STATE = 7;
+
+ /**
+ * The operation id for the '<em>Exit Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYERS_STACK___EXIT_ATTACHED_STATE = 8;
+
+ /**
* The number of operations of the '<em>Stack</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int LAYERS_STACK_OPERATION_COUNT = 3;
+ int LAYERS_STACK_OPERATION_COUNT = 9;
/**
* The meta object id for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.impl.ApplicationDependantElementImpl <em>Application Dependant Element</em>}' class.
@@ -369,13 +438,22 @@ public interface LayersPackage extends EPackage {
int LAYER_EXPRESSION__OWNING_LAYERS_STACK = APPLICATION_DEPENDANT_ELEMENT_FEATURE_COUNT + 5;
/**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_EXPRESSION__STATE = APPLICATION_DEPENDANT_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
* The number of structural features of the '<em>Layer Expression</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int LAYER_EXPRESSION_FEATURE_COUNT = APPLICATION_DEPENDANT_ELEMENT_FEATURE_COUNT + 6;
+ int LAYER_EXPRESSION_FEATURE_COUNT = APPLICATION_DEPENDANT_ELEMENT_FEATURE_COUNT + 7;
/**
* The operation id for the '<em>Get Compute Property Value Command</em>' operation.
@@ -405,13 +483,13 @@ public interface LayersPackage extends EPackage {
int LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 2;
/**
- * The operation id for the '<em>Init Layer</em>' operation.
+ * The operation id for the '<em>Attach To Layers Stack</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int LAYER_EXPRESSION___INIT_LAYER__LAYERSSTACK = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 3;
+ int LAYER_EXPRESSION___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 3;
/**
* The operation id for the '<em>Get Layers Stack</em>' operation.
@@ -423,13 +501,49 @@ public interface LayersPackage extends EPackage {
int LAYER_EXPRESSION___GET_LAYERS_STACK = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 4;
/**
+ * The operation id for the '<em>Enter Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_EXPRESSION___ENTER_ATTACHED_STATE = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 5;
+
+ /**
+ * The operation id for the '<em>Attach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_EXPRESSION___ATTACH = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 6;
+
+ /**
+ * The operation id for the '<em>Detach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_EXPRESSION___DETACH = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 7;
+
+ /**
+ * The operation id for the '<em>Exit Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_EXPRESSION___EXIT_ATTACHED_STATE = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 8;
+
+ /**
* The number of operations of the '<em>Layer Expression</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int LAYER_EXPRESSION_OPERATION_COUNT = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 5;
+ int LAYER_EXPRESSION_OPERATION_COUNT = APPLICATION_DEPENDANT_ELEMENT_OPERATION_COUNT + 9;
/**
* The meta object id for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.impl.LayerApplicationFactoryImpl <em>Layer Application Factory</em>}' class.
@@ -2041,6 +2155,15 @@ public interface LayersPackage extends EPackage {
int LAYER_OPERATOR__OWNING_LAYERS_STACK = LAYER_EXPRESSION__OWNING_LAYERS_STACK;
/**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_OPERATOR__STATE = LAYER_EXPRESSION__STATE;
+
+ /**
* The feature id for the '<em><b>Layers</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2086,13 +2209,13 @@ public interface LayersPackage extends EPackage {
int LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
/**
- * The operation id for the '<em>Init Layer</em>' operation.
+ * The operation id for the '<em>Attach To Layers Stack</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int LAYER_OPERATOR___INIT_LAYER__LAYERSSTACK = LAYER_EXPRESSION___INIT_LAYER__LAYERSSTACK;
+ int LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = LAYER_EXPRESSION___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
/**
* The operation id for the '<em>Get Layers Stack</em>' operation.
@@ -2104,6 +2227,42 @@ public interface LayersPackage extends EPackage {
int LAYER_OPERATOR___GET_LAYERS_STACK = LAYER_EXPRESSION___GET_LAYERS_STACK;
/**
+ * The operation id for the '<em>Enter Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_OPERATOR___ENTER_ATTACHED_STATE = LAYER_EXPRESSION___ENTER_ATTACHED_STATE;
+
+ /**
+ * The operation id for the '<em>Attach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_OPERATOR___ATTACH = LAYER_EXPRESSION___ATTACH;
+
+ /**
+ * The operation id for the '<em>Detach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_OPERATOR___DETACH = LAYER_EXPRESSION___DETACH;
+
+ /**
+ * The operation id for the '<em>Exit Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER_OPERATOR___EXIT_ATTACHED_STATE = LAYER_EXPRESSION___EXIT_ATTACHED_STATE;
+
+ /**
* The number of operations of the '<em>Layer Operator</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2176,6 +2335,15 @@ public interface LayersPackage extends EPackage {
int ABSTRACT_LAYER_OPERATOR__OWNING_LAYERS_STACK = LAYER_OPERATOR__OWNING_LAYERS_STACK;
/**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_LAYER_OPERATOR__STATE = LAYER_OPERATOR__STATE;
+
+ /**
* The feature id for the '<em><b>Layers</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2239,13 +2407,13 @@ public interface LayersPackage extends EPackage {
int ABSTRACT_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
/**
- * The operation id for the '<em>Init Layer</em>' operation.
+ * The operation id for the '<em>Attach To Layers Stack</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int ABSTRACT_LAYER_OPERATOR___INIT_LAYER__LAYERSSTACK = LAYER_OPERATOR___INIT_LAYER__LAYERSSTACK;
+ int ABSTRACT_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
/**
* The operation id for the '<em>Get Layers Stack</em>' operation.
@@ -2257,6 +2425,42 @@ public interface LayersPackage extends EPackage {
int ABSTRACT_LAYER_OPERATOR___GET_LAYERS_STACK = LAYER_OPERATOR___GET_LAYERS_STACK;
/**
+ * The operation id for the '<em>Enter Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_LAYER_OPERATOR___ENTER_ATTACHED_STATE = LAYER_OPERATOR___ENTER_ATTACHED_STATE;
+
+ /**
+ * The operation id for the '<em>Attach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_LAYER_OPERATOR___ATTACH = LAYER_OPERATOR___ATTACH;
+
+ /**
+ * The operation id for the '<em>Detach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_LAYER_OPERATOR___DETACH = LAYER_OPERATOR___DETACH;
+
+ /**
+ * The operation id for the '<em>Exit Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_LAYER_OPERATOR___EXIT_ATTACHED_STATE = LAYER_OPERATOR___EXIT_ATTACHED_STATE;
+
+ /**
* The operation id for the '<em>Is Descriptor Set</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2383,6 +2587,15 @@ public interface LayersPackage extends EPackage {
int ABSTRACT_LAYER__OWNING_LAYERS_STACK = LAYER_EXPRESSION__OWNING_LAYERS_STACK;
/**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_LAYER__STATE = LAYER_EXPRESSION__STATE;
+
+ /**
* The feature id for the '<em><b>Property Values</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -2464,13 +2677,13 @@ public interface LayersPackage extends EPackage {
int ABSTRACT_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
/**
- * The operation id for the '<em>Init Layer</em>' operation.
+ * The operation id for the '<em>Attach To Layers Stack</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int ABSTRACT_LAYER___INIT_LAYER__LAYERSSTACK = LAYER_EXPRESSION___INIT_LAYER__LAYERSSTACK;
+ int ABSTRACT_LAYER___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = LAYER_EXPRESSION___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
/**
* The operation id for the '<em>Get Layers Stack</em>' operation.
@@ -2482,6 +2695,42 @@ public interface LayersPackage extends EPackage {
int ABSTRACT_LAYER___GET_LAYERS_STACK = LAYER_EXPRESSION___GET_LAYERS_STACK;
/**
+ * The operation id for the '<em>Enter Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_LAYER___ENTER_ATTACHED_STATE = LAYER_EXPRESSION___ENTER_ATTACHED_STATE;
+
+ /**
+ * The operation id for the '<em>Attach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_LAYER___ATTACH = LAYER_EXPRESSION___ATTACH;
+
+ /**
+ * The operation id for the '<em>Detach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_LAYER___DETACH = LAYER_EXPRESSION___DETACH;
+
+ /**
+ * The operation id for the '<em>Exit Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_LAYER___EXIT_ATTACHED_STATE = LAYER_EXPRESSION___EXIT_ATTACHED_STATE;
+
+ /**
* The operation id for the '<em>Add Property Instance</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3049,6 +3298,15 @@ public interface LayersPackage extends EPackage {
int TOP_LAYER_OPERATOR__OWNING_LAYERS_STACK = ABSTRACT_LAYER_OPERATOR__OWNING_LAYERS_STACK;
/**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LAYER_OPERATOR__STATE = ABSTRACT_LAYER_OPERATOR__STATE;
+
+ /**
* The feature id for the '<em><b>Layers</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3112,13 +3370,13 @@ public interface LayersPackage extends EPackage {
int TOP_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = ABSTRACT_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
/**
- * The operation id for the '<em>Init Layer</em>' operation.
+ * The operation id for the '<em>Attach To Layers Stack</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int TOP_LAYER_OPERATOR___INIT_LAYER__LAYERSSTACK = ABSTRACT_LAYER_OPERATOR___INIT_LAYER__LAYERSSTACK;
+ int TOP_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = ABSTRACT_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
/**
* The operation id for the '<em>Get Layers Stack</em>' operation.
@@ -3130,6 +3388,42 @@ public interface LayersPackage extends EPackage {
int TOP_LAYER_OPERATOR___GET_LAYERS_STACK = ABSTRACT_LAYER_OPERATOR___GET_LAYERS_STACK;
/**
+ * The operation id for the '<em>Enter Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LAYER_OPERATOR___ENTER_ATTACHED_STATE = ABSTRACT_LAYER_OPERATOR___ENTER_ATTACHED_STATE;
+
+ /**
+ * The operation id for the '<em>Attach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LAYER_OPERATOR___ATTACH = ABSTRACT_LAYER_OPERATOR___ATTACH;
+
+ /**
+ * The operation id for the '<em>Detach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LAYER_OPERATOR___DETACH = ABSTRACT_LAYER_OPERATOR___DETACH;
+
+ /**
+ * The operation id for the '<em>Exit Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TOP_LAYER_OPERATOR___EXIT_ATTACHED_STATE = ABSTRACT_LAYER_OPERATOR___EXIT_ATTACHED_STATE;
+
+ /**
* The operation id for the '<em>Is Descriptor Set</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3220,6 +3514,15 @@ public interface LayersPackage extends EPackage {
int STACKED_LAYER_OPERATOR__OWNING_LAYERS_STACK = ABSTRACT_LAYER_OPERATOR__OWNING_LAYERS_STACK;
/**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STACKED_LAYER_OPERATOR__STATE = ABSTRACT_LAYER_OPERATOR__STATE;
+
+ /**
* The feature id for the '<em><b>Layers</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3283,13 +3586,13 @@ public interface LayersPackage extends EPackage {
int STACKED_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = ABSTRACT_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
/**
- * The operation id for the '<em>Init Layer</em>' operation.
+ * The operation id for the '<em>Attach To Layers Stack</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int STACKED_LAYER_OPERATOR___INIT_LAYER__LAYERSSTACK = ABSTRACT_LAYER_OPERATOR___INIT_LAYER__LAYERSSTACK;
+ int STACKED_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = ABSTRACT_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
/**
* The operation id for the '<em>Get Layers Stack</em>' operation.
@@ -3301,6 +3604,42 @@ public interface LayersPackage extends EPackage {
int STACKED_LAYER_OPERATOR___GET_LAYERS_STACK = ABSTRACT_LAYER_OPERATOR___GET_LAYERS_STACK;
/**
+ * The operation id for the '<em>Enter Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STACKED_LAYER_OPERATOR___ENTER_ATTACHED_STATE = ABSTRACT_LAYER_OPERATOR___ENTER_ATTACHED_STATE;
+
+ /**
+ * The operation id for the '<em>Attach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STACKED_LAYER_OPERATOR___ATTACH = ABSTRACT_LAYER_OPERATOR___ATTACH;
+
+ /**
+ * The operation id for the '<em>Detach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STACKED_LAYER_OPERATOR___DETACH = ABSTRACT_LAYER_OPERATOR___DETACH;
+
+ /**
+ * The operation id for the '<em>Exit Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STACKED_LAYER_OPERATOR___EXIT_ATTACHED_STATE = ABSTRACT_LAYER_OPERATOR___EXIT_ATTACHED_STATE;
+
+ /**
* The operation id for the '<em>Is Descriptor Set</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3391,6 +3730,15 @@ public interface LayersPackage extends EPackage {
int CUSTOM_LAYER_OPERATOR__OWNING_LAYERS_STACK = LAYER_OPERATOR__OWNING_LAYERS_STACK;
/**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYER_OPERATOR__STATE = LAYER_OPERATOR__STATE;
+
+ /**
* The feature id for the '<em><b>Layers</b></em>' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3436,13 +3784,13 @@ public interface LayersPackage extends EPackage {
int CUSTOM_LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = LAYER_OPERATOR___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
/**
- * The operation id for the '<em>Init Layer</em>' operation.
+ * The operation id for the '<em>Attach To Layers Stack</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CUSTOM_LAYER_OPERATOR___INIT_LAYER__LAYERSSTACK = LAYER_OPERATOR___INIT_LAYER__LAYERSSTACK;
+ int CUSTOM_LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = LAYER_OPERATOR___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
/**
* The operation id for the '<em>Get Layers Stack</em>' operation.
@@ -3454,6 +3802,42 @@ public interface LayersPackage extends EPackage {
int CUSTOM_LAYER_OPERATOR___GET_LAYERS_STACK = LAYER_OPERATOR___GET_LAYERS_STACK;
/**
+ * The operation id for the '<em>Enter Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYER_OPERATOR___ENTER_ATTACHED_STATE = LAYER_OPERATOR___ENTER_ATTACHED_STATE;
+
+ /**
+ * The operation id for the '<em>Attach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYER_OPERATOR___ATTACH = LAYER_OPERATOR___ATTACH;
+
+ /**
+ * The operation id for the '<em>Detach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYER_OPERATOR___DETACH = LAYER_OPERATOR___DETACH;
+
+ /**
+ * The operation id for the '<em>Exit Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CUSTOM_LAYER_OPERATOR___EXIT_ATTACHED_STATE = LAYER_OPERATOR___EXIT_ATTACHED_STATE;
+
+ /**
* The number of operations of the '<em>Custom Layer Operator</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3706,6 +4090,15 @@ public interface LayersPackage extends EPackage {
int REG_EXP_LAYER__OWNING_LAYERS_STACK = ABSTRACT_LAYER__OWNING_LAYERS_STACK;
/**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REG_EXP_LAYER__STATE = ABSTRACT_LAYER__STATE;
+
+ /**
* The feature id for the '<em><b>Property Values</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3850,13 +4243,13 @@ public interface LayersPackage extends EPackage {
int REG_EXP_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = ABSTRACT_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
/**
- * The operation id for the '<em>Init Layer</em>' operation.
+ * The operation id for the '<em>Attach To Layers Stack</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int REG_EXP_LAYER___INIT_LAYER__LAYERSSTACK = ABSTRACT_LAYER___INIT_LAYER__LAYERSSTACK;
+ int REG_EXP_LAYER___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = ABSTRACT_LAYER___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
/**
* The operation id for the '<em>Get Layers Stack</em>' operation.
@@ -3868,6 +4261,42 @@ public interface LayersPackage extends EPackage {
int REG_EXP_LAYER___GET_LAYERS_STACK = ABSTRACT_LAYER___GET_LAYERS_STACK;
/**
+ * The operation id for the '<em>Enter Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REG_EXP_LAYER___ENTER_ATTACHED_STATE = ABSTRACT_LAYER___ENTER_ATTACHED_STATE;
+
+ /**
+ * The operation id for the '<em>Attach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REG_EXP_LAYER___ATTACH = ABSTRACT_LAYER___ATTACH;
+
+ /**
+ * The operation id for the '<em>Detach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REG_EXP_LAYER___DETACH = ABSTRACT_LAYER___DETACH;
+
+ /**
+ * The operation id for the '<em>Exit Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REG_EXP_LAYER___EXIT_ATTACHED_STATE = ABSTRACT_LAYER___EXIT_ATTACHED_STATE;
+
+ /**
* The operation id for the '<em>Add Property Instance</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -4039,6 +4468,15 @@ public interface LayersPackage extends EPackage {
int LAYER__OWNING_LAYERS_STACK = ABSTRACT_LAYER__OWNING_LAYERS_STACK;
/**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER__STATE = ABSTRACT_LAYER__STATE;
+
+ /**
* The feature id for the '<em><b>Property Values</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -4120,13 +4558,13 @@ public interface LayersPackage extends EPackage {
int LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = ABSTRACT_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
/**
- * The operation id for the '<em>Init Layer</em>' operation.
+ * The operation id for the '<em>Attach To Layers Stack</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int LAYER___INIT_LAYER__LAYERSSTACK = ABSTRACT_LAYER___INIT_LAYER__LAYERSSTACK;
+ int LAYER___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = ABSTRACT_LAYER___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
/**
* The operation id for the '<em>Get Layers Stack</em>' operation.
@@ -4138,6 +4576,42 @@ public interface LayersPackage extends EPackage {
int LAYER___GET_LAYERS_STACK = ABSTRACT_LAYER___GET_LAYERS_STACK;
/**
+ * The operation id for the '<em>Enter Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER___ENTER_ATTACHED_STATE = ABSTRACT_LAYER___ENTER_ATTACHED_STATE;
+
+ /**
+ * The operation id for the '<em>Attach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER___ATTACH = ABSTRACT_LAYER___ATTACH;
+
+ /**
+ * The operation id for the '<em>Detach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER___DETACH = ABSTRACT_LAYER___DETACH;
+
+ /**
+ * The operation id for the '<em>Exit Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LAYER___EXIT_ATTACHED_STATE = ABSTRACT_LAYER___EXIT_ATTACHED_STATE;
+
+ /**
* The operation id for the '<em>Add Property Instance</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -5468,6 +5942,15 @@ public interface LayersPackage extends EPackage {
int ALL_VIEWS_DERIVED_LAYER__OWNING_LAYERS_STACK = ABSTRACT_LAYER__OWNING_LAYERS_STACK;
/**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALL_VIEWS_DERIVED_LAYER__STATE = ABSTRACT_LAYER__STATE;
+
+ /**
* The feature id for the '<em><b>Property Values</b></em>' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -5549,13 +6032,13 @@ public interface LayersPackage extends EPackage {
int ALL_VIEWS_DERIVED_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = ABSTRACT_LAYER___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST;
/**
- * The operation id for the '<em>Init Layer</em>' operation.
+ * The operation id for the '<em>Attach To Layers Stack</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int ALL_VIEWS_DERIVED_LAYER___INIT_LAYER__LAYERSSTACK = ABSTRACT_LAYER___INIT_LAYER__LAYERSSTACK;
+ int ALL_VIEWS_DERIVED_LAYER___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = ABSTRACT_LAYER___ATTACH_TO_LAYERS_STACK__LAYERSSTACK;
/**
* The operation id for the '<em>Get Layers Stack</em>' operation.
@@ -5567,6 +6050,42 @@ public interface LayersPackage extends EPackage {
int ALL_VIEWS_DERIVED_LAYER___GET_LAYERS_STACK = ABSTRACT_LAYER___GET_LAYERS_STACK;
/**
+ * The operation id for the '<em>Enter Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALL_VIEWS_DERIVED_LAYER___ENTER_ATTACHED_STATE = ABSTRACT_LAYER___ENTER_ATTACHED_STATE;
+
+ /**
+ * The operation id for the '<em>Attach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALL_VIEWS_DERIVED_LAYER___ATTACH = ABSTRACT_LAYER___ATTACH;
+
+ /**
+ * The operation id for the '<em>Detach</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALL_VIEWS_DERIVED_LAYER___DETACH = ABSTRACT_LAYER___DETACH;
+
+ /**
+ * The operation id for the '<em>Exit Attached State</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALL_VIEWS_DERIVED_LAYER___EXIT_ATTACHED_STATE = ABSTRACT_LAYER___EXIT_ATTACHED_STATE;
+
+ /**
* The operation id for the '<em>Add Property Instance</em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -5612,6 +6131,16 @@ public interface LayersPackage extends EPackage {
int ALL_VIEWS_DERIVED_LAYER_OPERATION_COUNT = ABSTRACT_LAYER_OPERATION_COUNT + 0;
/**
+ * The meta object id for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerState <em>Layer State</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerState
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getLayerState()
+ * @generated
+ */
+ int LAYER_STATE = 68;
+
+ /**
* The meta object id for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.EventLevel <em>Event Level</em>}' enum.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -5619,7 +6148,7 @@ public interface LayersPackage extends EPackage {
* @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getEventLevel()
* @generated
*/
- int EVENT_LEVEL = 68;
+ int EVENT_LEVEL = 69;
/**
* The meta object id for the '<em>String</em>' data type.
@@ -5629,7 +6158,7 @@ public interface LayersPackage extends EPackage {
* @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getString()
* @generated
*/
- int STRING = 69;
+ int STRING = 70;
/**
* The meta object id for the '<em>boolean</em>' data type.
@@ -5638,7 +6167,7 @@ public interface LayersPackage extends EPackage {
* @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getboolean()
* @generated
*/
- int BOOLEAN = 70;
+ int BOOLEAN = 71;
/**
* The meta object id for the '<em>EPackage</em>' data type.
@@ -5648,7 +6177,7 @@ public interface LayersPackage extends EPackage {
* @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getEPackage()
* @generated
*/
- int EPACKAGE = 71;
+ int EPACKAGE = 72;
/**
* The meta object id for the '<em>Not Found Exception</em>' data type.
@@ -5658,7 +6187,7 @@ public interface LayersPackage extends EPackage {
* @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getNotFoundException()
* @generated
*/
- int NOT_FOUND_EXCEPTION = 75;
+ int NOT_FOUND_EXCEPTION = 76;
/**
* The meta object id for the '<em>Compute Property Value Command</em>' data type.
@@ -5668,7 +6197,7 @@ public interface LayersPackage extends EPackage {
* @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getComputePropertyValueCommand()
* @generated
*/
- int COMPUTE_PROPERTY_VALUE_COMMAND = 76;
+ int COMPUTE_PROPERTY_VALUE_COMMAND = 77;
/**
* The meta object id for the '<em>Exception</em>' data type.
@@ -5678,7 +6207,7 @@ public interface LayersPackage extends EPackage {
* @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getLayersException()
* @generated
*/
- int LAYERS_EXCEPTION = 72;
+ int LAYERS_EXCEPTION = 73;
/**
* The meta object id for the '<em>int</em>' data type.
@@ -5687,7 +6216,7 @@ public interface LayersPackage extends EPackage {
* @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getint()
* @generated
*/
- int INT = 73;
+ int INT = 74;
/**
@@ -5698,7 +6227,7 @@ public interface LayersPackage extends EPackage {
* @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getObject()
* @generated
*/
- int OBJECT = 77;
+ int OBJECT = 78;
/**
@@ -5709,7 +6238,7 @@ public interface LayersPackage extends EPackage {
* @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getCustomPropertyOpertorInstance()
* @generated
*/
- int CUSTOM_PROPERTY_OPERTOR_INSTANCE = 78;
+ int CUSTOM_PROPERTY_OPERTOR_INSTANCE = 79;
/**
* The meta object id for the '<em>Bad State Exception</em>' data type.
@@ -5719,7 +6248,7 @@ public interface LayersPackage extends EPackage {
* @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getBadStateException()
* @generated
*/
- int BAD_STATE_EXCEPTION = 74;
+ int BAD_STATE_EXCEPTION = 75;
/**
@@ -5798,6 +6327,17 @@ public interface LayersPackage extends EPackage {
EReference getLayersStack_Diagram();
/**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#getState <em>State</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>State</em>'.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#getState()
+ * @see #getLayersStack()
+ * @generated
+ */
+ EAttribute getLayersStack_State();
+
+ /**
* Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#getComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.layers.stackmodel.layers.Property) <em>Get Compute Property Value Command</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -5828,6 +6368,66 @@ public interface LayersPackage extends EPackage {
EOperation getLayersStack__GetViewsComputePropertyValueCommand__EList_Property();
/**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#startAfterCreation() <em>Start After Creation</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Start After Creation</em>' operation.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#startAfterCreation()
+ * @generated
+ */
+ EOperation getLayersStack__StartAfterCreation();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#attachLayers() <em>Attach Layers</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Attach Layers</em>' operation.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#attachLayers()
+ * @generated
+ */
+ EOperation getLayersStack__AttachLayers();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#attach() <em>Attach</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Attach</em>' operation.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#attach()
+ * @generated
+ */
+ EOperation getLayersStack__Attach();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#detach() <em>Detach</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Detach</em>' operation.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#detach()
+ * @generated
+ */
+ EOperation getLayersStack__Detach();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#enterAttachedState() <em>Enter Attached State</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Enter Attached State</em>' operation.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#enterAttachedState()
+ * @generated
+ */
+ EOperation getLayersStack__EnterAttachedState();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#exitAttachedState() <em>Exit Attached State</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Exit Attached State</em>' operation.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#exitAttachedState()
+ * @generated
+ */
+ EOperation getLayersStack__ExitAttachedState();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.papyrus.layers.stackmodel.layers.Layer <em>Layer</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -6304,6 +6904,16 @@ public interface LayersPackage extends EPackage {
EClass getAllViewsDerivedLayer();
/**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerState <em>Layer State</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Layer State</em>'.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerState
+ * @generated
+ */
+ EEnum getLayerState();
+
+ /**
* Returns the meta object for enum '{@link org.eclipse.papyrus.layers.stackmodel.layers.EventLevel <em>Event Level</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -6856,6 +7466,17 @@ public interface LayersPackage extends EPackage {
EReference getLayerExpression_OwningLayersStack();
/**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#getState <em>State</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>State</em>'.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#getState()
+ * @see #getLayerExpression()
+ * @generated
+ */
+ EAttribute getLayerExpression_State();
+
+ /**
* Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#getComputePropertyValueCommand(org.eclipse.gmf.runtime.notation.View, org.eclipse.papyrus.layers.stackmodel.layers.Property) <em>Get Compute Property Value Command</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -6886,14 +7507,14 @@ public interface LayersPackage extends EPackage {
EOperation getLayerExpression__GetPropertiesComputePropertyValueCommand__View_EList();
/**
- * Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#initLayer(org.eclipse.papyrus.layers.stackmodel.layers.LayersStack) <em>Init Layer</em>}' operation.
+ * Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#attachToLayersStack(org.eclipse.papyrus.layers.stackmodel.layers.LayersStack) <em>Attach To Layers Stack</em>}' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the '<em>Init Layer</em>' operation.
- * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#initLayer(org.eclipse.papyrus.layers.stackmodel.layers.LayersStack)
+ * @return the meta object for the '<em>Attach To Layers Stack</em>' operation.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#attachToLayersStack(org.eclipse.papyrus.layers.stackmodel.layers.LayersStack)
* @generated
*/
- EOperation getLayerExpression__InitLayer__LayersStack();
+ EOperation getLayerExpression__AttachToLayersStack__LayersStack();
/**
* Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#getLayersStack() <em>Get Layers Stack</em>}' operation.
@@ -6906,6 +7527,46 @@ public interface LayersPackage extends EPackage {
EOperation getLayerExpression__GetLayersStack();
/**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#enterAttachedState() <em>Enter Attached State</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Enter Attached State</em>' operation.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#enterAttachedState()
+ * @generated
+ */
+ EOperation getLayerExpression__EnterAttachedState();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#attach() <em>Attach</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Attach</em>' operation.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#attach()
+ * @generated
+ */
+ EOperation getLayerExpression__Attach();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#detach() <em>Detach</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Detach</em>' operation.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#detach()
+ * @generated
+ */
+ EOperation getLayerExpression__Detach();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#exitAttachedState() <em>Exit Attached State</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Exit Attached State</em>' operation.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression#exitAttachedState()
+ * @generated
+ */
+ EOperation getLayerExpression__ExitAttachedState();
+
+ /**
* Returns the meta object for class '{@link org.eclipse.papyrus.layers.stackmodel.layers.ApplicationDependantElement <em>Application Dependant Element</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -8182,6 +8843,14 @@ public interface LayersPackage extends EPackage {
EReference LAYERS_STACK__DIAGRAM = eINSTANCE.getLayersStack_Diagram();
/**
+ * The meta object literal for the '<em><b>State</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LAYERS_STACK__STATE = eINSTANCE.getLayersStack_State();
+
+ /**
* The meta object literal for the '<em><b>Get Compute Property Value Command</b></em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -8206,6 +8875,54 @@ public interface LayersPackage extends EPackage {
EOperation LAYERS_STACK___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY = eINSTANCE.getLayersStack__GetViewsComputePropertyValueCommand__EList_Property();
/**
+ * The meta object literal for the '<em><b>Start After Creation</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation LAYERS_STACK___START_AFTER_CREATION = eINSTANCE.getLayersStack__StartAfterCreation();
+
+ /**
+ * The meta object literal for the '<em><b>Attach Layers</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation LAYERS_STACK___ATTACH_LAYERS = eINSTANCE.getLayersStack__AttachLayers();
+
+ /**
+ * The meta object literal for the '<em><b>Attach</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation LAYERS_STACK___ATTACH = eINSTANCE.getLayersStack__Attach();
+
+ /**
+ * The meta object literal for the '<em><b>Detach</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation LAYERS_STACK___DETACH = eINSTANCE.getLayersStack__Detach();
+
+ /**
+ * The meta object literal for the '<em><b>Enter Attached State</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation LAYERS_STACK___ENTER_ATTACHED_STATE = eINSTANCE.getLayersStack__EnterAttachedState();
+
+ /**
+ * The meta object literal for the '<em><b>Exit Attached State</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation LAYERS_STACK___EXIT_ATTACHED_STATE = eINSTANCE.getLayersStack__ExitAttachedState();
+
+ /**
* The meta object literal for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.impl.LayerImpl <em>Layer</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -8620,6 +9337,16 @@ public interface LayersPackage extends EPackage {
EClass ALL_VIEWS_DERIVED_LAYER = eINSTANCE.getAllViewsDerivedLayer();
/**
+ * The meta object literal for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayerState <em>Layer State</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerState
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersPackageImpl#getLayerState()
+ * @generated
+ */
+ EEnum LAYER_STATE = eINSTANCE.getLayerState();
+
+ /**
* The meta object literal for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.EventLevel <em>Event Level</em>}' enum.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -9062,6 +9789,14 @@ public interface LayersPackage extends EPackage {
EReference LAYER_EXPRESSION__OWNING_LAYERS_STACK = eINSTANCE.getLayerExpression_OwningLayersStack();
/**
+ * The meta object literal for the '<em><b>State</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LAYER_EXPRESSION__STATE = eINSTANCE.getLayerExpression_State();
+
+ /**
* The meta object literal for the '<em><b>Get Compute Property Value Command</b></em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -9086,12 +9821,12 @@ public interface LayersPackage extends EPackage {
EOperation LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST = eINSTANCE.getLayerExpression__GetPropertiesComputePropertyValueCommand__View_EList();
/**
- * The meta object literal for the '<em><b>Init Layer</b></em>' operation.
+ * The meta object literal for the '<em><b>Attach To Layers Stack</b></em>' operation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EOperation LAYER_EXPRESSION___INIT_LAYER__LAYERSSTACK = eINSTANCE.getLayerExpression__InitLayer__LayersStack();
+ EOperation LAYER_EXPRESSION___ATTACH_TO_LAYERS_STACK__LAYERSSTACK = eINSTANCE.getLayerExpression__AttachToLayersStack__LayersStack();
/**
* The meta object literal for the '<em><b>Get Layers Stack</b></em>' operation.
@@ -9102,6 +9837,38 @@ public interface LayersPackage extends EPackage {
EOperation LAYER_EXPRESSION___GET_LAYERS_STACK = eINSTANCE.getLayerExpression__GetLayersStack();
/**
+ * The meta object literal for the '<em><b>Enter Attached State</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation LAYER_EXPRESSION___ENTER_ATTACHED_STATE = eINSTANCE.getLayerExpression__EnterAttachedState();
+
+ /**
+ * The meta object literal for the '<em><b>Attach</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation LAYER_EXPRESSION___ATTACH = eINSTANCE.getLayerExpression__Attach();
+
+ /**
+ * The meta object literal for the '<em><b>Detach</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation LAYER_EXPRESSION___DETACH = eINSTANCE.getLayerExpression__Detach();
+
+ /**
+ * The meta object literal for the '<em><b>Exit Attached State</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation LAYER_EXPRESSION___EXIT_ATTACHED_STATE = eINSTANCE.getLayerExpression__ExitAttachedState();
+
+ /**
* The meta object literal for the '{@link org.eclipse.papyrus.layers.stackmodel.layers.impl.ApplicationDependantElementImpl <em>Application Dependant Element</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayersStack.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayersStack.java
index 32dbe9ef117..838f89539c2 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayersStack.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/LayersStack.java
@@ -33,6 +33,7 @@ import org.eclipse.papyrus.layers.stackmodel.command.ComputePropertyValueCommand
* <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#getDescription <em>Description</em>}</li>
* <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#getDiagram <em>Diagram</em>}</li>
+ * <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#getState <em>State</em>}</li>
* </ul>
* </p>
*
@@ -146,6 +147,36 @@ public interface LayersStack extends EObject {
void setDiagram(Diagram value);
/**
+ * Returns the value of the '<em><b>State</b></em>' attribute.
+ * The default value is <code>"detached"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.layers.stackmodel.layers.LayerState}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>State</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>State</em>' attribute.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerState
+ * @see #setState(LayerState)
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayersPackage#getLayersStack_State()
+ * @model default="detached" unique="false" required="true" ordered="false"
+ * @generated
+ */
+ LayerState getState();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.layers.stackmodel.layers.LayersStack#getState <em>State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>State</em>' attribute.
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.LayerState
+ * @see #getState()
+ * @generated
+ */
+ void setState(LayerState value);
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model dataType="org.eclipse.papyrus.layers.stackmodel.layers.ComputePropertyValueCommand" required="true" ordered="false" exceptions="org.eclipse.papyrus.layers.stackmodel.layers.LayersException" viewRequired="true" viewOrdered="false" propertyRequired="true" propertyOrdered="false"
@@ -172,6 +203,83 @@ public interface LayersStack extends EObject {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ void startAfterCreation();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Start the LayersStack after a reloading by EMF. This method should be explicitly called after a reloading.
+ * The method usually start the layer behaviors.
+ * <!-- end-model-doc -->
+ * @model exceptions="org.eclipse.papyrus.layers.stackmodel.layers.LayersException"
+ * @generated
+ */
+ void attachLayers() throws LayersException;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Try to attach this Layer. If successful, the state go to "attached". Otherwise, an exception is thrown.
+ * A Layer can be attached if its required attributes are set.
+ * Required attributes:
+ * <ul>
+ * <li>application</li>
+ * <li>owningLayerStack</li>
+ * <li>parent container</li>
+ * <li></li>
+ * </ul>
+ * Just after enterring in "attached" state, the enterAttachedState() method is called.
+ * If this Layer is successfully attached, then attach subLayers.
+ * <!-- end-model-doc -->
+ * @model exceptions="org.eclipse.papyrus.layers.stackmodel.layers.LayersException"
+ * @generated
+ */
+ void attach() throws LayersException;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Detach the Layer. The state go to "detached".
+ * Associated behavior are stopped.
+ * <!-- end-model-doc -->
+ * @model exceptions="org.eclipse.papyrus.layers.stackmodel.layers.LayersException"
+ * @generated
+ */
+ void detach() throws LayersException;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This method is called by the class immediately after entering in attached state.
+ * The methodcan be used to start the layer behaviors.
+ * <!-- end-model-doc -->
+ * @model exceptions="org.eclipse.papyrus.layers.stackmodel.layers.LayersException"
+ * @generated
+ */
+ void enterAttachedState() throws LayersException;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * This method is called just before this Layer leave the attached state.
+ *
+ * <!-- end-model-doc -->
+ * @model
+ * @generated
+ */
+ void exitAttachedState();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
* @throws LayersException
* @model dataType="org.eclipse.papyrus.layers.stackmodel.layers.ComputePropertyValueCommand" viewRequired="true" viewOrdered="false" propertyRequired="true" propertyMany="true"
* @generated NOT
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/AbstractLayerImpl.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/AbstractLayerImpl.java
index 143361eddcd..7da435656f0 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/AbstractLayerImpl.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/AbstractLayerImpl.java
@@ -16,6 +16,7 @@ import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
import java.util.List;
import java.util.Map.Entry;
+
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
@@ -38,6 +39,7 @@ import org.eclipse.papyrus.layers.stackmodel.command.ComputePropertyValueCommand
import org.eclipse.papyrus.layers.stackmodel.layers.AbstractLayer;
import org.eclipse.papyrus.layers.stackmodel.layers.LayerDescriptor;
import org.eclipse.papyrus.layers.stackmodel.layers.LayersPackage;
+import org.eclipse.papyrus.layers.stackmodel.layers.LayersStack;
import org.eclipse.papyrus.layers.stackmodel.layers.LayersStackApplication;
import org.eclipse.papyrus.layers.stackmodel.layers.NullInstance;
import org.eclipse.papyrus.layers.stackmodel.layers.Property;
@@ -108,14 +110,23 @@ public abstract class AbstractLayerImpl extends LayerExpressionImpl implements A
*/
protected AbstractLayerImpl() {
super();
-
- // Add an observer
+ // Listen on application changed and propertyValues changed
+ // This behavior is set from the constructor, has it doesn't interfered with
+ // reloading
Adapter adapter = new PropertyValuesSynchronizer();
- this.eAdapters().add(adapter);
+ this.eAdapters().add(adapter);
}
/**
+ * Start the behaviors associated to this layer.
+ * This method is called by one of the methods: {@link #startAfterReloading()} or {@link #attachToLayersStack(LayersStack)}.
+ */
+ protected void startBehaviors() {
+ super.startBehaviors();
+ }
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/AbstractLayerOperatorImpl.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/AbstractLayerOperatorImpl.java
index 40d3cc18e23..8bc0816c2ec 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/AbstractLayerOperatorImpl.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/AbstractLayerOperatorImpl.java
@@ -175,6 +175,7 @@ public abstract class AbstractLayerOperatorImpl extends LayerOperatorImpl implem
* Nothing is done if one of the attribute is not set.
* Nothing is done if the descriptor can not be found (maybe a log is issue).
* <!-- begin-user-doc -->
+ * Not used ?
* <!-- end-user-doc -->
*
* @generated NOT
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerExpressionImpl.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerExpressionImpl.java
index 428ae846db4..5f312839910 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerExpressionImpl.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerExpressionImpl.java
@@ -14,6 +14,7 @@ package org.eclipse.papyrus.layers.stackmodel.layers.impl;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
+
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.impl.AdapterImpl;
@@ -23,11 +24,13 @@ import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.layers.stackmodel.BadStateException;
import org.eclipse.papyrus.layers.stackmodel.LayersException;
import org.eclipse.papyrus.layers.stackmodel.NotFoundException;
import org.eclipse.papyrus.layers.stackmodel.command.ComputePropertyValueCommand;
import org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression;
import org.eclipse.papyrus.layers.stackmodel.layers.LayerOperator;
+import org.eclipse.papyrus.layers.stackmodel.layers.LayerState;
import org.eclipse.papyrus.layers.stackmodel.layers.LayersPackage;
import org.eclipse.papyrus.layers.stackmodel.layers.LayersStack;
import org.eclipse.papyrus.layers.stackmodel.layers.Property;
@@ -45,6 +48,7 @@ import org.eclipse.papyrus.layers.stackmodel.layers.Property;
* <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.impl.LayerExpressionImpl#isLayerEnabled <em>Is Layer Enabled</em>}</li>
* <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.impl.LayerExpressionImpl#isBranchEnabled <em>Is Branch Enabled</em>}</li>
* <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.impl.LayerExpressionImpl#getOwningLayersStack <em>Owning Layers Stack</em>}</li>
+ * <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.impl.LayerExpressionImpl#getState <em>State</em>}</li>
* </ul>
* </p>
*
@@ -145,6 +149,24 @@ ApplicationDependantElementImpl implements LayerExpression {
protected LayersStack owningLayersStack;
/**
+ * The default value of the '{@link #getState() <em>State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getState()
+ * @generated
+ * @ordered
+ */
+ protected static final LayerState STATE_EDEFAULT = LayerState.DETACHED;
+ /**
+ * The cached value of the '{@link #getState() <em>State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getState()
+ * @generated
+ * @ordered
+ */
+ protected LayerState state = STATE_EDEFAULT;
+ /**
* Listener on this object container (i.e owner) attached/detached events
*/
protected Adapter containerListener = new AdapterImpl() {
@@ -175,13 +197,27 @@ ApplicationDependantElementImpl implements LayerExpression {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @generated
+ * @generated NOT
*/
protected LayerExpressionImpl() {
super();
+
+ // Listen on this object attachment / detachment from its container.
+ // When this node is atttached to a parent, the owningLayerStack property is set.
+ // This is done in owningLayerChanged.
+ eAdapters().add(containerListener);
+
}
/**
+ * Start the behaviors associated to this layer.
+ * This method is called by one of the methods: {@link #startAfterReloading()} or {@link #attachToLayersStack(LayersStack)}.
+ */
+ protected void startBehaviors() {
+
+ }
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -330,6 +366,27 @@ ApplicationDependantElementImpl implements LayerExpression {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @generated
+ */
+ public LayerState getState() {
+ return state;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setState(LayerState newState) {
+ LayerState oldState = state;
+ state = newState == null ? STATE_EDEFAULT : newState;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.LAYER_EXPRESSION__STATE, oldState, state));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
* @generated NOT
*/
public LayersStack getLayersStack() throws NotFoundException {
@@ -345,6 +402,80 @@ ApplicationDependantElementImpl implements LayerExpression {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void enterAttachedState() throws LayersException {
+ // do nothing
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void attach() throws LayersException {
+
+ // Stop if already in ATTACHED state.
+ if(getState() == LayerState.ATTACHED) {
+ return;
+ }
+
+ // Check required attributes
+ if( getApplication()==null || getOwningLayersStack() == null || eContainer() == null) {
+ throw new BadStateException("A required attribute is not set. The Layer can't be attached."
+ + "[layerName=" + getName()
+ + ", application=" + (getApplication()==null?"null":"ok")
+ + ", owningLayersStack=" + (getOwningLayersStack()==null?"null":"ok")
+ + ", container=" + (eContainer()==null?"null":"ok")
+ + "]"
+ );
+ }
+
+ // Can go in attached mode
+ setState(LayerState.ATTACHED);
+ enterAttachedState();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Subclass can overload in order to stop some behaviors.
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void detach() throws LayersException {
+
+
+ // Change the state
+ exitAttachedState();
+ setState(LayerState.DETACHED);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void exitAttachedState() {
+ // do nothing.
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Start this element after its reloading by EMF
+ * This method is called recursively by the parent of this element.
+ * <br>
+ * This default implementation start the associated behaviors.
+ *
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void startAfterReloading() {
+ startBehaviors();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
* @generated
*/
public ComputePropertyValueCommand getComputePropertyValueCommand(View view, Property property) throws LayersException {
@@ -376,6 +507,24 @@ ApplicationDependantElementImpl implements LayerExpression {
}
/**
+ * <!-- begin-user-doc -->
+ * This default implementation set the layerStack, and start behaviors.
+ * This method can be overriden by subclasses. In this case, subclass must ensure that
+ * the {@link #owningLayersStack} is set and the behaviors are started.
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public void attachToLayersStack(LayersStack owningLayersStack) {
+
+ // the owning stack
+ setOwningLayersStack(owningLayersStack);
+
+ // Start associated behavior
+ startBehaviors();
+ }
+
+ /**
* Init this Layer.
* Called by the LayerStack as soon as the layer is added in the tree of layers.
* This method can be subclassed to init a particular layer.
@@ -433,6 +582,8 @@ ApplicationDependantElementImpl implements LayerExpression {
case LayersPackage.LAYER_EXPRESSION__OWNING_LAYERS_STACK:
if (resolve) return getOwningLayersStack();
return basicGetOwningLayersStack();
+ case LayersPackage.LAYER_EXPRESSION__STATE:
+ return getState();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -460,6 +611,9 @@ ApplicationDependantElementImpl implements LayerExpression {
case LayersPackage.LAYER_EXPRESSION__OWNING_LAYERS_STACK:
setOwningLayersStack((LayersStack)newValue);
return;
+ case LayersPackage.LAYER_EXPRESSION__STATE:
+ setState((LayerState)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -487,6 +641,9 @@ ApplicationDependantElementImpl implements LayerExpression {
case LayersPackage.LAYER_EXPRESSION__OWNING_LAYERS_STACK:
setOwningLayersStack((LayersStack)null);
return;
+ case LayersPackage.LAYER_EXPRESSION__STATE:
+ setState(STATE_EDEFAULT);
+ return;
}
super.eUnset(featureID);
}
@@ -511,6 +668,8 @@ ApplicationDependantElementImpl implements LayerExpression {
return isBranchEnabled != IS_BRANCH_ENABLED_EDEFAULT;
case LayersPackage.LAYER_EXPRESSION__OWNING_LAYERS_STACK:
return owningLayersStack != null;
+ case LayersPackage.LAYER_EXPRESSION__STATE:
+ return state != STATE_EDEFAULT;
}
return super.eIsSet(featureID);
}
@@ -545,8 +704,8 @@ ApplicationDependantElementImpl implements LayerExpression {
catch (Throwable throwable) {
throw new InvocationTargetException(throwable);
}
- case LayersPackage.LAYER_EXPRESSION___INIT_LAYER__LAYERSSTACK:
- initLayer((LayersStack)arguments.get(0));
+ case LayersPackage.LAYER_EXPRESSION___ATTACH_TO_LAYERS_STACK__LAYERSSTACK:
+ attachToLayersStack((LayersStack)arguments.get(0));
return null;
case LayersPackage.LAYER_EXPRESSION___GET_LAYERS_STACK:
try {
@@ -555,6 +714,33 @@ ApplicationDependantElementImpl implements LayerExpression {
catch (Throwable throwable) {
throw new InvocationTargetException(throwable);
}
+ case LayersPackage.LAYER_EXPRESSION___ENTER_ATTACHED_STATE:
+ try {
+ enterAttachedState();
+ return null;
+ }
+ catch (Throwable throwable) {
+ throw new InvocationTargetException(throwable);
+ }
+ case LayersPackage.LAYER_EXPRESSION___ATTACH:
+ try {
+ attach();
+ return null;
+ }
+ catch (Throwable throwable) {
+ throw new InvocationTargetException(throwable);
+ }
+ case LayersPackage.LAYER_EXPRESSION___DETACH:
+ try {
+ detach();
+ return null;
+ }
+ catch (Throwable throwable) {
+ throw new InvocationTargetException(throwable);
+ }
+ case LayersPackage.LAYER_EXPRESSION___EXIT_ATTACHED_STATE:
+ exitAttachedState();
+ return null;
}
return super.eInvoke(operationID, arguments);
}
@@ -577,6 +763,8 @@ ApplicationDependantElementImpl implements LayerExpression {
result.append(isLayerEnabled);
result.append(", isBranchEnabled: ");
result.append(isBranchEnabled);
+ result.append(", state: ");
+ result.append(state);
result.append(')');
return result.toString();
}
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerOperatorImpl.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerOperatorImpl.java
index 2d3843469a7..d71603697e0 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerOperatorImpl.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerOperatorImpl.java
@@ -13,12 +13,14 @@
package org.eclipse.papyrus.layers.stackmodel.layers.impl;
import java.util.Collection;
+
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.layers.stackmodel.LayersException;
import org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression;
import org.eclipse.papyrus.layers.stackmodel.layers.LayerOperator;
import org.eclipse.papyrus.layers.stackmodel.layers.LayersPackage;
@@ -206,4 +208,60 @@ public abstract class LayerOperatorImpl extends LayerExpressionImpl implements L
layer.setOwningLayersStack(value);
}
}
+
+ /**
+ * <!-- begin-user-doc -->
+ * Start this element after its reloading by EMF
+ * This method is called recursively by the parent of this element.
+ *
+ * <!-- end-user-doc -->
+ * @throws LayersException
+ * @generated NOT
+ */
+ @Override
+ public void attach() throws LayersException {
+ // Try to attach this Layer
+ super.attach();
+ // attach children
+ for( LayerExpression l : getLayers()) {
+ l.attach();
+ }
+ }
+
+ /**
+ *
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayerExpressionImpl#detach()
+ *
+ * @throws LayersException
+ */
+ @Override
+ public void detach() throws LayersException {
+ // Detach this Layer
+ super.detach();
+ // detach children
+ for( LayerExpression l : getLayers()) {
+ l.detach();
+ }
+ }
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated unless we need it again
+ * @generated NOT
+ */
+ public void attachToLayersStack(LayersStack owningLayersStack) {
+
+ // the owning stack
+ setOwningLayersStack(owningLayersStack);
+
+ // Ensure child is started, if any
+ for( LayerExpression l : getLayers()) {
+ l.attachToLayersStack(owningLayersStack);
+ }
+
+ // Start local behaviors
+ startBehaviors();
+ }
+
+
} //LayerOperatorImpl
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersFactoryImpl.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersFactoryImpl.java
index a29bd77c671..90b77415b5a 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersFactoryImpl.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersFactoryImpl.java
@@ -146,6 +146,8 @@ public class LayersFactoryImpl extends EFactoryImpl implements LayersFactory {
@Override
public Object createFromString(EDataType eDataType, String initialValue) {
switch (eDataType.getClassifierID()) {
+ case LayersPackage.LAYER_STATE:
+ return createLayerStateFromString(eDataType, initialValue);
case LayersPackage.EVENT_LEVEL:
return createEventLevelFromString(eDataType, initialValue);
case LayersPackage.STRING:
@@ -181,6 +183,8 @@ public class LayersFactoryImpl extends EFactoryImpl implements LayersFactory {
@Override
public String convertToString(EDataType eDataType, Object instanceValue) {
switch (eDataType.getClassifierID()) {
+ case LayersPackage.LAYER_STATE:
+ return convertLayerStateToString(eDataType, instanceValue);
case LayersPackage.EVENT_LEVEL:
return convertEventLevelToString(eDataType, instanceValue);
case LayersPackage.STRING:
@@ -793,6 +797,26 @@ public class LayersFactoryImpl extends EFactoryImpl implements LayersFactory {
* <!-- end-user-doc -->
* @generated
*/
+ public LayerState createLayerStateFromString(EDataType eDataType, String initialValue) {
+ LayerState result = LayerState.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertLayerStateToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EventLevel createEventLevelFromString(EDataType eDataType, String initialValue) {
EventLevel result = EventLevel.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersPackageImpl.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersPackageImpl.java
index 6236b206fa3..bb79017254c 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersPackageImpl.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersPackageImpl.java
@@ -63,6 +63,7 @@ import org.eclipse.papyrus.layers.stackmodel.layers.LayerOperator;
import org.eclipse.papyrus.layers.stackmodel.layers.LayerOperatorDescriptor;
import org.eclipse.papyrus.layers.stackmodel.layers.LayerOperatorDescriptorRegistry;
import org.eclipse.papyrus.layers.stackmodel.layers.LayerStackDescriptorRegistry;
+import org.eclipse.papyrus.layers.stackmodel.layers.LayerState;
import org.eclipse.papyrus.layers.stackmodel.layers.LayersFactory;
import org.eclipse.papyrus.layers.stackmodel.layers.LayersPackage;
import org.eclipse.papyrus.layers.stackmodel.layers.LayersStack;
@@ -582,6 +583,13 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
* <!-- end-user-doc -->
* @generated
*/
+ private EEnum layerStateEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EEnum eventLevelEEnum = null;
/**
@@ -786,6 +794,15 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
* <!-- end-user-doc -->
* @generated
*/
+ public EAttribute getLayersStack_State() {
+ return (EAttribute)layersStackEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EOperation getLayersStack__GetComputePropertyValueCommand__View_Property() {
return layersStackEClass.getEOperations().get(0);
}
@@ -813,6 +830,60 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
* <!-- end-user-doc -->
* @generated
*/
+ public EOperation getLayersStack__StartAfterCreation() {
+ return layersStackEClass.getEOperations().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLayersStack__AttachLayers() {
+ return layersStackEClass.getEOperations().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLayersStack__Attach() {
+ return layersStackEClass.getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLayersStack__Detach() {
+ return layersStackEClass.getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLayersStack__EnterAttachedState() {
+ return layersStackEClass.getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLayersStack__ExitAttachedState() {
+ return layersStackEClass.getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EClass getLayerExpression() {
return layerExpressionEClass;
}
@@ -876,6 +947,15 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
* <!-- end-user-doc -->
* @generated
*/
+ public EAttribute getLayerExpression_State() {
+ return (EAttribute)layerExpressionEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EOperation getLayerExpression__GetComputePropertyValueCommand__View_Property() {
return layerExpressionEClass.getEOperations().get(0);
}
@@ -903,7 +983,7 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
* <!-- end-user-doc -->
* @generated
*/
- public EOperation getLayerExpression__InitLayer__LayersStack() {
+ public EOperation getLayerExpression__AttachToLayersStack__LayersStack() {
return layerExpressionEClass.getEOperations().get(3);
}
@@ -921,6 +1001,42 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
* <!-- end-user-doc -->
* @generated
*/
+ public EOperation getLayerExpression__EnterAttachedState() {
+ return layerExpressionEClass.getEOperations().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLayerExpression__Attach() {
+ return layerExpressionEClass.getEOperations().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLayerExpression__Detach() {
+ return layerExpressionEClass.getEOperations().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EOperation getLayerExpression__ExitAttachedState() {
+ return layerExpressionEClass.getEOperations().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EClass getApplicationDependantElement() {
return applicationDependantElementEClass;
}
@@ -2658,6 +2774,15 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
* <!-- end-user-doc -->
* @generated
*/
+ public EEnum getLayerState() {
+ return layerStateEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EEnum getEventLevel() {
return eventLevelEEnum;
}
@@ -2788,9 +2913,16 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
createEAttribute(layersStackEClass, LAYERS_STACK__NAME);
createEAttribute(layersStackEClass, LAYERS_STACK__DESCRIPTION);
createEReference(layersStackEClass, LAYERS_STACK__DIAGRAM);
+ createEAttribute(layersStackEClass, LAYERS_STACK__STATE);
createEOperation(layersStackEClass, LAYERS_STACK___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY);
createEOperation(layersStackEClass, LAYERS_STACK___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST);
createEOperation(layersStackEClass, LAYERS_STACK___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY);
+ createEOperation(layersStackEClass, LAYERS_STACK___START_AFTER_CREATION);
+ createEOperation(layersStackEClass, LAYERS_STACK___ATTACH_LAYERS);
+ createEOperation(layersStackEClass, LAYERS_STACK___ATTACH);
+ createEOperation(layersStackEClass, LAYERS_STACK___DETACH);
+ createEOperation(layersStackEClass, LAYERS_STACK___ENTER_ATTACHED_STATE);
+ createEOperation(layersStackEClass, LAYERS_STACK___EXIT_ATTACHED_STATE);
layerExpressionEClass = createEClass(LAYER_EXPRESSION);
createEAttribute(layerExpressionEClass, LAYER_EXPRESSION__NAME);
@@ -2799,11 +2931,16 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
createEAttribute(layerExpressionEClass, LAYER_EXPRESSION__IS_LAYER_ENABLED);
createEAttribute(layerExpressionEClass, LAYER_EXPRESSION__IS_BRANCH_ENABLED);
createEReference(layerExpressionEClass, LAYER_EXPRESSION__OWNING_LAYERS_STACK);
+ createEAttribute(layerExpressionEClass, LAYER_EXPRESSION__STATE);
createEOperation(layerExpressionEClass, LAYER_EXPRESSION___GET_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_PROPERTY);
createEOperation(layerExpressionEClass, LAYER_EXPRESSION___GET_VIEWS_COMPUTE_PROPERTY_VALUE_COMMAND__ELIST_PROPERTY);
createEOperation(layerExpressionEClass, LAYER_EXPRESSION___GET_PROPERTIES_COMPUTE_PROPERTY_VALUE_COMMAND__VIEW_ELIST);
- createEOperation(layerExpressionEClass, LAYER_EXPRESSION___INIT_LAYER__LAYERSSTACK);
+ createEOperation(layerExpressionEClass, LAYER_EXPRESSION___ATTACH_TO_LAYERS_STACK__LAYERSSTACK);
createEOperation(layerExpressionEClass, LAYER_EXPRESSION___GET_LAYERS_STACK);
+ createEOperation(layerExpressionEClass, LAYER_EXPRESSION___ENTER_ATTACHED_STATE);
+ createEOperation(layerExpressionEClass, LAYER_EXPRESSION___ATTACH);
+ createEOperation(layerExpressionEClass, LAYER_EXPRESSION___DETACH);
+ createEOperation(layerExpressionEClass, LAYER_EXPRESSION___EXIT_ATTACHED_STATE);
applicationDependantElementEClass = createEClass(APPLICATION_DEPENDANT_ELEMENT);
createEReference(applicationDependantElementEClass, APPLICATION_DEPENDANT_ELEMENT__APPLICATION);
@@ -3064,6 +3201,7 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
allViewsDerivedLayerEClass = createEClass(ALL_VIEWS_DERIVED_LAYER);
// Create enums
+ layerStateEEnum = createEEnum(LAYER_STATE);
eventLevelEEnum = createEEnum(EVENT_LEVEL);
// Create data types
@@ -3168,6 +3306,7 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
initEAttribute(getLayersStack_Name(), this.getString(), "name", null, 1, 1, LayersStack.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getLayersStack_Description(), this.getString(), "description", null, 1, 1, LayersStack.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getLayersStack_Diagram(), theNotationPackage.getDiagram(), null, "diagram", null, 0, 1, LayersStack.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getLayersStack_State(), this.getLayerState(), "state", "detached", 1, 1, LayersStack.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
EOperation op = initEOperation(getLayersStack__GetComputePropertyValueCommand__View_Property(), this.getComputePropertyValueCommand(), "getComputePropertyValueCommand", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEParameter(op, theNotationPackage.getView(), "view", 1, 1, IS_UNIQUE, !IS_ORDERED);
@@ -3184,6 +3323,22 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
addEParameter(op, this.getProperty(), "property", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEException(op, this.getLayersException());
+ initEOperation(getLayersStack__StartAfterCreation(), null, "startAfterCreation", 1, 1, IS_UNIQUE, !IS_ORDERED);
+
+ op = initEOperation(getLayersStack__AttachLayers(), null, "attachLayers", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEException(op, this.getLayersException());
+
+ op = initEOperation(getLayersStack__Attach(), null, "attach", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEException(op, this.getLayersException());
+
+ op = initEOperation(getLayersStack__Detach(), null, "detach", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEException(op, this.getLayersException());
+
+ op = initEOperation(getLayersStack__EnterAttachedState(), null, "enterAttachedState", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEException(op, this.getLayersException());
+
+ initEOperation(getLayersStack__ExitAttachedState(), null, "exitAttachedState", 1, 1, IS_UNIQUE, !IS_ORDERED);
+
initEClass(layerExpressionEClass, LayerExpression.class, "LayerExpression", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getLayerExpression_Name(), this.getString(), "name", null, 1, 1, LayerExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getLayerExpression_Description(), this.getString(), "description", null, 1, 1, LayerExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
@@ -3191,6 +3346,7 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
initEAttribute(getLayerExpression_IsLayerEnabled(), this.getboolean(), "isLayerEnabled", "true", 1, 1, LayerExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getLayerExpression_IsBranchEnabled(), this.getboolean(), "isBranchEnabled", "true", 1, 1, LayerExpression.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getLayerExpression_OwningLayersStack(), this.getLayersStack(), null, "owningLayersStack", null, 0, 1, LayerExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getLayerExpression_State(), this.getLayerState(), "state", "detached", 1, 1, LayerExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
op = initEOperation(getLayerExpression__GetComputePropertyValueCommand__View_Property(), this.getComputePropertyValueCommand(), "getComputePropertyValueCommand", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEParameter(op, theNotationPackage.getView(), "view", 1, 1, IS_UNIQUE, !IS_ORDERED);
@@ -3207,12 +3363,23 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
addEParameter(op, this.getProperty(), "property", 1, -1, IS_UNIQUE, IS_ORDERED);
addEException(op, this.getLayersException());
- op = initEOperation(getLayerExpression__InitLayer__LayersStack(), null, "initLayer", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ op = initEOperation(getLayerExpression__AttachToLayersStack__LayersStack(), null, "attachToLayersStack", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEParameter(op, this.getLayersStack(), "owningLayersStack", 1, 1, IS_UNIQUE, !IS_ORDERED);
op = initEOperation(getLayerExpression__GetLayersStack(), this.getLayersStack(), "getLayersStack", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEException(op, this.getNotFoundException());
+ op = initEOperation(getLayerExpression__EnterAttachedState(), null, "enterAttachedState", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEException(op, this.getLayersException());
+
+ op = initEOperation(getLayerExpression__Attach(), null, "attach", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEException(op, this.getLayersException());
+
+ op = initEOperation(getLayerExpression__Detach(), null, "detach", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEException(op, this.getLayersException());
+
+ initEOperation(getLayerExpression__ExitAttachedState(), null, "exitAttachedState", 1, 1, IS_UNIQUE, !IS_ORDERED);
+
initEClass(applicationDependantElementEClass, ApplicationDependantElement.class, "ApplicationDependantElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getApplicationDependantElement_Application(), this.getLayersStackApplication(), null, "application", null, 0, 1, ApplicationDependantElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
@@ -3577,6 +3744,10 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
initEClass(allViewsDerivedLayerEClass, AllViewsDerivedLayer.class, "AllViewsDerivedLayer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
// Initialize enums and add enum literals
+ initEEnum(layerStateEEnum, LayerState.class, "LayerState");
+ addEEnumLiteral(layerStateEEnum, LayerState.DETACHED);
+ addEEnumLiteral(layerStateEEnum, LayerState.ATTACHED);
+
initEEnum(eventLevelEEnum, EventLevel.class, "EventLevel");
addEEnumLiteral(eventLevelEEnum, EventLevel.LEVEL1);
addEEnumLiteral(eventLevelEEnum, EventLevel.ALL_LEVELS);
@@ -3608,7 +3779,7 @@ public class LayersPackageImpl extends EPackageImpl implements LayersPackage {
* @generated
*/
protected void createExtendedMetaDataAnnotations() {
- String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";
+ String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";
addAnnotation
(badStateExceptionEDataType,
source,
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersStackApplicationImpl.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersStackApplicationImpl.java
index 218b291cc38..e7dcc306250 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersStackApplicationImpl.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersStackApplicationImpl.java
@@ -531,6 +531,7 @@ FolderElementImpl implements LayersStackApplication {
// Create a new LayerStack and add it to application (this)
LayersStack layer = LayersFactory.eINSTANCE.createLayersStack();
+ layer.startAfterCreation();
layer.setDiagram(diagram);
// Create first layer in stack
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersStackImpl.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersStackImpl.java
index 36708046e88..f11081e2178 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersStackImpl.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayersStackImpl.java
@@ -28,6 +28,7 @@ import org.eclipse.papyrus.layers.stackmodel.BadStateException;
import org.eclipse.papyrus.layers.stackmodel.LayersException;
import org.eclipse.papyrus.layers.stackmodel.command.ComputePropertyValueCommand;
import org.eclipse.papyrus.layers.stackmodel.layers.LayerExpression;
+import org.eclipse.papyrus.layers.stackmodel.layers.LayerState;
import org.eclipse.papyrus.layers.stackmodel.layers.LayersPackage;
import org.eclipse.papyrus.layers.stackmodel.layers.LayersStack;
import org.eclipse.papyrus.layers.stackmodel.layers.Property;
@@ -46,6 +47,7 @@ import org.eclipse.papyrus.layers.stackmodel.notifier.LayersTreeEventNotifierFac
* <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersStackImpl#getName <em>Name</em>}</li>
* <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersStackImpl#getDescription <em>Description</em>}</li>
* <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersStackImpl#getDiagram <em>Diagram</em>}</li>
+ * <li>{@link org.eclipse.papyrus.layers.stackmodel.layers.impl.LayersStackImpl#getState <em>State</em>}</li>
* </ul>
* </p>
*
@@ -112,6 +114,26 @@ MinimalEObjectImpl.Container implements LayersStack {
protected Diagram diagram;
/**
+ * The default value of the '{@link #getState() <em>State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getState()
+ * @generated
+ * @ordered
+ */
+ protected static final LayerState STATE_EDEFAULT = LayerState.DETACHED;
+
+ /**
+ * The cached value of the '{@link #getState() <em>State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getState()
+ * @generated
+ * @ordered
+ */
+ protected LayerState state = STATE_EDEFAULT;
+
+ /**
* Listener on layers tree events.
* This listener take in charge the initialization of added layers.
*/
@@ -148,7 +170,9 @@ MinimalEObjectImpl.Container implements LayersStack {
*/
protected LayersStackImpl() {
super();
- init();
+
+ // Now, init should be called explicitly after creation.
+ //init();
}
/**
@@ -298,6 +322,27 @@ MinimalEObjectImpl.Container implements LayersStack {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @generated
+ */
+ public LayerState getState() {
+ return state;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setState(LayerState newState) {
+ LayerState oldState = state;
+ state = newState == null ? STATE_EDEFAULT : newState;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, LayersPackage.LAYERS_STACK__STATE, oldState, state));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
* @throws LayersException
* @generated NOT
*/
@@ -334,6 +379,98 @@ MinimalEObjectImpl.Container implements LayersStack {
/**
* <!-- begin-user-doc -->
+ * Start this LayersStack after its creation. This method should be explicitly called by
+ * user after the creation of a LayersStack.
+ * <!-- end-user-doc -->
+ * @deprecated Not used anymore
+ * @generated NOT
+ */
+ public void startAfterCreation() {
+ // Ensure child is initialized, if any
+ if( getLayers() != null ) {
+ getLayers().attachToLayersStack(this);
+ }
+
+ // Start local behaviors
+ init();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * Attach recursively the tree of layers.
+ * <!-- end-user-doc -->
+ * @throws LayersException
+ * @generated NOT
+ */
+ public void attachLayers() throws LayersException {
+ // Ensure child is started, if any
+ if( getLayers() != null ) {
+ getLayers().attach();
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void attach() throws LayersException {
+ // Stop if already in ATTACHED state.
+ if(getState() == LayerState.ATTACHED) {
+ return;
+ }
+
+ // Check required attributes
+ if( getDiagram()==null ) {
+ throw new BadStateException("A required attribute is not set. The Layer can't be attached."
+ + "[layerName=" + getName()
+ + ", diagram=" + (getDiagram()==null?"null":"ok")
+ + "]"
+ );
+ }
+
+ // Can go in attached mode
+ setState(LayerState.ATTACHED);
+ enterAttachedState();
+ attachLayers();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void detach() throws LayersException {
+ // Change the state
+ exitAttachedState();
+ setState(LayerState.DETACHED);
+ // Ensure child is started, if any
+ if( getLayers() != null ) {
+ getLayers().detach();
+ }
+
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public void enterAttachedState() throws LayersException {
+ init();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void exitAttachedState() {
+ // do nothing;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @throws LayersException
* @generated NOT
@@ -394,6 +531,8 @@ MinimalEObjectImpl.Container implements LayersStack {
case LayersPackage.LAYERS_STACK__DIAGRAM:
if (resolve) return getDiagram();
return basicGetDiagram();
+ case LayersPackage.LAYERS_STACK__STATE:
+ return getState();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -403,7 +542,6 @@ MinimalEObjectImpl.Container implements LayersStack {
* <!-- end-user-doc -->
* @generated
*/
- @SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
@@ -419,6 +557,9 @@ MinimalEObjectImpl.Container implements LayersStack {
case LayersPackage.LAYERS_STACK__DIAGRAM:
setDiagram((Diagram)newValue);
return;
+ case LayersPackage.LAYERS_STACK__STATE:
+ setState((LayerState)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -443,6 +584,9 @@ MinimalEObjectImpl.Container implements LayersStack {
case LayersPackage.LAYERS_STACK__DIAGRAM:
setDiagram((Diagram)null);
return;
+ case LayersPackage.LAYERS_STACK__STATE:
+ setState(STATE_EDEFAULT);
+ return;
}
super.eUnset(featureID);
}
@@ -463,6 +607,8 @@ MinimalEObjectImpl.Container implements LayersStack {
return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
case LayersPackage.LAYERS_STACK__DIAGRAM:
return diagram != null;
+ case LayersPackage.LAYERS_STACK__STATE:
+ return state != STATE_EDEFAULT;
}
return super.eIsSet(featureID);
}
@@ -497,6 +643,44 @@ MinimalEObjectImpl.Container implements LayersStack {
catch (Throwable throwable) {
throw new InvocationTargetException(throwable);
}
+ case LayersPackage.LAYERS_STACK___START_AFTER_CREATION:
+ startAfterCreation();
+ return null;
+ case LayersPackage.LAYERS_STACK___ATTACH_LAYERS:
+ try {
+ attachLayers();
+ return null;
+ }
+ catch (Throwable throwable) {
+ throw new InvocationTargetException(throwable);
+ }
+ case LayersPackage.LAYERS_STACK___ATTACH:
+ try {
+ attach();
+ return null;
+ }
+ catch (Throwable throwable) {
+ throw new InvocationTargetException(throwable);
+ }
+ case LayersPackage.LAYERS_STACK___DETACH:
+ try {
+ detach();
+ return null;
+ }
+ catch (Throwable throwable) {
+ throw new InvocationTargetException(throwable);
+ }
+ case LayersPackage.LAYERS_STACK___ENTER_ATTACHED_STATE:
+ try {
+ enterAttachedState();
+ return null;
+ }
+ catch (Throwable throwable) {
+ throw new InvocationTargetException(throwable);
+ }
+ case LayersPackage.LAYERS_STACK___EXIT_ATTACHED_STATE:
+ exitAttachedState();
+ return null;
}
return super.eInvoke(operationID, arguments);
}
@@ -515,6 +699,8 @@ MinimalEObjectImpl.Container implements LayersStack {
result.append(name);
result.append(", description: ");
result.append(description);
+ result.append(", state: ");
+ result.append(state);
result.append(')');
return result.toString();
}
@@ -532,7 +718,7 @@ MinimalEObjectImpl.Container implements LayersStack {
return;
}
// init the layer
- addedLayer.initLayer(this);
+ addedLayer.attachToLayersStack(this);
}
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/RegExpLayerImpl.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/RegExpLayerImpl.java
index bd162ebc367..5a85e033e9d 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/RegExpLayerImpl.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/RegExpLayerImpl.java
@@ -14,7 +14,6 @@ package org.eclipse.papyrus.layers.stackmodel.layers.impl;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -218,6 +217,39 @@ public class RegExpLayerImpl extends AbstractLayerImpl implements RegExpLayer {
}
/**
+ *
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.impl.AbstractLayerImpl#startBehaviors()
+ *
+ */
+ @Override
+ protected void startBehaviors() {
+ // TODO Auto-generated method stub
+ super.startBehaviors();
+ }
+
+ /**
+ *
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayerExpressionImpl#startAfterReloading()
+ *
+ */
+ @Override
+ public void startAfterReloading() {
+ // TODO Auto-generated method stub
+ super.startAfterReloading();
+ }
+
+ /**
+ *
+ * @see org.eclipse.papyrus.layers.stackmodel.layers.impl.LayerExpressionImpl#attachToLayersStack(org.eclipse.papyrus.layers.stackmodel.layers.LayersStack)
+ *
+ * @param owningLayersStack
+ */
+ @Override
+ public void attachToLayersStack(LayersStack owningLayersStack) {
+ // TODO Auto-generated method stub
+ super.attachToLayersStack(owningLayersStack);
+ }
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/StackedLayerOperatorImpl.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/StackedLayerOperatorImpl.java
index f2ab8dc3c84..e43a7bd55f1 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/StackedLayerOperatorImpl.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/src/org/eclipse/papyrus/layers/stackmodel/layers/impl/StackedLayerOperatorImpl.java
@@ -62,6 +62,7 @@ public class StackedLayerOperatorImpl extends AbstractLayerOperatorImpl implemen
* Nothing is done if one of the attribute is not set.
* Nothing is done if the descriptor can not be found (maybe a log is issue).
* <!-- begin-user-doc -->
+ * Not used ?
* <!-- end-user-doc -->
*
* @generated NOT
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/test/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerImplWithApplicationTest.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/test/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerImplWithApplicationTest.java
index 49acb5f5d1c..998befeaf31 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/test/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerImplWithApplicationTest.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/test/org/eclipse/papyrus/layers/stackmodel/layers/impl/LayerImplWithApplicationTest.java
@@ -154,6 +154,7 @@ public class LayerImplWithApplicationTest {
public void testAutomaticSynchronizationAfterRemove() throws BadStateException {
// Create objets to test
LayerImpl layer = (LayerImpl)LayersFactory.eINSTANCE.createLayer();
+ layer.startBehaviors();
LayersStackApplication application = LayersFactory.eINSTANCE.createLayersStackApplication();
layer.setApplication(application);
PropertyRegistry propertyRegistry = application.getPropertyRegistry();
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/test/org/eclipse/papyrus/layers/stackmodel/notifier/DiagramViewChangedEventNotifierTest.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/test/org/eclipse/papyrus/layers/stackmodel/notifier/DiagramViewChangedEventNotifierTest.java
index 597960f81a4..fa324b55ebe 100644
--- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/test/org/eclipse/papyrus/layers/stackmodel/notifier/DiagramViewChangedEventNotifierTest.java
+++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel/test/org/eclipse/papyrus/layers/stackmodel/notifier/DiagramViewChangedEventNotifierTest.java
@@ -26,6 +26,7 @@ import org.eclipse.papyrus.layers.stackmodel.util.TriggeredEventTraces.Triggered
import org.eclipse.uml2.uml.Class;
import org.junit.After;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
/**
@@ -66,6 +67,7 @@ public class DiagramViewChangedEventNotifierTest {
* Test method for {@link org.eclipse.papyrus.layers.stackmodel.notifier.DiagramViewChangedEventNotifier#addEventListener(org.eclipse.papyrus.layers.stackmodel.notifier.IDiagramViewEventListener)}.
*/
@Test
+ @Ignore
public void testAddEventListener() {
fail("Not yet implemented");
}
@@ -74,6 +76,7 @@ public class DiagramViewChangedEventNotifierTest {
* Test method for {@link org.eclipse.papyrus.layers.stackmodel.notifier.DiagramViewChangedEventNotifier#removeEventListener(org.eclipse.papyrus.layers.stackmodel.notifier.IDiagramViewEventListener)}.
*/
@Test
+ @Ignore
public void testRemoveEventListener() {
fail("Not yet implemented");
}

Back to the top