svn commit: r16255 - trunk/src/argouml-app/src/org/argouml/uml/diagram: collaboration/ui static_structure/ui ui

Tom Morris <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: tfmorris
Date: 2008-12-05 11:59:31-0800
New Revision: 16255

Modified:
   trunk/src/argouml-app/src/org/argouml/uml/diagram/collaboration/ui/FigAssociationRole.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClassifierBox.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClassifierBoxWithAttributes.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFig.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFigGroup.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFigText.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociation.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociationEnd.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAttributesCompartment.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigCompartment.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigDependency.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEditableCompartment.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEnumLiteralsCompartment.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigOperationsCompartment.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigSingleLineText.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotype.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesGroup.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigTextGroup.java

Log:
Issue 5549: Make owner optional for FigStereotypes which are keywords, not stereotypes.  Add owner to all groups.

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/collaboration/ui/FigAssociationRole.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/collaboration/ui/FigAssociationRole.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/collaboration/ui/FigAssociationRole.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/collaboration/ui/FigAssociationRole.java	2008-12-05 11:59:31-0800
@@ -51,7 +51,7 @@
      */
     private static final long serialVersionUID = -6543020797101620194L;
     
-    private FigMessageGroup messages = new FigMessageGroup();
+    private FigMessageGroup messages;
 
     /**
      * Main Constructor
@@ -63,6 +63,7 @@
     @Deprecated
     public FigAssociationRole() {
         super();
+        messages = new FigMessageGroup();
         addPathItem(messages, new PathConvPercent(this, 50, 10));
     }
 
@@ -91,6 +92,8 @@
      */
     public FigAssociationRole(Object owner, DiagramSettings settings) {
         super(owner, settings);
+        messages = new FigMessageGroup(owner, settings);
+        addPathItem(messages, new PathConvPercent(this, 50, 10));
     }
     
     /*
@@ -119,7 +122,7 @@
     /**
      * Constructor for FigMessageGroup.
      * @deprecate for 0.27.3 by tfmorris. Use
-     *            {@link #FigMessageGroup(DiagramSettings)}.
+     *            {@link #FigMessageGroup(Object, DiagramSettings)}.
      */
     @SuppressWarnings("deprecation")
     @Deprecated
@@ -132,7 +135,7 @@
      * 
      * @param figs
       * @deprecate for 0.27.3 by tfmorris. Use
-     *            {@link #FigMessageGroup(DiagramSettings)}.
+     *            {@link #FigMessageGroup(Object, DiagramSettings)}.
      */
     @SuppressWarnings("deprecation")
     @Deprecated
@@ -140,8 +143,8 @@
         super(figs);
     }
     
-    public FigMessageGroup(DiagramSettings settings) {
-        super(settings);
+    public FigMessageGroup(Object owner, DiagramSettings settings) {
+        super(owner, settings);
     }
 
     private void updateFigPositions() {

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClassifierBox.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClassifierBox.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClassifierBox.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClassifierBox.java	2008-12-05 11:59:31-0800
@@ -82,6 +82,9 @@
     @Deprecated
     FigClassifierBox() {
         super();
+        Rectangle bounds = getDefaultBounds();
+        operationsFig = new FigOperationsCompartment(bounds.x, bounds.y,
+                bounds.width, bounds.height);
         constructFigs();
     }
 
@@ -89,13 +92,6 @@
      * Initialization shared by all constructors.
      */
     private void constructFigs() {
-        // this rectangle marks the operation section; all operations
-        // are inside it
-        Rectangle bounds = new Rectangle(DEFAULT_COMPARTMENT_BOUNDS);
-        // 2nd compartment, so adjust Y appropriately
-        bounds.y = DEFAULT_COMPARTMENT_BOUNDS.y + ROWHEIGHT + 1;
-        operationsFig = new FigOperationsCompartment(bounds, getSettings());
-
         // Set properties of the stereotype box. Make it 1 pixel higher than
         // before, so it overlaps the name box, and the blanking takes out both
         // lines. Initially not set to be displayed, but this will be changed
@@ -113,6 +109,15 @@
         getBigPort().setFillColor(Color.white);
     }
 
+    private Rectangle getDefaultBounds() {
+        // this rectangle marks the operation section; all operations
+        // are inside it
+        Rectangle bounds = new Rectangle(DEFAULT_COMPARTMENT_BOUNDS);
+        // 2nd compartment, so adjust Y appropriately
+        bounds.y = DEFAULT_COMPARTMENT_BOUNDS.y + ROWHEIGHT + 1;
+        return bounds;
+    }
+
     /**
      * Construct a Fig with owner, bounds, and settings.
      * 
@@ -123,6 +128,8 @@
     public FigClassifierBox(Object owner, Rectangle bounds,
             DiagramSettings settings) {
         super(owner, bounds, settings);
+        operationsFig = new FigOperationsCompartment(owner, getDefaultBounds(),
+                getSettings());
         constructFigs();
     }
 

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClassifierBoxWithAttributes.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClassifierBoxWithAttributes.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClassifierBoxWithAttributes.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClassifierBoxWithAttributes.java	2008-12-05 11:59:31-0800
@@ -82,7 +82,7 @@
     public FigClassifierBoxWithAttributes(Object owner, Rectangle bounds,
             DiagramSettings settings) {
         super(owner, bounds, settings);
-        attributesFigCompartment = new FigAttributesCompartment(
+        attributesFigCompartment = new FigAttributesCompartment(owner,
                 DEFAULT_COMPARTMENT_BOUNDS, settings);
     }
 

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java	2008-12-05 11:59:31-0800
@@ -280,7 +280,7 @@
         // Set bounds will be called from our superclass constructor before
         // our constructor has run, so make sure this gets set up if needed.
         if (literalsCompartment == null) {
-            literalsCompartment = new FigEnumLiteralsCompartment(
+            literalsCompartment = new FigEnumLiteralsCompartment(getOwner(),
                     DEFAULT_COMPARTMENT_BOUNDS, getSettings());
         }
         return literalsCompartment;

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFig.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFig.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFig.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFig.java	2008-12-05 11:59:31-0800
@@ -106,4 +106,16 @@
      * @param settings the rendering settings to use
      */
     public void setSettings(DiagramSettings settings);
+    
+    /**
+     * Setting the owner of the Fig must be done in the constructor and
+     * not changed aftewards for all ArgoUML figs.
+     * 
+     * @param owner owning UML element
+     * @see org.tigris.gef.presentation.Fig#setOwner(java.lang.Object)
+     * @deprecated for 0.27.3 by tfmorris.  Set owner in constructor.
+     */
+    @Deprecated
+    public void setOwner(Object owner);
+    
 }

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFigGroup.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFigGroup.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFigGroup.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFigGroup.java	2008-12-05 11:59:31-0800
@@ -48,20 +48,23 @@
     /**
      * Default constructor.
      * @deprecated for 0.27.3 by tfmorris.  Use 
-     * {@link #ArgoFigGroup(DiagramSettings)}.
+     * {@link #ArgoFigGroup(Object, DiagramSettings)}.
      */
     @Deprecated
     public ArgoFigGroup() {
         super();
     }
 
+
     /**
      * Construct an empty FigGroup with the given DiagramSettings.
      * object.
+     * @param owner owning UML element
      * @param renderSettings render settings to use
      */
-    public ArgoFigGroup(DiagramSettings renderSettings) {
+    public ArgoFigGroup(Object owner, DiagramSettings renderSettings) {
         super();
+        super.setOwner(owner);
         settings = renderSettings;
     }
     
@@ -77,17 +80,6 @@
         super(arg0);
     }
 
-    /**
-     * Construct a FigGroup with the given list of Figs and DiagramSettings
-     * object.
-     * 
-     * @param figs the Figs that make up the Group
-     * @param renderSettings render settings to use
-     */
-    public ArgoFigGroup(List<ArgoFig> figs, DiagramSettings renderSettings) {
-        super(figs);
-        settings = renderSettings;
-    }
     
     /**
      * This optional method is not implemented.  It will throw an
@@ -144,5 +136,18 @@
         settings = renderSettings;
         renderingChanged();
     }
+    
+    /**
+     * Setting the owner of the Fig must be done in the constructor and
+     * not changed aftewards for all ArgoUML figs.
+     * 
+     * @param owner owning UML element
+     * @see org.tigris.gef.presentation.Fig#setOwner(java.lang.Object)
+     * @deprecated for 0.27.3 by tfmorris.  Set owner in constructor.
+     */
+    @Deprecated
+    public void setOwner(Object owner) {
+        super.setOwner(owner);
+    }
 
 }

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFigText.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFigText.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFigText.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/ArgoFigText.java	2008-12-05 11:59:31-0800
@@ -102,8 +102,12 @@
         settings = renderSettings;
         setFontFamily(settings.getFontName());
         setFontSize(settings.getFontSize());
-        super.setOwner(owner);
-        Model.getPump().addModelEventListener(this, owner, "remove");
+        // Certain types of fixed text (e.g. a FigStereotype with a keyword)
+        // may not have an owner
+        if (owner != null) {
+            super.setOwner(owner);
+            Model.getPump().addModelEventListener(this, owner, "remove");
+        }
     }
     
     /*
@@ -225,7 +229,6 @@
     @Deprecated
     public void setOwner(Object own) {
         super.setOwner(own);
-        updateListeners(null, own);
     }
     
     /**

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociation.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociation.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociation.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociation.java	2008-12-05 11:59:31-0800
@@ -157,7 +157,7 @@
     public FigAssociation(Object owner, DiagramSettings settings) {
         super(owner, settings);
 
-        middleGroup = new FigTextGroup(settings);
+        middleGroup = new FigTextGroup(owner, settings);
 
         // let's use groups to construct the different text sections at
         // the association

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociationEnd.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociationEnd.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociationEnd.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociationEnd.java	2008-12-05 11:59:31-0800
@@ -141,7 +141,7 @@
      */
     public FigAssociationEnd(Object edge, DiagramSettings settings) {
         super(edge, settings);
-        srcGroup = new FigTextGroup(settings);
+        srcGroup = new FigTextGroup(edge, settings);
         srcMult = new ArgoFigText(edge, new Rectangle(X0, Y0, 90, 20), 
                 settings, false);
         srcOrdering = new ArgoFigText(edge, new Rectangle(X0, Y0, 90, 20), 

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAttributesCompartment.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAttributesCompartment.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAttributesCompartment.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAttributesCompartment.java	2008-12-05 11:59:31-0800
@@ -52,7 +52,7 @@
      * @param w width
      * @param h height
      * @deprecated for 0.27.3 by tfmorris.  Use 
-     * {@link #FigAttributesCompartment(Rectangle, DiagramSettings)}.
+     * {@link #FigAttributesCompartment(Object, Rectangle, DiagramSettings)}.
      */
     @SuppressWarnings("deprecation")
     @Deprecated
@@ -63,12 +63,13 @@
     /**
      * Constructor.
      * 
+     * @param owner owning UML element
      * @param bounds bounding rectangle
      * @param settings render settings
      */
-    public FigAttributesCompartment(Rectangle bounds, 
+    public FigAttributesCompartment(Object owner, Rectangle bounds, 
             DiagramSettings settings) {
-        super(bounds, settings);
+        super(owner, bounds, settings);
     }
     
     /*

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigCompartment.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigCompartment.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigCompartment.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigCompartment.java	2008-12-05 11:59:31-0800
@@ -48,7 +48,7 @@
      * @param w width
      * @param h height
      * @deprecated for 0.27.3 by tfmorris.  Use 
-     * {@link #FigCompartment(Rectangle, DiagramSettings)}.
+     * {@link #FigCompartment(Object, Rectangle, DiagramSettings)}.
      */
     @SuppressWarnings("deprecation")
     @Deprecated
@@ -70,11 +70,12 @@
     /**
      * Construct a new FigCompartment.
      * 
+     * @param owner owning UML element
      * @param bounds rectangle describing bounds of compartment
      * @param settings render settings
      */
-    public FigCompartment(Rectangle bounds, DiagramSettings settings) {
-        super(settings);
+    public FigCompartment(Object owner, Rectangle bounds, DiagramSettings settings) {
+        super(owner, settings);
         constructFigs(bounds.x, bounds.y, bounds.width, bounds.height);
     }
 
@@ -139,4 +140,5 @@
      * Create a new model element for the compartment.
      */
     protected abstract void createModelElement();
+    
 }

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigDependency.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigDependency.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigDependency.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigDependency.java	2008-12-05 11:59:31-0800
@@ -115,7 +115,7 @@
      */
     public FigDependency(Object owner, DiagramSettings settings) {
         super(owner, settings);
-        middleGroup = new FigTextGroup(settings);
+        middleGroup = new FigTextGroup(owner, settings);
         constructFigs();
     }
     

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEditableCompartment.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEditableCompartment.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEditableCompartment.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEditableCompartment.java	2008-12-05 11:59:31-0800
@@ -70,7 +70,7 @@
      * @param w width
      * @param h height
      * @deprecated for 0.27.3 by tfmorris.  Use 
-     * {@link #FigEditableCompartment(Rectangle, DiagramSettings)}.
+     * {@link #FigEditableCompartment(Object, Rectangle, DiagramSettings)}.
      */
     @SuppressWarnings("deprecation")
     @Deprecated
@@ -89,11 +89,13 @@
      * encloses the entire group for use in attaching edges, etc and a
      * separator.
      * 
+     * @param owner owning UML element
      * @param bounds bounding rectangle of fig
      * @param settings render settings
      */
-    public FigEditableCompartment(Rectangle bounds, DiagramSettings settings) {
-        super(bounds, settings); // This adds bigPort, i.e. number 1
+    public FigEditableCompartment(Object owner, Rectangle bounds,
+            DiagramSettings settings) {
+        super(owner, bounds, settings); // This adds bigPort, i.e. number 1
         constructFigs();
     }
     

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEnumLiteralsCompartment.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEnumLiteralsCompartment.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEnumLiteralsCompartment.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEnumLiteralsCompartment.java	2008-12-05 11:59:31-0800
@@ -65,12 +65,13 @@
     /**
      * Constructor.
      * 
+     * @param owner owning UML element
      * @param bounds bounding rectangle
      * @param settings render settings
      */
-    public FigEnumLiteralsCompartment(Rectangle bounds, 
+    public FigEnumLiteralsCompartment(Object owner, Rectangle bounds, 
             DiagramSettings settings) {
-        super(bounds, settings);
+        super(owner, bounds, settings);
     }
     
     /*

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigOperationsCompartment.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigOperationsCompartment.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigOperationsCompartment.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigOperationsCompartment.java	2008-12-05 11:59:31-0800
@@ -66,12 +66,13 @@
     /**
      * Constructor for an Operations compartment.
      * 
+     * @param owner owning UML element
      * @param bounds position and size
      * @param settings render settings
      */
-    public FigOperationsCompartment(Rectangle bounds, 
+    public FigOperationsCompartment(Object owner, Rectangle bounds, 
             DiagramSettings settings) {
-        super(bounds, settings);
+        super(owner, bounds, settings);
     }
 
     /*

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigSingleLineText.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigSingleLineText.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigSingleLineText.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigSingleLineText.java	2008-12-05 11:59:31-0800
@@ -239,7 +239,9 @@
     }
 
     private void addModelListener() {
-        Model.getPump().addModelEventListener(this, getOwner(), properties);
+        if (properties != null && getOwner() != null) {
+            Model.getPump().addModelEventListener(this, getOwner(), properties);
+        }
     }
     
     @Override

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotype.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotype.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotype.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotype.java	2008-12-05 11:59:31-0800
@@ -80,18 +80,22 @@
     }
 
     /**
-     * Construct a Stereotype fig.
+     * Construct a fig for a Stereotype or a keyword (which visually resembles a
+     * stereotype).
      * 
-     * @param owner owning UML element
+     * @param owner owning UML element or null if this fig is being used for a
+     *            keyword.
      * @param bounds position and size
      * @param settings render settings
      */
     public FigStereotype(Object owner, Rectangle bounds,
             DiagramSettings settings) {
-        
-        super(owner, bounds, settings, "name");
-        
+        super(owner, bounds, settings, 
+                owner != null ? new String[] {"name"} : (String[]) null);
         initialize();
+        if (owner != null) {
+            setText();
+        }
     }
      
     @Override
@@ -105,7 +109,11 @@
     }
     
     protected void setText() {
-        setText(Model.getFacade().getName(getOwner()));
+        if (getOwner() != null) {
+            setText(Model.getFacade().getName(getOwner()));
+        } else {
+            setText("");
+        }
     }
     
     /**

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesGroup.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesGroup.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesGroup.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesGroup.java	2008-12-05 11:59:31-0800
@@ -117,7 +117,7 @@
      */
     public FigStereotypesGroup(Object owner, Rectangle bounds, 
             DiagramSettings settings) {
-        super(settings);
+        super(owner, settings);
         constructFigs(bounds.x, bounds.y, bounds.width, bounds.height);
         Model.getPump().addModelEventListener(this, owner, "stereotype");
         populate();
@@ -127,7 +127,9 @@
      * Beware: The owner here is NOT the stereotype(s), 
      * but the extended element!
      */
+    @SuppressWarnings("deprecation")
     @Override
+    @Deprecated
     public void setOwner(Object own) {
         if (own != null) {
             super.setOwner(own);
@@ -276,7 +278,7 @@
             if (figs.size() <= acounter) {
                 ++stereotypeCount;
                 stereotypeTextFig =
-                    new FigStereotype(modelElement, new Rectangle(
+                    new FigStereotype(null, new Rectangle(
                             xpos + 1,
                             ypos + 1
                             + (acounter - 1)
@@ -315,7 +317,6 @@
             } else {
                 stereotypeTextFig = (CompartmentFigText) figs.get(acounter);
             }
-            stereotypeTextFig.setOwner(stereo);
 
             acounter++;
         }
@@ -391,6 +392,7 @@
      */
     public void setKeyword(String word) {
         keyword = word;
+        populate();
     }
 
     /**

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigTextGroup.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigTextGroup.java?view=diff&pathrev=16255&r1=16254&r2=16255
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigTextGroup.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigTextGroup.java	2008-12-05 11:59:31-0800
@@ -45,7 +45,7 @@
 
     /**
      * @deprecated for 0.27.3 by tfmorris. Use
-     *             {@link #FigTextGroup(DiagramSettings)}.
+     *             {@link #FigTextGroup(Object, DiagramSettings)}.
      */
     @SuppressWarnings("deprecation")
     @Deprecated
@@ -56,10 +56,11 @@
     /**
      * Construct a FigGroup with the given render settings.
      * 
+     * @param owner owning UML element
      * @param settings rendering settigns
      */
-    public FigTextGroup(DiagramSettings settings) {
-        super(settings);
+    public FigTextGroup(Object owner, DiagramSettings settings) {
+        super(owner, settings);
     }
     
     /**

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

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.