Author: bobtarling
Date: 2011-05-23 07:24:50-0700
New Revision: 19493

Modified:
   
trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigEntryPoint.java
   
trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigExitPoint.java

Log:
If entry/exit dragged to a different vertext then remove connector registration 
to old vertex

Modified: 
trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigEntryPoint.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigEntryPoint.java?view=diff&pathrev=19493&r1=19492&r2=19493
==============================================================================
--- 
trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigEntryPoint.java
    (original)
+++ 
trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigEntryPoint.java
    2011-05-23 07:24:50-0700
@@ -41,17 +41,22 @@
 
     @Override
     public void setEnclosingFig(Fig encloser) {
+        // TODO: Note copy/paste code in FigExitPoint - where is this code
+        // better placed in GEF?
         LayerPerspective lp = (LayerPerspective) getLayer();
         if (lp == null) {
             return;
         }
         
         super.setEnclosingFig(encloser);
-
-        if (encloser != null) {
-            ((FigNode) encloser).addConnector(this);
+        FigVertex vertex = ((FigVertex) encloser);
+        
+        if (vertex != null) {
+            vertex.addConnector(this);
         } else {
-            ((FigNode) encloser).removeConnector(this);
+            FigVertex previousVertex = (FigVertex) getGraphNode();
+            if (previousVertex != null)
+                previousVertex.removeConnector(this);
         }
     }
 }

Modified: 
trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigExitPoint.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigExitPoint.java?view=diff&pathrev=19493&r1=19492&r2=19493
==============================================================================
--- 
trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigExitPoint.java
     (original)
+++ 
trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigExitPoint.java
     2011-05-23 07:24:50-0700
@@ -42,17 +42,22 @@
 
     @Override
     public void setEnclosingFig(Fig encloser) {
+        // TODO: Note copy/paste code in FigEntryPoint - where is this code
+        // better placed in GEF?
         LayerPerspective lp = (LayerPerspective) getLayer();
         if (lp == null) {
             return;
         }
         
         super.setEnclosingFig(encloser);
-
-        if (encloser != null) {
-            ((FigNode) encloser).addConnector(this);
+        FigVertex vertex = ((FigVertex) encloser);
+        
+        if (vertex != null) {
+            vertex.addConnector(this);
         } else {
-            ((FigNode) encloser).removeConnector(this);
+            FigVertex previousVertex = (FigVertex) getGraphNode();
+            if (previousVertex != null)
+                previousVertex.removeConnector(this);
         }
     }
 }

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2745935

To unsubscribe from this discussion, e-mail: 
[[email protected]].

Reply via email to