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]].
