Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorytanguy2012-02-22 14:54:21 +0000
committerytanguy2012-02-22 14:54:21 +0000
commit910d1b5f16013e34747288fc58294505ce73fd8d (patch)
tree09eacdec1eb4c81aa3567dc93f9f45cab284ffcc /plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition
parent8ec82ea54ac6d92566f651c1f38162d61217a2b3 (diff)
downloadorg.eclipse.papyrus-910d1b5f16013e34747288fc58294505ce73fd8d.tar.gz
org.eclipse.papyrus-910d1b5f16013e34747288fc58294505ce73fd8d.tar.xz
org.eclipse.papyrus-910d1b5f16013e34747288fc58294505ce73fd8d.zip
372234: [SysML Internal Block Diagram] Support for ActorPart
https://bugs.eclipse.org/bugs/show_bug.cgi?id=372234 372235: [SysML Block Definition Diagram] Support for ActorPart https://bugs.eclipse.org/bugs/show_bug.cgi?id=372235 372236: [SysML Internal Block Diagram] Support for simple Property https://bugs.eclipse.org/bugs/show_bug.cgi?id=372236
Diffstat (limited to 'plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition')
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/palettes/blockdefinition.palette.modelelements.xml3
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/plugin.xml15
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src-gen/org/eclipse/papyrus/sysml/diagram/blockdefinition/factory/DiagramPaletteFactory.java4
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src-gen/org/eclipse/papyrus/sysml/diagram/blockdefinition/provider/CustomGraphicalTypeRegistry.java14
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/helper/advice/DeleteViewDuringPartEditHelperAdvice.java13
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/helper/advice/DeleteViewDuringReferenceEditHelperAdvice.java13
6 files changed, 56 insertions, 6 deletions
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/palettes/blockdefinition.palette.modelelements.xml b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/palettes/blockdefinition.palette.modelelements.xml
index aaac3251e52..daf4f537d96 100644
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/palettes/blockdefinition.palette.modelelements.xml
+++ b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/palettes/blockdefinition.palette.modelelements.xml
@@ -32,6 +32,9 @@
<aspectTool description="Create a new Reference" id="blockdefinition_modelelements.tool.reference"
name="Reference" refToolId="blockdefinition.tool.reference">
</aspectTool>
+ <aspectTool description="Create a new ActorPart" id="blockdefinition_modelelements.tool.actorpart"
+ name="ActorPart" refToolId="blockdefinition.tool.actorpart">
+ </aspectTool>
<aspectTool description="Create a new Value" id="blockdefinition_modelelements.tool.value"
name="Value" refToolId="blockdefinition.tool.value">
</aspectTool>
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/plugin.xml b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/plugin.xml
index 37b92455ff2..e06341f4fd6 100644
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/plugin.xml
+++ b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/plugin.xml
@@ -407,7 +407,18 @@
large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif"
small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Comment.gif">
</entry>
-
+
+ <!-- internalblock.tool.actorpart -->
+ <entry
+ defineOnly="true"
+ description="Create an ActorPart"
+ id="blockdefinition.tool.actorpart"
+ kind="tool"
+ label="ActorPart"
+ large_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif"
+ small_icon="platform:/plugin/org.eclipse.uml2.uml.edit/icons/full/obj16/Property.gif">
+ </entry>
+
<!-- End of user code -->
@@ -564,7 +575,7 @@
<!-- Custom graphical types view provider -->
<viewProvider class="org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.CustomViewProvider">
<Priority name="Medium"/>
- <context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="SysML::ReferenceProperty, UML::EnumerationLiteral, SysML::ConstraintBlock, UML::Signal, UML::Operation, SysML::FlowProperty, UML::PrimitiveType, UML::Port, SysML::ConstraintProperty, SysML::ValueProperty, UML::Reception, UML::Interface, UML::Constraint, UML::DataType, SysML::Unit, UML::Enumeration, SysML::ValueType, UML::Actor, UML::Property, SysML::Dimension, SysML::FlowSpecification, SysML::PartProperty, SysML::Block, SysML::FlowPort"/>
+ <context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="SysML::ActorPartProperty, SysML::ReferenceProperty, UML::EnumerationLiteral, SysML::ConstraintBlock, UML::Signal, UML::Operation, SysML::FlowProperty, UML::PrimitiveType, UML::Port, SysML::ConstraintProperty, SysML::ValueProperty, UML::Reception, UML::Interface, UML::Constraint, UML::DataType, SysML::Unit, UML::Enumeration, SysML::ValueType, UML::Actor, UML::Property, SysML::Dimension, SysML::FlowSpecification, SysML::PartProperty, SysML::Block, SysML::FlowPort"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Node" semanticHints="shape_sysml_block_as_classifier, shape_sysml_part_as_label, shape_uml_reception_as_label, shape_uml_port_as_label, shape_sysml_valuetype_as_classifier, shape_uml_enumerationliteral_as_label, shape_sysml_constraintproperty_as_label, shape_sysml_dimension_as_classifier, shape_sysml_flowspecification_as_classifier, shape_uml_operation_as_label, shape_sysml_reference_as_label, shape_sysml_unit_as_classifier, shape_sysml_flowport_as_affixed, shape_uml_port_as_affixed, shape_uml_property_as_label, shape_uml_signal_as_classifier, shape_uml_enumeration_as_classifier, shape_uml_primitivetype_as_classifier, shape_uml_datatype_as_classifier, shape_uml_interface_as_classifier, shape_sysml_flowproperty_as_label, shape_sysml_constraintblock_as_classifier, shape_sysml_value_as_label, shape_sysml_flowport_as_label, shape_uml_actor_as_classifier, shape_uml_constraint_as_label"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="SysML::AssociationNone, UML::Dependency, SysML::Association, UML::InterfaceRealization, UML::Generalization, SysML::AssociationSharedDirected, SysML::AssociationCompositeDirected, SysML::AssociationComposite, UML::Usage, SysML::AssociationNoneDirected, SysML::AssociationShared"/>
<context viewClass="org.eclipse.gmf.runtime.notation.Edge" semanticHints="link_uml_dependency, link_uml_usage, link_uml_interfacerealization, link_sysml_association, link_uml_generalization"/>
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src-gen/org/eclipse/papyrus/sysml/diagram/blockdefinition/factory/DiagramPaletteFactory.java b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src-gen/org/eclipse/papyrus/sysml/diagram/blockdefinition/factory/DiagramPaletteFactory.java
index bd9d4d645c4..7eb8b914727 100644
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src-gen/org/eclipse/papyrus/sysml/diagram/blockdefinition/factory/DiagramPaletteFactory.java
+++ b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src-gen/org/eclipse/papyrus/sysml/diagram/blockdefinition/factory/DiagramPaletteFactory.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011-2012 CEA LIST.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -67,6 +67,8 @@ public class DiagramPaletteFactory extends PaletteFactory.Adapter {
put("blockdefinition.tool.slot", new IElementType[]{ UMLElementTypes.SLOT });
put("blockdefinition.tool.comment", new IElementType[]{ UMLElementTypes.COMMENT });
+ put("blockdefinition.tool.actorpart", new IElementType[]{ SysMLElementTypes.ACTOR_PART_PROPERTY });
+
//End of user code
}
};
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src-gen/org/eclipse/papyrus/sysml/diagram/blockdefinition/provider/CustomGraphicalTypeRegistry.java b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src-gen/org/eclipse/papyrus/sysml/diagram/blockdefinition/provider/CustomGraphicalTypeRegistry.java
index a07d90e7473..a82c829a4f7 100644
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src-gen/org/eclipse/papyrus/sysml/diagram/blockdefinition/provider/CustomGraphicalTypeRegistry.java
+++ b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src-gen/org/eclipse/papyrus/sysml/diagram/blockdefinition/provider/CustomGraphicalTypeRegistry.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011-2012 CEA LIST.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -204,6 +204,12 @@ public class CustomGraphicalTypeRegistry extends GraphicalTypeRegistry {
}
return UNDEFINED_TYPE;
}
+ if(((ISpecializationType)SysMLElementTypes.ACTOR_PART_PROPERTY).getMatcher().matches(domainElement)) {
+ if(SysMLGraphicalTypes.COMPARTMENT_SYSML_PROPERTY_AS_LIST_ID.equals(containerType)) {
+ return UMLGraphicalTypes.SHAPE_UML_PROPERTY_AS_LABEL_ID;
+ }
+ return UNDEFINED_TYPE;
+ }
if(UMLElementTypes.PROPERTY.getEClass().isInstance(domainElement)) {
if(UMLGraphicalTypes.COMPARTMENT_UML_PROPERTY_AS_LIST_ID.equals(containerType)) {
return UMLGraphicalTypes.SHAPE_UML_PROPERTY_AS_LABEL_ID;
@@ -532,6 +538,12 @@ public class CustomGraphicalTypeRegistry extends GraphicalTypeRegistry {
}
return UNDEFINED_TYPE;
}
+ if(SysMLElementTypes.ACTOR_PART_PROPERTY.getSemanticHint().equals(proposedType)) {
+ if(SysMLGraphicalTypes.COMPARTMENT_SYSML_PROPERTY_AS_LIST_ID.equals(containerType)) {
+ return UMLGraphicalTypes.SHAPE_UML_PROPERTY_AS_LABEL_ID;
+ }
+ return UNDEFINED_TYPE;
+ }
if(UMLElementTypes.PROPERTY.getSemanticHint().equals(proposedType)) {
if(UMLGraphicalTypes.COMPARTMENT_UML_PROPERTY_AS_LIST_ID.equals(containerType)) {
return UMLGraphicalTypes.SHAPE_UML_PROPERTY_AS_LABEL_ID;
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/helper/advice/DeleteViewDuringPartEditHelperAdvice.java b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/helper/advice/DeleteViewDuringPartEditHelperAdvice.java
index 6b4bbabcd7c..02d624debf7 100644
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/helper/advice/DeleteViewDuringPartEditHelperAdvice.java
+++ b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/helper/advice/DeleteViewDuringPartEditHelperAdvice.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011-2012 CEA LIST.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -21,15 +21,18 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
import org.eclipse.gmf.runtime.common.core.command.ICommand;
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyDependentsRequest;
import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.ElementTypes;
import org.eclipse.papyrus.sysml.diagram.common.utils.SysMLGraphicalTypes;
+import org.eclipse.papyrus.sysml.service.types.element.SysMLElementTypes;
import org.eclipse.papyrus.uml.diagram.common.util.CrossReferencerUtil;
import org.eclipse.uml2.uml.AggregationKind;
import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
import org.eclipse.uml2.uml.UMLPackage;
/**
@@ -56,6 +59,14 @@ public class DeleteViewDuringPartEditHelperAdvice extends AbstractEditHelperAdvi
viewsToDestroy.addAll(getViewsToDestroy(modifiedObject));
}
+ if ((modifiedObject != null) && (modifiedObject instanceof Property)
+ && (request.getFeature() == UMLPackage.eINSTANCE.getTypedElement_Type())
+ && (request.getValue() instanceof Type)
+ && !((ISpecializationType) SysMLElementTypes.BLOCK).getMatcher().matches((Type) request.getValue())) {
+
+ viewsToDestroy.addAll(getViewsToDestroy(modifiedObject));
+ }
+
if(!viewsToDestroy.isEmpty()) {
DestroyDependentsRequest ddr = new DestroyDependentsRequest(request.getEditingDomain(), request.getElementToEdit(), false);
ICommand destroyViewsCommand = ddr.getDestroyDependentsCommand(viewsToDestroy);
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/helper/advice/DeleteViewDuringReferenceEditHelperAdvice.java b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/helper/advice/DeleteViewDuringReferenceEditHelperAdvice.java
index 96245a30d15..59d1c06613f 100644
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/helper/advice/DeleteViewDuringReferenceEditHelperAdvice.java
+++ b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.blockdefinition/src/org/eclipse/papyrus/sysml/diagram/blockdefinition/helper/advice/DeleteViewDuringReferenceEditHelperAdvice.java
@@ -1,5 +1,5 @@
/*****************************************************************************
- * Copyright (c) 2011 CEA LIST.
+ * Copyright (c) 2011-2012 CEA LIST.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
@@ -21,15 +21,18 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
import org.eclipse.gmf.runtime.common.core.command.ICommand;
import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyDependentsRequest;
import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
import org.eclipse.gmf.runtime.notation.View;
import org.eclipse.papyrus.sysml.diagram.blockdefinition.provider.ElementTypes;
import org.eclipse.papyrus.sysml.diagram.common.utils.SysMLGraphicalTypes;
+import org.eclipse.papyrus.sysml.service.types.element.SysMLElementTypes;
import org.eclipse.papyrus.uml.diagram.common.util.CrossReferencerUtil;
import org.eclipse.uml2.uml.AggregationKind;
import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
import org.eclipse.uml2.uml.UMLPackage;
/**
@@ -56,6 +59,14 @@ public class DeleteViewDuringReferenceEditHelperAdvice extends AbstractEditHelpe
viewsToDestroy.addAll(getViewsToDestroy(modifiedObject));
}
+ if ((modifiedObject != null) && (modifiedObject instanceof Property)
+ && (request.getFeature() == UMLPackage.eINSTANCE.getTypedElement_Type())
+ && (request.getValue() instanceof Type)
+ && !((ISpecializationType) SysMLElementTypes.BLOCK).getMatcher().matches((Type) request.getValue())) {
+
+ viewsToDestroy.addAll(getViewsToDestroy(modifiedObject));
+ }
+
if(!viewsToDestroy.isEmpty()) {
DestroyDependentsRequest ddr = new DestroyDependentsRequest(request.getEditingDomain(), request.getElementToEdit(), false);
ICommand destroyViewsCommand = ddr.getDestroyDependentsCommand(viewsToDestroy);

Back to the top