Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Wouters2014-03-14 13:51:50 +0000
committerLaurent Wouters2014-03-14 13:54:22 +0000
commitf515b310417b386c79d9fbd2500c5373a7179aa7 (patch)
tree1785439bb2467282b35964ab71c18f8e2fffff38 /plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric
parent832ceab5e78772d2b483348f620de7b47a4c091f (diff)
downloadorg.eclipse.papyrus-f515b310417b386c79d9fbd2500c5373a7179aa7.tar.gz
org.eclipse.papyrus-f515b310417b386c79d9fbd2500c5373a7179aa7.tar.xz
org.eclipse.papyrus-f515b310417b386c79d9fbd2500c5373a7179aa7.zip
399860: Papyrus shall enable to customize the creation policy of views
https://bugs.eclipse.org/bugs/show_bug.cgi?id=399860 Signed-off-by: Laurent Wouters <laurent.wouters@cea.fr>
Diffstat (limited to 'plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric')
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/META-INF/MANIFEST.MF34
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/plugin.xml49
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src-gen/org/eclipse/papyrus/sysml/diagram/parametric/ParametricDiagramCreateCommand.java34
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/CreateParametricDiagramWithNavigationHandler.java25
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/ParametricDiagramCondition.java16
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/commands/CustomParametricContextLinkCreateCommand.java4
6 files changed, 39 insertions, 123 deletions
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/META-INF/MANIFEST.MF b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/META-INF/MANIFEST.MF
index 5e2d1dc918d..7b7ed041cc8 100644
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/META-INF/MANIFEST.MF
+++ b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/META-INF/MANIFEST.MF
@@ -1,4 +1,4 @@
-Manifest-Version: 1.0
+Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.sysml.diagram.parametric,
org.eclipse.papyrus.sysml.diagram.parametric.commands,
org.eclipse.papyrus.sysml.diagram.parametric.edit.part,
@@ -15,46 +15,48 @@ Bundle-ActivationPolicy: lazy
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
org.eclipse.papyrus.sysml;bundle-version="1.0.0",
org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="1.0.0",
- org.eclipse.emf.common.ui;bundle-version="2.5.0",
- org.eclipse.gmf.runtime.diagram.ui.resources.editor;bundle-version="1.2.0",
+ org.eclipse.emf.common.ui;bundle-version="2.5.0",
+ org.eclipse.gmf.runtime.diagram.ui.resources.editor;bundle-version="1.2.0",
org.eclipse.papyrus.uml.diagram.composite;bundle-version="1.0.0",
- org.eclipse.gmf.runtime.diagram.ui.providers;bundle-version="1.3.0",
+ org.eclipse.gmf.runtime.diagram.ui.providers;bundle-version="1.3.0",
org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-version="1.0.0",
- org.eclipse.core.expressions,
+ org.eclipse.core.expressions,
org.eclipse.papyrus.sysml.service.types;bundle-version="1.0.0",
org.eclipse.papyrus.uml.service.types;bundle-version="1.0.0",
org.eclipse.papyrus.infra.widgets;bundle-version="1.0.0",
- org.eclipse.gmf.runtime.diagram.core;bundle-version="1.4.1",
- org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.5.0",
+ org.eclipse.gmf.runtime.diagram.core;bundle-version="1.4.1",
+ org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.5.0",
org.eclipse.papyrus.uml.tools;bundle-version="1.0.0",
org.eclipse.papyrus.infra.core.log;bundle-version="1.0.0",
org.eclipse.papyrus.infra.core;bundle-version="1.0.0",
org.eclipse.papyrus.infra.core.sasheditor;bundle-version="1.0.0",
org.eclipse.papyrus.infra.services.edit;bundle-version="1.0.0",
org.eclipse.papyrus.infra.gmfdiag.navigation;bundle-version="1.0.0",
- org.eclipse.ui.ide;bundle-version="3.8.0",
+ org.eclipse.ui.ide;bundle-version="3.8.0",
org.eclipse.papyrus.uml.tools.utils;bundle-version="1.0.0",
- org.eclipse.uml2.uml;bundle-version="4.0.0",
+ org.eclipse.uml2.uml;bundle-version="4.0.0",
org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="1.0.0",
org.eclipse.papyrus.infra.services.labelprovider;bundle-version="1.0.0",
- org.eclipse.gmf.tooling.runtime;bundle-version="3.1.0",
+ org.eclipse.gmf.tooling.runtime;bundle-version="3.1.0",
org.eclipse.papyrus.sysml.diagram.internalblock;bundle-version="1.0.0",
org.eclipse.papyrus.uml.diagram.common;bundle-version="1.0.0",
org.eclipse.papyrus.sysml.diagram.common;bundle-version="1.0.0",
org.eclipse.papyrus.uml.diagram.clazz;bundle-version="1.0.0",
org.eclipse.papyrus.views.properties;bundle-version="1.0.0",
- org.eclipse.core.databinding.observable;bundle-version="1.4.1",
- org.eclipse.papyrus.views.properties.model;bundle-version="1.0.0"
+ org.eclipse.core.databinding.observable;bundle-version="1.4.1",
+ org.eclipse.papyrus.views.properties.model;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="1.0.0",
+ org.eclipse.papyrus.infra.viewpoints.configuration;bundle-version="1.0.0"
Bundle-Vendor: %providerName
Bundle-Version: 1.0.0.qualifier
-Bundle-ManifestVersion: 2
+Bundle-ManifestVersion: 2
Bundle-Activator: org.eclipse.papyrus.sysml.diagram.parametric.Activat
or
Bundle-SymbolicName: org.eclipse.papyrus.sysml.diagram.parametric;sing
leton:=true
-Import-Package: org.eclipse.gmf.runtime.notation
+Import-Package: org.eclipse.gmf.runtime.notation
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/plugin.xml b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/plugin.xml
index 5d692b0f0e7..90703712cbc 100644
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/plugin.xml
+++ b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/plugin.xml
@@ -46,59 +46,10 @@
name="Show/Hide Constraint expression"/>
</extension>
-<extension point="org.eclipse.ui.handlers">
- <handler
- class="org.eclipse.papyrus.sysml.diagram.parametric.CreateParametricDiagramWithNavigationHandler"
- commandId="org.eclipse.papyrus.sysml.diagram.parametric.CreateCommand">
- <activeWhen>
- <with variable="activeEditorId">
- <equals value="org.eclipse.papyrus.infra.core.papyrusEditor" />
- </with>
- </activeWhen>
- </handler>
-</extension>
<!-- Diagram creation command registration in menu and toolbar -->
<extension point="org.eclipse.ui.menus">
- <menuContribution locationURI="menu:org.eclipse.papyrus.ui.menu">
- <menu id="org.eclipse.papyrus.uml.diagram.ui.menu.diagrams" label="Diagrams">
- <command commandId="org.eclipse.papyrus.sysml.diagram.parametric.CreateCommand"
- icon="icons/obj16/Diagram_Parametric.png" label="Create a new Parametric Diagram"
- style="push" tooltip="Create a new Parametric Diagram">
- <visibleWhen>
- <reference definitionId="org.eclipse.papyrus.sysml.diagram.common.IsPapyrusActiveWithSysML"/>
- </visibleWhen>
-
- </command>
- </menu>
- </menuContribution>
-
- <menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar">
- <toolbar id="org.eclipse.papyrus.uml.diagram.ui.toolbar">
- <command commandId="org.eclipse.papyrus.sysml.diagram.parametric.CreateCommand"
- icon="icons/obj16/Diagram_Parametric.png" label="Create a new Parametric Diagram"
- style="push" tooltip="Create a new Parametric Diagram">
- <visibleWhen>
- <reference definitionId="org.eclipse.papyrus.sysml.diagram.common.IsPapyrusActiveWithSysML"/>
- </visibleWhen>
-
- </command>
- </toolbar>
- </menuContribution>
-
- <menuContribution locationURI="popup:org.eclipse.papyrus.views.modelexplorer.popupmenu.creatediagram">
- <command commandId="org.eclipse.papyrus.sysml.diagram.parametric.CreateCommand"
- icon="icons/obj16/Diagram_Parametric.png"
- label="Create a new Parametric Diagram"
- style="push"
- tooltip="Create a new Parametric Diagram">
- <visibleWhen>
- <reference definitionId="org.eclipse.papyrus.sysml.diagram.common.IsPapyrusActiveWithSysML"/>
- </visibleWhen>
-
- </command>
- </menuContribution>
<menuContribution locationURI="popup:org.eclipse.papyrus.uml.diagram.ui.popupmenu.format">
<menu
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src-gen/org/eclipse/papyrus/sysml/diagram/parametric/ParametricDiagramCreateCommand.java b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src-gen/org/eclipse/papyrus/sysml/diagram/parametric/ParametricDiagramCreateCommand.java
index dd2a875a2a8..a8302d4f326 100644
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src-gen/org/eclipse/papyrus/sysml/diagram/parametric/ParametricDiagramCreateCommand.java
+++ b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src-gen/org/eclipse/papyrus/sysml/diagram/parametric/ParametricDiagramCreateCommand.java
@@ -9,6 +9,7 @@
* Contributors:
* Régis CHEVREL: chevrel.regis <at> gmail.com
* CEA LIST - Initial API and implementation
+ * Laurent Wouters (CEA LIST) laurent.wouters@cea.fr - Viewpoints application
*
*****************************************************************************/
package org.eclipse.papyrus.sysml.diagram.parametric;
@@ -31,6 +32,7 @@ import org.eclipse.papyrus.infra.gmfdiag.common.AbstractPapyrusGmfCreateDiagramC
import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
import org.eclipse.papyrus.infra.services.edit.utils.GMFCommandUtils;
+import org.eclipse.papyrus.infra.viewpoints.policy.ViewPrototype;
import org.eclipse.papyrus.sysml.blocks.Block;
import org.eclipse.papyrus.sysml.diagram.common.utils.SysMLGraphicalTypes;
import org.eclipse.papyrus.sysml.diagram.parametric.provider.ElementTypes;
@@ -41,17 +43,18 @@ import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.Package;
import org.eclipse.uml2.uml.util.UMLUtil;
-// Start of user code custom imports
-// End of user code
-
+/**
+ * Represents a creation command for a SysML parametric diagram
+ * @author Laurent Wouters
+ */
public class ParametricDiagramCreateCommand extends AbstractPapyrusGmfCreateDiagramCommandHandler {
-
+
/**
* {@inheritDoc}
*/
@Override
protected String getDefaultDiagramName() {
- return "NewParametricDiagram"; //$NON-NLS-1$
+ return "New Parametric Diagram"; //$NON-NLS-1$
}
/**
@@ -74,27 +77,26 @@ public class ParametricDiagramCreateCommand extends AbstractPapyrusGmfCreateDiag
* {@inheritDoc}
*/
@Override
- protected Diagram createDiagram(Resource diagramResource, EObject owner, String name) {
+ protected Diagram doCreateDiagram(Resource diagramResource, EObject owner, EObject element, ViewPrototype prototype, String name) {
// Start of user code Custom diagram creation
Diagram diagram = null;
- if(owner instanceof org.eclipse.uml2.uml.Class) {
- org.eclipse.uml2.uml.Class cOwner = (org.eclipse.uml2.uml.Class)owner;
+ if (element instanceof org.eclipse.uml2.uml.Class) {
+ org.eclipse.uml2.uml.Class cOwner = (org.eclipse.uml2.uml.Class)element;
Block block = UMLUtil.getStereotypeApplication(cOwner, Block.class);
if(block != null) {
- canvasDomainElement = (EObject)owner;
- Package owningPackage = ((Element)owner).getNearestPackage();
- diagram = super.createDiagram(diagramResource, owningPackage, name);
+ canvasDomainElement = (EObject)element;
+ Package owningPackage = ((Element)element).getNearestPackage();
+ diagram = super.doCreateDiagram(diagramResource, owner, owningPackage, prototype, name);
}
- } else if(owner instanceof Package) {
+ } else if (element instanceof Package) {
try {
canvasDomainElement = null;
-
- IEditCommandRequest request = new CreateElementRequest((Package)owner, SysMLElementTypes.BLOCK);
- IElementEditService commandService = ElementEditServiceUtils.getCommandProvider(owner);
+ IEditCommandRequest request = new CreateElementRequest((Package)element, SysMLElementTypes.BLOCK);
+ IElementEditService commandService = ElementEditServiceUtils.getCommandProvider(element);
if(commandService == null) {
return null;
}
@@ -104,7 +106,7 @@ public class ParametricDiagramCreateCommand extends AbstractPapyrusGmfCreateDiag
createElementCommand.execute(new NullProgressMonitor(), null);
EObject block = GMFCommandUtils.getCommandEObjectResult(createElementCommand);
canvasDomainElement = block;
- diagram = super.createDiagram(diagramResource, (Package)owner, name);
+ diagram = super.doCreateDiagram(diagramResource, owner, (Package)element, prototype, name);
}
} catch (ExecutionException e) {
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/CreateParametricDiagramWithNavigationHandler.java b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/CreateParametricDiagramWithNavigationHandler.java
deleted file mode 100644
index a116905a594..00000000000
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/CreateParametricDiagramWithNavigationHandler.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
- *
- * 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:
- * Régis CHEVREL: chevrel.regis <at> gmail.com
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.sysml.diagram.parametric;
-
-import org.eclipse.papyrus.infra.gmfdiag.navigation.CreateDiagramWithNavigationHandler;
-
-
-public class CreateParametricDiagramWithNavigationHandler extends CreateDiagramWithNavigationHandler {
-
- public CreateParametricDiagramWithNavigationHandler() {
- super(new ParametricDiagramCreateCommand(), new ParametricDiagramCondition());
- }
-
-}
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/ParametricDiagramCondition.java b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/ParametricDiagramCondition.java
index ec094bdaa2d..db8c22d2667 100644
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/ParametricDiagramCondition.java
+++ b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/ParametricDiagramCondition.java
@@ -9,14 +9,13 @@
* Contributors:
* chevrel.regis@gmail.com
* CEA LIST - Initial API and implementation
+ * Laurent Wouters (CEA LIST) laurent.wouters@cea.fr - Viewpoints application
*
*****************************************************************************/
package org.eclipse.papyrus.sysml.diagram.parametric;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.papyrus.infra.core.extension.commands.PerspectiveContextDependence;
-import org.eclipse.papyrus.sysml.blocks.Block;
-import org.eclipse.uml2.uml.util.UMLUtil;
/**
* ParametricDiagramCondition to set conditions for the diagram creation
@@ -28,19 +27,6 @@ public class ParametricDiagramCondition extends PerspectiveContextDependence {
*/
@Override
public boolean create(EObject selectedElement) {
- if(super.create(selectedElement)) {
- // Could create a Parametric Diagram on a Block
- if(selectedElement instanceof org.eclipse.uml2.uml.Class) {
- org.eclipse.uml2.uml.Class clazz = (org.eclipse.uml2.uml.Class)selectedElement;
- if(UMLUtil.getStereotypeApplication(clazz, Block.class) != null) {
- return true;
- }
- }
- // Could create a Parametric Diagram on a Package, an intermediate Block will be created
- else if(selectedElement instanceof org.eclipse.uml2.uml.Package) {
- return true;
- }
- }
return false;
}
}
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/commands/CustomParametricContextLinkCreateCommand.java b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/commands/CustomParametricContextLinkCreateCommand.java
index 7f1ebc23682..5b82c60ff3c 100644
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/commands/CustomParametricContextLinkCreateCommand.java
+++ b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.parametric/src/org/eclipse/papyrus/sysml/diagram/parametric/commands/CustomParametricContextLinkCreateCommand.java
@@ -90,7 +90,7 @@ public class CustomParametricContextLinkCreateCommand extends
if(!canExecute()) {
throw new ExecutionException("Invalid arguments in create link command"); //$NON-NLS-1$
}
- Namespace context = resolveTargetNamespace();
+ Namespace context = getTarget();
if(getSource() != null && context != null) {
getSource().setContext(context);
String defaultNameWithIncrementFromBase = NamedElementHelper.getDefaultNameWithIncrementFromBase(Constraint.class.getSimpleName(), context.getOwnedRules(), getSource());
@@ -122,7 +122,7 @@ public class CustomParametricContextLinkCreateCommand extends
* Get the property Namespace in case of property typed by a Namespace
*/
@Override
- protected Namespace resolveTargetNamespace() {
+ protected Namespace getTarget() {
EObject targetNamespace;
if (target instanceof Property) {
targetNamespace = ((Property) target).getType();

Back to the top