svn commit: r17216 - trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram
Bob Tarling <[email protected]>
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: bobtarling
Date: 2009-08-02 14:30:55-0700
New Revision: 17216
Added:
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/StructureDiagram2Renderer.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/UMLStructureDiagram2.java
Modified:
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAbstraction2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigActor2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociation2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociationClass2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociationEnd2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigClass2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigClassAssociationClass2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComment2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComponent2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComponentInstance2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigDataType2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigDependency2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEdgeAssociationClass2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEdgeNote2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEnumeration2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigException2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigGeneralization2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigInterface2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigLink2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigMNode2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigModel2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigNodeAssociation2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigNodeInstance2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigObject2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigPackage2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigPermission2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigSignal2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigStereotypeDeclaration2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigSubsystem2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigUsage2.java
trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigUseCase2.java
Log:
Give Figs package scope only. This breaks save and load, will attempt to address that next.
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAbstraction2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAbstraction2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAbstraction2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAbstraction2.java 2009-08-02 14:30:55-0700
@@ -36,7 +36,7 @@
*
* @author agauthie
*/
-public class FigAbstraction2 extends FigDependency2 {
+class FigAbstraction2 extends FigDependency2 {
/**
* Create the arrow head for the abstraction. This overrides the
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigActor2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigActor2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigActor2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigActor2.java 2009-08-02 14:30:55-0700
@@ -47,7 +47,7 @@
/**
* Class to display graphics for an Actor in a diagram.
*/
-public class FigActor2 extends FigNodeModelElement {
+class FigActor2 extends FigNodeModelElement {
/**
* The serialization version - Eclipse generated for rev. 1.40
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociation2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociation2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociation2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociation2.java 2009-08-02 14:30:55-0700
@@ -32,7 +32,7 @@
* This class represents the Fig of a binary association on a diagram.
*
*/
-public class FigAssociation2 extends FigAssociation {
+class FigAssociation2 extends FigAssociation {
/**
* Constructor used by PGML parser.
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociationClass2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociationClass2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociationClass2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociationClass2.java 2009-08-02 14:30:55-0700
@@ -61,7 +61,7 @@
*
* @author [email protected]
*/
-public class FigAssociationClass2 extends FigAssociation2 implements
+class FigAssociationClass2 extends FigAssociation2 implements
AttributesCompartmentContainer, PathContainer,
OperationsCompartmentContainer {
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociationEnd2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociationEnd2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociationEnd2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigAssociationEnd2.java 2009-08-02 14:30:55-0700
@@ -44,7 +44,7 @@
*
* @author Bob Tarling
*/
-public class FigAssociationEnd2 extends FigAssociationEnd {
+class FigAssociationEnd2 extends FigAssociationEnd {
public FigAssociationEnd2(Object owner, DiagramSettings settings) {
super(owner, settings);
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigClass2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigClass2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigClass2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigClass2.java 2009-08-02 14:30:55-0700
@@ -43,7 +43,7 @@
* A Class may show compartments for stereotypes,
* attributes and operations.
*/
-public class FigClass2 extends FigClassifierBoxWithAttributes {
+class FigClass2 extends FigClassifierBoxWithAttributes {
private void constructFigs() {
addFig(getBigPort());
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigClassAssociationClass2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigClassAssociationClass2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigClassAssociationClass2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigClassAssociationClass2.java 2009-08-02 14:30:55-0700
@@ -35,7 +35,7 @@
*
* @author pepargouml
*/
-public class FigClassAssociationClass2 extends FigClass2 {
+class FigClassAssociationClass2 extends FigClass2 {
private static final long serialVersionUID = -4101337246957593739L;
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComment2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComment2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComment2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComment2.java 2009-08-02 14:30:55-0700
@@ -67,7 +67,7 @@
*
* @author Andreas Rueckert
*/
-public class FigComment2
+class FigComment2
extends FigNodeModelElement
implements VetoableChangeListener,
DelayedVChangeListener,
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComponent2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComponent2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComponent2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComponent2.java 2009-08-02 14:30:55-0700
@@ -44,7 +44,7 @@
*
* @author 5eichler
*/
-public class FigComponent2 extends AbstractFigComponent {
+class FigComponent2 extends AbstractFigComponent {
/**
* Construct a new FigComponent.
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComponentInstance2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComponentInstance2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComponentInstance2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigComponentInstance2.java 2009-08-02 14:30:55-0700
@@ -45,7 +45,7 @@
*
* @author 5eichler
*/
-public class FigComponentInstance2 extends AbstractFigComponent {
+class FigComponentInstance2 extends AbstractFigComponent {
/**
* Construct a new FigComponentInstance.
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigDataType2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigDataType2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigDataType2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigDataType2.java 2009-08-02 14:30:55-0700
@@ -47,7 +47,7 @@
* Every DataType shows a keyword, but it is not
* always <<datatype>>, e.g. for an Enumeration.
*/
-public class FigDataType2 extends FigClassifierBox {
+class FigDataType2 extends FigClassifierBox {
private static final Logger LOG = Logger.getLogger(FigDataType2.class);
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigDependency2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigDependency2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigDependency2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigDependency2.java 2009-08-02 14:30:55-0700
@@ -40,7 +40,7 @@
*
* @author ics 125b course, spring 1998
*/
-public class FigDependency2 extends FigEdgeModelElement {
+class FigDependency2 extends FigEdgeModelElement {
/**
* Serial version generated by Eclipse for rev. 1.22
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEdgeAssociationClass2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEdgeAssociationClass2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEdgeAssociationClass2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEdgeAssociationClass2.java 2009-08-02 14:30:55-0700
@@ -48,7 +48,7 @@
*
* @author pepargouml
*/
-public class FigEdgeAssociationClass2
+class FigEdgeAssociationClass2
extends FigEdgeModelElement
implements VetoableChangeListener,
DelayedVChangeListener,
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEdgeNote2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEdgeNote2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEdgeNote2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEdgeNote2.java 2009-08-02 14:30:55-0700
@@ -53,7 +53,7 @@
* @author Andreas Rueckert [email protected]
* @author [email protected]
*/
-public class FigEdgeNote2 extends FigEdgePoly implements ArgoFig, IItemUID,
+class FigEdgeNote2 extends FigEdgePoly implements ArgoFig, IItemUID,
PropertyChangeListener {
private static final Logger LOG = Logger.getLogger(FigEdgeNote2.class);
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEnumeration2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEnumeration2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEnumeration2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigEnumeration2.java 2009-08-02 14:30:55-0700
@@ -47,7 +47,7 @@
* It depends on FigDataType for most of its behavior.<p>
*
*/
-public class FigEnumeration2 extends FigDataType2
+class FigEnumeration2 extends FigDataType2
implements EnumLiteralsCompartmentContainer {
/**
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigException2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigException2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigException2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigException2.java 2009-08-02 14:30:55-0700
@@ -34,7 +34,7 @@
*
* @author Tom Morris
*/
-public class FigException2 extends FigSignal2 {
+class FigException2 extends FigSignal2 {
/**
* Construct an Exception fig.
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigGeneralization2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigGeneralization2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigGeneralization2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigGeneralization2.java 2009-08-02 14:30:55-0700
@@ -45,7 +45,7 @@
*
* @author [email protected], [email protected]
*/
-public class FigGeneralization2 extends FigEdgeModelElement {
+class FigGeneralization2 extends FigEdgeModelElement {
private static final int TEXT_HEIGHT = 20;
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigInterface2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigInterface2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigInterface2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigInterface2.java 2009-08-02 14:30:55-0700
@@ -33,8 +33,6 @@
import org.argouml.uml.diagram.ArgoDiagram;
import org.argouml.uml.diagram.DiagramSettings;
import org.argouml.uml.diagram.static_structure.ui.FigClassifierBox;
-import org.tigris.gef.base.Editor;
-import org.tigris.gef.base.Globals;
import org.tigris.gef.base.Selection;
import org.tigris.gef.presentation.Fig;
@@ -44,7 +42,7 @@
* An Interface may show compartments for stereotypes
* and operations. Attributes are not supported in ArgoUML.
*/
-public class FigInterface2 extends FigClassifierBox {
+class FigInterface2 extends FigClassifierBox {
private static final Logger LOG = Logger.getLogger(FigInterface2.class);
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigLink2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigLink2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigLink2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigLink2.java 2009-08-02 14:30:55-0700
@@ -45,7 +45,7 @@
* Other association adornments (aggregation, composition,
* navigation) may be shown on the link ends."
*/
-public class FigLink2 extends FigEdgeModelElement {
+class FigLink2 extends FigEdgeModelElement {
/*
* Text group to contain name & stereotype
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigMNode2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigMNode2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigMNode2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigMNode2.java 2009-08-02 14:30:55-0700
@@ -37,7 +37,7 @@
*
* @author [email protected]
*/
-public class FigMNode2 extends AbstractFigNode {
+class FigMNode2 extends AbstractFigNode {
/**
* Construct a new FigMNode.
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigModel2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigModel2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigModel2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigModel2.java 2009-08-02 14:30:55-0700
@@ -24,32 +24,15 @@
package org.argouml.structure2.diagram;
-import java.awt.Polygon;
import java.awt.Rectangle;
-
import org.argouml.uml.diagram.DiagramSettings;
-import org.tigris.gef.presentation.FigPoly;
+import org.argouml.uml.diagram.static_structure.ui.FigModel;
/**
* Class to display graphics for a UML model in a class diagram.
*/
-public class FigModel2 extends FigPackage2 {
-
- private FigPoly figPoly = new FigPoly(LINE_COLOR, SOLID_FILL_COLOR);
-
- private void constructFigs() {
- int[] xpoints = {125, 130, 135, 125};
- int[] ypoints = {45, 40, 45, 45};
- Polygon polygon = new Polygon(xpoints, ypoints, 4);
- figPoly.setPolygon(polygon);
- figPoly.setFilled(false);
- addFig(figPoly);
+class FigModel2 extends FigModel {
- setBounds(getBounds());
-
- updateEdges();
- }
-
/**
* Construct a Model fig
*
@@ -59,23 +42,5 @@
*/
public FigModel2(Object owner, Rectangle bounds, DiagramSettings settings) {
super(owner, bounds, settings);
- constructFigs();
}
-
- /*
- * @see org.tigris.gef.presentation.Fig#setBounds(int, int, int, int)
- */
- @Override
- protected void setStandardBounds(int x, int y, int w, int h) {
-
- if (figPoly != null) {
- Rectangle oldBounds = getBounds();
- figPoly.translate((x - oldBounds.x) + (w - oldBounds.width), y
- - oldBounds.y);
-
- }
- super.setStandardBounds(x, y, w, h);
- }
-
-
}
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigNodeAssociation2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigNodeAssociation2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigNodeAssociation2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigNodeAssociation2.java 2009-08-02 14:30:55-0700
@@ -52,7 +52,7 @@
*
* @author [email protected]
*/
-public class FigNodeAssociation2 extends FigNodeModelElement {
+class FigNodeAssociation2 extends FigNodeModelElement {
private static final int X = 0;
private static final int Y = 0;
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigNodeInstance2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigNodeInstance2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigNodeInstance2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigNodeInstance2.java 2009-08-02 14:30:55-0700
@@ -41,7 +41,7 @@
*
* @author [email protected]
*/
-public class FigNodeInstance2 extends AbstractFigNode {
+class FigNodeInstance2 extends AbstractFigNode {
/**
* Construct a new FigNodeInstance.
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigObject2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigObject2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigObject2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigObject2.java 2009-08-02 14:30:55-0700
@@ -43,7 +43,7 @@
*
* @author 5eichler
*/
-public class FigObject2 extends FigNodeModelElement {
+class FigObject2 extends FigNodeModelElement {
private FigRect cover;
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigPackage2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigPackage2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigPackage2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigPackage2.java 2009-08-02 14:30:55-0700
@@ -95,7 +95,7 @@
*
* In front of the name, ArgoUML may optionally show the visibility.
*/
-public class FigPackage2 extends FigNodeModelElement
+class FigPackage2 extends FigNodeModelElement
implements StereotypeContainer, VisibilityContainer {
private static final Logger LOG = Logger.getLogger(FigPackage2.class);
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigPermission2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigPermission2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigPermission2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigPermission2.java 2009-08-02 14:30:55-0700
@@ -37,7 +37,7 @@
*
* @author Markus Klink
*/
-public class FigPermission2 extends FigDependency2 {
+class FigPermission2 extends FigDependency2 {
/**
* Construct a Fig.
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigSignal2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigSignal2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigSignal2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigSignal2.java 2009-08-02 14:30:55-0700
@@ -45,7 +45,7 @@
*
* @author Tom Morris
*/
-public class FigSignal2 extends FigClassifierBoxWithAttributes {
+class FigSignal2 extends FigClassifierBoxWithAttributes {
private void constructFigs() {
getStereotypeFig().setKeyword("signal");
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigStereotypeDeclaration2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigStereotypeDeclaration2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigStereotypeDeclaration2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigStereotypeDeclaration2.java 2009-08-02 14:30:55-0700
@@ -53,7 +53,7 @@
*
* TODO: This is just a placeholder right now! - tfm
*/
-public class FigStereotypeDeclaration2 extends FigCompartmentBox {
+class FigStereotypeDeclaration2 extends FigCompartmentBox {
private static final long serialVersionUID = -2702539988691983863L;
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigSubsystem2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigSubsystem2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigSubsystem2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigSubsystem2.java 2009-08-02 14:30:55-0700
@@ -24,57 +24,18 @@
package org.argouml.structure2.diagram;
-import java.awt.Polygon;
import java.awt.Rectangle;
import org.argouml.uml.diagram.DiagramSettings;
-import org.tigris.gef.presentation.FigPoly;
+import org.argouml.uml.diagram.static_structure.ui.FigSubsystem;
-/** Class to display graphics for a UML subsystem in a class diagram. */
+/**
+ * Class to display graphics for a UML subsystem in a class diagram.
+ */
+class FigSubsystem2 extends FigSubsystem {
-public class FigSubsystem2 extends FigPackage2 {
-
- private FigPoly figPoly = new FigPoly(LINE_COLOR, SOLID_FILL_COLOR);
-
- private void constructFigs() {
- int[] xpoints = {125, 125, 130, 130, 130, 135, 135};
- int[] ypoints = {45, 40, 40, 35, 40, 40, 45};
- Polygon polygon = new Polygon(xpoints, ypoints, 7);
- figPoly.setPolygon(polygon);
- figPoly.setFilled(false);
- addFig(figPoly);
- Rectangle r = getBounds();
- setBounds(r.x, r.y, r.width, r.height);
- updateEdges();
- }
-
- /**
- * Construct a Subsystem fig.
- *
- * @param owner owning UML element
- * @param bounds position and size
- * @param settings render settings
- */
public FigSubsystem2(Object owner, Rectangle bounds,
DiagramSettings settings) {
super(owner, bounds, settings);
- constructFigs();
}
-
- /*
- * @see org.tigris.gef.presentation.Fig#setBounds(int, int, int, int)
- */
- @Override
- protected void setStandardBounds(int x, int y, int w, int h) {
-
- if (figPoly != null) {
- Rectangle oldBounds = getBounds();
- figPoly.translate((x - oldBounds.x) + (w - oldBounds.width), y
- - oldBounds.y);
-
- }
- super.setStandardBounds(x, y, w, h);
- }
-
-
}
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigUsage2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigUsage2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigUsage2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigUsage2.java 2009-08-02 14:30:55-0700
@@ -25,13 +25,14 @@
package org.argouml.structure2.diagram;
import org.argouml.uml.diagram.DiagramSettings;
+import org.argouml.uml.diagram.ui.FigUsage;
/**
* This class represents a Fig for a Usage.
*
- * @author Markus Klink
+ * @author Bob Tarling
*/
-public class FigUsage2 extends FigDependency2 {
+public class FigUsage2 extends FigUsage {
/**
* Construct a Fig.
Modified: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigUseCase2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigUseCase2.java?view=diff&pathrev=17216&r1=17215&r2=17216
==============================================================================
--- trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigUseCase2.java (original)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/FigUseCase2.java 2009-08-02 14:30:55-0700
@@ -108,7 +108,7 @@
* origin is at our top left corner, and the Y coordinates are
* reversed.<p>
*/
-public class FigUseCase2 extends FigNodeModelElement
+class FigUseCase2 extends FigNodeModelElement
implements ExtensionsCompartmentContainer {
/**
Added: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/StructureDiagram2Renderer.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/StructureDiagram2Renderer.java?view=markup&pathrev=17216
==============================================================================
--- (empty file)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/StructureDiagram2Renderer.java 2009-08-02 14:30:55-0700
@@ -0,0 +1,255 @@
+// $Id: ClassDiagramRenderer.java 17112 2009-04-13 19:02:54Z tfmorris $
+// Copyright (c) 1996-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
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.structure2.diagram;
+
+import java.util.Collection;
+import java.util.Map;
+
+import org.apache.log4j.Logger;
+import org.argouml.model.CoreFactory;
+import org.argouml.model.Model;
+import org.argouml.uml.CommentEdge;
+import org.argouml.uml.diagram.ArgoDiagram;
+import org.argouml.uml.diagram.DiagramSettings;
+import org.argouml.uml.diagram.GraphChangeAdapter;
+import org.argouml.uml.diagram.UmlDiagramRenderer;
+import org.argouml.uml.diagram.ui.FigNodeModelElement;
+import org.argouml.uml.diagram.ui.UMLDiagram;
+import org.tigris.gef.base.Diagram;
+import org.tigris.gef.base.Layer;
+import org.tigris.gef.base.LayerPerspective;
+import org.tigris.gef.graph.GraphModel;
+import org.tigris.gef.presentation.FigEdge;
+import org.tigris.gef.presentation.FigNode;
+
+/**
+ * This class defines a renderer object for UML Class Diagrams. In a
+ * Class Diagram the following UML objects are displayed with the
+ * following Figs: <p>
+ *
+ * <pre>
+ * UML Object --- Fig
+ * ---------------------------------------
+ * Class --- FigClass
+ * Interface --- FigInterface
+ * Instance --- FigInstance
+ * Model --- FigModel
+ * Subsystem --- FigSubsystem
+ * Package --- FigPackage
+ * Comment --- FigComment
+ * (CommentEdge) --- FigEdgeNote
+ * Generalization --- FigGeneralization
+ * Realization --- FigRealization
+ * Permission --- FigPermission
+ * Usage --- FigUsage
+ * Dependency --- FigDependency
+ * Association --- FigAssociation
+ * AssociationClass --- FigAssociationClass
+ * Dependency --- FigDependency
+ * Link --- FigLink
+ * DataType --- FigDataType
+ * Stereotype --- FigStereotypeDeclaration
+ * </pre>
+ *
+ * @author jrobbins
+ */
+public class StructureDiagram2Renderer extends UmlDiagramRenderer {
+
+ /**
+ * The UID.
+ */
+ static final long serialVersionUID = 675407719309039112L;
+
+ /**
+ * Logger.
+ */
+ private static final Logger LOG =
+ Logger.getLogger(StructureDiagram2Renderer.class);
+
+ /*
+ * @see org.tigris.gef.graph.GraphNodeRenderer#getFigNodeFor(
+ * org.tigris.gef.graph.GraphModel,
+ * org.tigris.gef.base.Layer, java.lang.Object, java.util.Map)
+ */
+ public FigNode getFigNodeFor(GraphModel gm, Layer lay,
+ Object node, Map styleAttributes) {
+
+ FigNodeModelElement figNode = null;
+
+ if (node == null) {
+ throw new IllegalArgumentException("A node must be supplied");
+ }
+ // Although not generally true for GEF, for Argo we know that the layer
+ // is a LayerPerspective which knows the associated diagram
+ Diagram diag = ((LayerPerspective) lay).getDiagram();
+ if (diag instanceof UMLDiagram
+ && ((UMLDiagram) diag).doesAccept(node)) {
+ figNode = (FigNodeModelElement) ((UMLDiagram) diag)
+ .drop(node, null);
+ } else {
+ LOG.error("TODO: ClassDiagramRenderer getFigNodeFor " + node);
+ throw new IllegalArgumentException(
+ "Node is not a recognised type. Received "
+ + node.getClass().getName());
+ }
+
+ lay.add(figNode);
+ figNode.setDiElement(
+ GraphChangeAdapter.getInstance().createElement(gm, node));
+
+
+ return figNode;
+
+ }
+
+ /**
+ * Return a Fig that can be used to represent the given edge.
+ * Throws IllegalArgumentException if the edge is not of an expected type.
+ * Throws IllegalStateException if the edge generated has no source
+ * or dest port.
+ * {@inheritDoc}
+ */
+ public FigEdge getFigEdgeFor(GraphModel gm, Layer lay,
+ Object edge, Map styleAttribute) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("making figedge for " + edge);
+ }
+ if (edge == null) {
+ throw new IllegalArgumentException("A model edge must be supplied");
+ }
+
+ assert lay instanceof LayerPerspective;
+ ArgoDiagram diag = (ArgoDiagram) ((LayerPerspective) lay).getDiagram();
+ DiagramSettings settings = diag.getDiagramSettings();
+
+ FigEdge newEdge = null;
+ if (Model.getFacade().isAAssociationClass(edge)) {
+ newEdge = new FigAssociationClass2(edge, settings);
+ } else if (Model.getFacade().isAAssociationEnd(edge)) {
+ FigAssociationEnd2 asend = new FigAssociationEnd2(edge, settings);
+ Model.getFacade().getAssociation(edge);
+ FigNode associationFN =
+ (FigNode) lay.presentationFor(
+ Model.getFacade().getAssociation(edge));
+ FigNode classifierFN =
+ (FigNode) lay.presentationFor(Model.getFacade().getType(edge));
+
+ asend.setSourcePortFig(associationFN);
+ asend.setSourceFigNode(associationFN);
+ asend.setDestPortFig(classifierFN);
+ asend.setDestFigNode(classifierFN);
+ newEdge = asend;
+ } else if (Model.getFacade().isAAssociation(edge)) {
+ newEdge = new FigAssociation2(edge, settings);
+ } else if (Model.getFacade().isALink(edge)) {
+ FigLink2 lnkFig = new FigLink2(edge, settings);
+ Collection linkEndsColn = Model.getFacade().getConnections(edge);
+
+ Object[] linkEnds = linkEndsColn.toArray();
+ Object fromInst = Model.getFacade().getInstance(linkEnds[0]);
+ Object toInst = Model.getFacade().getInstance(linkEnds[1]);
+
+ FigNode fromFN = (FigNode) lay.presentationFor(fromInst);
+ FigNode toFN = (FigNode) lay.presentationFor(toInst);
+ lnkFig.setSourcePortFig(fromFN);
+ lnkFig.setSourceFigNode(fromFN);
+ lnkFig.setDestPortFig(toFN);
+ lnkFig.setDestFigNode(toFN);
+ lnkFig.getFig().setLayer(lay);
+ newEdge = lnkFig;
+ } else if (Model.getFacade().isAGeneralization(edge)) {
+ newEdge = new FigGeneralization2(edge, settings);
+ } else if (Model.getFacade().isAPackageImport(edge)) {
+ newEdge = new FigPermission2(edge, settings);
+ } else if (Model.getFacade().isAUsage(edge)) {
+ newEdge = new FigUsage2(edge, settings);
+ } else if (Model.getFacade().isAAbstraction(edge)) {
+ newEdge = new FigAbstraction2(edge, settings);
+ } else if (Model.getFacade().isADependency(edge)) {
+
+ String name = "";
+ for (Object stereotype : Model.getFacade().getStereotypes(edge)) {
+ name = Model.getFacade().getName(stereotype);
+ if (CoreFactory.REALIZE_STEREOTYPE.equals(name)) {
+ break;
+ }
+ }
+ if (CoreFactory.REALIZE_STEREOTYPE.equals(name)) {
+ // TODO: This code doesn't look like it will get reached because
+ // any abstraction/realization is going to take the
+ // isAAbstraction leg of the if before it gets to this more
+ // general case. - tfm 20080508
+ FigAbstraction2 realFig = new FigAbstraction2(edge, settings);
+
+ Object supplier =
+ ((Model.getFacade().getSuppliers(edge).toArray())[0]);
+ Object client =
+ ((Model.getFacade().getClients(edge).toArray())[0]);
+
+ FigNode supFN = (FigNode) lay.presentationFor(supplier);
+ FigNode cliFN = (FigNode) lay.presentationFor(client);
+
+ realFig.setSourcePortFig(cliFN);
+ realFig.setSourceFigNode(cliFN);
+ realFig.setDestPortFig(supFN);
+ realFig.setDestFigNode(supFN);
+ realFig.getFig().setLayer(lay);
+ newEdge = realFig;
+ } else {
+ FigDependency2 depFig = new FigDependency2(edge, settings);
+ newEdge = depFig;
+ }
+ } else if (edge instanceof CommentEdge) {
+ newEdge = new FigEdgeNote2(edge, settings);
+ }
+
+ if (newEdge == null) {
+ throw new IllegalArgumentException(
+ "Don't know how to create FigEdge for model type "
+ + edge.getClass().getName());
+ }
+
+ setPorts(lay, newEdge);
+
+ assert newEdge != null : "There has been no FigEdge created";
+
+// newEdge.setDiElement(
+// GraphChangeAdapter.getInstance().createElement(gm, edge));
+
+ assert newEdge != null : "There has been no FigEdge created";
+ assert (newEdge.getDestFigNode() != null)
+ : "The FigEdge has no dest node";
+ assert (newEdge.getDestPortFig() != null)
+ : "The FigEdge has no dest port";
+ assert (newEdge.getSourceFigNode() != null)
+ : "The FigEdge has no source node";
+ assert (newEdge.getSourcePortFig() != null)
+ : "The FigEdge has no source port";
+
+ lay.add(newEdge);
+ return newEdge;
+ }
+
+}
Added: trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/UMLStructureDiagram2.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/UMLStructureDiagram2.java?view=markup&pathrev=17216
==============================================================================
--- (empty file)
+++ trunk/src/argouml-core-diagrams-structure2/src/org/argouml/structure2/diagram/UMLStructureDiagram2.java 2009-08-02 14:30:55-0700
@@ -0,0 +1,149 @@
+// $Id: UMLClassDiagram.java 16702 2009-01-25 20:23:28Z bobtarling $
+// Copyright (c) 1996-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
+// and this paragraph appear in all copies. This software program and
+// documentation are copyrighted by The Regents of the University of
+// California. The software program and documentation are supplied "AS
+// IS", without any accompanying services from The Regents. The Regents
+// does not warrant that the operation of the program will be
+// uninterrupted or error-free. The end-user understands that the program
+// was developed for research purposes and is advised not to rely
+// exclusively on the program for any reason. IN NO EVENT SHALL THE
+// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
+// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
+// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF
+// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE
+// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
+// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT,
+// UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+
+package org.argouml.structure2.diagram;
+
+import java.awt.Point;
+import java.awt.Rectangle;
+
+import org.apache.log4j.Logger;
+import org.argouml.model.Model;
+import org.argouml.uml.diagram.DiagramSettings;
+import org.argouml.uml.diagram.UMLMutableGraphSupport;
+import org.argouml.uml.diagram.static_structure.ClassDiagramGraphModel;
+import org.argouml.uml.diagram.ui.UMLDiagram;
+import org.tigris.gef.presentation.FigNode;
+
+/**
+ * UML Class Diagram.
+ *
+ * @author [email protected]
+ */
+public abstract class UMLStructureDiagram2 extends UMLDiagram {
+
+ private static final long serialVersionUID = -9192325790126361563L;
+
+ private static final Logger LOG = Logger.getLogger(UMLStructureDiagram2.class);
+
+
+ /**
+ * Construct a Class Diagram. Default constructor used by PGML parser during
+ * diagram load. It should not be used by other callers.
+ * @deprecated only for use by PGML parser
+ */
+ @Deprecated
+ public UMLStructureDiagram2(UMLMutableGraphSupport graphmodel) {
+ super(graphmodel);
+ }
+
+
+ /**
+ * Construct a new class diagram with the given name, owned by the given
+ * namespace.
+ *
+ * @param name the name for the new diagram
+ * @param namespace the namespace for the new diagram
+ */
+ public UMLStructureDiagram2(String name, Object namespace, UMLMutableGraphSupport graphmodel) {
+ super(name, namespace, graphmodel);
+ }
+
+ /**
+ * Construct Structure Diagram owned by the given namespace.
+ *
+ * @param ns the namespace
+ * @param graphmodel the graph model for this diagram
+ */
+ public UMLStructureDiagram2(Object ns, UMLMutableGraphSupport graphmodel) {
+ 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);
+ }
+
+ DiagramSettings settings = getDiagramSettings();
+
+ if (Model.getFacade().isAAssociation(droppedObject)) {
+ 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,
+ 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);
+ }
+
+ 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 "
+ + figNode);
+ } else {
+ LOG.debug("Dropped object NOT added " + droppedObject);
+ }
+ return figNode;
+ }
+}
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2379340
To unsubscribe from this discussion, e-mail: [[email protected]].