Author: mvw
Date: 2008-05-01 14:58:07-0700
New Revision: 14574
Added:
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ModePlacePartition.java
- copied, changed from r14571,
/trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ModePlacePackage.java
Removed:
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ModePlacePackage.java
Modified:
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ActionCreatePartition.java
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/FigPartition.java
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/UMLActivityDiagram.java
Log:
Fix for issue 5052: Resolve cyclic dependency between FigPartition and
UMLActivityDiagram.
Modified:
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ActionCreatePartition.java
Url:
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ActionCreatePartition.java?view=diff&rev=14574&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ActionCreatePartition.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ActionCreatePartition.java&r1=14573&r2=14574
==============================================================================
---
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ActionCreatePartition.java
(original)
+++
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ActionCreatePartition.java
2008-05-01 14:58:07-0700
@@ -1,5 +1,5 @@
// $Id$
-// Copyright (c) 2007 The Regents of the University of California. All
+// Copyright (c) 2007-2008 The Regents of the University of California. All
// Rights Reserved. Permission to use, copy, modify, and distribute this
// software and its documentation without fee, and without a written
// agreement is hereby granted, provided that the above copyright notice
@@ -28,19 +28,27 @@
import org.argouml.ui.CmdCreateNode;
import org.tigris.gef.base.Mode;
+/**
+ * The Action to create a Partition on the diagram.
+ */
public class ActionCreatePartition extends CmdCreateNode {
+ private Object machine;
+
/**
* Constructor
+ *
+ * @param activityGraph the UML element that contains the Partition
*/
- public ActionCreatePartition() {
+ public ActionCreatePartition(Object activityGraph) {
super(Model.getMetaTypes().getPartition(),
"button.new-partition");
+ machine = activityGraph;
}
@Override
protected Mode createMode(String instructions) {
- return new ModePlacePackage(this, instructions);
+ return new ModePlacePartition(this, instructions, machine);
}
}
Modified:
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/FigPartition.java
Url:
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/FigPartition.java?view=diff&rev=14574&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/FigPartition.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/FigPartition.java&r1=14573&r2=14574
==============================================================================
---
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/FigPartition.java
(original)
+++
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/FigPartition.java
2008-05-01 14:58:07-0700
@@ -1,5 +1,5 @@
// $Id$
-// Copyright (c) 2003-2007 The Regents of the University of California. All
+// Copyright (c) 2003-2008 The Regents of the University of California. All
// Rights Reserved. Permission to use, copy, modify, and distribute this
// software and its documentation without fee, and without a written
// agreement is hereby granted, provided that the above copyright notice
@@ -248,16 +248,14 @@
/**
* On post placement look to see if there are any other
* FigPartitions. If so place to the right and resize height.
+ *
+ * @param activityGraph the UML ActivityGraph element
+ * that contains the Partition
*/
- public void appendToPool() {
+ public void appendToPool(Object activityGraph) {
List partitions = getPartitions(getLayer());
- // TODO: There is a cyclic dependency between FigPartition and
- // UMLActivityDiagram which needs to be removed. - tfm
- UMLActivityDiagram diagram =
- (UMLActivityDiagram) getProject().getActiveDiagram();
- Object machine = diagram.getStateMachine();
Model.getCoreHelper().setModelElementContainer(
- getOwner(), machine);
+ getOwner(), activityGraph);
if (partitions.size() == 1) {
FigPool fp = new FigPool(getBounds());
@@ -412,6 +410,8 @@
/**
* Construct a new SelectionPartition for the given partition
+ *
+ * @param f the Fig
*/
public SelectionPartition(FigPartition f) {
super(f);
Removed:
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ModePlacePackage.java
Url:
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ModePlacePackage.java?view=auto&rev=14573
Copied:
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ModePlacePartition.java
(from r14571,
/trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ModePlacePackage.java)
Url:
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ModePlacePartition.java?view=diff&rev=14574&p1=/trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ModePlacePackage.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ModePlacePartition.java&r1=14571&r2=14574
==============================================================================
---
/trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ModePlacePackage.java
(original)
+++
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/ModePlacePartition.java
2008-05-01 14:58:07-0700
@@ -1,5 +1,5 @@
// $Id$
-// Copyright (c) 2007 The Regents of the University of California. All
+// Copyright (c) 2007-2008 The Regents of the University of California. All
// Rights Reserved. Permission to use, copy, modify, and distribute this
// software and its documentation without fee, and without a written
// agreement is hereby granted, provided that the above copyright notice
@@ -28,10 +28,23 @@
import org.tigris.gef.base.ModePlace;
import org.tigris.gef.graph.GraphFactory;
-public class ModePlacePackage extends ModePlace {
+/**
+ * A mode to place a new Partition on the diagram.
+ *
+ * @author Bobtarling
+ */
+public class ModePlacePartition extends ModePlace {
+ private Object machine;
- public ModePlacePackage(GraphFactory gf, String instructions) {
+ /**
+ * @param gf the command to create the node
+ * @param instructions help text
+ * @param activityGraph the UML element that contains the Partition
+ */
+ public ModePlacePartition(GraphFactory gf, String instructions,
+ Object activityGraph) {
super(gf, instructions);
+ machine = activityGraph;
}
@Override
@@ -44,6 +57,6 @@
super.mouseReleased(me);
- fig.appendToPool();
+ fig.appendToPool(machine);
}
}
Modified:
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/UMLActivityDiagram.java
Url:
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/UMLActivityDiagram.java?view=diff&rev=14574&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/UMLActivityDiagram.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/UMLActivityDiagram.java&r1=14573&r2=14574
==============================================================================
---
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/UMLActivityDiagram.java
(original)
+++
trunk/src/argouml-app/src/org/argouml/uml/diagram/activity/ui/UMLActivityDiagram.java
2008-05-01 14:58:07-0700
@@ -443,7 +443,7 @@
protected Action getActionSwimlane() {
if (actionSwimlane == null) {
actionSwimlane =
- new ActionCreatePartition();
+ new ActionCreatePartition(getStateMachine());
}
return actionSwimlane;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]