Author: bobtarling
Date: 2008-10-14 03:30:55-0700
New Revision: 15919
Modified:
trunk/src/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java
Log:
Defect 5455: Pass specific objects to add rather than use target manager
Modified: trunk/src/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java?view=diff&rev=15919&p1=trunk/src/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java&p2=trunk/src/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java&r1=15918&r2=15919
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java (original)
+++ trunk/src/argouml-app/src/org/argouml/ui/explorer/ExplorerPopup.java 2008-10-14 03:30:55-0700
@@ -62,6 +62,7 @@
import org.argouml.uml.diagram.ui.ActionAddExistingNode;
import org.argouml.uml.diagram.ui.ActionAddExistingNodes;
import org.argouml.uml.diagram.ui.ActionSaveDiagramToClipboard;
+import org.argouml.uml.diagram.ui.ModeAddToDiagram;
import org.argouml.uml.ui.ActionActivityDiagram;
import org.argouml.uml.ui.ActionClassDiagram;
import org.argouml.uml.ui.ActionCollaborationDiagram;
@@ -72,7 +73,11 @@
import org.argouml.uml.ui.ActionStateDiagram;
import org.argouml.uml.ui.ActionUseCaseDiagram;
import org.tigris.gef.base.Diagram;
+import org.tigris.gef.base.Editor;
+import org.tigris.gef.base.Globals;
+import org.tigris.gef.graph.GraphModel;
import org.tigris.gef.graph.MutableGraphModel;
+import org.tigris.gef.undo.UndoableAction;
/**
* PopUp for extra functionality for the Explorer.
@@ -591,7 +596,7 @@
private static final long serialVersionUID = -5663884871599931780L;
- private class ActionAddExistingRelatedNode extends ActionAddExistingNode {
+ private class ActionAddExistingRelatedNode extends UndoableAction {
/**
* The UML object to be added to the diagram.
@@ -605,7 +610,7 @@
* @param o the node UML object to be added
*/
public ActionAddExistingRelatedNode(String name, Object o) {
- super(name, o);
+ super(name);
object = o;
}
@@ -619,6 +624,33 @@
MutableGraphModel gm = (MutableGraphModel) dia.getGraphModel();
return gm.canAddNode(object);
}
+
+ public void actionPerformed(ActionEvent ae) {
+ super.actionPerformed(ae);
+ Editor ce = Globals.curEditor();
+ GraphModel gm = ce.getGraphModel();
+ if (!(gm instanceof MutableGraphModel)) {
+ return;
+ }
+
+ String instructions = null;
+ if (object != null) {
+ instructions =
+ Translator.localize(
+ "misc.message.click-on-diagram-to-add",
+ new Object[] {
+ Model.getFacade().toString(object),
+ });
+ Globals.showStatus(instructions);
+ }
+
+ ArrayList<Object> elementsToAdd = new ArrayList<Object>(1);
+ elementsToAdd.add(object);
+ final ModeAddToDiagram placeMode =
+ new ModeAddToDiagram(elementsToAdd, instructions);
+
+ Globals.mode(placeMode, false);
+ }
} /* end class ActionAddExistingRelatedNode */
/**
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.