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

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: mvw
Date: 2008-11-07 23:33:25-0800
New Revision: 15981

Added:
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesGroup.java
      - copied, changed from r15952, /trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesCompartment.java
Removed:
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesCompartment.java
Modified:
   trunk/src/argouml-app/src/org/argouml/uml/diagram/collaboration/ui/FigClassifierRole.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/sequence/ui/FigClassifierRole.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigSignal.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigStereotypeDeclaration.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigSingleLineText.java

Log:
First refactoring step towards fixing issue 5421: Printing causes a line to be printed between stereotype and class name.

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/collaboration/ui/FigClassifierRole.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/collaboration/ui/FigClassifierRole.java?view=diff&rev=15981&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/collaboration/ui/FigClassifierRole.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/collaboration/ui/FigClassifierRole.java&r1=15980&r2=15981
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/collaboration/ui/FigClassifierRole.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/collaboration/ui/FigClassifierRole.java	2008-11-07 23:33:25-0800
@@ -38,7 +38,6 @@
 import org.argouml.notation.NotationProvider;
 import org.argouml.notation.NotationProviderFactory2;
 import org.argouml.uml.diagram.ui.FigNodeModelElement;
-import org.argouml.uml.diagram.ui.FigStereotypesCompartment;
 import org.tigris.gef.base.Layer;
 import org.tigris.gef.base.Selection;
 import org.tigris.gef.graph.GraphModel;
@@ -197,7 +196,6 @@
         int heightWithoutStereo = getHeight() - stereotypeHeight;
 
         getStereotypeFig().setOwner(getOwner());
-        ((FigStereotypesCompartment) getStereotypeFig()).populate();
 
         stereotypeHeight = 0;
         if (getStereotypeFig().isVisible()) {

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/sequence/ui/FigClassifierRole.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/sequence/ui/FigClassifierRole.java?view=diff&rev=15981&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/sequence/ui/FigClassifierRole.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/sequence/ui/FigClassifierRole.java&r1=15980&r2=15981
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/sequence/ui/FigClassifierRole.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/sequence/ui/FigClassifierRole.java	2008-11-07 23:33:25-0800
@@ -41,7 +41,6 @@
 import org.argouml.uml.diagram.sequence.MessageNode;
 import org.argouml.uml.diagram.sequence.ui.FigLifeLine.FigLifeLineHandler;
 import org.argouml.uml.diagram.ui.FigNodeModelElement;
-import org.argouml.uml.diagram.ui.FigStereotypesCompartment;
 import org.tigris.gef.base.Globals;
 import org.tigris.gef.base.Layer;
 import org.tigris.gef.base.Selection;
@@ -1259,7 +1258,6 @@
         Rectangle rect = headFig.getBounds();
 
         getStereotypeFig().setOwner(getOwner());
-        ((FigStereotypesCompartment) getStereotypeFig()).populate();
 
         int minWidth = headFig.getMinimumSize().width;
         if (minWidth > rect.width) {

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java?view=diff&rev=15981&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java&r1=15980&r2=15981
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigDataType.java	2008-11-07 23:33:25-0800
@@ -32,7 +32,7 @@
 import org.argouml.model.Model;
 import org.argouml.ui.targetmanager.TargetManager;
 import org.argouml.uml.diagram.ArgoDiagram;
-import org.argouml.uml.diagram.ui.FigStereotypesCompartment;
+import org.argouml.uml.diagram.ui.FigStereotypesGroup;
 import org.tigris.gef.base.Editor;
 import org.tigris.gef.base.Globals;
 import org.tigris.gef.base.Selection;
@@ -82,8 +82,8 @@
      */
     public FigDataType() {
 
-        FigStereotypesCompartment fsc =
-            (FigStereotypesCompartment) getStereotypeFig();
+        FigStereotypesGroup fsc =
+            (FigStereotypesGroup) getStereotypeFig();
         fsc.setKeyword("datatype");
 
         // Put all the bits together, suppressing bounds calculations until
@@ -126,7 +126,7 @@
      */
     public FigDataType(GraphModel gm, Object node, String keyword) {
         this(gm, node);        
-        ((FigStereotypesCompartment) getStereotypeFig()).setKeyword(keyword);
+        ((FigStereotypesGroup) getStereotypeFig()).setKeyword(keyword);
     }
     
 

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&rev=15981&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigEnumeration.java&r1=15980&r2=15981
==============================================================================
--- 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-11-07 23:33:25-0800
@@ -39,7 +39,7 @@
 import org.argouml.ui.ArgoJMenu;
 import org.argouml.uml.diagram.ui.EnumLiteralsCompartmentContainer;
 import org.argouml.uml.diagram.ui.FigEnumLiteralsCompartment;
-import org.argouml.uml.diagram.ui.FigStereotypesCompartment;
+import org.argouml.uml.diagram.ui.FigStereotypesGroup;
 import org.argouml.uml.ui.foundation.core.ActionAddEnumerationLiteral;
 import org.tigris.gef.base.Selection;
 import org.tigris.gef.graph.GraphModel;
@@ -68,8 +68,8 @@
      */
     public FigEnumeration() {
         super();
-        FigStereotypesCompartment fsc =
-            (FigStereotypesCompartment) getStereotypeFig();
+        FigStereotypesGroup fsc =
+            (FigStereotypesGroup) getStereotypeFig();
         fsc.setKeyword("enumeration");
 
         enableSizeChecking(true);

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java?view=diff&rev=15981&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java&r1=15980&r2=15981
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigInterface.java	2008-11-07 23:33:25-0800
@@ -32,7 +32,7 @@
 import org.argouml.model.Model;
 import org.argouml.ui.targetmanager.TargetManager;
 import org.argouml.uml.diagram.ArgoDiagram;
-import org.argouml.uml.diagram.ui.FigStereotypesCompartment;
+import org.argouml.uml.diagram.ui.FigStereotypesGroup;
 import org.tigris.gef.base.Editor;
 import org.tigris.gef.base.Globals;
 import org.tigris.gef.base.Selection;
@@ -83,8 +83,8 @@
      */
     public FigInterface() {
 
-        FigStereotypesCompartment fsc =
-            (FigStereotypesCompartment) getStereotypeFig();
+        FigStereotypesGroup fsc =
+            (FigStereotypesGroup) getStereotypeFig();
         fsc.setKeyword("interface");
 
         // Put all the bits together, suppressing bounds calculations until

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java?view=diff&rev=15981&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java&r1=15980&r2=15981
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java	2008-11-07 23:33:25-0800
@@ -54,7 +54,6 @@
 import org.argouml.uml.diagram.VisibilityContainer;
 import org.argouml.uml.diagram.DiagramFactory.DiagramType;
 import org.argouml.uml.diagram.ui.FigNodeModelElement;
-import org.argouml.uml.diagram.ui.FigStereotypesCompartment;
 import org.tigris.gef.base.Editor;
 import org.tigris.gef.base.Geometry;
 import org.tigris.gef.base.Globals;

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigSignal.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigSignal.java?view=diff&rev=15981&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigSignal.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigSignal.java&r1=15980&r2=15981
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigSignal.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigSignal.java	2008-11-07 23:33:25-0800
@@ -30,7 +30,7 @@
 
 import org.argouml.model.AssociationChangeEvent;
 import org.argouml.model.AttributeChangeEvent;
-import org.argouml.uml.diagram.ui.FigStereotypesCompartment;
+import org.argouml.uml.diagram.ui.FigStereotypesGroup;
 import org.tigris.gef.base.Selection;
 import org.tigris.gef.graph.GraphModel;
 
@@ -52,8 +52,8 @@
      */
     public FigSignal() {
         super();
-        FigStereotypesCompartment fsc =
-            (FigStereotypesCompartment) getStereotypeFig();
+        FigStereotypesGroup fsc =
+            (FigStereotypesGroup) getStereotypeFig();
         fsc.setKeyword("signal");
 
         addFig(getBigPort());

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigStereotypeDeclaration.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigStereotypeDeclaration.java?view=diff&rev=15981&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigStereotypeDeclaration.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigStereotypeDeclaration.java&r1=15980&r2=15981
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigStereotypeDeclaration.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigStereotypeDeclaration.java	2008-11-07 23:33:25-0800
@@ -45,7 +45,7 @@
 import org.argouml.uml.diagram.ui.ActionEdgesDisplay;
 import org.argouml.uml.diagram.ui.CompartmentFigText;
 import org.argouml.uml.diagram.ui.FigCompartmentBox;
-import org.argouml.uml.diagram.ui.FigStereotypesCompartment;
+import org.argouml.uml.diagram.ui.FigStereotypesGroup;
 import org.argouml.uml.ui.foundation.extension_mechanisms.ActionNewTagDefinition;
 import org.tigris.gef.base.Selection;
 import org.tigris.gef.graph.GraphModel;
@@ -67,8 +67,8 @@
      * Create a new Fig for a stereotype declaration.
      */
     public FigStereotypeDeclaration() {
-        FigStereotypesCompartment fsc =
-            (FigStereotypesCompartment) getStereotypeFig();
+        FigStereotypesGroup fsc =
+            (FigStereotypesGroup) getStereotypeFig();
         fsc.setKeyword("stereotype");
 
         // Put all the bits together, suppressing bounds calculations until

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java?view=diff&rev=15981&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java&r1=15980&r2=15981
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigEdgeModelElement.java	2008-11-07 23:33:25-0800
@@ -172,7 +172,7 @@
         nameFig = new FigNameWithAbstract(10, 30, 90, 20, false);
         nameFig.setTextFilled(false);
 
-        stereotypeFig = new FigStereotypesCompartment(10, 10, 90, 15);
+        stereotypeFig = new FigStereotypesGroup(10, 10, 90, 15);
 
         setBetweenNearestPoints(true);
 

Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java?view=diff&rev=15981&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java&r1=15980&r2=15981
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigNodeModelElement.java	2008-11-07 23:33:25-0800
@@ -307,7 +307,7 @@
         nameFig.setRightMargin(4); // margin between text and border
         nameFig.setLeftMargin(4);
 
-        stereotypeFig = new FigStereotypesCompartment(10, 10, 90, 15);
+        stereotypeFig = new FigStereotypesGroup(10, 10, 90, 15);
 
         readyToEdit = false;
         ArgoEventPump.addListener(ArgoEventTypes.ANY_NOTATION_EVENT, this);
@@ -1696,10 +1696,10 @@
 	Collection stereos = Model.getFacade().getStereotypes(modelElement);
 	 
 	Fig stereoFig = getStereotypeFig();
-        if (stereoFig instanceof FigStereotypesCompartment) {
+        if (stereoFig instanceof FigStereotypesGroup) {
             boolean hiding = 
                 practicalView == DiagramAppearance.STEREOTYPE_VIEW_SMALL_ICON;
-            ((FigStereotypesCompartment) stereoFig)
+            ((FigStereotypesGroup) stereoFig)
                     .setHidingStereotypesWithIcon(hiding);
         }
 
@@ -1864,9 +1864,9 @@
     }
 
     /**
-     * Get the Fig containing the stereotype.
+     * Get the Fig containing the stereotype(s).
      * <p>
-     * TODO: Should return FigStereotypesCompartment or at the very least
+     * TODO: Should return FigStereotypesGroup or at the very least
      * a FigGroup
      *
      * @return the stereotype Fig

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&rev=15981&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigSingleLineText.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigSingleLineText.java&r1=15980&r2=15981
==============================================================================
--- 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-11-07 23:33:25-0800
@@ -187,6 +187,7 @@
                     getOwner(), 
                     properties);
         }
+        ArgoEventPump.removeListener(ArgoEventTypes.ANY_NOTATION_EVENT, this);
     }
     
     @Override
@@ -241,7 +242,8 @@
             /* TODO: Why does it fail for changing 
              * the name of an associationend?
              *  Why should it pass? */
-            //assert Arrays.asList(properties).contains(event.getPropertyName()) 
+            //assert Arrays.asList(properties).contains(
+            //    event.getPropertyName()) 
             //  : event.getPropertyName(); 
             // TODO: Do we really always need to do this or only if
             // notationProvider is null?

Removed: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesCompartment.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesCompartment.java?view=auto&rev=15980

Copied: trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesGroup.java (from r15952, /trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesCompartment.java)
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesGroup.java?view=diff&rev=15981&p1=/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesCompartment.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesGroup.java&r1=15952&r2=15981
==============================================================================
--- /trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesCompartment.java	(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigStereotypesGroup.java	2008-11-07 23:33:25-0800
@@ -24,6 +24,7 @@
 
 package org.argouml.uml.diagram.ui;
 
+import java.awt.Color;
 import java.awt.Dimension;
 import java.awt.Image;
 import java.beans.PropertyChangeEvent;
@@ -38,6 +39,7 @@
 import org.argouml.model.Model;
 import org.argouml.model.RemoveAssociationEvent;
 import org.tigris.gef.presentation.Fig;
+import org.tigris.gef.presentation.FigRect;
 import org.tigris.gef.presentation.FigText;
 
 /**
@@ -58,18 +60,15 @@
  * class can be used for this.
  * @author Bob Tarling
  */
-public class FigStereotypesCompartment extends FigCompartment {
+public class FigStereotypesGroup extends ArgoFigGroup {
 
-    /**
-     * The UID.
-     */
-    private static final long serialVersionUID = -1696363445893406130L;
+    private Fig bigPort;
     
     /**
      * Logger.
      */
     private static final Logger LOG =
-        Logger.getLogger(FigStereotypesCompartment.class);
+        Logger.getLogger(FigStereotypesGroup.class);
 
     /**
      * One UML keyword is allowed. These are not strictly stereotypes but are
@@ -89,8 +88,13 @@
      * @param w width
      * @param h height
      */
-    public FigStereotypesCompartment(int x, int y, int w, int h) {
-        super(x, y, w, h);
+    public FigStereotypesGroup(int x, int y, int w, int h) {
+        super();
+        bigPort = new FigRect(x, y, w, h, Color.black, Color.white);
+        addFig(bigPort);
+
+        /* Do not show border line, make transparent: */
+        setLineWidth(0);
         setFilled(false);
     }
 
@@ -111,9 +115,17 @@
      */
     @Override
     public void removeFromDiagram() {
+        super.removeFromDiagram();
         Model.getPump()
                 .removeModelEventListener(this, getOwner(), "stereotype");
     }
+
+    /**
+     * @return the bigport
+     */
+    public Fig getBigPort() {
+        return bigPort;
+    }
     
     @Override
     public void propertyChange(PropertyChangeEvent event) {
@@ -122,16 +134,16 @@
             if (event.getPropertyName().equals("stereotype")) {
                 Object stereotype = aae.getChangedValue();
                 if (findFig(stereotype) == null) {
-                    Fig bigPort = this.getBigPort();
+                    Fig theBigPort = this.getBigPort();
                     FigText stereotypeTextFig =
                         new FigStereotype(
-                                bigPort.getX() + 1,
-                                bigPort.getY() + 1
+                                theBigPort.getX() + 1,
+                                theBigPort.getY() + 1
                                 + (++stereotypeCount)
                                 * FigNodeModelElement.ROWHEIGHT,
                                 0,
                                 FigNodeModelElement.ROWHEIGHT - 2,
-                                bigPort,
+                                theBigPort,
                                 stereotype);
                     stereotypeTextFig.setJustification(FigText.JUSTIFY_CENTER);
                     stereotypeTextFig.setEditable(false);
@@ -224,9 +236,9 @@
         }
         
         int acounter = 1;
-        Fig bigPort = this.getBigPort();
-        int xpos = bigPort.getX();
-        int ypos = bigPort.getY();
+        Fig theBigPort = this.getBigPort();
+        int xpos = theBigPort.getX();
+        int ypos = theBigPort.getY();
 
         List figs = getFigs();
         CompartmentFigText stereotypeTextFig;
@@ -242,7 +254,7 @@
                                 * FigNodeModelElement.ROWHEIGHT,
                             0,
                             FigNodeModelElement.ROWHEIGHT - 2,
-                            bigPort,
+                            theBigPort,
                             null);
                 // bounds not relevant here
                 stereotypeTextFig.setJustification(FigText.JUSTIFY_CENTER);
@@ -267,7 +279,7 @@
                             * FigNodeModelElement.ROWHEIGHT,
                             0,
                             FigNodeModelElement.ROWHEIGHT - 2,
-                            bigPort,
+                            theBigPort,
                             stereo);
                 // bounds not relevant here
                 stereotypeTextFig.setJustification(FigText.JUSTIFY_CENTER);
@@ -385,7 +397,24 @@
         if (modelElement != null) {
             Collection stereos = Model.getFacade().getStereotypes(modelElement);
             if (stereos.size() > 0 || keyword != null) {
-                dim = super.getMinimumSize();
+                int minWidth = 0;
+                int minHeight = 0;
+                //set new bounds for all included figs
+                Iterator figs = iterator();
+                Fig fig;
+                while (figs.hasNext()) {
+                    fig = (Fig) figs.next();
+                    if (fig.isVisible() && fig != getBigPort()) {
+                        int fw = fig.getMinimumSize().width;
+                        if (fw > minWidth) {
+                            minWidth = fw;
+                        }
+                        minHeight += fig.getMinimumSize().height;
+                    }
+                }
+
+                minHeight += 2; // 2 Pixel padding after compartment
+                dim = new Dimension(minWidth, minHeight);
             }
         }
         if (dim == null) {
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.