svn commit: r17472 - trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java
Bob Tarling <[email protected]>
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: bobtarling
Date: 2009-11-16 02:21:13-0800
New Revision: 17472
Modified:
trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java
Log:
Allow multiple collaboration diagrams of the same collaboration
Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java?view=diff&pathrev=17472&r1=17471&r2=17472
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java 2009-11-16 02:21:13-0800
@@ -24,6 +24,13 @@
package org.argouml.uml.ui;
+import java.awt.event.ActionEvent;
+
+import org.argouml.kernel.Project;
+import org.argouml.kernel.ProjectManager;
+import org.argouml.model.Model;
+import org.argouml.ui.explorer.ExplorerEventAdaptor;
+import org.argouml.ui.targetmanager.TargetManager;
import org.argouml.uml.diagram.ArgoDiagram;
import org.argouml.uml.diagram.DiagramFactory;
import org.argouml.uml.diagram.DiagramSettings;
@@ -32,6 +39,11 @@
* Action to trigger creation of new collaboration diagram.
*/
public class ActionCollaborationDiagram extends ActionNewDiagram {
+
+ /**
+ * The UID.
+ */
+ private static final long serialVersionUID = -1089352213298998155L;
/**
* Constructor.
@@ -39,7 +51,20 @@
public ActionCollaborationDiagram() {
super("action.collaboration-diagram");
}
-
+
+ /**
+ * Find the right namespace for the diagram.
+ *
+ * @return the namespace or null
+ */
+ protected Object findNamespace() {
+ Object target = TargetManager.getInstance().getModelTarget();
+ if (Model.getFacade().isACollaboration(target)) {
+ return target;
+ }
+ return super.findNamespace();
+ }
+
/*
* @see org.argouml.uml.ui.ActionNewDiagram#createDiagram()
*/
@@ -47,21 +72,21 @@
@Deprecated
@Override
public ArgoDiagram createDiagram(Object namespace) {
- return DiagramFactory.getInstance().createDiagram(
- DiagramFactory.DiagramType.Collaboration,
- createCollaboration(namespace),
+ return createDiagram(
+ namespace,
null);
}
public ArgoDiagram createDiagram(Object namespace,
DiagramSettings settings) {
- return DiagramFactory.getInstance().create(
- DiagramFactory.DiagramType.Collaboration,
- createCollaboration(namespace), settings);
+ if (Model.getFacade().isACollaboration(namespace)) {
+ return DiagramFactory.getInstance().create(
+ DiagramFactory.DiagramType.Collaboration,
+ namespace, settings);
+ } else {
+ return DiagramFactory.getInstance().create(
+ DiagramFactory.DiagramType.Collaboration,
+ createCollaboration(namespace), settings);
+ }
}
- /**
- * The UID.
- */
- private static final long serialVersionUID = -1089352213298998155L;
-
}
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2418416
To unsubscribe from this discussion, e-mail: [[email protected]].