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;
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.