svn commit: r19470 - trunk/src/argouml-app/src/org/argouml/uml/diagram/state/ui/FigVertex.java
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: bobtarling
Date: 2011-05-20 00:58:39-0700
New Revision: 19470
Modified:
trunk/src/argouml-app/src/org/argouml/uml/diagram/state/ui/FigVertex.java
Log:
Detect drop region of vertex
Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/state/ui/FigVertex.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/state/ui/FigVertex.java?view=diff&pathrev=19470&r1=19469&r2=19470
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/state/ui/FigVertex.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/state/ui/FigVertex.java 2011-05-20 00:58:39-0700
@@ -100,19 +100,30 @@
super.setEnclosingFig(encloser);
- final Object region;
+ Object region = null;
if (encloser != null) {
// Get the region as the first Region in the State.
// If there is no region in the StateMachine then create one.
List regions = Model.getStateMachinesHelper().getRegions(
encloser.getOwner());
if (regions.isEmpty()) {
+ // There are no regions so create one and place the vertex there.
region = Model.getUmlFactory().buildNode(
Model.getMetaTypes().getRegion(), encloser.getOwner());
} else {
- region = regions.get(0);
+ // There are one or more regions so find the one that the
+ //vertex was dropped in
+ FigVertex compositeState = (FigVertex) encloser;
+ for (DiagramElement de :
+ compositeState.regionCompartment.getDiagramElements()) {
+ if (((Fig) de).getBounds().contains(getBounds())) {
+ region = de.getOwner();
+ break;
+ }
+ }
}
} else {
+ // The vertex was dropped onto the diagram.
// Get the region as the first Region in the StateMachine.
// If there is no region in the StateMachine then create one.
ArgoDiagram diagram = (ArgoDiagram) lp.getDiagram();
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2742225
To unsubscribe from this discussion, e-mail: [[email protected]].