Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorashatilov2015-01-21 09:59:59 +0000
committerCamille Letavernier2015-05-05 13:30:35 +0000
commit2b61bc9ac0e82861d0ab427784680fdc115627ba (patch)
tree28b26618b0ab9c1a7186eb2b30962e1f29f5d0d9 /plugins/sysml/diagram
parentc9f82a5c52e6b07cd947ae427b4cd7c02d9cf1be (diff)
downloadorg.eclipse.papyrus-2b61bc9ac0e82861d0ab427784680fdc115627ba.tar.gz
org.eclipse.papyrus-2b61bc9ac0e82861d0ab427784680fdc115627ba.tar.xz
org.eclipse.papyrus-2b61bc9ac0e82861d0ab427784680fdc115627ba.zip
Bug 431726 - [SysML IBD] Flowports and label management
(show/hide/manage) Change-Id: I753f02a27e0e10082650d50740e09d4ef0f585c9 Signed-off-by: ashatilov <montages.as@gmail.com> Reviewed-on: https://git.eclipse.org/r/40012 Tested-by: Hudson CI Reviewed-by: Michael Golubev <golubev@montages.com> Reviewed-by: Camille Letavernier <camille.letavernier@cea.fr>
Diffstat (limited to 'plugins/sysml/diagram')
-rw-r--r--plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.common/src-common-sysml/org/eclipse/papyrus/sysml/diagram/common/edit/part/FlowPortAffixedNodeEditPart.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.common/src-common-sysml/org/eclipse/papyrus/sysml/diagram/common/edit/part/FlowPortAffixedNodeEditPart.java b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.common/src-common-sysml/org/eclipse/papyrus/sysml/diagram/common/edit/part/FlowPortAffixedNodeEditPart.java
index 5bae914adce..ce77cd91c3b 100644
--- a/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.common/src-common-sysml/org/eclipse/papyrus/sysml/diagram/common/edit/part/FlowPortAffixedNodeEditPart.java
+++ b/plugins/sysml/diagram/org.eclipse.papyrus.sysml.diagram.common/src-common-sysml/org/eclipse/papyrus/sysml/diagram/common/edit/part/FlowPortAffixedNodeEditPart.java
@@ -29,6 +29,7 @@ import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
import org.eclipse.gef.handles.MoveHandle;
import org.eclipse.gef.requests.CreateRequest;
import org.eclipse.gmf.runtime.diagram.ui.editparts.IBorderItemEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.gmf.runtime.diagram.ui.figures.IBorderItemLocator;
import org.eclipse.gmf.runtime.notation.NotationPackage;
import org.eclipse.gmf.runtime.notation.View;
@@ -40,6 +41,7 @@ import org.eclipse.papyrus.sysml.diagram.common.utils.SysMLGraphicalTypes;
import org.eclipse.papyrus.sysml.portandflows.FlowPort;
import org.eclipse.papyrus.sysml.portandflows.PortandflowsPackage;
import org.eclipse.papyrus.uml.diagram.common.edit.part.AbstractElementBorderEditPart;
+import org.eclipse.papyrus.uml.diagram.common.edit.part.AbstractElementLabelEditPart;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeIconlDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.AppliedStereotypeLabelDisplayEditPolicy;
import org.eclipse.papyrus.uml.diagram.common.editpolicies.ShowHideLabelEditPolicy;
@@ -271,4 +273,64 @@ public class FlowPortAffixedNodeEditPart extends AbstractElementBorderEditPart {
super.activate();
}
+ /**
+ * {@inheritDoc}
+ */
+
+ @Override
+ protected void addChildVisual(EditPart childEditPart, int index) {
+ if (addFixedChild(childEditPart)) {
+ return;
+ }
+ super.addChildVisual(childEditPart, -1);
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+
+ @Override
+ protected void removeChildVisual(EditPart childEditPart) {
+ if (removeFixedChild(childEditPart)) {
+ return;
+ }
+ super.removeChildVisual(childEditPart);
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean addFixedChild(EditPart childEditPart) {
+ if (childEditPart instanceof FlowPortAffixedLabelNameEditPart) {
+ ((FlowPortAffixedLabelNameEditPart) childEditPart).setLabel(getPrimaryShape().getNameLabel());
+ IFigure borderItemContainer = getContentPaneFor((IGraphicalEditPart) childEditPart);
+ addBorderItem(borderItemContainer, (IBorderItemEditPart) childEditPart);
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean removeFixedChild(EditPart childEditPart) {
+ if (childEditPart instanceof FlowPortAffixedLabelNameEditPart) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void removeChild(EditPart child) {
+ if (child instanceof AbstractElementLabelEditPart) {
+ return;
+ }
+ super.removeChild(child);
+ }
+
}

Back to the top