svn commit: r17254 - trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2

Bob Tarling <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: bobtarling
Date: 2009-08-10 14:32:37-0700
New Revision: 17254

Removed:
   trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/ClassDiagram2Module.java
Modified:
   trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/UMLClassDiagram2.java
   trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/UMLStructureDiagram2.java
   trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/Uml2DiagramModule.java

Log:
Give diagrams the responsibility of creating DiagramElements (Figs) so that reverse engineering does not need to know of FigClass FigInterface or any other concrete Figs

Removed: trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/ClassDiagram2Module.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/ClassDiagram2Module.java?view=markup&pathrev=17253

Modified: trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/UMLClassDiagram2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/UMLClassDiagram2.java?view=diff&pathrev=17254&r1=17253&r2=17254
==============================================================================
--- trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/UMLClassDiagram2.java	(original)
+++ trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/UMLClassDiagram2.java	2009-08-10 14:32:37-0700
@@ -24,8 +24,6 @@
 
 package org.argouml.diagram.uml2;
 
-import java.awt.Point;
-import java.awt.Rectangle;
 import java.beans.PropertyVetoException;
 import java.util.Collection;
 
@@ -34,12 +32,10 @@
 import org.apache.log4j.Logger;
 import org.argouml.i18n.Translator;
 import org.argouml.model.Model;
-import org.argouml.uml.diagram.DiagramSettings;
 import org.argouml.uml.diagram.static_structure.ClassDiagramGraphModel;
 import org.argouml.uml.diagram.ui.ModeCreateDependency;
 import org.argouml.uml.diagram.ui.ModeCreatePermission;
 import org.argouml.uml.diagram.ui.ModeCreateUsage;
-import org.argouml.uml.diagram.ui.UMLDiagram;
 import org.argouml.uml.ui.foundation.core.ActionAddAttribute;
 import org.argouml.uml.ui.foundation.core.ActionAddOperation;
 import org.argouml.util.ToolBarUtility;
@@ -143,7 +139,7 @@
         if (init) {
             LayerPerspective lay =
                 new LayerPerspectiveMutable(Model.getFacade().getName(ns), gm);
-            ClassDiagram2Renderer rend = new ClassDiagram2Renderer(); // singleton
+            ClassDiagram2Renderer rend = new ClassDiagram2Renderer();
             lay.setGraphNodeRenderer(rend);
             lay.setGraphEdgeRenderer(rend);
             setLayer(lay);

Modified: trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/UMLStructureDiagram2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/UMLStructureDiagram2.java?view=diff&pathrev=17254&r1=17253&r2=17254
==============================================================================
--- trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/UMLStructureDiagram2.java	(original)
+++ trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/UMLStructureDiagram2.java	2009-08-10 14:32:37-0700
@@ -24,15 +24,14 @@
 
 package org.argouml.diagram.uml2;
 
-import java.awt.Point;
 import java.awt.Rectangle;
-
 import org.apache.log4j.Logger;
 import org.argouml.model.Model;
+import org.argouml.uml.diagram.DiagramElement;
 import org.argouml.uml.diagram.DiagramSettings;
 import org.argouml.uml.diagram.UMLMutableGraphSupport;
+import org.argouml.uml.diagram.ui.FigNodeModelElement;
 import org.argouml.uml.diagram.ui.UMLDiagram;
-import org.tigris.gef.presentation.FigNode;
 
 /**
  * UML Class Diagram.
@@ -43,7 +42,8 @@
 
     private static final long serialVersionUID = -9192325790126361563L;
 
-    private static final Logger LOG = Logger.getLogger(UMLStructureDiagram2.class);
+    private static final Logger LOG =
+        Logger.getLogger(UMLStructureDiagram2.class);
 
 
     /**
@@ -63,8 +63,12 @@
      *
      * @param name the name for the new diagram
      * @param namespace the namespace for the new diagram
+     * @param graphmodel the GEF graph model for this diagram
      */
-    public UMLStructureDiagram2(String name, Object namespace, UMLMutableGraphSupport graphmodel) {
+    public UMLStructureDiagram2(
+            final String name,
+            final Object namespace,
+            final UMLMutableGraphSupport graphmodel) {
         super(name, namespace, graphmodel);
     }
 
@@ -78,70 +82,61 @@
         super("", ns, graphmodel);
     }
     
-    @Override
-    public FigNode drop(Object droppedObject, Point location) {        
-        FigNode figNode = null;
-
-        // If location is non-null, convert to a rectangle that we can use
-        Rectangle bounds = null;
-        if (location != null) {
-            bounds = new Rectangle(location.x, location.y, 0, 0);
-        }
-
+    public DiagramElement createDiagramElement(
+            final Object modelElement,
+            final Rectangle bounds) {
+        
+        FigNodeModelElement figNode = null;
+        
         DiagramSettings settings = getDiagramSettings();
         
-        if (Model.getFacade().isAAssociation(droppedObject)) {
+        if (Model.getFacade().isAAssociation(modelElement)) {
             figNode =
-                createNaryAssociationNode(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isAClass(droppedObject)) {
-            figNode = new FigClass2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isAInterface(droppedObject)) {
-            figNode = new FigInterface2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isAModel(droppedObject)) {
-            figNode = new FigModel2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isASubsystem(droppedObject)) {
-            figNode = new FigSubsystem2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isAPackage(droppedObject)) {
-            figNode = new FigPackage2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isAComment(droppedObject)) {
-            figNode = new FigComment2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isAEnumeration(droppedObject)) {
-            figNode = new FigEnumeration2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isADataType(droppedObject)) {
-            figNode = new FigDataType2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isAStereotype(droppedObject)) {
-            figNode = new FigStereotypeDeclaration2(droppedObject, bounds, 
+                createNaryAssociationNode(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAClass(modelElement)) {
+            figNode = new FigClass2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAInterface(modelElement)) {
+            figNode = new FigInterface2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAModel(modelElement)) {
+            figNode = new FigModel2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isASubsystem(modelElement)) {
+            figNode = new FigSubsystem2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAPackage(modelElement)) {
+            figNode = new FigPackage2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAComment(modelElement)) {
+            figNode = new FigComment2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAEnumeration(modelElement)) {
+            figNode = new FigEnumeration2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isADataType(modelElement)) {
+            figNode = new FigDataType2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAStereotype(modelElement)) {
+            figNode = new FigStereotypeDeclaration2(modelElement, bounds, 
                     settings);
-        } else if (Model.getFacade().isAException(droppedObject)) {
-            figNode = new FigException2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isASignal(droppedObject)) {
-            figNode = new FigSignal2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isAActor(droppedObject)) {
-            figNode = new FigActor2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isAUseCase(droppedObject)) {
-            figNode = new FigUseCase2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isAObject(droppedObject)) {
-            figNode = new FigObject2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isANodeInstance(droppedObject)) {
-            figNode = new FigNodeInstance2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isAComponentInstance(droppedObject)) {
-            figNode = new FigComponentInstance2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isANode(droppedObject)) {
-            figNode = new FigMNode2(droppedObject, bounds, settings);
-        } else if (Model.getFacade().isAComponent(droppedObject)) {
-            figNode = new FigComponent2(droppedObject, bounds, settings);
+        } else if (Model.getFacade().isAException(modelElement)) {
+            figNode = new FigException2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isASignal(modelElement)) {
+            figNode = new FigSignal2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAActor(modelElement)) {
+            figNode = new FigActor2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAUseCase(modelElement)) {
+            figNode = new FigUseCase2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAObject(modelElement)) {
+            figNode = new FigObject2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isANodeInstance(modelElement)) {
+            figNode = new FigNodeInstance2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAComponentInstance(modelElement)) {
+            figNode = new FigComponentInstance2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isANode(modelElement)) {
+            figNode = new FigMNode2(modelElement, bounds, settings);
+        } else if (Model.getFacade().isAComponent(modelElement)) {
+            figNode = new FigComponent2(modelElement, bounds, settings);
         }
         
         if (figNode != null) {
-            // if location is null here the position of the new figNode is set
-            // after in org.tigris.gef.base.ModePlace.mousePressed(MouseEvent e)
-            if (location != null) {
-                figNode.setLocation(location.x, location.y);
-            }
-            LOG.debug("Dropped object " + droppedObject + " converted to " 
+            LOG.debug("Model element " + modelElement + " converted to " 
                     + figNode);
         } else {
-            LOG.debug("Dropped object NOT added " + droppedObject);
+            LOG.debug("Object NOT added " + figNode);
         }
         return figNode;
     }

Modified: trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/Uml2DiagramModule.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/Uml2DiagramModule.java?view=diff&pathrev=17254&r1=17253&r2=17254
==============================================================================
--- trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/Uml2DiagramModule.java	(original)
+++ trunk/src/argouml-core-diagrams-uml2/src/org/argouml/diagram/uml2/Uml2DiagramModule.java	2009-08-10 14:32:37-0700
@@ -78,7 +78,7 @@
     public String getInfo(int type) {
         switch (type) {
         case DESCRIPTION:
-            return "The new class diagram implementation";
+            return "The UML2 diagrams implementation";
         case AUTHOR:
             return "ArgoUML Core Development Team";
         case VERSION:

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

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.