svn commit: r18562 - trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/UMLActivityDiagram.java

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: bobtarling
Date: 2010-07-24 14:55:12-0700
New Revision: 18562

Modified:
   trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/UMLActivityDiagram.java

Log:
Stripped down activity diagram

Modified: trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/UMLActivityDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/UMLActivityDiagram.java?view=diff&pathrev=18562&r1=18561&r2=18562
==============================================================================
--- trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/UMLActivityDiagram.java	(original)
+++ trunk/src/argouml-core-diagrams-activity2/src/org/argouml/activity2/diagram/UMLActivityDiagram.java	2010-07-24 14:55:12-0700
@@ -14,112 +14,71 @@
 package org.argouml.activity2.diagram;
 
 import java.awt.Rectangle;
-import java.beans.PropertyVetoException;
-import java.util.Collection;
-import java.util.Collections;
-
-import javax.swing.Action;
 
 import org.apache.log4j.Logger;
 import org.argouml.i18n.Translator;
 import org.argouml.model.ActivityDiagram;
 import org.argouml.model.Model;
-import org.argouml.ui.CmdCreateNode;
 import org.argouml.uml.diagram.DiagramElement;
 import org.argouml.uml.diagram.DiagramSettings;
+import org.argouml.uml.diagram.UMLMutableGraphSupport;
+import org.argouml.uml.diagram.UmlDiagramRenderer;
 import org.argouml.uml.diagram.static_structure.ui.FigComment;
-import org.argouml.uml.diagram.ui.ActionSetMode;
 import org.argouml.uml.diagram.ui.FigNodeModelElement;
-import org.argouml.uml.diagram.ui.RadioAction;
-import org.argouml.uml.diagram.ui.UMLDiagram;
-import org.tigris.gef.base.LayerPerspective;
-import org.tigris.gef.base.LayerPerspectiveMutable;
-import org.tigris.gef.base.ModeCreatePolyEdge;
-import org.tigris.gef.graph.MutableGraphModel;
-import org.tigris.gef.presentation.FigNode;
 
-public class UMLActivityDiagram extends UMLDiagram implements ActivityDiagram {
+public class UMLActivityDiagram extends BaseDiagram implements ActivityDiagram {
     
     private static final Logger LOG = Logger
         .getLogger(UMLActivityDiagram.class);
     
     public UMLActivityDiagram(Object activity) {
-        super();
-        MutableGraphModel gm = new ActivityDiagramGraphModel(); 
-        setGraphModel(gm);
-        
-        // Create the layer
-        LayerPerspective lay = new
-            LayerPerspectiveMutable(this.getName(), gm);
-        setLayer(lay);
-        
-        // Create the renderer
-        ActivityDiagramRenderer renderer = new ActivityDiagramRenderer();
-        lay.setGraphNodeRenderer(renderer);
-        lay.setGraphEdgeRenderer(renderer);
-        if (LOG.isDebugEnabled()) {
-            LOG.debug("Constructing Activity Diagram for activity "
-                    + activity);
-        }
-        try {
-            this.setName(getNewDiagramName());
-        } catch (PropertyVetoException e) {
-            LOG.error("Exception", e);
-        }
-        ((ActivityDiagramGraphModel) getGraphModel()).setOwner(activity);
-        setNamespace(activity);
+        super(activity);
     }
     
-    
     @Override
-    public void initialize(Object owner) {
-        super.initialize(owner);
-        ActivityDiagramGraphModel gm =
-            (ActivityDiagramGraphModel) getGraphModel();
-        gm.setOwner(owner);
+    UmlDiagramRenderer createDiagramRenderer() {
+        return new ActivityDiagramRenderer();
     }
 
     @Override
-    protected Object[] getUmlActions() {
-        Object[] actions = {
-            getCreateEdgeAction(Model.getMetaTypes().getControlFlow(), "button.new-controlflow"),
-            getCreateEdgeAction(Model.getMetaTypes().getObjectFlow(), "button.new-objectflow"),
-            getCreateNodeAction(Model.getMetaTypes().getCallBehaviorAction(), "button.new-callbehavioraction"),
-            getCreateNodeAction(Model.getMetaTypes().getCreateObjectAction(), "button.new-createobjectaction"),
-            getCreateNodeAction(Model.getMetaTypes().getDestroyObjectAction(), "button.new-destroyobjectaction"),
-            getCreateNodeAction(Model.getMetaTypes().getAcceptEventAction(), "button.new-accepteventaction"),
-            getCreateNodeAction(Model.getMetaTypes().getSendSignalAction(), "button.new-sendsignalaction"),
-            getCreateNodeAction(Model.getMetaTypes().getDestroyObjectAction(), "button.new-destroyobjectaction"),
+    UMLMutableGraphSupport createGraphModel() {
+        return new ActivityDiagramGraphModel(); 
+    }
+
+    @Override
+    Object[] getNewEdgeTypes() {
+        return new Object[] {
+            Model.getMetaTypes().getControlFlow(),
+            Model.getMetaTypes().getObjectFlow()
         };
-        return actions;
     }
 
-    /**
-     * @return Returns a diagram tool creation action.
-     */
-    private Action getCreateNodeAction(Object metaType, String label) {
-        return new RadioAction(
-                new CmdCreateNode(metaType, label));
+
+    @Override
+    Object[] getNewNodeTypes() {
+        return new Object[] {
+            Model.getMetaTypes().getObjectNode(),
+            Model.getMetaTypes().getCallBehaviorAction(),
+            Model.getMetaTypes().getCreateObjectAction(),
+            Model.getMetaTypes().getDestroyObjectAction(),
+            Model.getMetaTypes().getAcceptEventAction(),
+            Model.getMetaTypes().getSendSignalAction(),
+            Model.getMetaTypes().getDestroyObjectAction()
+        };
     }
-    
-    protected Action getCreateEdgeAction(Object metaType, String label) {
-        return new RadioAction(
-                new ActionSetMode(
-                        ModeCreatePolyEdge.class,
-                        "edgeClass",
-                        metaType,
-                        label));
-    }    
-    
+
+
     @Override
-    public String getLabelName() {
-        return Translator.localize("label.activity-diagram");
+    public void initialize(Object owner) {
+        super.initialize(owner);
+        ActivityDiagramGraphModel gm =
+            (ActivityDiagramGraphModel) getGraphModel();
+        gm.setOwner(owner);
     }
-    
+
     @Override
-    public void encloserChanged(FigNode enclosed, FigNode oldEncloser,
-            FigNode newEncloser) {
-    	// Do nothing.        
+    public String getLabelName() {
+        return Translator.localize("label.activity-diagram");
     }
     
     @Override
@@ -132,27 +91,6 @@
         return false;
     }
     
-    /*
-     * @see org.argouml.uml.diagram.ui.UMLDiagram#isRelocationAllowed(java.lang.Object)
-     */
-    public boolean isRelocationAllowed(Object base)  {
-        // An activity diagram is always attached to a single activity and
-        // can't be relocated/
-        return false;
-    }
-    
-    public Collection getRelocationCandidates(Object root) {
-        // An activity diagram is always attached to a single activity and
-        // can't be relocated/
-        return Collections.EMPTY_LIST;
-    }
-    
-    public boolean relocate(Object base) {
-        // An activity diagram is always attached to a single activity and
-        // can't be relocated
-        return false;
-    }
-    
     public DiagramElement createDiagramElement(
             final Object modelElement,
             final Rectangle bounds) {
@@ -162,7 +100,7 @@
         DiagramSettings settings = getDiagramSettings();
         
         if (Model.getFacade().isAAction(modelElement)) {
-            figNode = new FigAction(modelElement, bounds, settings);
+            figNode = new FigActivityNode(modelElement, bounds, settings);
         } else if (Model.getFacade().isAComment(modelElement)) {
             figNode = new FigComment(modelElement, bounds, settings);
         }

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2637754

To unsubscribe from this discussion, e-mail: [[email protected]].
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.