Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCamille Letavernier2015-09-17 12:20:06 +0000
committerCamille Letavernier2015-09-17 12:20:06 +0000
commit53b24a7a990de4877d9de245e93cd39c36f4c157 (patch)
treeecefdb7c441691308d52b7b7659515ac32020f95 /plugins/infra/core
parentfb8ee92509cdf5526fc1e36e1a279965f8d8f113 (diff)
downloadorg.eclipse.papyrus-53b24a7a990de4877d9de245e93cd39c36f4c157.tar.gz
org.eclipse.papyrus-53b24a7a990de4877d9de245e93cd39c36f4c157.tar.xz
org.eclipse.papyrus-53b24a7a990de4877d9de245e93cd39c36f4c157.zip
476625: [GEF4] Implement an "Open with..." action for Papyrus Diagrams
https://bugs.eclipse.org/bugs/show_bug.cgi?id=476625 Change-Id: Ibe9a085bca197c8ef6aae2a37c044ca8429b3fee Signed-off-by: Camille Letavernier <camille.letavernier@cea.fr>
Diffstat (limited to 'plugins/infra/core')
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/.classpath16
-rwxr-xr-xplugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/META-INF/MANIFEST.MF7
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/DiSashModelManager.java29
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/IPageModelFactory.java47
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/PageManagerImpl.java23
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/TabFolderModel.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/TransactionalPageManagerImpl.java15
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/di.ecore25
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.genmodel24
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.notation188
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.uml274
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/AbstractPage.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/AbstractPanel.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/DiPackage.java36
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PageList.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PageRef.java32
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PanelParent.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Position.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashModel.java24
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashPanel.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashWindowsMngr.java10
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Size.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/TabFolder.java17
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Window.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/AbstractPageImpl.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/AbstractPanelImpl.java5
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/DiPackageImpl.java66
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PageListImpl.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PageRefImpl.java63
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PanelParentImpl.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PositionImpl.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashModelImpl.java13
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashPanelImpl.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashWindowsMngrImpl.java8
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SizeImpl.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/TabFolderImpl.java13
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/WindowImpl.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiAdapterFactory.java133
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiSwitch.java3
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiUtils.java8
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/.classpath14
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/contentprovider/IPageManager.java24
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/.classpath14
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/.settings/org.eclipse.jdt.core.prefs6
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/schema/papyrusDiagram.exsd677
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editor/DiSashModelManagerServiceFactory.java2
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editorsfactory/IEditorFactory.java18
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editorsfactory/PageModelFactoryRegistry.java96
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorDescriptor.java14
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorDescriptorExtensionFactory.java17
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorFactoryProxy.java20
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/PluggableEditorFactoryReader.java5
56 files changed, 1388 insertions, 646 deletions
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/.classpath b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/.classpath
index 704f76c8d92..cf9a62af9c3 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/.classpath
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/.classpath
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="custom-src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="custom-src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/.settings/org.eclipse.jdt.core.prefs
index 410244d65a6..62a08f4494d 100755
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/META-INF/MANIFEST.MF b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/META-INF/MANIFEST.MF
index 313d2292767..666b0fc893c 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/META-INF/MANIFEST.MF
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/META-INF/MANIFEST.MF
@@ -11,13 +11,14 @@ Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
Bundle-Localization: plugin
Bundle-Name: %pluginName
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.swt;bundle-version="3.5.0",
org.eclipse.papyrus.infra.core.sasheditor;bundle-version="1.2.0";visibility:=reexport,
org.eclipse.ui;bundle-version="3.6.0",
org.eclipse.core.runtime;bundle-version="3.6.0",
- org.eclipse.emf.ecore,
- org.eclipse.emf.ecore.xmi;bundle-version="2.5.0",
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;bundle-version="2.5.0";visibility:=reexport,
+ org.eclipse.uml2.types;visibility:=reexport,
org.eclipse.emf.transaction;bundle-version="1.4.0",
org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0"
Bundle-Vendor: %providerName
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/DiSashModelManager.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/DiSashModelManager.java
index a396e02e530..205f47d2ed4 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/DiSashModelManager.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/DiSashModelManager.java
@@ -14,6 +14,8 @@
package org.eclipse.papyrus.infra.core.sasheditor.di.contentprovider;
+import java.util.Map;
+
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.transaction.RecordingCommand;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
@@ -49,14 +51,16 @@ public class DiSashModelManager {
/**
* Instance of the {@link PageManagerImpl}.
*/
- private PageManagerImpl pageMngr = null;
+ private final PageManagerImpl pageMngr;
/**
* Instance of the DiContentProvider used to manipulate SashModel.
*/
- private DiContentProvider contentProvider;
+ private final DiContentProvider contentProvider;
+
+ private final TransactionalDiContentProvider transDiContentProvider;
- private TransactionalDiContentProvider transDiContentProvider;
+ private final IPageModelFactory pageModelFactory;
/**
* Object used externally listen to model changes.
@@ -97,6 +101,8 @@ public class DiSashModelManager {
editingDomain.getCommandStack().execute(cmd);
}
+ this.pageModelFactory = pageModelFactory;
+
contentProvider = new DiContentProvider(sashWindowMngr.getSashModel(), pageModelFactory, contentChangedEventProvider);
// Create the TransactionalDiContentProvider
transDiContentProvider = new TransactionalDiContentProvider(getDiContentProvider(), editingDomain);
@@ -136,6 +142,8 @@ public class DiSashModelManager {
}
}
+ this.pageModelFactory = pageModelFactory;
+
contentProvider = new DiContentProvider(sashWindowMngr.getSashModel(), pageModelFactory, getContentChangedEventProvider());
// Create the TransactionalDiContentProvider
transDiContentProvider = new TransactionalDiContentProvider(getDiContentProvider(), editingDomain);
@@ -296,11 +304,12 @@ public class DiSashModelManager {
return DiUtils.lookupSashWindowsMngr(diResource);
}
- /**
+ /*
* Create an instance of IPageMngr acting on the provided resource.
* This instance is suitable to add, remove, close or open diagrams.
*
* @param diResource
+ *
* @return The non transactional version of the IPageMngr
*/
// public static IPageMngr createIPageMngr(Resource diResource) {
@@ -311,4 +320,16 @@ public class DiSashModelManager {
//
// }
+ /**
+ * Finds a the EditorIDs that can open the given pageIdentifier
+ *
+ * @param pageIdentifier
+ * @return A map of (ID -> Label) for the matching editors
+ *
+ * @see {@link IPageManager#DEFAULT_EDITOR}
+ */
+ public Map<String, String> getEditorIDsFor(Object pageIdentifier) {
+ return pageModelFactory.getEditorIDsFor(pageIdentifier);
+ }
+
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/IPageModelFactory.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/IPageModelFactory.java
index 9bb117e4ea4..1ae6b592b8c 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/IPageModelFactory.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/IPageModelFactory.java
@@ -1,6 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2009 CEA LIST & LIFL
- *
+ * Copyright (c) 2009 - 2015 CEA LIST & LIFL
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -9,13 +8,15 @@
*
* Contributors:
* Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API and implementation
- *
+ * Camille Letavernier (CEA LIST) - camille.letavernier@cea.fr - Bug 476625
*****************************************************************************/
-
package org.eclipse.papyrus.infra.core.sasheditor.di.contentprovider;
+import java.util.Collections;
+import java.util.Map;
+
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageMngr;
+import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageManager;
import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageModel;
@@ -28,8 +29,13 @@ import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageModel;
public interface IPageModelFactory {
/**
+ * Generic EditorID that represents the default editor associated to any page identifier
+ */
+ String DEFAULT_EDITOR = IPageManager.class.getCanonicalName() + ".Default";
+
+ /**
* Create the IPageModel for the pageIdentifier. The pageIdentifier is the object passed to
- * the {@link IPageMngr#addEditor(EObject)}.
+ * the {@link IPageManager#addEditor(EObject)}.
* This factory method is called by the Sash Windows whenever it needs to create a page. The identifier
* is found in the sash model.
*
@@ -38,4 +44,33 @@ public interface IPageModelFactory {
* @return
*/
public IPageModel createIPageModel(Object pageIdentifier);
+
+ /**
+ * @see org.eclipse.papyrus.infra.core.sasheditor.di.contentprovider.IPageModelFactory#createIPageModel(java.lang.Object)
+ *
+ * @param pageIdentifier
+ * @return
+ */
+ default IPageModel createIPageModel(Object pageIdentifier, String favoriteEditorID) {
+ return createIPageModel(pageIdentifier);
+ }
+
+ /**
+ * Finds the EditorIDs that can open the given pageIdentifier. This list is a hint
+ *
+ * The exact behavior is implementation-specific; this method shouldn't be used
+ * to determine whether a page identifier can actually be opened.
+ *
+ * Implementations may return a list containing the {@link IPageManager#DEFAULT_EDITOR} ID,
+ * and the list might be incomplete (i.e. editors not listed might
+ * still be able to open the given pageIdentifier)
+ *
+ * @param pageIdentifier
+ * @return A map of (ID -> Label) of the editors that can open the given page
+ *
+ * @see {@link IPageManager#DEFAULT_EDITOR}
+ */
+ default Map<String, String> getEditorIDsFor(Object pageIdentifier) {
+ return Collections.singletonMap(DEFAULT_EDITOR, "Default editor");
+ }
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/PageManagerImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/PageManagerImpl.java
index 552c2574bf3..bb3b6a56c1f 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/PageManagerImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/PageManagerImpl.java
@@ -106,9 +106,9 @@ public class PageManagerImpl extends PageMngrImpl implements IPageManager {
/**
* Reload the Diagram
* This used when a resource is reloaded, the related diagrams are reloaded as well
- *
+ *
* @see org.eclipse.papyrus.infra.services.controlmode.listener.LoadResourceSnippet
- *
+ *
* @param diagramProxy
* Identifier of the page to reload
*/
@@ -192,12 +192,13 @@ public class PageManagerImpl extends PageMngrImpl implements IPageManager {
/**
- *
+ *
* @see org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageManager#getAssociatedPages(org.eclipse.emf.common.util.URI)
*
* @param uriTrim
* @return
*/
+ @Override
public List<Object> getAssociatedPages(Object uriTrim) {
List<Object> list = new ArrayList<Object>();
@@ -223,7 +224,7 @@ public class PageManagerImpl extends PageMngrImpl implements IPageManager {
uriContainer = pageID.eResource().getURI().trimFileExtension();
}
if (uriTrim instanceof URI) {
- if (uriContainer.equals((URI) uriTrim)) {
+ if (uriContainer.equals(uriTrim)) {
list.add(pageID);
}
}
@@ -286,6 +287,20 @@ public class PageManagerImpl extends PageMngrImpl implements IPageManager {
}
/**
+ * @see org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageManager#openPage(java.lang.Object, java.lang.String)
+ *
+ * @param pageIdentifier
+ * @param editorID
+ */
+ @Override
+ public void openPage(Object pageIdentifier, String editorID) {
+ PageRef newPage = DiFactory.eINSTANCE.createPageRef();
+ newPage.setFavoriteEditor(editorID);
+ newPage.setPageIdentifier(pageIdentifier);
+ diSashModel.getSashModel().addPage(getCurrentFolder(), newPage);
+ }
+
+ /**
* @see org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageManager#selectPage(java.lang.Object)
*
* @param pageIdentifier
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/TabFolderModel.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/TabFolderModel.java
index 7d72046dc47..7622d03e97d 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/TabFolderModel.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/TabFolderModel.java
@@ -68,7 +68,7 @@ public class TabFolderModel implements ITabFolderModel {
Object pageIdentifier = pageRef.getPageIdentifier();
if (pageIdentifier != null) {
- return pageModelFactory.createIPageModel(pageIdentifier);
+ return pageModelFactory.createIPageModel(pageIdentifier, pageRef.getFavoriteEditor());
} else {
return null;
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/TransactionalPageManagerImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/TransactionalPageManagerImpl.java
index 0e6660336fd..b81764aedf9 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/TransactionalPageManagerImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/custom-src/org/eclipse/papyrus/infra/core/sasheditor/di/contentprovider/internal/TransactionalPageManagerImpl.java
@@ -121,6 +121,21 @@ public class TransactionalPageManagerImpl extends PageManagerImpl {
}
@Override
+ public void openPage(final Object pageIdentifier, final String editorID) {
+ try {
+ TransactionHelper.run(getEditingDomain(), new Runnable() {
+
+ @Override
+ public void run() {
+ TransactionalPageManagerImpl.super.openPage(pageIdentifier, editorID);
+ }
+ });
+ } catch (Exception ex) {
+ Activator.log.error(ex);
+ }
+ }
+
+ @Override
public void closeAllOpenedPages(final Object pageIdentifier) {
try {
TransactionHelper.run(getEditingDomain(), new Runnable() {
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/di.ecore b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/di.ecore
index bf8d06eb5e8..1b572ac2299 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/di.ecore
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/di.ecore
@@ -64,6 +64,14 @@
<eOperations name="setCurrentSelectionSilently" ordered="false" lowerBound="1">
<eParameters name="selection" ordered="false" lowerBound="1" eType="#//TabFolder"/>
</eOperations>
+ <eOperations name="addPage" ordered="false" lowerBound="1">
+ <eParameters name="folder" ordered="false" lowerBound="1" eType="#//TabFolder"/>
+ <eParameters name="pageIdentifier" ordered="false" lowerBound="1" eType="#//JavaObject"/>
+ </eOperations>
+ <eOperations name="addPage" ordered="false" lowerBound="1">
+ <eParameters name="folder" ordered="false" lowerBound="1" eType="#//TabFolder"/>
+ <eParameters name="pageRef" ordered="false" lowerBound="1" eType="#//PageRef"/>
+ </eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="windows" ordered="false"
upperBound="-1" eType="#//Window" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="currentSelection" ordered="false"
@@ -104,7 +112,11 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="y" ordered="false" unique="false"
lowerBound="1" eType="#//int"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EDataType" name="int" instanceClassName="int"/>
+ <eClassifiers xsi:type="ecore:EDataType" name="int" instanceClassName="int">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Integer"/>
+ </eAnnotations>
+ </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Size">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="width" ordered="false"
unique="false" lowerBound="1" eType="#//int"/>
@@ -122,6 +134,13 @@
<eOperations name="removePage" ordered="false" lowerBound="1">
<eParameters name="pageIndex" ordered="false" lowerBound="1" eType="#//int"/>
</eOperations>
+ <eOperations name="addPage" ordered="false" lowerBound="1">
+ <eParameters name="index" ordered="false" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+ <eParameters name="pageIdentifier" ordered="false" lowerBound="1" eType="#//JavaObject"/>
+ </eOperations>
+ <eOperations name="addPage" ordered="false" lowerBound="1">
+ <eParameters name="pageRef" ordered="false" lowerBound="1" eType="#//PageRef"/>
+ </eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="children" ordered="false"
upperBound="-1" eType="#//PageRef" containment="true" eOpposite="#//PageRef/parent"/>
</eClassifiers>
@@ -144,6 +163,8 @@
<details key="documentation" value="Storage to store Identifier that are not EObject."/>
</eAnnotations>
</eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="favoriteEditor" ordered="false"
+ eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" ordered="false"
unique="false" eType="#//TabFolder" eOpposite="#//TabFolder/children"/>
</eClassifiers>
@@ -184,7 +205,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SashWindowsMngr">
<eStructuralFeatures xsi:type="ecore:EReference" name="pageList" ordered="false"
- unique="false" eType="#//PageList" containment="true"/>
+ unique="false" lowerBound="1" eType="#//PageList" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="sashModel" ordered="false"
unique="false" lowerBound="1" eType="#//SashModel" containment="true"/>
</eClassifiers>
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.genmodel b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.genmodel
index 4631129109d..2b4d21d3967 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.genmodel
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.genmodel
@@ -4,7 +4,7 @@
modelDirectory="/org.eclipse.papyrus.infra.core.sasheditor.di/src"
modelPluginID="org.eclipse.papyrus.infra.core.sasheditor.di" modelName="Sashwindowsdi"
importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="5.0" copyrightFields="false"
- usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
+ usedGenPackages="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../org.eclipse.uml2.types/model/Types.genmodel#//types">
<genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
<details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
<details key="UNION_PROPERTIES" value="REPORT"/>
@@ -22,6 +22,12 @@
<details key="OPERATION_BODIES" value="IGNORE"/>
<details key="CAMEL_CASE_NAMES" value="IGNORE"/>
<details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+ <details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
+ <details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
+ <details key="NON_API_INVARIANTS" value="IGNORE"/>
+ <details key="UNTYPED_PROPERTIES" value="REPORT"/>
+ <details key="INVOCATION_DELEGATES" value="IGNORE"/>
+ <details key="VALIDATION_DELEGATES" value="IGNORE"/>
</genAnnotations>
<foreignModel>sashwindowsdi.uml</foreignModel>
<genPackages xsi:type="genmodel:GenPackage" prefix="Di" basePackage="org.eclipse.papyrus.infra.core.sashwindows"
@@ -75,6 +81,14 @@
<genOperations xsi:type="genmodel:GenOperation" ecoreOperation="di.ecore#//SashModel/setCurrentSelectionSilently">
<genParameters xsi:type="genmodel:GenParameter" ecoreParameter="di.ecore#//SashModel/setCurrentSelectionSilently/selection"/>
</genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="di.ecore#//SashModel/addPage.1">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="di.ecore#//SashModel/addPage.1/folder"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="di.ecore#//SashModel/addPage.1/pageIdentifier"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="di.ecore#//SashModel/addPage.2">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="di.ecore#//SashModel/addPage.2/folder"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="di.ecore#//SashModel/addPage.2/pageRef"/>
+ </genOperations>
</genClasses>
<genClasses xsi:type="genmodel:GenClass" ecoreClass="di.ecore#//Window">
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
@@ -117,12 +131,20 @@
<genOperations xsi:type="genmodel:GenOperation" ecoreOperation="di.ecore#//TabFolder/removePage">
<genParameters xsi:type="genmodel:GenParameter" ecoreParameter="di.ecore#//TabFolder/removePage/pageIndex"/>
</genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="di.ecore#//TabFolder/addPage.1">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="di.ecore#//TabFolder/addPage.1/index"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="di.ecore#//TabFolder/addPage.1/pageIdentifier"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="di.ecore#//TabFolder/addPage.2">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="di.ecore#//TabFolder/addPage.2/pageRef"/>
+ </genOperations>
</genClasses>
<genClasses xsi:type="genmodel:GenClass" ecoreClass="di.ecore#//PageRef">
<genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
propertySortChoices="true" ecoreFeature="ecore:EReference di.ecore#//PageRef/emfPageIdentifier"/>
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute di.ecore#//PageRef/pageIdentifier"/>
<genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute di.ecore#//PageRef/objectPageIdentifier"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute di.ecore#//PageRef/favoriteEditor"/>
<genFeatures xsi:type="genmodel:GenFeature" property="None" notify="false" createChild="false"
ecoreFeature="ecore:EReference di.ecore#//PageRef/parent"/>
<genOperations xsi:type="genmodel:GenOperation" ecoreOperation="di.ecore#//PageRef/isForIdentifier">
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.notation b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.notation
index ce378bc5674..54eb7fe90d0 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.notation
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.notation
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML">
+<xmi:XMI 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" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
<notation:Diagram xmi:id="_xRNpEGyFEeKx9Kegn5X27A" type="PapyrusUMLClassDiagram" name="overview" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_z0HqsGyFEeKx9Kegn5X27A" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_z0RbsGyFEeKx9Kegn5X27A" source="ShadowFigure">
@@ -30,6 +30,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_z0RbxGyFEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0RbxWyFEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Dd9EgFViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Dd9EgVViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_Xa5wIEJVEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_z0HqsWyFEeKx9Kegn5X27A" x="498" y="216"/>
</children>
@@ -62,6 +65,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_z1T9lmyFEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_z1T9l2yFEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Dd9EglViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Dd9Eg1ViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_UiIMMEJVEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_z1T9gWyFEeKx9Kegn5X27A" x="276" y="216"/>
</children>
@@ -94,6 +100,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_4bcbMmyFEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_4bcbM2yFEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Dd9EhFViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Dd9EhVViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_fbWYgEJVEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_4bTRMWyFEeKx9Kegn5X27A" x="936" y="222"/>
</children>
@@ -126,6 +135,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_6BzVBmyFEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_6BzVB2yFEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Dd9EhlViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Dd9Eh1ViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_Zx2ZYEJVEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_6BzU8WyFEeKx9Kegn5X27A" x="936" y="48"/>
</children>
@@ -158,6 +170,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_6Ci75myFEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Ci752yFEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Dd9EiFViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Dd9EiVViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_86BAgEJWEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Ci70WyFEeKx9Kegn5X27A" x="726" y="48"/>
</children>
@@ -173,6 +188,10 @@
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_6knuKGyFEeKx9Kegn5X27A" type="5029"/>
<children xmi:type="notation:BasicCompartment" xmi:id="_6knuKWyFEeKx9Kegn5X27A" type="7017">
+ <children xmi:type="notation:Shape" xmi:id="_RHjtwFViEeWe8LyZrqaAug" type="3012">
+ <element xmi:type="uml:Property" href="sashwindowsdi.uml#_RGhL8FViEeWe8LyZrqaAug"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_RHjtwVViEeWe8LyZrqaAug"/>
+ </children>
<styles xmi:type="notation:TitleStyle" xmi:id="_6knuKmyFEeKx9Kegn5X27A"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_6knuK2yFEeKx9Kegn5X27A"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_6knuLGyFEeKx9Kegn5X27A"/>
@@ -190,8 +209,11 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_6knuNmyFEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_6knuN2yFEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Dd9EilViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Dd9Ei1ViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_h_HVwEJVEd6kIY39uis5Uw"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6knuIWyFEeKx9Kegn5X27A" x="936" y="522"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6knuIWyFEeKx9Kegn5X27A" x="909" y="522"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_CZQIEGyGEeKx9Kegn5X27A" type="2008" fontName="Segoe UI" lineColor="0">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_CZQIEmyGEeKx9Kegn5X27A" source="ShadowFigure">
@@ -222,6 +244,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_CZQIJmyGEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CZQIJ2yGEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Dd9EjFViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Dd9EjVViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_eE7YIEJVEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CZQIEWyGEeKx9Kegn5X27A" x="732" y="216"/>
</children>
@@ -254,6 +279,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_QHKpnmyGEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_QHKpn2yGEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Dd9EjlViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Dd9Ej1ViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_b7a4cEMaEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_QHBfoWyGEeKx9Kegn5X27A" x="294" y="516"/>
</children>
@@ -286,6 +314,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_eHZDJmyGEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_eHZDJ2yGEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Dd9EkFViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Dd9EkVViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_-9vywEMaEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_eHZDEWyGEeKx9Kegn5X27A" x="24" y="222"/>
</children>
@@ -318,10 +349,22 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="__nlxdmyIEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="__nlxd2yIEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Dd9EklViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Dd9Ek1ViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="__nlxYWyIEeKx9Kegn5X27A" x="1134" y="522"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__nlxYWyIEeKx9Kegn5X27A" x="1216" y="522"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_D03IoFViEeWe8LyZrqaAug" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_D03IoVViEeWe8LyZrqaAug" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_D03Io1ViEeWe8LyZrqaAug" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D03IolViEeWe8LyZrqaAug" x="1334" y="522"/>
</children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_xRNpEWyFEeKx9Kegn5X27A"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_Dd9ElFViEeWe8LyZrqaAug" name="diagram_compatibility_version" stringValue="1.1.0"/>
<element xmi:type="uml:Model" href="sashwindowsdi.uml#_NuHhwEJVEd6kIY39uis5Uw"/>
<edges xmi:type="notation:Connector" xmi:id="_z3ZoMGyFEeKx9Kegn5X27A" type="4001" source="_z0HqsGyFEeKx9Kegn5X27A" target="_z1T9gGyFEeKx9Kegn5X27A" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_z3iyIGyFEeKx9Kegn5X27A" type="6001">
@@ -414,6 +457,8 @@
<styles xmi:type="notation:FontStyle" xmi:id="_6lXVAWyFEeKx9Kegn5X27A" fontName="Segoe UI"/>
<element xmi:type="uml:Association" href="sashwindowsdi.uml#_AM_CkEJWEd6kIY39uis5Uw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6lXVAmyFEeKx9Kegn5X27A" points="[4, -50, -20, 250]$[20, -250, -4, 50]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bn3q0FViEeWe8LyZrqaAug" id="(0.4583333333333333,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bn3q0VViEeWe8LyZrqaAug" id="(0.5,1.0)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_-YK4QGyFEeKx9Kegn5X27A" type="4002" source="_z0HqsGyFEeKx9Kegn5X27A" target="_6Ci70GyFEeKx9Kegn5X27A" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_-YK4Q2yFEeKx9Kegn5X27A" type="6007">
@@ -469,6 +514,8 @@
<styles xmi:type="notation:FontStyle" xmi:id="_QH6QcWyGEeKx9Kegn5X27A" fontName="Segoe UI"/>
<element xmi:type="uml:Association" href="sashwindowsdi.uml#_viyZUEJZEd6kIY39uis5Uw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QH6QcmyGEeKx9Kegn5X27A" points="[-50, -45, 600, 533]$[-650, -578, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bn3q0lViEeWe8LyZrqaAug" id="(0.0,0.44)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bn3q01ViEeWe8LyZrqaAug" id="(1.0,0.5)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_eIIp8GyGEeKx9Kegn5X27A" type="4001" source="_QHBfoGyGEeKx9Kegn5X27A" target="_eHZDEGyGEeKx9Kegn5X27A" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_eIIp82yGEeKx9Kegn5X27A" type="6001">
@@ -538,6 +585,18 @@
<styles xmi:type="notation:FontStyle" xmi:id="__ofJQWyIEeKx9Kegn5X27A" fontName="Segoe UI"/>
<element xmi:type="uml:Association" href="sashwindowsdi.uml#_b3enUEnjEd6ussMWxXGeXg"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__ofJQmyIEeKx9Kegn5X27A" points="[0, 0, -986, -572]$[936, 542, -50, -30]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a3Xa8FViEeWe8LyZrqaAug" id="(0.0,0.4854368932038835)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_a3Xa8VViEeWe8LyZrqaAug" id="(1.0,0.5)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_D03IpFViEeWe8LyZrqaAug" type="StereotypeCommentLink" source="__nlxYGyIEeKx9Kegn5X27A" target="_D03IoFViEeWe8LyZrqaAug">
+ <styles xmi:type="notation:FontStyle" xmi:id="_D03IpVViEeWe8LyZrqaAug"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_D03IqVViEeWe8LyZrqaAug" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D03IplViEeWe8LyZrqaAug" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D03Ip1ViEeWe8LyZrqaAug"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D03IqFViEeWe8LyZrqaAug"/>
</edges>
</notation:Diagram>
<notation:Diagram xmi:id="_CCrlsGyHEeKx9Kegn5X27A" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
@@ -570,6 +629,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_CnIWpWyHEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CnIWpmyHEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_D-iCAFViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D-iCAVViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_-9vywEMaEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CnIWp2yHEeKx9Kegn5X27A" x="34" y="232"/>
</children>
@@ -693,6 +755,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_CnSHrWyHEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CnSHrmyHEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_D-iCAlViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D-iCA1ViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_UiIMMEJVEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CnSHr2yHEeKx9Kegn5X27A" x="288" y="150"/>
</children>
@@ -725,6 +790,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_CnSH9myHEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CnSH92yHEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_D-iCBFViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D-iCBVViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_h_HVwEJVEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CnSH-GyHEeKx9Kegn5X27A" x="948" y="654"/>
</children>
@@ -757,6 +825,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_CnbR1GyHEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CnbR1WyHEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_D-iCBlViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D-iCB1ViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_b7a4cEMaEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_CnbR1myHEeKx9Kegn5X27A" x="306" y="648"/>
</children>
@@ -789,6 +860,9 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_rFD-BmyHEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_rFD-B2yHEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_D-iCCFViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D-iCCVViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_rFD98WyHEeKx9Kegn5X27A" x="740" y="794"/>
</children>
@@ -821,10 +895,22 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_0mKg1myHEeKx9Kegn5X27A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_0mKg12yHEeKx9Kegn5X27A"/>
</children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_D-iCClViEeWe8LyZrqaAug" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D-iCC1ViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:Class" href="sashwindowsdi.uml#_fbWYgEJVEd6kIY39uis5Uw"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_0mKgwWyHEeKx9Kegn5X27A" x="780" y="534"/>
</children>
+ <children xmi:type="notation:Shape" xmi:id="_ED5DIFViEeWe8LyZrqaAug" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ED5DIVViEeWe8LyZrqaAug" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ED5DI1ViEeWe8LyZrqaAug" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ED5DIlViEeWe8LyZrqaAug" x="940" y="794"/>
+ </children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_CCrlsWyHEeKx9Kegn5X27A"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_D-iCDFViEeWe8LyZrqaAug" name="diagram_compatibility_version" stringValue="1.1.0"/>
<element xmi:type="uml:Model" href="sashwindowsdi.uml#_NuHhwEJVEd6kIY39uis5Uw"/>
<edges xmi:type="notation:Connector" xmi:id="_CnIWt2yHEeKx9Kegn5X27A" type="4001" source="_CnSHmGyHEeKx9Kegn5X27A" target="_CnIWkGyHEeKx9Kegn5X27A" lineColor="0">
<children xmi:type="notation:DecorationNode" xmi:id="_CnIWuGyHEeKx9Kegn5X27A" type="6001">
@@ -941,6 +1027,16 @@
<element xmi:type="uml:Association" href="sashwindowsdi.uml#_mT2jkEJkEd6kIY39uis5Uw"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0mwWomyHEeKx9Kegn5X27A" points="[0, 0, -694, -312]$[333, 150, -361, -162]"/>
</edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ED5DJFViEeWe8LyZrqaAug" type="StereotypeCommentLink" source="_rFD98GyHEeKx9Kegn5X27A" target="_ED5DIFViEeWe8LyZrqaAug">
+ <styles xmi:type="notation:FontStyle" xmi:id="_ED5DJVViEeWe8LyZrqaAug"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ED5DKVViEeWe8LyZrqaAug" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ED5DJlViEeWe8LyZrqaAug" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ED5DJ1ViEeWe8LyZrqaAug"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ED5DKFViEeWe8LyZrqaAug"/>
+ </edges>
</notation:Diagram>
<notation:Diagram xmi:id="_0m_xwGyIEeKx9Kegn5X27A" type="PapyrusUMLClassDiagram" name="datatypes" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_2JyaMGyIEeKx9Kegn5X27A" type="2009" fontName="Segoe UI" lineColor="0">
@@ -954,6 +1050,9 @@
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2JyaN2yIEeKx9Kegn5X27A" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_2JyaOGyIEeKx9Kegn5X27A" type="5032"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_D69wolViEeWe8LyZrqaAug" type="8511">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D69wo1ViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:PrimitiveType" href="sashwindowsdi.uml#_Hkk78EVbEd6g-YgfS2DHrA"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_2JyaMWyIEeKx9Kegn5X27A" x="120" y="196"/>
</children>
@@ -968,6 +1067,9 @@
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2ldCh2yIEeKx9Kegn5X27A" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_2ldCiGyIEeKx9Kegn5X27A" type="5032"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_D69wpFViEeWe8LyZrqaAug" type="8511">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D69wpVViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:PrimitiveType" href="sashwindowsdi.uml#_A-BP8EVhEd6g-YgfS2DHrA"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_2ldCgWyIEeKx9Kegn5X27A" x="342" y="192"/>
</children>
@@ -982,6 +1084,9 @@
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_28g3p2yIEeKx9Kegn5X27A" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_28g3qGyIEeKx9Kegn5X27A" type="5032"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_D69wplViEeWe8LyZrqaAug" type="8511">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D69wp1ViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:PrimitiveType" href="sashwindowsdi.uml#_IEBx4EV4Ed6g-YgfS2DHrA"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_28g3oWyIEeKx9Kegn5X27A" x="120" y="324"/>
</children>
@@ -996,14 +1101,91 @@
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_3hRKh2yIEeKx9Kegn5X27A" key="QualifiedNameDepth" value="1000"/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_3hRKiGyIEeKx9Kegn5X27A" type="5032"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_D69wqFViEeWe8LyZrqaAug" type="8511">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D69wqVViEeWe8LyZrqaAug" y="5"/>
+ </children>
<element xmi:type="uml:PrimitiveType" href="sashwindowsdi.uml#_SNSWAEbaEd6g-YgfS2DHrA"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_3hRKgWyIEeKx9Kegn5X27A" x="344" y="328"/>
</children>
+ <children xmi:type="notation:Shape" xmi:id="_D8v5WVViEeWe8LyZrqaAug" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_D8v5WlViEeWe8LyZrqaAug" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_D8v5XFViEeWe8LyZrqaAug" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:PrimitiveType" href="sashwindowsdi.uml#_Hkk78EVbEd6g-YgfS2DHrA"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D8v5W1ViEeWe8LyZrqaAug" x="320" y="196"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_D9MlS1ViEeWe8LyZrqaAug" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_D9MlTFViEeWe8LyZrqaAug" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_D9MlTlViEeWe8LyZrqaAug" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:PrimitiveType" href="sashwindowsdi.uml#_A-BP8EVhEd6g-YgfS2DHrA"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9MlTVViEeWe8LyZrqaAug" x="542" y="192"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_D9fgP1ViEeWe8LyZrqaAug" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_D9fgQFViEeWe8LyZrqaAug" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_D9fgQlViEeWe8LyZrqaAug" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:PrimitiveType" href="sashwindowsdi.uml#_IEBx4EV4Ed6g-YgfS2DHrA"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D9fgQVViEeWe8LyZrqaAug" x="320" y="324"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_D-PHE1ViEeWe8LyZrqaAug" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_D-PHFFViEeWe8LyZrqaAug" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_D-PHFlViEeWe8LyZrqaAug" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:PrimitiveType" href="sashwindowsdi.uml#_SNSWAEbaEd6g-YgfS2DHrA"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D-PHFVViEeWe8LyZrqaAug" x="544" y="328"/>
+ </children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_0m_xwWyIEeKx9Kegn5X27A"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_D69wqlViEeWe8LyZrqaAug" name="diagram_compatibility_version" stringValue="1.1.0"/>
<element xmi:type="uml:Model" href="sashwindowsdi.uml#_NuHhwEJVEd6kIY39uis5Uw"/>
+ <edges xmi:type="notation:Connector" xmi:id="_D8v5XVViEeWe8LyZrqaAug" type="StereotypeCommentLink" source="_2JyaMGyIEeKx9Kegn5X27A" target="_D8v5WVViEeWe8LyZrqaAug">
+ <styles xmi:type="notation:FontStyle" xmi:id="_D8v5XlViEeWe8LyZrqaAug"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_D8v5YlViEeWe8LyZrqaAug" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:PrimitiveType" href="sashwindowsdi.uml#_Hkk78EVbEd6g-YgfS2DHrA"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D8v5X1ViEeWe8LyZrqaAug" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D8v5YFViEeWe8LyZrqaAug"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D8v5YVViEeWe8LyZrqaAug"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_D9MlT1ViEeWe8LyZrqaAug" type="StereotypeCommentLink" source="_2ldCgGyIEeKx9Kegn5X27A" target="_D9MlS1ViEeWe8LyZrqaAug">
+ <styles xmi:type="notation:FontStyle" xmi:id="_D9MlUFViEeWe8LyZrqaAug"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_D9MlVFViEeWe8LyZrqaAug" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:PrimitiveType" href="sashwindowsdi.uml#_A-BP8EVhEd6g-YgfS2DHrA"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D9MlUVViEeWe8LyZrqaAug" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9MlUlViEeWe8LyZrqaAug"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9MlU1ViEeWe8LyZrqaAug"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_D9fgQ1ViEeWe8LyZrqaAug" type="StereotypeCommentLink" source="_28g3oGyIEeKx9Kegn5X27A" target="_D9fgP1ViEeWe8LyZrqaAug">
+ <styles xmi:type="notation:FontStyle" xmi:id="_D9fgRFViEeWe8LyZrqaAug"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_D9fgSFViEeWe8LyZrqaAug" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:PrimitiveType" href="sashwindowsdi.uml#_IEBx4EV4Ed6g-YgfS2DHrA"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D9fgRVViEeWe8LyZrqaAug" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9fgRlViEeWe8LyZrqaAug"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9fgR1ViEeWe8LyZrqaAug"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_D-PHF1ViEeWe8LyZrqaAug" type="StereotypeCommentLink" source="_3hRKgGyIEeKx9Kegn5X27A" target="_D-PHE1ViEeWe8LyZrqaAug">
+ <styles xmi:type="notation:FontStyle" xmi:id="_D-PHGFViEeWe8LyZrqaAug"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_D-PHHFViEeWe8LyZrqaAug" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:PrimitiveType" href="sashwindowsdi.uml#_SNSWAEbaEd6g-YgfS2DHrA"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D-PHGVViEeWe8LyZrqaAug" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D-PHGlViEeWe8LyZrqaAug"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D-PHG1ViEeWe8LyZrqaAug"/>
+ </edges>
</notation:Diagram>
<notation:Diagram xmi:id="_lk72EG8gEeKx9Kegn5X27A" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
<styles xmi:type="notation:DiagramStyle" xmi:id="_lk72EW8gEeKx9Kegn5X27A"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_D57O0FViEeWe8LyZrqaAug" name="diagram_compatibility_version" stringValue="1.1.0"/>
<element xmi:type="uml:Model" href="sashwindowsdi.uml#_NuHhwEJVEd6kIY39uis5Uw"/>
</notation:Diagram>
</xmi:XMI>
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.uml b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.uml
index 3d84ccf72d1..a155501dda8 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.uml
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/model/sashwindowsdi.uml
@@ -1,25 +1,25 @@
<?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">
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" 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/5.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="_NuHhwEJVEd6kIY39uis5Uw" name="di" URI="http://www.eclipse.org/papyrus/0.7.0/sashdi">
- <packageImport xmi:id="_F0PskN5qEd2dfviKlv9PXw">
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_F0PskN5qEd2dfviKlv9PXw">
<importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#_0"/>
</packageImport>
<packagedElement xmi:type="uml:Class" xmi:id="_UiIMMEJVEd6kIY39uis5Uw" name="SashModel">
- <ownedComment xmi:id="_UyqHoEUrEd6g-YgfS2DHrA" annotatedElement="_UiIMMEJVEd6kIY39uis5Uw">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_UyqHoEUrEd6g-YgfS2DHrA" annotatedElement="_UiIMMEJVEd6kIY39uis5Uw">
<body>Root node of the model describing the sash windows, panels and pages.&#xD;
A SashModel can have several windows containing panels separated by sashes. Such panels can be folders &#xD;
containing pages.</body>
</ownedComment>
- <ownedAttribute xmi:id="_9KYNMEJVEd6kIY39uis5Uw" name="windows" type="_Xa5wIEJVEd6kIY39uis5Uw" aggregation="composite" association="_9JomUEJVEd6kIY39uis5Uw">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_9KYNMEJVEd6kIY39uis5Uw" name="windows" type="_Xa5wIEJVEd6kIY39uis5Uw" aggregation="composite" association="_9JomUEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9KYNMUJVEd6kIY39uis5Uw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9KYNMkJVEd6kIY39uis5Uw" value="*"/>
</ownedAttribute>
- <ownedAttribute xmi:id="_mW0_EEJkEd6kIY39uis5Uw" name="currentSelection" type="_fbWYgEJVEd6kIY39uis5Uw" isUnique="false" association="_mT2jkEJkEd6kIY39uis5Uw">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_mW0_EEJkEd6kIY39uis5Uw" name="currentSelection" type="_fbWYgEJVEd6kIY39uis5Uw" isUnique="false" association="_mT2jkEJkEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mW0_EUJkEd6kIY39uis5Uw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mW0_EkJkEd6kIY39uis5Uw" value="1"/>
</ownedAttribute>
- <ownedOperation xmi:id="_wdFgUEV4Ed6g-YgfS2DHrA" name="addPage">
- <ownedParameter xmi:id="_yMF_0EV4Ed6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_wdFgUEV4Ed6g-YgfS2DHrA" name="addPage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_yMF_0EV4Ed6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1N0EYEV4Ed6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1N0EYUV4Ed6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_1N0EYkV4Ed6g-YgfS2DHrA">
@@ -27,8 +27,8 @@ containing pages.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_m7xPsEa4Ed6g-YgfS2DHrA" name="removePage">
- <ownedParameter xmi:id="_m7xPsUa4Ed6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_m7xPsEa4Ed6g-YgfS2DHrA" name="removePage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_m7xPsUa4Ed6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_m7xPs0a4Ed6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_m7xPska4Ed6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_m7xPtEa4Ed6g-YgfS2DHrA">
@@ -36,20 +36,20 @@ containing pages.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_e9ojYEbXEd6g-YgfS2DHrA" name="lookupPage">
- <ownedComment xmi:id="_hi4uYEbXEd6g-YgfS2DHrA" annotatedElement="_e9ojYEbXEd6g-YgfS2DHrA">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_e9ojYEbXEd6g-YgfS2DHrA" name="lookupPage">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_hi4uYEbXEd6g-YgfS2DHrA" annotatedElement="_e9ojYEbXEd6g-YgfS2DHrA">
<body>Lookup the pageRef identified by the pageIdentifier.&#xD;
Return the pageRef or null if not found.&#xD;
Lookup in the entire SashModel structure.</body>
</ownedComment>
- <ownedParameter xmi:id="_e9ojYUbXEd6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_e9ojYUbXEd6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_e9ojY0bXEd6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_e9ojYkbXEd6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_e9ojZEbXEd6g-YgfS2DHrA">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_UTCMcEbYEd6g-YgfS2DHrA" name="return" type="_h_HVwEJVEd6kIY39uis5Uw" direction="return">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_UTCMcEbYEd6g-YgfS2DHrA" name="return" type="_h_HVwEJVEd6kIY39uis5Uw" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WgwBMEbYEd6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wg5LIEbYEd6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_Wg5LIUbYEd6g-YgfS2DHrA">
@@ -57,29 +57,29 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_q8zekEbsEd6g-YgfS2DHrA" name="movePage">
- <ownedParameter xmi:id="_sQ_qUEbsEd6g-YgfS2DHrA" name="srcParentFolder" type="_fbWYgEJVEd6kIY39uis5Uw">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_q8zekEbsEd6g-YgfS2DHrA" name="movePage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_sQ_qUEbsEd6g-YgfS2DHrA" name="srcParentFolder" type="_fbWYgEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wdNzIEbsEd6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wdW9EEbsEd6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_wdW9EUbsEd6g-YgfS2DHrA">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_q8zekUbsEd6g-YgfS2DHrA" name="srcIndex" type="_Hkk78EVbEd6g-YgfS2DHrA">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_q8zekUbsEd6g-YgfS2DHrA" name="srcIndex" type="_Hkk78EVbEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q8zek0bsEd6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q8zekkbsEd6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_q8zelEbsEd6g-YgfS2DHrA">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_wqxuAEbsEd6g-YgfS2DHrA" name="targetParentFolder" type="_fbWYgEJVEd6kIY39uis5Uw">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_wqxuAEbsEd6g-YgfS2DHrA" name="targetParentFolder" type="_fbWYgEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_y6twUEbsEd6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_y6twUUbsEd6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_y6twUkbsEd6g-YgfS2DHrA">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_q8zelUbsEd6g-YgfS2DHrA" name="targetIndex" type="_Hkk78EVbEd6g-YgfS2DHrA">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_q8zelUbsEd6g-YgfS2DHrA" name="targetIndex" type="_Hkk78EVbEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q8zel0bsEd6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q8zelkbsEd6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_q8zemEbsEd6g-YgfS2DHrA">
@@ -87,22 +87,22 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_vnqNcEoIEd6ussMWxXGeXg" name="insertFolder">
- <ownedParameter xmi:id="_vnqNcUoIEd6ussMWxXGeXg" name="folderToInsert" type="_fbWYgEJVEd6kIY39uis5Uw">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_vnqNcEoIEd6ussMWxXGeXg" name="insertFolder">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_vnqNcUoIEd6ussMWxXGeXg" name="folderToInsert" type="_fbWYgEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vnqNc0oIEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vnqNckoIEd6ussMWxXGeXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_vnqNdEoIEd6ussMWxXGeXg">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_vnqNeUoIEd6ussMWxXGeXg" name="refFolder" type="_fbWYgEJVEd6kIY39uis5Uw">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_vnqNeUoIEd6ussMWxXGeXg" name="refFolder" type="_fbWYgEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vnqNe0oIEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vnqNekoIEd6ussMWxXGeXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_vnqNfEoIEd6ussMWxXGeXg">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_vnqNfUoIEd6ussMWxXGeXg" name="refFolderSide" type="_Hkk78EVbEd6g-YgfS2DHrA">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_vnqNfUoIEd6ussMWxXGeXg" name="refFolderSide" type="_Hkk78EVbEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vnqNf0oIEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vnqNfkoIEd6ussMWxXGeXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_vnqNgEoIEd6ussMWxXGeXg">
@@ -110,22 +110,22 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_Kvf9cEoJEd6ussMWxXGeXg" name="movePage">
- <ownedParameter xmi:id="_Kvf9cUoJEd6ussMWxXGeXg" name="srcParentFolder" type="_fbWYgEJVEd6kIY39uis5Uw">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_Kvf9cEoJEd6ussMWxXGeXg" name="movePage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_Kvf9cUoJEd6ussMWxXGeXg" name="srcParentFolder" type="_fbWYgEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Kvf9c0oJEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Kvf9ckoJEd6ussMWxXGeXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_Kvf9dEoJEd6ussMWxXGeXg">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_Kvf9dUoJEd6ussMWxXGeXg" name="srcIndex" type="_Hkk78EVbEd6g-YgfS2DHrA">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_Kvf9dUoJEd6ussMWxXGeXg" name="srcIndex" type="_Hkk78EVbEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Kvf9d0oJEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Kvf9dkoJEd6ussMWxXGeXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_Kvf9eEoJEd6ussMWxXGeXg">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_Kvf9eUoJEd6ussMWxXGeXg" name="targetParentFolder" type="_fbWYgEJVEd6kIY39uis5Uw">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_Kvf9eUoJEd6ussMWxXGeXg" name="targetParentFolder" type="_fbWYgEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Kvf9e0oJEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Kvf9ekoJEd6ussMWxXGeXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_Kvf9fEoJEd6ussMWxXGeXg">
@@ -133,8 +133,8 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_OoMtUEoJEd6ussMWxXGeXg" name="removeEmptyFolder">
- <ownedParameter xmi:id="_OoMtUUoJEd6ussMWxXGeXg" name="folder" type="_fbWYgEJVEd6kIY39uis5Uw">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_OoMtUEoJEd6ussMWxXGeXg" name="removeEmptyFolder">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_OoMtUUoJEd6ussMWxXGeXg" name="folder" type="_fbWYgEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OoMtU0oJEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OoMtUkoJEd6ussMWxXGeXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_OoMtVEoJEd6ussMWxXGeXg">
@@ -142,16 +142,16 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_vaMqoE4OEd-B2uXHu4qMXg" name="removeAllPages">
- <ownedComment xmi:id="_yKxU0E4OEd-B2uXHu4qMXg" annotatedElement="_vaMqoE4OEd-B2uXHu4qMXg">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_vaMqoE4OEd-B2uXHu4qMXg" name="removeAllPages">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_yKxU0E4OEd-B2uXHu4qMXg" annotatedElement="_vaMqoE4OEd-B2uXHu4qMXg">
<body>Remove all pages from the model. Only left one empty top level folder.</body>
</ownedComment>
</ownedOperation>
- <ownedOperation xmi:id="_-TkSoE4OEd-B2uXHu4qMXg" name="removeOtherPages">
- <ownedComment xmi:id="_Ar2_sE4PEd-B2uXHu4qMXg" annotatedElement="_-TkSoE4OEd-B2uXHu4qMXg">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_-TkSoE4OEd-B2uXHu4qMXg" name="removeOtherPages">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_Ar2_sE4PEd-B2uXHu4qMXg" annotatedElement="_-TkSoE4OEd-B2uXHu4qMXg">
<body>Remove pages other than the one specified from the model. Intermediate folders are also removed.</body>
</ownedComment>
- <ownedParameter xmi:id="_-TkSoU4OEd-B2uXHu4qMXg" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_-TkSoU4OEd-B2uXHu4qMXg" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-TkSo04OEd-B2uXHu4qMXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-TkSok4OEd-B2uXHu4qMXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_-TkSpE4OEd-B2uXHu4qMXg">
@@ -159,11 +159,11 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_1jUIgE4PEd-B2uXHu4qMXg" name="lookupFirstWindow">
- <ownedComment xmi:id="_JhGFkE4QEd-B2uXHu4qMXg" annotatedElement="_1jUIgE4PEd-B2uXHu4qMXg">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_1jUIgE4PEd-B2uXHu4qMXg" name="lookupFirstWindow">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_JhGFkE4QEd-B2uXHu4qMXg" annotatedElement="_1jUIgE4PEd-B2uXHu4qMXg">
<body>Get the first available window.</body>
</ownedComment>
- <ownedParameter xmi:id="_9JGOIE4PEd-B2uXHu4qMXg" name="window" type="_Xa5wIEJVEd6kIY39uis5Uw" direction="return">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_9JGOIE4PEd-B2uXHu4qMXg" name="window" type="_Xa5wIEJVEd6kIY39uis5Uw" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="__PD1EE4PEd-B2uXHu4qMXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__PD1EU4PEd-B2uXHu4qMXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="__PD1Ek4PEd-B2uXHu4qMXg">
@@ -171,11 +171,11 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_4qi_ME4PEd-B2uXHu4qMXg" name="lookupFirstFolder">
- <ownedComment xmi:id="_MKOD8E4QEd-B2uXHu4qMXg" annotatedElement="_4qi_ME4PEd-B2uXHu4qMXg">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_4qi_ME4PEd-B2uXHu4qMXg" name="lookupFirstFolder">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_MKOD8E4QEd-B2uXHu4qMXg" annotatedElement="_4qi_ME4PEd-B2uXHu4qMXg">
<body>Lookup the first available folder.</body>
</ownedComment>
- <ownedParameter xmi:id="__o-w8E4PEd-B2uXHu4qMXg" name="folder" type="_fbWYgEJVEd6kIY39uis5Uw" direction="return">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="__o-w8E4PEd-B2uXHu4qMXg" name="folder" type="_fbWYgEJVEd6kIY39uis5Uw" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BOwb8E4QEd-B2uXHu4qMXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BO6M8E4QEd-B2uXHu4qMXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_BO6M8U4QEd-B2uXHu4qMXg">
@@ -183,8 +183,8 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_fPvj8FgxEeGNKLzLkykmJw" name="removePageAndEmptyFolder">
- <ownedParameter xmi:id="_fPvj8VgxEeGNKLzLkykmJw" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_fPvj8FgxEeGNKLzLkykmJw" name="removePageAndEmptyFolder">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_fPvj8VgxEeGNKLzLkykmJw" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_fPvj8lgxEeGNKLzLkykmJw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_fPvj81gxEeGNKLzLkykmJw" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_fPvj9FgxEeGNKLzLkykmJw">
@@ -192,31 +192,51 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_zdr0wGySEeKx9Kegn5X27A" name="setCurrentSelectionSilently">
- <ownedComment xmi:id="_CMVagGyTEeKx9Kegn5X27A">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_zdr0wGySEeKx9Kegn5X27A" name="setCurrentSelectionSilently">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_CMVagGyTEeKx9Kegn5X27A">
<body>Set the current selection without firing a changedEvent.</body>
</ownedComment>
- <ownedParameter xmi:id="_5Z9l8GySEeKx9Kegn5X27A" name="selection" type="_fbWYgEJVEd6kIY39uis5Uw"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_5Z9l8GySEeKx9Kegn5X27A" name="selection" type="_fbWYgEJVEd6kIY39uis5Uw"/>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_HtBbEFVkEeWe8LyZrqaAug" name="addPage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_KIfX8FVkEeWe8LyZrqaAug" name="folder" type="_fbWYgEJVEd6kIY39uis5Uw"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_HtBbEVVkEeWe8LyZrqaAug" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HtBbElVkEeWe8LyZrqaAug" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_HtBbE1VkEeWe8LyZrqaAug" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_HtBbFFVkEeWe8LyZrqaAug">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_vv4NwFYZEeWe8LyZrqaAug" name="addPage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_vv4NwVYZEeWe8LyZrqaAug" name="folder" type="_fbWYgEJVEd6kIY39uis5Uw"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_vv4NwlYZEeWe8LyZrqaAug" name="pageRef" type="_h_HVwEJVEd6kIY39uis5Uw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vv4Nw1YZEeWe8LyZrqaAug" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vv4NxFYZEeWe8LyZrqaAug" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_vv4NxVYZEeWe8LyZrqaAug">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_Xa5wIEJVEd6kIY39uis5Uw" name="Window">
- <generalization xmi:id="_95DboEJWEd6kIY39uis5Uw" general="_86BAgEJWEd6kIY39uis5Uw"/>
- <ownedAttribute xmi:id="_yWfIQESDEd6kIY39uis5Uw" name="position" visibility="public" type="_jc9vQESDEd6kIY39uis5Uw" isUnique="false">
+ <generalization xmi:type="uml:Generalization" xmi:id="_95DboEJWEd6kIY39uis5Uw" general="_86BAgEJWEd6kIY39uis5Uw"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_yWfIQESDEd6kIY39uis5Uw" name="position" visibility="public" type="_jc9vQESDEd6kIY39uis5Uw" isUnique="false">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zpoyMESDEd6kIY39uis5Uw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_zpoyMUSDEd6kIY39uis5Uw" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_zpx8IESDEd6kIY39uis5Uw">
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:id="_z0glcESDEd6kIY39uis5Uw" name="size" visibility="public" type="_lh4NUESDEd6kIY39uis5Uw" isUnique="false">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_z0glcESDEd6kIY39uis5Uw" name="size" visibility="public" type="_lh4NUESDEd6kIY39uis5Uw" isUnique="false">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1ItYQESDEd6kIY39uis5Uw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1I2iMESDEd6kIY39uis5Uw" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_1I2iMUSDEd6kIY39uis5Uw">
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:id="_lnNFMEsFEd6MxdnlcgT3eA" name="panel" type="_Zx2ZYEJVEd6kIY39uis5Uw" isUnique="false" isDerived="true" association="_li3-0EsFEd6MxdnlcgT3eA">
- <ownedComment xmi:id="_xQZ88EsFEd6MxdnlcgT3eA" annotatedElement="_lnNFMEsFEd6MxdnlcgT3eA">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_lnNFMEsFEd6MxdnlcgT3eA" name="panel" type="_Zx2ZYEJVEd6kIY39uis5Uw" isUnique="false" isDerived="true" association="_li3-0EsFEd6MxdnlcgT3eA">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_xQZ88EsFEd6MxdnlcgT3eA" annotatedElement="_lnNFMEsFEd6MxdnlcgT3eA">
<body>Redefine children.</body>
</ownedComment>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9GbvwEsFEd6MxdnlcgT3eA" value="1"/>
@@ -224,16 +244,16 @@ Lookup in the entire SashModel structure.</body>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_Zx2ZYEJVEd6kIY39uis5Uw" name="AbstractPanel" isAbstract="true">
- <ownedAttribute xmi:id="__CoIQEJVEd6kIY39uis5Uw" name="parent" type="_86BAgEJWEd6kIY39uis5Uw" isUnique="false" association="__CVNUEJVEd6kIY39uis5Uw">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="__CoIQEJVEd6kIY39uis5Uw" name="parent" type="_86BAgEJWEd6kIY39uis5Uw" isUnique="false" association="__CVNUEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="__CoIQkJVEd6kIY39uis5Uw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__CoIQUJVEd6kIY39uis5Uw" value="1"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_eE7YIEJVEd6kIY39uis5Uw" name="SashPanel">
- <generalization xmi:id="_7VZokEJVEd6kIY39uis5Uw" general="_Zx2ZYEJVEd6kIY39uis5Uw"/>
- <generalization xmi:id="_UH6OsEsDEd6MxdnlcgT3eA" general="_86BAgEJWEd6kIY39uis5Uw"/>
- <ownedAttribute xmi:id="_8rplQESDEd6kIY39uis5Uw" name="sashPosition" visibility="public" type="_IEBx4EV4Ed6g-YgfS2DHrA" isUnique="false">
- <ownedComment xmi:id="_AWCzYESEEd6kIY39uis5Uw" annotatedElement="_8rplQESDEd6kIY39uis5Uw">
+ <generalization xmi:type="uml:Generalization" xmi:id="_7VZokEJVEd6kIY39uis5Uw" general="_Zx2ZYEJVEd6kIY39uis5Uw"/>
+ <generalization xmi:type="uml:Generalization" xmi:id="_UH6OsEsDEd6MxdnlcgT3eA" general="_86BAgEJWEd6kIY39uis5Uw"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_8rplQESDEd6kIY39uis5Uw" name="sashPosition" visibility="public" type="_IEBx4EV4Ed6g-YgfS2DHrA" isUnique="false">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_AWCzYESEEd6kIY39uis5Uw" annotatedElement="_8rplQESDEd6kIY39uis5Uw">
<body>Position of the sash in the panel. The position is in percent. The value should be between 0 and 100.</body>
</ownedComment>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="__l6W8ESDEd6kIY39uis5Uw" value="1"/>
@@ -242,29 +262,29 @@ Lookup in the entire SashModel structure.</body>
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:id="_1nx64EbpEd6g-YgfS2DHrA" name="direction" visibility="public" type="_Hkk78EVbEd6g-YgfS2DHrA" isUnique="false">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_1nx64EbpEd6g-YgfS2DHrA" name="direction" visibility="public" type="_Hkk78EVbEd6g-YgfS2DHrA" isUnique="false">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4GxF0EbpEd6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_4G620EbpEd6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_4G620UbpEd6g-YgfS2DHrA">
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedOperation xmi:id="_eGcSEEoLEd6ussMWxXGeXg" name="setChildren">
- <ownedParameter xmi:id="_f_4f8EoLEd6ussMWxXGeXg" name="leftChild" type="_Zx2ZYEJVEd6kIY39uis5Uw">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_eGcSEEoLEd6ussMWxXGeXg" name="setChildren">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_f_4f8EoLEd6ussMWxXGeXg" name="leftChild" type="_Zx2ZYEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_jqlQEEoLEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_jquaAEoLEd6ussMWxXGeXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_jquaAUoLEd6ussMWxXGeXg">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_j57ToEoLEd6ussMWxXGeXg" name="rightChild" type="_Zx2ZYEJVEd6kIY39uis5Uw">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_j57ToEoLEd6ussMWxXGeXg" name="rightChild" type="_Zx2ZYEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_l5xrgEoLEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_l57cgEoLEd6ussMWxXGeXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_l57cgUoLEd6ussMWxXGeXg">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_mVfXIEoLEd6ussMWxXGeXg" name="direction" type="_Hkk78EVbEd6g-YgfS2DHrA">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_mVfXIEoLEd6ussMWxXGeXg" name="direction" type="_Hkk78EVbEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oo3vAEoLEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oo3vAUoLEd6ussMWxXGeXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_oo3vAkoLEd6ussMWxXGeXg">
@@ -272,8 +292,8 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_tzrhgEuAEd6kcPOdk0bn7w" name="delete">
- <ownedParameter xmi:id="_yPQU8EuAEd6kcPOdk0bn7w" name="childToDelete" type="_Zx2ZYEJVEd6kIY39uis5Uw">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_tzrhgEuAEd6kcPOdk0bn7w" name="delete">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_yPQU8EuAEd6kcPOdk0bn7w" name="childToDelete" type="_Zx2ZYEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_2M3aAEuAEd6kcPOdk0bn7w" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_2M3aAUuAEd6kcPOdk0bn7w" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_2M3aAkuAEd6kcPOdk0bn7w">
@@ -283,20 +303,20 @@ Lookup in the entire SashModel structure.</body>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_fbWYgEJVEd6kIY39uis5Uw" name="TabFolder">
- <generalization xmi:id="_71vVgEJVEd6kIY39uis5Uw" general="_Zx2ZYEJVEd6kIY39uis5Uw"/>
- <ownedAttribute xmi:id="_ANIzkEJWEd6kIY39uis5Uw" name="children" type="_h_HVwEJVEd6kIY39uis5Uw" aggregation="composite" association="_AM_CkEJWEd6kIY39uis5Uw">
+ <generalization xmi:type="uml:Generalization" xmi:id="_71vVgEJVEd6kIY39uis5Uw" general="_Zx2ZYEJVEd6kIY39uis5Uw"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_ANIzkEJWEd6kIY39uis5Uw" name="children" type="_h_HVwEJVEd6kIY39uis5Uw" aggregation="composite" association="_AM_CkEJWEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ANIzkUJWEd6kIY39uis5Uw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ANIzkkJWEd6kIY39uis5Uw" value="*"/>
</ownedAttribute>
- <ownedOperation xmi:id="_Cqh_oEViEd6g-YgfS2DHrA" name="movePage">
- <ownedParameter xmi:id="_ETI8MEViEd6g-YgfS2DHrA" name="oldIndex" type="_Hkk78EVbEd6g-YgfS2DHrA">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_Cqh_oEViEd6g-YgfS2DHrA" name="movePage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_ETI8MEViEd6g-YgfS2DHrA" name="oldIndex" type="_Hkk78EVbEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_G2wIcEViEd6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_G2wIcUViEd6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_G2wIckViEd6g-YgfS2DHrA">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_X27C4EV4Ed6g-YgfS2DHrA" name="newIndex" type="_Hkk78EVbEd6g-YgfS2DHrA">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_X27C4EV4Ed6g-YgfS2DHrA" name="newIndex" type="_Hkk78EVbEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_amdyUEV4Ed6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_amdyUUV4Ed6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_amdyUkV4Ed6g-YgfS2DHrA">
@@ -304,8 +324,8 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_oZu3cEWEEd6g-YgfS2DHrA" name="addPage">
- <ownedParameter xmi:id="_oZu3cUWEEd6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_oZu3cEWEEd6g-YgfS2DHrA" name="addPage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_oZu3cUWEEd6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oZu3c0WEEd6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oZu3ckWEEd6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_oZu3dEWEEd6g-YgfS2DHrA">
@@ -313,8 +333,8 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_oEQBQEblEd6g-YgfS2DHrA" name="removePage">
- <ownedParameter xmi:id="_oEQBQUblEd6g-YgfS2DHrA" name="pageIndex" type="_Hkk78EVbEd6g-YgfS2DHrA">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_oEQBQEblEd6g-YgfS2DHrA" name="removePage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_oEQBQUblEd6g-YgfS2DHrA" name="pageIndex" type="_Hkk78EVbEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_oEQBQ0blEd6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_oEQBQkblEd6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_oEQBREblEd6g-YgfS2DHrA">
@@ -322,19 +342,40 @@ Lookup in the entire SashModel structure.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_byei4FVjEeWe8LyZrqaAug" name="addPage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_fr-kAFVjEeWe8LyZrqaAug" name="index">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_byei4VVjEeWe8LyZrqaAug" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_byei4lVjEeWe8LyZrqaAug" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_byei41VjEeWe8LyZrqaAug" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_byei5FVjEeWe8LyZrqaAug">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_1teNkFYZEeWe8LyZrqaAug" name="addPage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_1teNkVYZEeWe8LyZrqaAug" name="pageRef" type="_h_HVwEJVEd6kIY39uis5Uw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1teNklYZEeWe8LyZrqaAug" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1teNk1YZEeWe8LyZrqaAug" value="1"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="_1teNlFYZEeWe8LyZrqaAug">
+ <value xsi:nil="true"/>
+ </defaultValue>
+ </ownedParameter>
+ </ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_h_HVwEJVEd6kIY39uis5Uw" name="PageRef">
- <ownedAttribute xmi:id="_ANIzk0JWEd6kIY39uis5Uw" name="parent" type="_fbWYgEJVEd6kIY39uis5Uw" isUnique="false" association="_AM_CkEJWEd6kIY39uis5Uw">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_ANIzk0JWEd6kIY39uis5Uw" name="parent" type="_fbWYgEJVEd6kIY39uis5Uw" isUnique="false" association="_AM_CkEJWEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ANIzlUJWEd6kIY39uis5Uw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ANIzlEJWEd6kIY39uis5Uw" value="1"/>
</ownedAttribute>
- <ownedAttribute xmi:id="_b94xUEnjEd6ussMWxXGeXg" name="emfPageIdentifier" visibility="private" isUnique="false" association="_b3enUEnjEd6ussMWxXGeXg">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_b94xUEnjEd6ussMWxXGeXg" name="emfPageIdentifier" visibility="private" isUnique="false" association="_b3enUEnjEd6ussMWxXGeXg">
<type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/Ecore.metamodel.uml#EObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_b-CiUEnjEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_b-CiUUnjEd6ussMWxXGeXg" value="1"/>
</ownedAttribute>
- <ownedAttribute xmi:id="_GrqUYEnkEd6ussMWxXGeXg" name="pageIdentifier" visibility="public" isLeaf="true" type="_A-BP8EVhEd6g-YgfS2DHrA" isUnique="false" isDerived="true">
- <ownedComment xmi:id="_YfXUoEnmEd6ussMWxXGeXg" annotatedElement="_GrqUYEnkEd6ussMWxXGeXg">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_GrqUYEnkEd6ussMWxXGeXg" name="pageIdentifier" visibility="public" isLeaf="true" type="_A-BP8EVhEd6g-YgfS2DHrA" isUnique="false" isDerived="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_YfXUoEnmEd6ussMWxXGeXg" annotatedElement="_GrqUYEnkEd6ussMWxXGeXg">
<body>pageIdentifier can be a plain JavaObject or an EObject.&#xD;
They are not stored in the same place.</body>
</ownedComment>
@@ -344,8 +385,8 @@ They are not stored in the same place.</body>
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:id="_RkM5UEnmEd6ussMWxXGeXg" name="objectPageIdentifier" visibility="private" type="_A-BP8EVhEd6g-YgfS2DHrA" isUnique="false">
- <ownedComment xmi:id="_UZ2QwEnmEd6ussMWxXGeXg" annotatedElement="_RkM5UEnmEd6ussMWxXGeXg">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_RkM5UEnmEd6ussMWxXGeXg" name="objectPageIdentifier" visibility="private" type="_A-BP8EVhEd6g-YgfS2DHrA" isUnique="false">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_UZ2QwEnmEd6ussMWxXGeXg" annotatedElement="_RkM5UEnmEd6ussMWxXGeXg">
<body>Storage to store Identifier that are not EObject.</body>
</ownedComment>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_DXj_AEnnEd6ussMWxXGeXg" value="1"/>
@@ -354,15 +395,20 @@ They are not stored in the same place.</body>
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedOperation xmi:id="_BxkKcEbaEd6g-YgfS2DHrA" name="isForIdentifier">
- <ownedParameter xmi:id="_BxkKcUbaEd6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_RGhL8FViEeWe8LyZrqaAug" name="favoriteEditor" visibility="public">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_eaPr0FViEeWe8LyZrqaAug"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eaZc0FViEeWe8LyZrqaAug" value="1"/>
+ </ownedAttribute>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_BxkKcEbaEd6g-YgfS2DHrA" name="isForIdentifier">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_BxkKcUbaEd6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BxkKc0baEd6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BxkKckbaEd6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_BxkKdEbaEd6g-YgfS2DHrA">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_D0_awEbaEd6g-YgfS2DHrA" name="return" type="_SNSWAEbaEd6g-YgfS2DHrA" direction="return">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_D0_awEbaEd6g-YgfS2DHrA" name="return" type="_SNSWAEbaEd6g-YgfS2DHrA" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GFO_EEbaEd6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_GFO_EUbaEd6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_GFO_EkbaEd6g-YgfS2DHrA">
@@ -372,7 +418,7 @@ They are not stored in the same place.</body>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_zd5g0EJVEd6kIY39uis5Uw" name="AbstractPage">
- <ownedAttribute xmi:id="_rLVHwEa1Ed6g-YgfS2DHrA" name="pageIdentifier" visibility="public" type="_A-BP8EVhEd6g-YgfS2DHrA" isUnique="false">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_rLVHwEa1Ed6g-YgfS2DHrA" name="pageIdentifier" visibility="public" type="_A-BP8EVhEd6g-YgfS2DHrA" isUnique="false">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rLVHwka1Ed6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_rLVHwUa1Ed6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_rLVHw0a1Ed6g-YgfS2DHrA">
@@ -381,7 +427,7 @@ They are not stored in the same place.</body>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_9JomUEJVEd6kIY39uis5Uw" name="A_SashWindowsRoot_Window" memberEnd="_9KYNMEJVEd6kIY39uis5Uw _9Kh-MEJVEd6kIY39uis5Uw">
- <ownedEnd xmi:id="_9Kh-MEJVEd6kIY39uis5Uw" name="sashWindowsRoot" type="_UiIMMEJVEd6kIY39uis5Uw" isUnique="false" association="_9JomUEJVEd6kIY39uis5Uw">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_9Kh-MEJVEd6kIY39uis5Uw" name="sashWindowsRoot" type="_UiIMMEJVEd6kIY39uis5Uw" isUnique="false" association="_9JomUEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9Kh-MkJVEd6kIY39uis5Uw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9Kh-MUJVEd6kIY39uis5Uw" value="1"/>
</ownedEnd>
@@ -389,24 +435,24 @@ They are not stored in the same place.</body>
<packagedElement xmi:type="uml:Association" xmi:id="__CVNUEJVEd6kIY39uis5Uw" name="A_PanelParent_AbstractPanel" memberEnd="__Ce-UEJVEd6kIY39uis5Uw __CoIQEJVEd6kIY39uis5Uw"/>
<packagedElement xmi:type="uml:Association" xmi:id="_AM_CkEJWEd6kIY39uis5Uw" name="A_TabFolder_AbstractPageRef" memberEnd="_ANIzkEJWEd6kIY39uis5Uw _ANIzk0JWEd6kIY39uis5Uw"/>
<packagedElement xmi:type="uml:Class" xmi:id="_86BAgEJWEd6kIY39uis5Uw" name="PanelParent" isAbstract="true">
- <ownedAttribute xmi:id="__Ce-UEJVEd6kIY39uis5Uw" name="children" type="_Zx2ZYEJVEd6kIY39uis5Uw" aggregation="composite" association="__CVNUEJVEd6kIY39uis5Uw">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="__Ce-UEJVEd6kIY39uis5Uw" name="children" type="_Zx2ZYEJVEd6kIY39uis5Uw" aggregation="composite" association="__CVNUEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Ce-UUJVEd6kIY39uis5Uw" value="2"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__Ce-UkJVEd6kIY39uis5Uw" value="2"/>
</ownedAttribute>
- <ownedOperation xmi:id="_yG3I4EoKEd6ussMWxXGeXg" name="replaceChild">
- <ownedComment xmi:id="_AxysQEoLEd6ussMWxXGeXg" annotatedElement="_yG3I4EoKEd6ussMWxXGeXg">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_yG3I4EoKEd6ussMWxXGeXg" name="replaceChild">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_AxysQEoLEd6ussMWxXGeXg" annotatedElement="_yG3I4EoKEd6ussMWxXGeXg">
<body>Replace the specified child by the new value.&#xD;
Don't need to be implemented in TabFolder.&#xD;
Used to insert a new SashPanel.</body>
</ownedComment>
- <ownedParameter xmi:id="_zqjwQEoKEd6ussMWxXGeXg" name="oldChild" type="_Zx2ZYEJVEd6kIY39uis5Uw">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_zqjwQEoKEd6ussMWxXGeXg" name="oldChild" type="_Zx2ZYEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3Q7aAEoKEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3Q7aAUoKEd6ussMWxXGeXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_3Q7aAkoKEd6ussMWxXGeXg">
<value xsi:nil="true"/>
</defaultValue>
</ownedParameter>
- <ownedParameter xmi:id="_3dJREEoKEd6ussMWxXGeXg" name="newChild" type="_Zx2ZYEJVEd6kIY39uis5Uw">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_3dJREEoKEd6ussMWxXGeXg" name="newChild" type="_Zx2ZYEJVEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="__gbLAEoKEd6ussMWxXGeXg" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__gbLAUoKEd6ussMWxXGeXg" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="__gbLAkoKEd6ussMWxXGeXg">
@@ -416,24 +462,24 @@ Used to insert a new SashPanel.</body>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_viyZUEJZEd6kIY39uis5Uw" name="A_PageList_PageRef" memberEnd="_vjFUQEJZEd6kIY39uis5Uw _vjYPMkJZEd6kIY39uis5Uw">
- <ownedEnd xmi:id="_vjYPMkJZEd6kIY39uis5Uw" name="sashWindowsRoot" type="_b7a4cEMaEd6kIY39uis5Uw" isUnique="false" association="_viyZUEJZEd6kIY39uis5Uw">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_vjYPMkJZEd6kIY39uis5Uw" name="sashWindowsRoot" type="_b7a4cEMaEd6kIY39uis5Uw" isUnique="false" association="_viyZUEJZEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vjiAMUJZEd6kIY39uis5Uw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vjiAMEJZEd6kIY39uis5Uw" value="1"/>
</ownedEnd>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_mT2jkEJkEd6kIY39uis5Uw" name="A_SashWindowsRoot_TabFolder" memberEnd="_mW0_EEJkEd6kIY39uis5Uw _mW0_E0JkEd6kIY39uis5Uw">
- <ownedEnd xmi:id="_mW0_E0JkEd6kIY39uis5Uw" name="sashWindowsRoot" type="_UiIMMEJVEd6kIY39uis5Uw" isUnique="false" association="_mT2jkEJkEd6kIY39uis5Uw">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_mW0_E0JkEd6kIY39uis5Uw" name="sashWindowsRoot" type="_UiIMMEJVEd6kIY39uis5Uw" isUnique="false" association="_mT2jkEJkEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mW-wEUJkEd6kIY39uis5Uw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_mW-wEEJkEd6kIY39uis5Uw" value="*"/>
</ownedEnd>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_b7a4cEMaEd6kIY39uis5Uw" name="PageList">
- <ownedAttribute xmi:id="_vjFUQEJZEd6kIY39uis5Uw" name="availablePage" type="_h_HVwEJVEd6kIY39uis5Uw" aggregation="composite" association="_viyZUEJZEd6kIY39uis5Uw">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_vjFUQEJZEd6kIY39uis5Uw" name="availablePage" type="_h_HVwEJVEd6kIY39uis5Uw" aggregation="composite" association="_viyZUEJZEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vjYPMEJZEd6kIY39uis5Uw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vjYPMUJZEd6kIY39uis5Uw" value="*"/>
</ownedAttribute>
- <ownedOperation xmi:id="_i92ooEa4Ed6g-YgfS2DHrA" name="addPage">
- <ownedParameter xmi:id="_i92ooUa4Ed6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_i92ooEa4Ed6g-YgfS2DHrA" name="addPage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_i92ooUa4Ed6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_i92oo0a4Ed6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_i92ooka4Ed6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_i92opEa4Ed6g-YgfS2DHrA">
@@ -441,8 +487,8 @@ Used to insert a new SashPanel.</body>
</defaultValue>
</ownedParameter>
</ownedOperation>
- <ownedOperation xmi:id="_ocolgEa4Ed6g-YgfS2DHrA" name="removePage">
- <ownedParameter xmi:id="_ocolgUa4Ed6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_ocolgEa4Ed6g-YgfS2DHrA" name="removePage">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_ocolgUa4Ed6g-YgfS2DHrA" name="pageIdentifier" type="_A-BP8EVhEd6g-YgfS2DHrA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ocolg0a4Ed6g-YgfS2DHrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ocolgka4Ed6g-YgfS2DHrA" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_ocolhEa4Ed6g-YgfS2DHrA">
@@ -452,36 +498,36 @@ Used to insert a new SashPanel.</body>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_-9vywEMaEd6kIY39uis5Uw" name="SashWindowsMngr">
- <ownedAttribute xmi:id="_9osO4EMbEd6kIY39uis5Uw" name="pageList" type="_b7a4cEMaEd6kIY39uis5Uw" isUnique="false" aggregation="composite" association="_9k0bgEMbEd6kIY39uis5Uw">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_9osO4EMbEd6kIY39uis5Uw" name="pageList" type="_b7a4cEMaEd6kIY39uis5Uw" isUnique="false" aggregation="composite" association="_9k0bgEMbEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9osO4UMbEd6kIY39uis5Uw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9osO4kMbEd6kIY39uis5Uw" value="1"/>
</ownedAttribute>
- <ownedAttribute xmi:id="_-JenwEMbEd6kIY39uis5Uw" name="sashModel" type="_UiIMMEJVEd6kIY39uis5Uw" isUnique="false" aggregation="composite" association="_-EQwkEMbEd6kIY39uis5Uw">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_-JenwEMbEd6kIY39uis5Uw" name="sashModel" type="_UiIMMEJVEd6kIY39uis5Uw" isUnique="false" aggregation="composite" association="_-EQwkEMbEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JnxsEMbEd6kIY39uis5Uw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-JnxsUMbEd6kIY39uis5Uw" value="1"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_9k0bgEMbEd6kIY39uis5Uw" name="A_MultiPageEditor_PageList" memberEnd="_9osO4EMbEd6kIY39uis5Uw _9osO40MbEd6kIY39uis5Uw">
- <ownedEnd xmi:id="_9osO40MbEd6kIY39uis5Uw" name="multiPageEditor" type="_-9vywEMaEd6kIY39uis5Uw" isUnique="false" association="_9k0bgEMbEd6kIY39uis5Uw">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_9osO40MbEd6kIY39uis5Uw" name="multiPageEditor" type="_-9vywEMaEd6kIY39uis5Uw" isUnique="false" association="_9k0bgEMbEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9o1_4UMbEd6kIY39uis5Uw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9o1_4EMbEd6kIY39uis5Uw" value="1"/>
</ownedEnd>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_-EQwkEMbEd6kIY39uis5Uw" name="A_MultiPageEditor_SashWindowsLayout" memberEnd="_-JenwEMbEd6kIY39uis5Uw _-JnxskMbEd6kIY39uis5Uw">
- <ownedEnd xmi:id="_-JnxskMbEd6kIY39uis5Uw" name="multiPageEditor" type="_-9vywEMaEd6kIY39uis5Uw" isUnique="false" association="_-EQwkEMbEd6kIY39uis5Uw">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_-JnxskMbEd6kIY39uis5Uw" name="multiPageEditor" type="_-9vywEMaEd6kIY39uis5Uw" isUnique="false" association="_-EQwkEMbEd6kIY39uis5Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_-JnxtEMbEd6kIY39uis5Uw"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_-Jnxs0MbEd6kIY39uis5Uw" value="1"/>
</ownedEnd>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_jc9vQESDEd6kIY39uis5Uw" name="Position">
- <ownedAttribute xmi:id="_m9q14ESDEd6kIY39uis5Uw" name="x" visibility="public" type="_Hkk78EVbEd6g-YgfS2DHrA" isUnique="false">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_m9q14ESDEd6kIY39uis5Uw" name="x" visibility="public" type="_Hkk78EVbEd6g-YgfS2DHrA" isUnique="false">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pZ1WUESDEd6kIY39uis5Uw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pZ1WUUSDEd6kIY39uis5Uw" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_paIRQESDEd6kIY39uis5Uw">
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:id="_pmDNYESDEd6kIY39uis5Uw" name="y" visibility="public" type="_Hkk78EVbEd6g-YgfS2DHrA" isUnique="false">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_pmDNYESDEd6kIY39uis5Uw" name="y" visibility="public" type="_Hkk78EVbEd6g-YgfS2DHrA" isUnique="false">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_q458YESDEd6kIY39uis5Uw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q5DtYESDEd6kIY39uis5Uw" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_q5DtYUSDEd6kIY39uis5Uw">
@@ -490,14 +536,14 @@ Used to insert a new SashPanel.</body>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_lh4NUESDEd6kIY39uis5Uw" name="Size">
- <ownedAttribute xmi:id="_s1CR4ESDEd6kIY39uis5Uw" name="width" visibility="public" type="_Hkk78EVbEd6g-YgfS2DHrA" isUnique="false">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_s1CR4ESDEd6kIY39uis5Uw" name="width" visibility="public" type="_Hkk78EVbEd6g-YgfS2DHrA" isUnique="false">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_u5DYEESDEd6kIY39uis5Uw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_u5NJEESDEd6kIY39uis5Uw" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_u5NJEUSDEd6kIY39uis5Uw">
<value xsi:nil="true"/>
</defaultValue>
</ownedAttribute>
- <ownedAttribute xmi:id="_vnZr0ESDEd6kIY39uis5Uw" name="length" visibility="public" type="_Hkk78EVbEd6g-YgfS2DHrA" isUnique="false">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_vnZr0ESDEd6kIY39uis5Uw" name="length" visibility="public" type="_Hkk78EVbEd6g-YgfS2DHrA" isUnique="false">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_w_T58ESDEd6kIY39uis5Uw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_w_dq8ESDEd6kIY39uis5Uw" value="1"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_w_dq8USDEd6kIY39uis5Uw">
@@ -510,34 +556,34 @@ Used to insert a new SashPanel.</body>
<packagedElement xmi:type="uml:PrimitiveType" xmi:id="_IEBx4EV4Ed6g-YgfS2DHrA" name="Float"/>
<packagedElement xmi:type="uml:PrimitiveType" xmi:id="_SNSWAEbaEd6g-YgfS2DHrA" name="boolean"/>
<packagedElement xmi:type="uml:Association" xmi:id="_b3enUEnjEd6ussMWxXGeXg" name="A_PageRef_EObject" memberEnd="_b94xUEnjEd6ussMWxXGeXg _b-CiUknjEd6ussMWxXGeXg">
- <ownedEnd xmi:id="_b-CiUknjEd6ussMWxXGeXg" name="pageRef" visibility="public" type="_h_HVwEJVEd6kIY39uis5Uw" isUnique="false" association="_b3enUEnjEd6ussMWxXGeXg">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_b-CiUknjEd6ussMWxXGeXg" name="pageRef" visibility="public" type="_h_HVwEJVEd6kIY39uis5Uw" isUnique="false" association="_b3enUEnjEd6ussMWxXGeXg">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_b-MTUUnjEd6ussMWxXGeXg"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_b-MTUEnjEd6ussMWxXGeXg" value="*"/>
</ownedEnd>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_li3-0EsFEd6MxdnlcgT3eA" name="A_Window_AbstractPanel" memberEnd="_lnNFMEsFEd6MxdnlcgT3eA _lnWPIksFEd6MxdnlcgT3eA">
- <ownedEnd xmi:id="_lnWPIksFEd6MxdnlcgT3eA" name="window" type="_Xa5wIEJVEd6kIY39uis5Uw" isUnique="false" association="_li3-0EsFEd6MxdnlcgT3eA">
+ <ownedEnd xmi:type="uml:Property" xmi:id="_lnWPIksFEd6MxdnlcgT3eA" name="window" type="_Xa5wIEJVEd6kIY39uis5Uw" isUnique="false" association="_li3-0EsFEd6MxdnlcgT3eA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_lnWPJEsFEd6MxdnlcgT3eA"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_lnWPI0sFEd6MxdnlcgT3eA" value="*"/>
</ownedEnd>
</packagedElement>
- <profileApplication xmi:id="_NuHhwkJVEd6kIY39uis5Uw">
- <eAnnotations xmi:id="_NuHhw0JVEd6kIY39uis5Uw" source="http://www.eclipse.org/uml2/2.0.0/UML">
- <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L2#/"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_NuHhwkJVEd6kIY39uis5Uw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_NuHhw0JVEd6kIY39uis5Uw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
</eAnnotations>
- <appliedProfile href="pathmap://UML_PROFILES/StandardL2.profile.uml#_0"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/StandardL2.profile.uml#_0"/>
</profileApplication>
- <profileApplication xmi:id="_wpAy0EJfEd6kIY39uis5Uw">
- <eAnnotations xmi:id="_wpJ8wEJfEd6kIY39uis5Uw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_wpAy0EJfEd6kIY39uis5Uw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wpJ8wEJfEd6kIY39uis5Uw" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
</eAnnotations>
- <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
</profileApplication>
- <profileApplication xmi:id="_cYHPgFgxEeGNKLzLkykmJw">
- <eAnnotations xmi:id="_cYKS0FgxEeGNKLzLkykmJw" source="http://www.eclipse.org/uml2/2.0.0/UML">
- <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/4.0.0/UML/Profile/L3#/"/>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_T73od1ViEeWe8LyZrqaAug">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T73oeFViEeWe8LyZrqaAug" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#_Kv8EIKFXEeS_KNX0nfvIVQ"/>
</eAnnotations>
- <appliedProfile href="pathmap://UML_PROFILES/StandardL3.profile.uml#_0"/>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
</profileApplication>
</uml:Model>
<Ecore:EPackage xmi:id="_mo48QEJgEd6kIY39uis5Uw" base_Package="_NuHhwEJVEd6kIY39uis5Uw" nsPrefix="di" nsURI="http://www.eclipse.org/papyrus/0.7.0/sashdi" basePackage="org.eclipse.papyrus.infra.core.sashwindows" prefix="Di">
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/AbstractPage.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/AbstractPage.java
index c3042c83eaf..ae0256e8cc7 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/AbstractPage.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/AbstractPage.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.AbstractPage#getPageIdentifier <em>Page Identifier</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getAbstractPage()
* @model
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/AbstractPanel.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/AbstractPanel.java
index 6ba3830afe6..76256d6a567 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/AbstractPanel.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/AbstractPanel.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.AbstractPanel#getParent <em>Parent</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getAbstractPanel()
* @model abstract="true"
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/DiPackage.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/DiPackage.java
index 9d2b9a156e9..67bc8ed7932 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/DiPackage.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/DiPackage.java
@@ -395,6 +395,16 @@ public interface DiPackage extends EPackage {
int PAGE_REF__OBJECT_PAGE_IDENTIFIER = 2;
/**
+ * The feature id for the '<em><b>Favorite Editor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int PAGE_REF__FAVORITE_EDITOR = 3;
+
+ /**
* The feature id for the '<em><b>Parent</b></em>' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -402,7 +412,7 @@ public interface DiPackage extends EPackage {
* @generated
* @ordered
*/
- int PAGE_REF__PARENT = 3;
+ int PAGE_REF__PARENT = 4;
/**
* The number of structural features of the '<em>Page Ref</em>' class.
@@ -412,7 +422,7 @@ public interface DiPackage extends EPackage {
* @generated
* @ordered
*/
- int PAGE_REF_FEATURE_COUNT = 4;
+ int PAGE_REF_FEATURE_COUNT = 5;
/**
* The meta object id for the '{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.SashPanelImpl <em>Sash Panel</em>}' class.
@@ -891,6 +901,18 @@ public interface DiPackage extends EPackage {
EAttribute getPageRef_ObjectPageIdentifier();
/**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.core.sashwindows.di.PageRef#getFavoriteEditor <em>Favorite Editor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Favorite Editor</em>'.
+ * @see org.eclipse.papyrus.infra.core.sashwindows.di.PageRef#getFavoriteEditor()
+ * @see #getPageRef()
+ * @generated
+ */
+ EAttribute getPageRef_FavoriteEditor();
+
+ /**
* Returns the meta object for the container reference '{@link org.eclipse.papyrus.infra.core.sashwindows.di.PageRef#getParent <em>Parent</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1028,6 +1050,7 @@ public interface DiPackage extends EPackage {
*
* @return the meta object for data type '<em>int</em>'.
* @model instanceClass="int"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Integer'"
* @generated
*/
EDataType getint();
@@ -1315,6 +1338,15 @@ public interface DiPackage extends EPackage {
EAttribute PAGE_REF__OBJECT_PAGE_IDENTIFIER = eINSTANCE.getPageRef_ObjectPageIdentifier();
/**
+ * The meta object literal for the '<em><b>Favorite Editor</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute PAGE_REF__FAVORITE_EDITOR = eINSTANCE.getPageRef_FavoriteEditor();
+
+ /**
* The meta object literal for the '<em><b>Parent</b></em>' container reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PageList.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PageList.java
index fa2417a0d3f..5146cb31b1c 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PageList.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PageList.java
@@ -16,10 +16,10 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.PageList#getAvailablePage <em>Available Page</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getPageList()
* @model
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PageRef.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PageRef.java
index 489311d9c6b..1504152423b 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PageRef.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PageRef.java
@@ -15,13 +15,14 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.PageRef#getEmfPageIdentifier <em>Emf Page Identifier</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.PageRef#getPageIdentifier <em>Page Identifier</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.PageRef#getObjectPageIdentifier <em>Object Page Identifier</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.PageRef#getFavoriteEditor <em>Favorite Editor</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.PageRef#getParent <em>Parent</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getPageRef()
* @model
@@ -115,6 +116,35 @@ public interface PageRef extends EObject {
void setObjectPageIdentifier(Object value);
/**
+ * Returns the value of the '<em><b>Favorite Editor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Favorite Editor</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ *
+ * @return the value of the '<em>Favorite Editor</em>' attribute.
+ * @see #setFavoriteEditor(String)
+ * @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getPageRef_FavoriteEditor()
+ * @model dataType="org.eclipse.uml2.types.String" ordered="false"
+ * @generated
+ */
+ String getFavoriteEditor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.core.sashwindows.di.PageRef#getFavoriteEditor <em>Favorite Editor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @param value
+ * the new value of the '<em>Favorite Editor</em>' attribute.
+ * @see #getFavoriteEditor()
+ * @generated
+ */
+ void setFavoriteEditor(String value);
+
+ /**
* Returns the value of the '<em><b>Parent</b></em>' container reference.
* It is bidirectional and its opposite is '{@link org.eclipse.papyrus.infra.core.sashwindows.di.TabFolder#getChildren <em>Children</em>}'.
* <!-- begin-user-doc -->
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PanelParent.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PanelParent.java
index b47a7c37d4c..fc42d37bc92 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PanelParent.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/PanelParent.java
@@ -16,10 +16,10 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.PanelParent#getChildren <em>Children</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getPanelParent()
* @model abstract="true"
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Position.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Position.java
index 0f08e9edaea..53c5b3da406 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Position.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Position.java
@@ -15,11 +15,11 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.Position#getX <em>X</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.Position#getY <em>Y</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getPosition()
* @model
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashModel.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashModel.java
index 8faae913b62..1369aae63b5 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashModel.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashModel.java
@@ -22,11 +22,11 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.SashModel#getWindows <em>Windows</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.SashModel#getCurrentSelection <em>Current Selection</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getSashModel()
* @model
@@ -84,7 +84,6 @@ public interface SashModel extends EObject {
*
* @model pageIdentifierDataType="org.eclipse.papyrus.infra.core.sashwindows.di.JavaObject" pageIdentifierRequired="true" pageIdentifierOrdered="false"
* @generated
- * @deprecated use {@link #addPage(TabFolder, Object)}
*/
@Deprecated
void addPage(Object pageIdentifier);
@@ -96,7 +95,7 @@ public interface SashModel extends EObject {
* @model pageIdentifierDataType="org.eclipse.papyrus.infra.core.sashwindows.di.JavaObject" pageIdentifierRequired="true" pageIdentifierOrdered="false"
* @generated
*/
- void addPage(TabFolder folder, Object pageIdentifier);
+ void removePage(Object pageIdentifier);
/**
* <!-- begin-user-doc -->
@@ -105,25 +104,34 @@ public interface SashModel extends EObject {
* @model pageIdentifierDataType="org.eclipse.papyrus.infra.core.sashwindows.di.JavaObject" pageIdentifierRequired="true" pageIdentifierOrdered="false"
* @generated
*/
- void removePage(Object pageIdentifier);
+ void removePageAndEmptyFolder(Object pageIdentifier);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @model pageIdentifierDataType="org.eclipse.papyrus.infra.core.sashwindows.di.JavaObject" pageIdentifierRequired="true" pageIdentifierOrdered="false"
+ * @model selectionRequired="true" selectionOrdered="false"
* @generated
*/
- void removePageAndEmptyFolder(Object pageIdentifier);
+ void setCurrentSelectionSilently(TabFolder selection);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @model selectionRequired="true" selectionOrdered="false"
+ * @model folderRequired="true" folderOrdered="false" pageIdentifierDataType="org.eclipse.papyrus.infra.core.sashwindows.di.JavaObject" pageIdentifierRequired="true" pageIdentifierOrdered="false"
* @generated
*/
- void setCurrentSelectionSilently(TabFolder selection);
+ void addPage(TabFolder folder, Object pageIdentifier);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model folderRequired="true" folderOrdered="false" pageRefRequired="true" pageRefOrdered="false"
+ * @generated
+ */
+ void addPage(TabFolder folder, PageRef pageRef);
/**
* <!-- begin-user-doc -->
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashPanel.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashPanel.java
index 61157b696a2..6fe1ae7a36a 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashPanel.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashPanel.java
@@ -14,11 +14,11 @@ package org.eclipse.papyrus.infra.core.sashwindows.di;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.SashPanel#getSashPosition <em>Sash Position</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.SashPanel#getDirection <em>Direction</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getSashPanel()
* @model
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashWindowsMngr.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashWindowsMngr.java
index 0e994bb04a1..98435168cbf 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashWindowsMngr.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/SashWindowsMngr.java
@@ -15,11 +15,11 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.SashWindowsMngr#getPageList <em>Page List</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.SashWindowsMngr#getSashModel <em>Sash Model</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getSashWindowsMngr()
* @model
@@ -38,15 +38,14 @@ public interface SashWindowsMngr extends EObject {
* @return the value of the '<em>Page List</em>' containment reference.
* @see #setPageList(PageList)
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getSashWindowsMngr_PageList()
- * @model containment="true" ordered="false"
+ * @model containment="true" required="true" ordered="false"
* @generated
*/
@Deprecated
PageList getPageList();
/**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.core.sashwindows.di.SashWindowsMngr#getPageList <em>Page List</em>}' containment
- * reference.
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.core.sashwindows.di.SashWindowsMngr#getPageList <em>Page List</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
@@ -75,8 +74,7 @@ public interface SashWindowsMngr extends EObject {
SashModel getSashModel();
/**
- * Sets the value of the '{@link org.eclipse.papyrus.infra.core.sashwindows.di.SashWindowsMngr#getSashModel <em>Sash Model</em>}' containment
- * reference.
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.core.sashwindows.di.SashWindowsMngr#getSashModel <em>Sash Model</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Size.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Size.java
index 8ae67581b59..bae6ddb996a 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Size.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Size.java
@@ -15,11 +15,11 @@ import org.eclipse.emf.ecore.EObject;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.Size#getWidth <em>Width</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.Size#getLength <em>Length</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getSize()
* @model
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/TabFolder.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/TabFolder.java
index 9b8be687a7b..a3ad5e3294e 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/TabFolder.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/TabFolder.java
@@ -15,10 +15,10 @@ import org.eclipse.emf.common.util.EList;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.TabFolder#getChildren <em>Children</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getTabFolder()
* @model
@@ -66,7 +66,16 @@ public interface TabFolder extends AbstractPanel {
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @model pageIdentifierDataType="org.eclipse.papyrus.infra.core.sashwindows.di.JavaObject" pageIdentifierRequired="true" pageIdentifierOrdered="false"
+ * @model pageIndexDataType="org.eclipse.papyrus.infra.core.sashwindows.di.int" pageIndexRequired="true" pageIndexOrdered="false"
+ * @generated
+ */
+ void removePage(int pageIndex);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @model indexDataType="org.eclipse.uml2.types.Integer" indexRequired="true" indexOrdered="false" pageIdentifierDataType="org.eclipse.papyrus.infra.core.sashwindows.di.JavaObject" pageIdentifierRequired="true" pageIdentifierOrdered="false"
* @generated
*/
void addPage(int index, Object pageIdentifier);
@@ -75,9 +84,9 @@ public interface TabFolder extends AbstractPanel {
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @model pageIndexDataType="org.eclipse.papyrus.infra.core.sashwindows.di.int" pageIndexRequired="true" pageIndexOrdered="false"
+ * @model pageRefRequired="true" pageRefOrdered="false"
* @generated
*/
- void removePage(int pageIndex);
+ void addPage(PageRef pageRef);
} // TabFolder
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Window.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Window.java
index ee891c7f041..da7ad8de820 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Window.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/Window.java
@@ -14,12 +14,12 @@ package org.eclipse.papyrus.infra.core.sashwindows.di;
*
* <p>
* The following features are supported:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.Window#getPosition <em>Position</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.Window#getSize <em>Size</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.Window#getPanel <em>Panel</em>}</li>
* </ul>
- * </p>
*
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#getWindow()
* @model
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/AbstractPageImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/AbstractPageImpl.java
index 1ef4c2ab8f7..3be4962100e 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/AbstractPageImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/AbstractPageImpl.java
@@ -19,10 +19,10 @@ import org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.AbstractPageImpl#getPageIdentifier <em>Page Identifier</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/AbstractPanelImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/AbstractPanelImpl.java
index 583f2920644..7211ea21a2c 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/AbstractPanelImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/AbstractPanelImpl.java
@@ -23,10 +23,10 @@ import org.eclipse.papyrus.infra.core.sashwindows.di.PanelParent;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.AbstractPanelImpl#getParent <em>Parent</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -101,8 +101,7 @@ public abstract class AbstractPanelImpl extends EObjectImpl implements AbstractP
if (msgs != null) {
msgs.dispatch();
}
- }
- else if (eNotificationRequired()) {
+ } else if (eNotificationRequired()) {
eNotify(new ENotificationImpl(this, Notification.SET, DiPackage.ABSTRACT_PANEL__PARENT, newParent, newParent));
}
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/DiPackageImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/DiPackageImpl.java
index 7f7d488fe4a..ace97ed4a19 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/DiPackageImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/DiPackageImpl.java
@@ -28,6 +28,7 @@ import org.eclipse.papyrus.infra.core.sashwindows.di.SashWindowsMngr;
import org.eclipse.papyrus.infra.core.sashwindows.di.Size;
import org.eclipse.papyrus.infra.core.sashwindows.di.TabFolder;
import org.eclipse.papyrus.infra.core.sashwindows.di.Window;
+import org.eclipse.uml2.types.TypesPackage;
/**
* <!-- begin-user-doc -->
@@ -167,10 +168,15 @@ public class DiPackageImpl extends EPackageImpl implements DiPackage {
private EDataType booleanEDataType = null;
/**
- * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also performs initialization of the package, or returns the registered package, if one already exists. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see org.eclipse.papyrus.infra.core.sashwindows.di.DiPackage#eNS_URI
@@ -193,7 +199,9 @@ public class DiPackageImpl extends EPackageImpl implements DiPackage {
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>
- * This method is used to initialize {@link DiPackage#eINSTANCE} when that field is accessed. Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * This method is used to initialize {@link DiPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @see #eNS_URI
* @see #createPackageContents()
@@ -212,6 +220,7 @@ public class DiPackageImpl extends EPackageImpl implements DiPackage {
// Initialize simple dependencies
EcorePackage.eINSTANCE.eClass();
+ TypesPackage.eINSTANCE.eClass();
// Create package meta-data objects
theDiPackage.createPackageContents();
@@ -488,8 +497,19 @@ public class DiPackageImpl extends EPackageImpl implements DiPackage {
* @generated
*/
@Override
+ public EAttribute getPageRef_FavoriteEditor() {
+ return (EAttribute) pageRefEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public EReference getPageRef_Parent() {
- return (EReference) pageRefEClass.getEStructuralFeatures().get(3);
+ return (EReference) pageRefEClass.getEStructuralFeatures().get(4);
}
/**
@@ -710,6 +730,7 @@ public class DiPackageImpl extends EPackageImpl implements DiPackage {
createEReference(pageRefEClass, PAGE_REF__EMF_PAGE_IDENTIFIER);
createEAttribute(pageRefEClass, PAGE_REF__PAGE_IDENTIFIER);
createEAttribute(pageRefEClass, PAGE_REF__OBJECT_PAGE_IDENTIFIER);
+ createEAttribute(pageRefEClass, PAGE_REF__FAVORITE_EDITOR);
createEReference(pageRefEClass, PAGE_REF__PARENT);
sashPanelEClass = createEClass(SASH_PANEL);
@@ -761,6 +782,7 @@ public class DiPackageImpl extends EPackageImpl implements DiPackage {
setNsURI(eNS_URI);
// Obtain other dependent packages
+ TypesPackage theTypesPackage = (TypesPackage) EPackage.Registry.INSTANCE.getEPackage(TypesPackage.eNS_URI);
EcorePackage theEcorePackage = (EcorePackage) EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
// Create type parameters
@@ -822,6 +844,14 @@ public class DiPackageImpl extends EPackageImpl implements DiPackage {
op = addEOperation(sashModelEClass, null, "setCurrentSelectionSilently", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEParameter(op, this.getTabFolder(), "selection", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ op = addEOperation(sashModelEClass, null, "addPage", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEParameter(op, this.getTabFolder(), "folder", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEParameter(op, this.getJavaObject(), "pageIdentifier", 1, 1, IS_UNIQUE, !IS_ORDERED);
+
+ op = addEOperation(sashModelEClass, null, "addPage", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEParameter(op, this.getTabFolder(), "folder", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEParameter(op, this.getPageRef(), "pageRef", 1, 1, IS_UNIQUE, !IS_ORDERED);
+
initEClass(windowEClass, Window.class, "Window", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getWindow_Position(), this.getPosition(), null, "position", null, 1, 1, Window.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getWindow_Size(), this.getSize(), null, "size", null, 1, 1, Window.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
@@ -861,11 +891,19 @@ public class DiPackageImpl extends EPackageImpl implements DiPackage {
op = addEOperation(tabFolderEClass, null, "removePage", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEParameter(op, this.getint(), "pageIndex", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ op = addEOperation(tabFolderEClass, null, "addPage", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEParameter(op, theTypesPackage.getInteger(), "index", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEParameter(op, this.getJavaObject(), "pageIdentifier", 1, 1, IS_UNIQUE, !IS_ORDERED);
+
+ op = addEOperation(tabFolderEClass, null, "addPage", 1, 1, IS_UNIQUE, !IS_ORDERED);
+ addEParameter(op, this.getPageRef(), "pageRef", 1, 1, IS_UNIQUE, !IS_ORDERED);
+
initEClass(pageRefEClass, PageRef.class, "PageRef", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPageRef_EmfPageIdentifier(), theEcorePackage.getEObject(), null, "emfPageIdentifier", null, 1, 1, PageRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
!IS_ORDERED);
initEAttribute(getPageRef_PageIdentifier(), this.getJavaObject(), "pageIdentifier", null, 1, 1, PageRef.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEAttribute(getPageRef_ObjectPageIdentifier(), this.getJavaObject(), "objectPageIdentifier", null, 1, 1, PageRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getPageRef_FavoriteEditor(), theTypesPackage.getString(), "favoriteEditor", null, 0, 1, PageRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPageRef_Parent(), this.getTabFolder(), this.getTabFolder_Children(), "parent", null, 0, 1, PageRef.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
!IS_ORDERED);
@@ -897,7 +935,7 @@ public class DiPackageImpl extends EPackageImpl implements DiPackage {
addEParameter(op, this.getJavaObject(), "pageIdentifier", 1, 1, IS_UNIQUE, !IS_ORDERED);
initEClass(sashWindowsMngrEClass, SashWindowsMngr.class, "SashWindowsMngr", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getSashWindowsMngr_PageList(), this.getPageList(), null, "pageList", null, 0, 1, SashWindowsMngr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSashWindowsMngr_PageList(), this.getPageList(), null, "pageList", null, 1, 1, SashWindowsMngr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSashWindowsMngr_SashModel(), this.getSashModel(), null, "sashModel", null, 1, 1, SashWindowsMngr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED,
!IS_ORDERED);
@@ -913,6 +951,8 @@ public class DiPackageImpl extends EPackageImpl implements DiPackage {
// Create annotations
// resource=XMI
createResourceXMIAnnotations();
+ // http://www.eclipse.org/uml2/2.0.0/UML
+ createUMLAnnotations();
}
/**
@@ -930,4 +970,20 @@ public class DiPackageImpl extends EPackageImpl implements DiPackage {
});
}
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void createUMLAnnotations() {
+ String source = "http://www.eclipse.org/uml2/2.0.0/UML";
+ addAnnotation(intEDataType,
+ source,
+ new String[] {
+ "originalName", "Integer"
+ });
+ }
+
} // DiPackageImpl
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PageListImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PageListImpl.java
index beaf008ed92..f2bad18afc5 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PageListImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PageListImpl.java
@@ -26,10 +26,10 @@ import org.eclipse.papyrus.infra.core.sashwindows.di.PageRef;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.PageListImpl#getAvailablePage <em>Available Page</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PageRefImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PageRefImpl.java
index 0cdd452e71b..0d7e17a5419 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PageRefImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PageRefImpl.java
@@ -24,13 +24,14 @@ import org.eclipse.papyrus.infra.core.sashwindows.di.TabFolder;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.PageRefImpl#getEmfPageIdentifier <em>Emf Page Identifier</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.PageRefImpl#getPageIdentifier <em>Page Identifier</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.PageRefImpl#getObjectPageIdentifier <em>Object Page Identifier</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.PageRefImpl#getFavoriteEditor <em>Favorite Editor</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.PageRefImpl#getParent <em>Parent</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -81,6 +82,28 @@ public class PageRefImpl extends EObjectImpl implements PageRef {
protected Object objectPageIdentifier = OBJECT_PAGE_IDENTIFIER_EDEFAULT;
/**
+ * The default value of the '{@link #getFavoriteEditor() <em>Favorite Editor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFavoriteEditor()
+ * @generated
+ * @ordered
+ */
+ protected static final String FAVORITE_EDITOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFavoriteEditor() <em>Favorite Editor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getFavoriteEditor()
+ * @generated
+ * @ordered
+ */
+ protected String favoriteEditor = FAVORITE_EDITOR_EDEFAULT;
+
+ /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
@@ -244,6 +267,8 @@ public class PageRefImpl extends EObjectImpl implements PageRef {
return getPageIdentifier();
case DiPackage.PAGE_REF__OBJECT_PAGE_IDENTIFIER:
return getObjectPageIdentifier();
+ case DiPackage.PAGE_REF__FAVORITE_EDITOR:
+ return getFavoriteEditor();
case DiPackage.PAGE_REF__PARENT:
return getParent();
}
@@ -268,6 +293,9 @@ public class PageRefImpl extends EObjectImpl implements PageRef {
case DiPackage.PAGE_REF__OBJECT_PAGE_IDENTIFIER:
setObjectPageIdentifier(newValue);
return;
+ case DiPackage.PAGE_REF__FAVORITE_EDITOR:
+ setFavoriteEditor((String) newValue);
+ return;
case DiPackage.PAGE_REF__PARENT:
setParent((TabFolder) newValue);
return;
@@ -293,6 +321,9 @@ public class PageRefImpl extends EObjectImpl implements PageRef {
case DiPackage.PAGE_REF__OBJECT_PAGE_IDENTIFIER:
setObjectPageIdentifier(OBJECT_PAGE_IDENTIFIER_EDEFAULT);
return;
+ case DiPackage.PAGE_REF__FAVORITE_EDITOR:
+ setFavoriteEditor(FAVORITE_EDITOR_EDEFAULT);
+ return;
case DiPackage.PAGE_REF__PARENT:
setParent((TabFolder) null);
return;
@@ -315,6 +346,8 @@ public class PageRefImpl extends EObjectImpl implements PageRef {
return PAGE_IDENTIFIER_EDEFAULT == null ? getPageIdentifier() != null : !PAGE_IDENTIFIER_EDEFAULT.equals(getPageIdentifier());
case DiPackage.PAGE_REF__OBJECT_PAGE_IDENTIFIER:
return OBJECT_PAGE_IDENTIFIER_EDEFAULT == null ? objectPageIdentifier != null : !OBJECT_PAGE_IDENTIFIER_EDEFAULT.equals(objectPageIdentifier);
+ case DiPackage.PAGE_REF__FAVORITE_EDITOR:
+ return FAVORITE_EDITOR_EDEFAULT == null ? favoriteEditor != null : !FAVORITE_EDITOR_EDEFAULT.equals(favoriteEditor);
case DiPackage.PAGE_REF__PARENT:
return getParent() != null;
}
@@ -336,6 +369,8 @@ public class PageRefImpl extends EObjectImpl implements PageRef {
StringBuffer result = new StringBuffer(super.toString());
result.append(" (objectPageIdentifier: ");
result.append(objectPageIdentifier);
+ result.append(", favoriteEditor: ");
+ result.append(favoriteEditor);
result.append(')');
return result.toString();
}
@@ -397,6 +432,32 @@ public class PageRefImpl extends EObjectImpl implements PageRef {
* @generated
*/
@Override
+ public String getFavoriteEditor() {
+ return favoriteEditor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void setFavoriteEditor(String newFavoriteEditor) {
+ String oldFavoriteEditor = favoriteEditor;
+ favoriteEditor = newFavoriteEditor;
+ if (eNotificationRequired()) {
+ eNotify(new ENotificationImpl(this, Notification.SET, DiPackage.PAGE_REF__FAVORITE_EDITOR, oldFavoriteEditor, favoriteEditor));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
public TabFolder getParent() {
if (eContainerFeatureID() != DiPackage.PAGE_REF__PARENT) {
return null;
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PanelParentImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PanelParentImpl.java
index cf06fed544b..a7dcfb9b351 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PanelParentImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PanelParentImpl.java
@@ -25,10 +25,10 @@ import org.eclipse.papyrus.infra.core.sashwindows.di.PanelParent;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.PanelParentImpl#getChildren <em>Children</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PositionImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PositionImpl.java
index ea96372cbef..0b3c46eb30a 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PositionImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/PositionImpl.java
@@ -19,11 +19,11 @@ import org.eclipse.papyrus.infra.core.sashwindows.di.Position;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.PositionImpl#getX <em>X</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.PositionImpl#getY <em>Y</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashModelImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashModelImpl.java
index 24fe8f778e4..7db11d90472 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashModelImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashModelImpl.java
@@ -36,11 +36,11 @@ import org.eclipse.swt.SWT;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.SashModelImpl#getWindows <em>Windows</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.SashModelImpl#getCurrentSelection <em>Current Selection</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -175,6 +175,17 @@ public class SashModelImpl extends EObjectImpl implements SashModel {
}
/**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public void addPage(TabFolder folder, PageRef pageRef) {
+ folder.addPage(pageRef);
+ }
+
+ /**
* Get the first folder in the model.
* Return null if no folder exist.
*
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashPanelImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashPanelImpl.java
index 4bb14bcb41c..50e1037fd6e 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashPanelImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashPanelImpl.java
@@ -28,12 +28,12 @@ import org.eclipse.papyrus.infra.core.sashwindows.di.SashPanel;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.SashPanelImpl#getChildren <em>Children</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.SashPanelImpl#getSashPosition <em>Sash Position</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.SashPanelImpl#getDirection <em>Direction</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashWindowsMngrImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashWindowsMngrImpl.java
index 7468f1bd7d4..5662ffda7f5 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashWindowsMngrImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SashWindowsMngrImpl.java
@@ -23,11 +23,11 @@ import org.eclipse.papyrus.infra.core.sashwindows.di.SashWindowsMngr;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.SashWindowsMngrImpl#getPageList <em>Page List</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.SashWindowsMngrImpl#getSashModel <em>Sash Model</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -127,8 +127,7 @@ public class SashWindowsMngrImpl extends EObjectImpl implements SashWindowsMngr
if (msgs != null) {
msgs.dispatch();
}
- }
- else if (eNotificationRequired()) {
+ } else if (eNotificationRequired()) {
eNotify(new ENotificationImpl(this, Notification.SET, DiPackage.SASH_WINDOWS_MNGR__PAGE_LIST, newPageList, newPageList));
}
}
@@ -184,8 +183,7 @@ public class SashWindowsMngrImpl extends EObjectImpl implements SashWindowsMngr
if (msgs != null) {
msgs.dispatch();
}
- }
- else if (eNotificationRequired()) {
+ } else if (eNotificationRequired()) {
eNotify(new ENotificationImpl(this, Notification.SET, DiPackage.SASH_WINDOWS_MNGR__SASH_MODEL, newSashModel, newSashModel));
}
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SizeImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SizeImpl.java
index 3ca21340cf8..f916681a88c 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SizeImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/SizeImpl.java
@@ -19,11 +19,11 @@ import org.eclipse.papyrus.infra.core.sashwindows.di.Size;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.SizeImpl#getWidth <em>Width</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.SizeImpl#getLength <em>Length</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/TabFolderImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/TabFolderImpl.java
index b70fd8f291b..0aaea3fedac 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/TabFolderImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/TabFolderImpl.java
@@ -25,10 +25,10 @@ import org.eclipse.papyrus.infra.core.sashwindows.di.TabFolder;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.TabFolderImpl#getChildren <em>Children</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
@@ -113,6 +113,17 @@ public class TabFolderImpl extends AbstractPanelImpl implements TabFolder {
* @generated NOT
*/
@Override
+ public void addPage(PageRef pageRef) {
+ getChildren().add(pageRef);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
public void removePage(int pageIndex) {
getChildren().remove(pageIndex);
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/WindowImpl.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/WindowImpl.java
index bc2d210e261..67dd0027ffc 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/WindowImpl.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/impl/WindowImpl.java
@@ -23,12 +23,12 @@ import org.eclipse.papyrus.infra.core.sashwindows.di.Window;
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
+ * </p>
* <ul>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.WindowImpl#getPosition <em>Position</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.WindowImpl#getSize <em>Size</em>}</li>
* <li>{@link org.eclipse.papyrus.infra.core.sashwindows.di.impl.WindowImpl#getPanel <em>Panel</em>}</li>
* </ul>
- * </p>
*
* @generated
*/
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiAdapterFactory.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiAdapterFactory.java
index a62c04a03eb..3b8b07f0bb3 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiAdapterFactory.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiAdapterFactory.java
@@ -84,73 +84,72 @@ public class DiAdapterFactory extends AdapterFactoryImpl {
*
* @generated
*/
- protected DiSwitch<Adapter> modelSwitch =
- new DiSwitch<Adapter>() {
- @Override
- public Adapter caseSashModel(SashModel object) {
- return createSashModelAdapter();
- }
-
- @Override
- public Adapter caseWindow(Window object) {
- return createWindowAdapter();
- }
-
- @Override
- public Adapter casePanelParent(PanelParent object) {
- return createPanelParentAdapter();
- }
-
- @Override
- public Adapter caseAbstractPanel(AbstractPanel object) {
- return createAbstractPanelAdapter();
- }
-
- @Override
- public Adapter casePosition(Position object) {
- return createPositionAdapter();
- }
-
- @Override
- public Adapter caseSize(Size object) {
- return createSizeAdapter();
- }
-
- @Override
- public Adapter caseTabFolder(TabFolder object) {
- return createTabFolderAdapter();
- }
-
- @Override
- public Adapter casePageRef(PageRef object) {
- return createPageRefAdapter();
- }
-
- @Override
- public Adapter caseSashPanel(SashPanel object) {
- return createSashPanelAdapter();
- }
-
- @Override
- public Adapter caseAbstractPage(AbstractPage object) {
- return createAbstractPageAdapter();
- }
-
- @Override
- public Adapter casePageList(PageList object) {
- return createPageListAdapter();
- }
-
- @Override
- public Adapter caseSashWindowsMngr(SashWindowsMngr object) {
- return createSashWindowsMngrAdapter();
- }
-
- @Override
- public Adapter defaultCase(EObject object) {
- return createEObjectAdapter();
- }
- };
+ protected DiSwitch<Adapter> modelSwitch = new DiSwitch<Adapter>() {
+ @Override
+ public Adapter caseSashModel(SashModel object) {
+ return createSashModelAdapter();
+ }
+
+ @Override
+ public Adapter caseWindow(Window object) {
+ return createWindowAdapter();
+ }
+
+ @Override
+ public Adapter casePanelParent(PanelParent object) {
+ return createPanelParentAdapter();
+ }
+
+ @Override
+ public Adapter caseAbstractPanel(AbstractPanel object) {
+ return createAbstractPanelAdapter();
+ }
+
+ @Override
+ public Adapter casePosition(Position object) {
+ return createPositionAdapter();
+ }
+
+ @Override
+ public Adapter caseSize(Size object) {
+ return createSizeAdapter();
+ }
+
+ @Override
+ public Adapter caseTabFolder(TabFolder object) {
+ return createTabFolderAdapter();
+ }
+
+ @Override
+ public Adapter casePageRef(PageRef object) {
+ return createPageRefAdapter();
+ }
+
+ @Override
+ public Adapter caseSashPanel(SashPanel object) {
+ return createSashPanelAdapter();
+ }
+
+ @Override
+ public Adapter caseAbstractPage(AbstractPage object) {
+ return createAbstractPageAdapter();
+ }
+
+ @Override
+ public Adapter casePageList(PageList object) {
+ return createPageListAdapter();
+ }
+
+ @Override
+ public Adapter caseSashWindowsMngr(SashWindowsMngr object) {
+ return createSashWindowsMngrAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
/**
* Creates an adapter for the <code>target</code>.
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiSwitch.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiSwitch.java
index 1b9405427d6..2c1ff1c3213 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiSwitch.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiSwitch.java
@@ -65,7 +65,8 @@ public class DiSwitch<T> extends Switch<T> {
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*
- * @parameter ePackage the package in question.
+ * @param ePackage
+ * the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiUtils.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiUtils.java
index b0af49b61c9..3d165182e00 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiUtils.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor.di/src/org/eclipse/papyrus/infra/core/sashwindows/di/util/DiUtils.java
@@ -98,15 +98,15 @@ public class DiUtils {
*/
static public TabFolder lookupCurrentTabFolderSelection(Resource diResource) {
SashWindowsMngr lookupSashWindowsMngr = lookupSashWindowsMngr(diResource);
- if (lookupSashWindowsMngr != null){
+ if (lookupSashWindowsMngr != null) {
SashModel sashModel = lookupSashWindowsMngr.getSashModel();
- if (sashModel != null){
+ if (sashModel != null) {
return sashModel.getCurrentSelection();
}
}
return null;
- }
-
+ }
+
/**
* Gets the page reference of the specified eObject
*
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/.classpath b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/.classpath
index 8a8f1668cdc..eca7bdba8f0 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/.classpath
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/.classpath
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/.settings/org.eclipse.jdt.core.prefs
index 410244d65a6..62a08f4494d 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/META-INF/MANIFEST.MF b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/META-INF/MANIFEST.MF
index d4db6c088b1..a6ab2cf2971 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/META-INF/MANIFEST.MF
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/META-INF/MANIFEST.MF
@@ -14,7 +14,7 @@ Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
Bundle-Name: %pluginName
Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.ui,
org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
org.eclipse.core.runtime;bundle-version="3.7.0",
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/contentprovider/IPageManager.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/contentprovider/IPageManager.java
index d557e08425d..717d04d8845 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/contentprovider/IPageManager.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/contentprovider/IPageManager.java
@@ -36,9 +36,9 @@ public interface IPageManager extends IPageMngr {
/**
* Reload the Diagram
* This used when a resource is reloaded, the related diagrams are reloaded as well
- *
+ *
* @see org.eclipse.papyrus.infra.services.controlmode.listener.LoadResourceSnippet
- *
+ *
* @param pageIdentifier
* Identifier of the page to reload
*/
@@ -81,7 +81,6 @@ public interface IPageManager extends IPageMngr {
* The identifier is first added to the current folder model. Then the Sash Windows should react and
* ask the {@link IPageModelFactory} to create the IPageModel. This later is then used to create the
* SWT page.
- * If
*
* @param page
* The object identifying the page to add. This object will be passed to the {@link IPageModelFactory#createIPageModel(EObject)}. This
@@ -92,6 +91,23 @@ public interface IPageManager extends IPageMngr {
public void openPage(Object pageIdentifier);
/**
+ * Open a Page corresponding to the identifier.
+ * The identifier is first added to the current folder model. Then the Sash Windows should react and
+ * ask the {@link IPageModelFactory} to create the IPageModel. This later is then used to create the
+ * SWT page.
+ *
+ * The specified EditorID will be propagated to the {@link IPageModelFactory} to open the right editor
+ *
+ * @param page
+ * The object identifying the page to add. This object will be passed to the {@link IPageModelFactory#createIPageModel(EObject)}. This
+ * identifier is stored in the sash model.
+ * It should be a reference on a EMF object identifying the page.
+ */
+ default void openPage(Object pageIdentifier, String editorID) {
+ openPage(pageIdentifier);
+ }
+
+ /**
* Return all available page identifiers (open and closed pages).
*
* @return List of registered page identifiers.
@@ -138,7 +154,7 @@ public interface IPageManager extends IPageMngr {
/**
* Get the open pages associated to the passed Object
- *
+ *
* @param uri
* URI of the Object from which we want the associated open pages
* @return List of Pages identifier of the related object'URI
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/.classpath b/plugins/infra/core/org.eclipse.papyrus.infra.core/.classpath
index 8a8f1668cdc..eca7bdba8f0 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/.classpath
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/.classpath
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/.settings/org.eclipse.jdt.core.prefs b/plugins/infra/core/org.eclipse.papyrus.infra.core/.settings/org.eclipse.jdt.core.prefs
index 410244d65a6..62a08f4494d 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,10 +1,10 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF b/plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF
index 1d5f8f0cd62..8ed371c6049 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/META-INF/MANIFEST.MF
@@ -44,4 +44,4 @@ Bundle-Localization: plugin
Bundle-Activator: org.eclipse.papyrus.infra.core.Activator
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.papyrus.infra.core;singleton:=true
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/schema/papyrusDiagram.exsd b/plugins/infra/core/org.eclipse.papyrus.infra.core/schema/papyrusDiagram.exsd
index 88c367734f7..8d350e3cccc 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/schema/papyrusDiagram.exsd
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/schema/papyrusDiagram.exsd
@@ -1,335 +1,342 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.papyrus.infra.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.papyrus.infra.core" id="papyrusDiagram" name="Papyrus Diagram Editor"/>
- </appInfo>
- <documentation>
- &lt;p&gt;
-The &lt;code&gt;org.eclipse.papyrus.infra.core.papyrusDiagram&lt;/code&gt; extension point is used to register a new diagram editor within Papyrus. Once diagram editor is registered it can be used in the Papyrus multi-page diagram editor. The editor can have its own icon, label, a button for the creation action in the toolbar, and the possibility to be created using new Papyrus Model wizard.
-&lt;/p&gt;
-
-&lt;p&gt;Papyrus uses the term &quot;&lt;b&gt;Diagram Category&lt;/b&gt;&quot; to categorize domain models and the term &quot;&lt;b&gt;Diagram Kind&lt;/b&gt;&quot; to specialize a diagram editor for a domain model. Each Diagram Kind belongs to exactly one Diagram Category, Diagram Category can contains many Diagram Kinds. Papyrus supports &lt;b&gt;UML&lt;/b&gt;, &lt;b&gt;Profile&lt;/b&gt; and &lt;b&gt;SysML&lt;/b&gt; diagram categories.
-&lt;/p&gt;
-
-&lt;p&gt;Besides, for a given diagram category the user can specify template models - a predefined model whose content is copied into a newly created diagram. Templates can be registered using &lt;code&gt;org.eclipse.papyrus.wizards.templates&lt;/code&gt; extension point. Diagram kinds and available templates are filtered in the wizard in accordance with the chosen category. For example, if the user choses &lt;i&gt;Profile&lt;/i&gt; category, then only Profile diagram kind are available on DiagramKindPage and only ProfileWithBasicTypes template is displayed in the list of available templates.
-&lt;/p&gt;
-
-&lt;p&gt;The user is free to use the already existing diagram categories as well as implement his own.
-&lt;/p&gt;
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appInfo>
- <meta.element />
- </appInfo>
- </annotation>
- <complexType>
- <sequence>
- <element ref="editorDiagram" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="creationCommand" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="actionBarContributor" minOccurs="0" maxOccurs="unbounded"/>
- <element ref="diagramCategory" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="editorDiagram">
- <annotation>
- <documentation>
- A diagram editor that can be used in the Papyrus multi-page diagram editor.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="factoryClass" type="string" use="required">
- <annotation>
- <documentation>
- a name of the fully qualified class that implements &lt;samp&gt; org.eclipse.papyrus.infra.core.sasheditor.extension.IEditorFactory&lt;/samp&gt;. It is used to create an instance of the editor.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.core.extension.diagrameditor.IPluggableEditorFactory"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="actionBarContributorId" type="string">
- <annotation>
- <documentation>
- The ID of an ActionBarContributor. If no ID is set, the main ActionBarContributor is used (the one associated to the MultiEditor).
- </documentation>
- </annotation>
- </attribute>
- <attribute name="icon" type="string">
- <annotation>
- <documentation>
- a relative path of an icon used to visually represent the diagram in outline tree. The path is relative to the location of the plugin.xml file of the contributing plug-in.
- </documentation>
- <appInfo>
- <meta.attribute kind="resource"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="actionBarContributor">
- <annotation>
- <documentation>
- A ActionBarContributor defines the actions for one or more editors or Views.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- a unique identifier used as a reference for this ActionBarContributor. It is used to associate the ActionBarContributor to editors(see &lt;code&gt;actionBarContributorId&lt;/code&gt; attribute of &lt;code&gt;editorDiagram&lt;/code&gt; extension point)
- </documentation>
- </annotation>
- </attribute>
- <attribute name="implementingClass" type="string" use="required">
- <annotation>
- <documentation>
- a name of the fully qualified class that implements &lt;samp&gt;org.eclipse.ui.IEditorActionBarContributor&lt;/samp&gt;.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.ui.part.EditorActionBarContributor:"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="creationCommand">
- <annotation>
- <documentation>
- A &quot;creationCommand&quot; is a command used to create a new diagram.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- a unique identifier used as a reference for this creation command.
- </documentation>
- <appInfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.ui.commands/command/@id"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="label" type="string" use="required">
- <annotation>
- <documentation>
- a translatable name of the creation command. It is displayed in the toolbar as a button text of CreateDiagramAction, this label is also i the New Wizard while selecting the Diagram Kind.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="creationCommandClass" type="string" use="required">
- <annotation>
- <documentation>
- a name of the fully qualified class that implements &lt;samp&gt;org.eclipse.papyrus.commands.ICreationCommand&lt;/samp&gt;.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.commands.ICreationCommand"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="icon" type="string">
- <annotation>
- <documentation>
- a relative path of an icon used to visually represent the command. The path is relative to the location of the plugin.xml file of the contributing plug-in.
- </documentation>
- <appInfo>
- <meta.attribute kind="resource"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="creationCondition" type="string">
- <annotation>
- <documentation>
- the action in the diagram creation menu is disabled if this condition is evaluated to false.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.core.extension.commands.ICreationCondition"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="language" type="string" use="required">
- <annotation>
- <documentation>
- the id of a diagramCategory the creation command belongs to.
- </documentation>
- <appInfo>
- <meta.attribute kind="identifier" basedOn="org.eclipse.papyrus.infra.core.papyrusDiagram/@id"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="diagramCategory">
- <annotation>
- <documentation>
- The category of a domain model. The registered category is available in New papyrus Model Wizard and it customizes creation of a domain model. It is also used to filter diagram kinds and model templates.
- </documentation>
- </annotation>
- <complexType>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- a unique identifier used as a reference for this diagram category. It is used to filter model templates and diagram kinds.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- a name of the fully qualified class that implements &lt;samp&gt;org.eclipse.papyrus.infra.core.extension.commands.IModelCreationCommand&lt;/samp&gt;.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.core.extension.commands.IModelCreationCommand"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="extensionPrefix" type="string">
- <annotation>
- <documentation>
- the file extension.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="label" type="string" use="required">
- <annotation>
- <documentation>
- a translatable name of the diagram category, it is displayed in the New Papyrus Model Wizard to select a Diagram Category.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="description" type="string">
- <annotation>
- <documentation>
- a description of the diagram category is to be displayed as a tooltip next ti its label.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="icon" type="string">
- <annotation>
- <documentation>
- a relative path of an icon used to visually represent the diagram category. The path is relative to the location of the plugin.xml file of the contributing plug-in.
- </documentation>
- <appInfo>
- <meta.attribute kind="resource"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 0.7
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- &lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.papyrus.infra.core.papyrusDiagram&quot;&gt;
- &lt;diagramCategory
- id=&quot;sysml&quot;
- class=&quot;org.eclipse.papyrus.sysml.diagram.common.commands.CreateSysMLModelCommand&quot;
- label=&quot;SysML&quot;
- description=&quot;SysML diagrams&quot;
- icon=&quot;icons/category_sysml.gif&quot;&gt;
- &lt;/diagramCategory&gt;
-
- &lt;editorDiagram
- actionBarContributorId=&quot;org.eclipse.papyrus.uml.diagram.common.part.UMLDiagramActionBarContributor&quot;
- factoryClass=&quot;org.eclipse.papyrus.sysml.diagram.requirement.RequirementDiagramEditorFactory&quot;
- icon=&quot;icons/obj16/Diagram_Requirement.gif&quot;&gt;
- &lt;/editorDiagram&gt;
-
- &lt;creationCommand
- id=&quot;org.eclipse.papyrus.sysml.diagram.requirement.CreateCommand&quot;
- creationCommandClass=&quot;org.eclipse.papyrus.sysml.diagram.requirement.RequirementDiagramCreateCommand&quot;
- icon=&quot;icons/obj16/Diagram_Requirement.gif&quot;
- label=&quot;SysML Requirement Diagram&quot;
- language=&quot;sysml&quot;&gt;
- &lt;/creationCommand&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-In this example, a specific editor for SysML Requirement diagram is registered.
-Besides, a diagram category for SysML diagrams is defined, it has &lt;code&gt;sysml&lt;/code&gt; id. The category specifies a customized creation command &lt;code&gt;org.eclipse.papyrus.sysml.diagram.common.commands.CreateSysMLModelCommand&lt;/code&gt; which applies a profile to the newly-created model. In this example, the category &lt;code&gt;sysml&lt;/code&gt; containes only one diagram kind - Requirement diagram created with &lt;code&gt;org.eclipse.papyrus.sysml.diagram.requirement.CreateCommand&lt;/code&gt;, but it can be used by other diagrams as well.
-As Requirement diagram belongs to SysML category it will be created with a SysML profile applied to its root.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- &lt;p&gt;The value of the &lt;code&gt;class&lt;/code&gt; attribute of &lt;code&gt;diagramCategory&lt;/code&gt; must represent a class that implements the &lt;code&gt;org.eclipse.papyrus.infra.core.extension.commands.IModelCreationCommand&lt;/code&gt; interface. There are a few default implementations of &lt;code&gt;IModelCreationCommand&lt;/code&gt; that may be useful to users of this extension point:
-&lt;ul&gt;
-&lt;li&gt;&lt;code&gt;org.eclipse.papyrus.commands.ModelCreationCommandBase&lt;/code&gt; - an abstract implementation of a basic &lt;code&gt;IModelCreationCommand&lt;/code&gt;.&lt;/li&gt;
-&lt;li&gt;&lt;code&gt;org.eclipse.papyrus.uml.diagram.common.commands.CreateUMLModelCommand&lt;/code&gt;&lt;/li&gt; - implementation of IModelCreationCommand that creates a UML model.
-&lt;li&gt;&lt;code&gt;org.eclipse.papyrus.uml.diagram.profile.CreateProfileModelCommand&lt;/code&gt; - a subclass of CreateUMLModelCommand which creates Profile as a root element&lt;/li&gt;
-&lt;li&gt;&lt;code&gt;org.eclipse.papyrus.sysml.diagram.common.commands.CreateSysMLModelCommand&lt;/code&gt; - a subclass of CreateUMLModelCommand which applies SysML profile to the root element&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/p&gt;
-
-&lt;p&gt;The value of the &lt;code&gt;creationCommandClass&lt;/code&gt; attribute of &lt;code&gt;creationCommand&lt;/code&gt;
- must represent a class that implements the &lt;code&gt;org.eclipse.papyrus.commands.ICreationCommand&lt;/code&gt; interface.
-&lt;ul&gt;
-&lt;li&gt;&lt;code&gt;org.eclipse.papyrus.infra.gmfdiag.common.AbstractPapyrusGmfCreateDiagramCommandHandler&lt;/code&gt; - an abstract implementation of a basic &lt;code&gt;ICreationCommand&lt;/code&gt; for GMF diagrams. All CreationCommands for Papyrus diagrams extend this class.&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/p&gt;
- </documentation>
- </annotation>
-
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2008, 2010 CEA List.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Eclipse Public License v1.0 which accompanies
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.papyrus.infra.core" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appInfo>
+ <meta.schema plugin="org.eclipse.papyrus.infra.core" id="papyrusDiagram" name="Papyrus Diagram Editor"/>
+ </appInfo>
+ <documentation>
+ &lt;p&gt;
+The &lt;code&gt;org.eclipse.papyrus.infra.core.papyrusDiagram&lt;/code&gt; extension point is used to register a new diagram editor within Papyrus. Once diagram editor is registered it can be used in the Papyrus multi-page diagram editor. The editor can have its own icon, label, a button for the creation action in the toolbar, and the possibility to be created using new Papyrus Model wizard.
+&lt;/p&gt;
+
+&lt;p&gt;Papyrus uses the term &quot;&lt;b&gt;Diagram Category&lt;/b&gt;&quot; to categorize domain models and the term &quot;&lt;b&gt;Diagram Kind&lt;/b&gt;&quot; to specialize a diagram editor for a domain model. Each Diagram Kind belongs to exactly one Diagram Category, Diagram Category can contains many Diagram Kinds. Papyrus supports &lt;b&gt;UML&lt;/b&gt;, &lt;b&gt;Profile&lt;/b&gt; and &lt;b&gt;SysML&lt;/b&gt; diagram categories.
+&lt;/p&gt;
+
+&lt;p&gt;Besides, for a given diagram category the user can specify template models - a predefined model whose content is copied into a newly created diagram. Templates can be registered using &lt;code&gt;org.eclipse.papyrus.wizards.templates&lt;/code&gt; extension point. Diagram kinds and available templates are filtered in the wizard in accordance with the chosen category. For example, if the user choses &lt;i&gt;Profile&lt;/i&gt; category, then only Profile diagram kind are available on DiagramKindPage and only ProfileWithBasicTypes template is displayed in the list of available templates.
+&lt;/p&gt;
+
+&lt;p&gt;The user is free to use the already existing diagram categories as well as implement his own.
+&lt;/p&gt;
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appInfo>
+ <meta.element />
+ </appInfo>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element ref="editorDiagram" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="creationCommand" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="actionBarContributor" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="diagramCategory" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appInfo>
+ <meta.attribute translatable="true"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="editorDiagram">
+ <annotation>
+ <documentation>
+ A diagram editor that can be used in the Papyrus multi-page diagram editor.
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="factoryClass" type="string" use="required">
+ <annotation>
+ <documentation>
+ a name of the fully qualified class that implements &lt;samp&gt; org.eclipse.papyrus.infra.core.sasheditor.extension.IEditorFactory&lt;/samp&gt;. It is used to create an instance of the editor.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.core.extension.diagrameditor.IPluggableEditorFactory"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="actionBarContributorId" type="string">
+ <annotation>
+ <documentation>
+ The ID of an ActionBarContributor. If no ID is set, the main ActionBarContributor is used (the one associated to the MultiEditor).
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="icon" type="string">
+ <annotation>
+ <documentation>
+ a relative path of an icon used to visually represent the diagram in outline tree. The path is relative to the location of the plugin.xml file of the contributing plug-in.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="order" type="string" use="default" value="0">
+ <annotation>
+ <documentation>
+ The order of this factory. The order is used when several factories can handle the same element. An order of 0 is a very high priority, whereas an order of 50 is lower. Factories with a higher order (lower priority) can still be used e.g. via the Open with... menu
+ </documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="actionBarContributor">
+ <annotation>
+ <documentation>
+ A ActionBarContributor defines the actions for one or more editors or Views.
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ a unique identifier used as a reference for this ActionBarContributor. It is used to associate the ActionBarContributor to editors(see &lt;code&gt;actionBarContributorId&lt;/code&gt; attribute of &lt;code&gt;editorDiagram&lt;/code&gt; extension point)
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="implementingClass" type="string" use="required">
+ <annotation>
+ <documentation>
+ a name of the fully qualified class that implements &lt;samp&gt;org.eclipse.ui.IEditorActionBarContributor&lt;/samp&gt;.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn="org.eclipse.ui.part.EditorActionBarContributor:"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="creationCommand">
+ <annotation>
+ <documentation>
+ A &quot;creationCommand&quot; is a command used to create a new diagram.
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ a unique identifier used as a reference for this creation command.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="identifier" basedOn="org.eclipse.ui.commands/command/@id"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="label" type="string" use="required">
+ <annotation>
+ <documentation>
+ a translatable name of the creation command. It is displayed in the toolbar as a button text of CreateDiagramAction, this label is also i the New Wizard while selecting the Diagram Kind.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="creationCommandClass" type="string" use="required">
+ <annotation>
+ <documentation>
+ a name of the fully qualified class that implements &lt;samp&gt;org.eclipse.papyrus.commands.ICreationCommand&lt;/samp&gt;.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.commands.ICreationCommand"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="icon" type="string">
+ <annotation>
+ <documentation>
+ a relative path of an icon used to visually represent the command. The path is relative to the location of the plugin.xml file of the contributing plug-in.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="creationCondition" type="string">
+ <annotation>
+ <documentation>
+ the action in the diagram creation menu is disabled if this condition is evaluated to false.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.core.extension.commands.ICreationCondition"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="language" type="string" use="required">
+ <annotation>
+ <documentation>
+ the id of a diagramCategory the creation command belongs to.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="identifier" basedOn="org.eclipse.papyrus.infra.core.papyrusDiagram/@id"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="diagramCategory">
+ <annotation>
+ <documentation>
+ The category of a domain model. The registered category is available in New papyrus Model Wizard and it customizes creation of a domain model. It is also used to filter diagram kinds and model templates.
+ </documentation>
+ </annotation>
+ <complexType>
+ <attribute name="id" type="string" use="required">
+ <annotation>
+ <documentation>
+ a unique identifier used as a reference for this diagram category. It is used to filter model templates and diagram kinds.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="class" type="string" use="required">
+ <annotation>
+ <documentation>
+ a name of the fully qualified class that implements &lt;samp&gt;org.eclipse.papyrus.infra.core.extension.commands.IModelCreationCommand&lt;/samp&gt;.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.papyrus.infra.core.extension.commands.IModelCreationCommand"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ <attribute name="extensionPrefix" type="string">
+ <annotation>
+ <documentation>
+ the file extension.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="label" type="string" use="required">
+ <annotation>
+ <documentation>
+ a translatable name of the diagram category, it is displayed in the New Papyrus Model Wizard to select a Diagram Category.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="description" type="string">
+ <annotation>
+ <documentation>
+ a description of the diagram category is to be displayed as a tooltip next ti its label.
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="icon" type="string">
+ <annotation>
+ <documentation>
+ a relative path of an icon used to visually represent the diagram category. The path is relative to the location of the plugin.xml file of the contributing plug-in.
+ </documentation>
+ <appInfo>
+ <meta.attribute kind="resource"/>
+ </appInfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="since"/>
+ </appInfo>
+ <documentation>
+ 0.7
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="examples"/>
+ </appInfo>
+ <documentation>
+ &lt;pre&gt;
+&lt;extension point=&quot;org.eclipse.papyrus.infra.core.papyrusDiagram&quot;&gt;
+ &lt;diagramCategory
+ id=&quot;sysml&quot;
+ class=&quot;org.eclipse.papyrus.sysml.diagram.common.commands.CreateSysMLModelCommand&quot;
+ label=&quot;SysML&quot;
+ description=&quot;SysML diagrams&quot;
+ icon=&quot;icons/category_sysml.gif&quot;&gt;
+ &lt;/diagramCategory&gt;
+
+ &lt;editorDiagram
+ actionBarContributorId=&quot;org.eclipse.papyrus.uml.diagram.common.part.UMLDiagramActionBarContributor&quot;
+ factoryClass=&quot;org.eclipse.papyrus.sysml.diagram.requirement.RequirementDiagramEditorFactory&quot;
+ icon=&quot;icons/obj16/Diagram_Requirement.gif&quot;&gt;
+ &lt;/editorDiagram&gt;
+
+ &lt;creationCommand
+ id=&quot;org.eclipse.papyrus.sysml.diagram.requirement.CreateCommand&quot;
+ creationCommandClass=&quot;org.eclipse.papyrus.sysml.diagram.requirement.RequirementDiagramCreateCommand&quot;
+ icon=&quot;icons/obj16/Diagram_Requirement.gif&quot;
+ label=&quot;SysML Requirement Diagram&quot;
+ language=&quot;sysml&quot;&gt;
+ &lt;/creationCommand&gt;
+&lt;/extension&gt;
+&lt;/pre&gt;
+In this example, a specific editor for SysML Requirement diagram is registered.
+Besides, a diagram category for SysML diagrams is defined, it has &lt;code&gt;sysml&lt;/code&gt; id. The category specifies a customized creation command &lt;code&gt;org.eclipse.papyrus.sysml.diagram.common.commands.CreateSysMLModelCommand&lt;/code&gt; which applies a profile to the newly-created model. In this example, the category &lt;code&gt;sysml&lt;/code&gt; containes only one diagram kind - Requirement diagram created with &lt;code&gt;org.eclipse.papyrus.sysml.diagram.requirement.CreateCommand&lt;/code&gt;, but it can be used by other diagrams as well.
+As Requirement diagram belongs to SysML category it will be created with a SysML profile applied to its root.
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appInfo>
+ <meta.section type="apiInfo"/>
+ </appInfo>
+ <documentation>
+ &lt;p&gt;The value of the &lt;code&gt;class&lt;/code&gt; attribute of &lt;code&gt;diagramCategory&lt;/code&gt; must represent a class that implements the &lt;code&gt;org.eclipse.papyrus.infra.core.extension.commands.IModelCreationCommand&lt;/code&gt; interface. There are a few default implementations of &lt;code&gt;IModelCreationCommand&lt;/code&gt; that may be useful to users of this extension point:
+&lt;ul&gt;
+&lt;li&gt;&lt;code&gt;org.eclipse.papyrus.commands.ModelCreationCommandBase&lt;/code&gt; - an abstract implementation of a basic &lt;code&gt;IModelCreationCommand&lt;/code&gt;.&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;org.eclipse.papyrus.uml.diagram.common.commands.CreateUMLModelCommand&lt;/code&gt;&lt;/li&gt; - implementation of IModelCreationCommand that creates a UML model.
+&lt;li&gt;&lt;code&gt;org.eclipse.papyrus.uml.diagram.profile.CreateProfileModelCommand&lt;/code&gt; - a subclass of CreateUMLModelCommand which creates Profile as a root element&lt;/li&gt;
+&lt;li&gt;&lt;code&gt;org.eclipse.papyrus.sysml.diagram.common.commands.CreateSysMLModelCommand&lt;/code&gt; - a subclass of CreateUMLModelCommand which applies SysML profile to the root element&lt;/li&gt;
+&lt;/ul&gt;
+&lt;/p&gt;
+
+&lt;p&gt;The value of the &lt;code&gt;creationCommandClass&lt;/code&gt; attribute of &lt;code&gt;creationCommand&lt;/code&gt;
+ must represent a class that implements the &lt;code&gt;org.eclipse.papyrus.commands.ICreationCommand&lt;/code&gt; interface.
+&lt;ul&gt;
+&lt;li&gt;&lt;code&gt;org.eclipse.papyrus.infra.gmfdiag.common.AbstractPapyrusGmfCreateDiagramCommandHandler&lt;/code&gt; - an abstract implementation of a basic &lt;code&gt;ICreationCommand&lt;/code&gt; for GMF diagrams. All CreationCommands for Papyrus diagrams extend this class.&lt;/li&gt;
+&lt;/ul&gt;
+&lt;/p&gt;
+ </documentation>
+ </annotation>
+
+
+ <annotation>
+ <appInfo>
+ <meta.section type="copyright"/>
+ </appInfo>
+ <documentation>
+ Copyright (c) 2008, 2010 CEA List.&lt;br&gt;
+All rights reserved. This program and the accompanying materials are made
+available under the terms of the Eclipse Public License v1.0 which accompanies
+this distribution, and is available at &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editor/DiSashModelManagerServiceFactory.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editor/DiSashModelManagerServiceFactory.java
index e873289383d..0abcbbdc5ac 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editor/DiSashModelManagerServiceFactory.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editor/DiSashModelManagerServiceFactory.java
@@ -109,4 +109,6 @@ public class DiSashModelManagerServiceFactory implements IServiceFactory {
return sashModelMngr;
}
+
+
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editorsfactory/IEditorFactory.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editorsfactory/IEditorFactory.java
index 787948cb795..b1e465e6c12 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editorsfactory/IEditorFactory.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editorsfactory/IEditorFactory.java
@@ -36,4 +36,22 @@ public interface IEditorFactory {
*/
public boolean isPageModelFactoryFor(Object pageIdentifier);
+ /**
+ * The ID of this factory
+ *
+ * @return
+ */
+ default String getFactoryID() {
+ return getClass().getName();
+ }
+
+ /**
+ * The display label of this factory
+ *
+ * @return
+ */
+ default String getLabel() {
+ return getClass().getSimpleName();
+ }
+
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editorsfactory/PageModelFactoryRegistry.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editorsfactory/PageModelFactoryRegistry.java
index e494d84167d..8904f7238cf 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editorsfactory/PageModelFactoryRegistry.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/editorsfactory/PageModelFactoryRegistry.java
@@ -1,11 +1,25 @@
-/**
+/*****************************************************************************
+ * Copyright (c) 2009 - 2015 CEA LIST & LIFL
*
- */
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API and implementation
+ * Camille Letavernier (CEA LIST) - camille.letavernier@cea.fr - Bug 476625
+ *****************************************************************************/
package org.eclipse.papyrus.infra.core.editorsfactory;
import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import org.eclipse.papyrus.infra.core.Activator;
import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.IPageModel;
import org.eclipse.papyrus.infra.core.sasheditor.contentprovider.ISashWindowsContentProvider;
import org.eclipse.papyrus.infra.core.sasheditor.di.contentprovider.IPageModelFactory;
@@ -20,7 +34,7 @@ import org.eclipse.papyrus.infra.core.sasheditor.di.contentprovider.IPageModelFa
*/
public class PageModelFactoryRegistry implements IPageModelFactory {
- /** list of editor factories */
+ /** ordered list of editor factories */
protected List<IEditorFactory> editorFactories = new ArrayList<IEditorFactory>();
/**
@@ -44,19 +58,79 @@ public class PageModelFactoryRegistry implements IPageModelFactory {
*/
@Override
public IPageModel createIPageModel(Object pageIdentifier) {
+ return createIPageModel(pageIdentifier, null);
+ }
+
+ /**
+ * Walk each registered {@link IEditorFactory} to find the one handling the
+ * specified pageIdentifier. Call the corresponding method in the found
+ * pageIdentifier.
+ *
+ * If several factories match the selected page, use the favorite editor.
+ * If the favorite editor is not available, use the priority mechanism
+ *
+ * @see org.eclipse.papyrus.infra.core.sasheditor.di.contentprovider.IPageModelFactory#createIPageModel(java.lang.Object)
+ */
+ @Override
+ public IPageModel createIPageModel(Object pageIdentifier, String favoriteEditorID) {
+
+ IEditorFactory factory = getFactoryFor(pageIdentifier, favoriteEditorID);
+ if (factory == null) {
+ return null;
+ }
+ return factory.createIPageModel(pageIdentifier);
+ }
+
+ /**
+ * Returns the IEditorFactory for the given pageIdentifier.
+ *
+ * If several factories match the page identifier, use the favorite one
+ *
+ * @param pageIdentifier
+ * @return
+ */
+ private IEditorFactory getFactoryFor(Object pageIdentifier, String favoriteEditorID) {
+ List<IEditorFactory> matchingFactories = new LinkedList<>();
for (IEditorFactory factory : getEditorFactories()) {
if (factory.isPageModelFactoryFor(pageIdentifier)) {
- {
- return factory.createIPageModel(pageIdentifier);
+ matchingFactories.add(factory);
+ }
+ }
+
+ if (matchingFactories.isEmpty()) {
+ return null;
+ } else if (matchingFactories.size() == 1) {
+ return matchingFactories.get(0);
+ } else if (favoriteEditorID != null) {
+ for (IEditorFactory matchingFactory : matchingFactories) {
+ if (favoriteEditorID.equals(matchingFactory.getFactoryID())) {
+ return matchingFactory;
}
}
}
- // no editor found !
- // TODO Throw an exception.
- // throw new EditorNotFoundException("No editor registered for '" +
- // pageIdentifier + "'.");
- return null;
+
+ return matchingFactories.get(0);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.infra.core.sasheditor.di.contentprovider.IPageModelFactory#getEditorIDsFor(java.lang.Object)
+ *
+ * @param pageIdentifier
+ * @return
+ */
+ @Override
+ public Map<String, String> getEditorIDsFor(Object pageIdentifier) {
+ return getEditorFactories().stream()
+ .filter(f -> f.isPageModelFactoryFor(pageIdentifier))
+ .collect(Collectors
+ .toMap(
+ f -> f.getFactoryID(), f -> f.getLabel(), // key, value
+ (v1, v2) -> { // Conflict merger
+ Activator.log.warn(String.format("Several editors are declared with the same ID: '%s', '%s'", v1, v2));
+ return v1; // Any value
+ } ,
+ LinkedHashMap::new)); // HashMap Supplier
}
/**
@@ -74,7 +148,7 @@ public class PageModelFactoryRegistry implements IPageModelFactory {
public void add(IEditorFactory editorFactory) {
// This should never happen
if (editorFactory == null) {
- throw new RuntimeException("Parameter should not be null."); //$NON-NLS-1$
+ throw new IllegalArgumentException("Parameter should not be null."); //$NON-NLS-1$
}
editorFactories.add(editorFactory);
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorDescriptor.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorDescriptor.java
index 4286a766e0e..5481abdf019 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorDescriptor.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorDescriptor.java
@@ -47,6 +47,12 @@ public class EditorDescriptor {
private String iconPath;
/**
+ * The order of this factory. Used when several factories match the same element (Diagram...)
+ * The lower the order, the higher the priority of this factory
+ */
+ private int order;
+
+ /**
* Constructor.
*/
public EditorDescriptor() {
@@ -121,6 +127,14 @@ public class EditorDescriptor {
return "[nestedEditor editorFactory:" + editorFactoryClass.getName() + "]";
}
+ public int getOrder() {
+ return order;
+ }
+
+ public void setOrder(int order) {
+ this.order = order;
+ }
+
/**
* Set the URL of the Icon
*
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorDescriptorExtensionFactory.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorDescriptorExtensionFactory.java
index 5c4b22a5823..386c93960e8 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorDescriptorExtensionFactory.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorDescriptorExtensionFactory.java
@@ -16,6 +16,7 @@ package org.eclipse.papyrus.infra.core.extension.diagrameditor;
import static org.eclipse.papyrus.infra.core.Activator.log;
import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.papyrus.infra.core.Activator;
import org.eclipse.papyrus.infra.core.extension.BadNameExtensionException;
import org.eclipse.papyrus.infra.core.extension.ExtensionException;
import org.eclipse.papyrus.infra.core.extension.ExtensionUtils;
@@ -43,6 +44,9 @@ public class EditorDescriptorExtensionFactory extends ExtensionUtils {
/** constant for the attribute icon **/
public final static String ICON_ATTRIBUTE = "icon";
+ /** constant for the order attribute */
+ public final static String ORDER_ATTRIBUTE = "order";
+
/**
* @return the eINSTANCE
*/
@@ -67,6 +71,19 @@ public class EditorDescriptorExtensionFactory extends ExtensionUtils {
res = new EditorDescriptor();
res.setEditorFactoryClass((Class<IPluggableEditorFactory>) parseClass(element, FACTORYCLASS_ATTRIBUTE, EDITOR_DIAGRAM_EXTENSIONPOINT));
res.setActionBarContributorId(element.getAttribute(ACTIONBARCONTRIBUTORID_ATTRIBUTE));
+
+ int order = 0; // Default
+ try {
+ String orderAttribute = element.getAttribute(ORDER_ATTRIBUTE);
+ if (orderAttribute != null) {
+ order = Integer.parseInt(orderAttribute);
+ }
+ } catch (NumberFormatException ex) {
+ Activator.log.warn("Invalid order provided by " + element.getContributor() + ". Order should be an integer value"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ res.setOrder(order);
+
String iconPath = element.getAttribute(ICON_ATTRIBUTE);
if (iconPath != null) {
/** Implementation which set the icon and register the complete URL of the icon : Bug eclipse 358732 */
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorFactoryProxy.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorFactoryProxy.java
index 3589b49f85c..251da1623f7 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorFactoryProxy.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/EditorFactoryProxy.java
@@ -114,4 +114,24 @@ public class EditorFactoryProxy implements IEditorFactory {
}
+ /**
+ * @see org.eclipse.papyrus.infra.core.editorsfactory.IEditorFactory#getFactoryID()
+ *
+ * @return
+ */
+ @Override
+ public String getFactoryID() {
+ return getEditorFactory().getFactoryID();
+ }
+
+ /**
+ * @see org.eclipse.papyrus.infra.core.editorsfactory.IEditorFactory#getLabel()
+ *
+ * @return
+ */
+ @Override
+ public String getLabel() {
+ return getEditorFactory().getLabel();
+ }
+
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/PluggableEditorFactoryReader.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/PluggableEditorFactoryReader.java
index 894f207b7c2..cea7e0bba40 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/PluggableEditorFactoryReader.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/extension/diagrameditor/PluggableEditorFactoryReader.java
@@ -16,6 +16,7 @@ package org.eclipse.papyrus.infra.core.extension.diagrameditor;
import static org.eclipse.papyrus.infra.core.Activator.log;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import org.eclipse.core.runtime.IConfigurationElement;
@@ -31,7 +32,7 @@ import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
*/
public class PluggableEditorFactoryReader {
- /** list of editor descriptors */
+ /** ordered list of editor descriptors */
protected List<EditorDescriptor> editorDescriptors;
/** ID of the editor extension (schema filename) */
@@ -124,6 +125,8 @@ public class PluggableEditorFactoryReader {
}
}
+ Collections.sort(editorDescriptors, (ed1, ed2) -> Integer.compare(ed1.getOrder(), ed2.getOrder()));
+
if (log.isDebugEnabled()) {
log.debug("Read " + editorDescriptors.size() + " editor descriptors from Eclipse extensions"); //$NON-NLS-1$ //$NON-NLS-2$
}

Back to the top