Author: bobtarling
Date: 2011-05-23 04:26:28-0700
New Revision: 19487

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
   
trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigVertex.java

Log:
Entry points and exist points now cling to the bounds of their parent state

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=19487&r1=19486&r2=19487
==============================================================================
--- 
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 04:26:28-0700
@@ -15,11 +15,43 @@
 
 import java.awt.Rectangle;
 import org.argouml.uml.diagram.DiagramSettings;
+import org.tigris.gef.base.LayerPerspective;
+import org.tigris.gef.di.GraphNode;
+import org.tigris.gef.presentation.Connector;
+import org.tigris.gef.presentation.Fig;
+import org.tigris.gef.presentation.FigNode;
 
-public class FigEntryPoint extends FigCircleState implements NodeConnector {
+class FigEntryPoint extends FigCircleState implements Connector {
 
+    FigVertex node;
+    
     public FigEntryPoint(Object owner, Rectangle bounds, 
             DiagramSettings settings) {
         super(owner, bounds, settings);
     }
+
+    public GraphNode getGraphNode() {
+        return node;
+    }
+
+    public void setGraphNode(GraphNode node) {
+        this.node = (FigVertex) node;
+    }
+    
+
+    @Override
+    public void setEnclosingFig(Fig encloser) {
+        LayerPerspective lp = (LayerPerspective) getLayer();
+        if (lp == null) {
+            return;
+        }
+        
+        super.setEnclosingFig(encloser);
+
+        if (encloser != null) {
+            ((FigNode) encloser).addConnector(this);
+        } else {
+            ((FigNode) encloser).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=19487&r1=19486&r2=19487
==============================================================================
--- 
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 04:26:28-0700
@@ -15,11 +15,44 @@
 
 import java.awt.Rectangle;
 import org.argouml.uml.diagram.DiagramSettings;
+import org.tigris.gef.base.LayerPerspective;
+import org.tigris.gef.di.GraphNode;
+import org.tigris.gef.presentation.Connector;
+import org.tigris.gef.presentation.Fig;
+import org.tigris.gef.presentation.FigNode;
 
-public class FigExitPoint extends FigCircleState implements NodeConnector {
+class FigExitPoint extends FigCircleState implements Connector {
 
+    private FigVertex node;
+    
     public FigExitPoint(Object owner, Rectangle bounds, 
             DiagramSettings settings) {
         super(owner, bounds, settings);
     }
+
+    public GraphNode getGraphNode() {
+        return node;
+    }
+
+    public void setGraphNode(GraphNode node) {
+        this.node = (FigVertex) node;
+    }
+    
+    
+
+    @Override
+    public void setEnclosingFig(Fig encloser) {
+        LayerPerspective lp = (LayerPerspective) getLayer();
+        if (lp == null) {
+            return;
+        }
+        
+        super.setEnclosingFig(encloser);
+
+        if (encloser != null) {
+            ((FigNode) encloser).addConnector(this);
+        } else {
+            ((FigNode) encloser).removeConnector(this);
+        }
+    }
 }

Modified: 
trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigVertex.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigVertex.java?view=diff&pathrev=19487&r1=19486&r2=19487
==============================================================================
--- 
trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigVertex.java
        (original)
+++ 
trunk/src/argouml-core-diagrams-state2/src/org/argouml/state2/diagram/FigVertex.java
        2011-05-23 04:26:28-0700
@@ -41,6 +41,7 @@
 import org.argouml.uml.diagram.ui.FigNodeModelElement;
 import org.tigris.gef.base.LayerPerspective;
 import org.tigris.gef.di.DiagramElement;
+import org.tigris.gef.presentation.Connector;
 import org.tigris.gef.presentation.Fig;
 import org.tigris.gef.presentation.FigGroup;
 import org.tigris.gef.presentation.FigRRect;
@@ -318,9 +319,9 @@
     }
 
     public List<Rectangle> getTrapRects(Fig draggedFig) {
-        if (draggedFig instanceof NodeConnector) {
+        if (draggedFig instanceof Connector) {
             ArrayList<Rectangle> rects = new ArrayList<Rectangle>(1);
-            rects.add(getBounds());
+            rects.add(getBigPort().getBounds());
             return rects;
         } else {
             List regions = 
Model.getStateMachinesHelper().getRegions(getOwner());

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

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

Reply via email to