Author: bobtarling
Date: 2011-04-11 01:57:56-0700
New Revision: 19206

Removed:
   
trunk/src/argouml-app/src/org/argouml/uml/diagram/AttributesCompartmentContainer.java
   
trunk/src/argouml-app/src/org/argouml/uml/diagram/OperationsCompartmentContainer.java
   
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClassifierBoxWithAttributes.java
   
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/EnumLiteralsCompartmentContainer.java
Modified:
   
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClass.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/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/FigSignal.java
   
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/StylePanelFigInterface.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociationClass.java
   trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigCompartmentBox.java
   trunk/src/argouml-app/src/org/argouml/uml/reveng/DiagramInterface.java

Log:
Remove deprecated methods and interfaces containing knowledge of compartment 
types

Removed: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/AttributesCompartmentContainer.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/AttributesCompartmentContainer.java?view=markup&pathrev=19205

Removed: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/OperationsCompartmentContainer.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/OperationsCompartmentContainer.java?view=markup&pathrev=19205

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClass.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClass.java?view=diff&pathrev=19206&r1=19205&r2=19206
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClass.java
 (original)
+++ 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigClass.java
 2011-04-11 01:57:56-0700
@@ -92,11 +92,7 @@
         /* Stereotype covers NameFig: */
         addFig(getStereotypeFig());
         /* Compartments from top to bottom: */
-        addFig(new FigAttributesCompartment(
-                getOwner(),
-                DEFAULT_COMPARTMENT_BOUNDS, 
-                getSettings()));
-        addFig(getOperationsFig());
+        createCompartments();
         
         // Make all the parts match the main fig
         setFilled(true);
@@ -153,10 +149,10 @@
         do {
             i--;
             while (i < 1) {
-                if (fgVec == getAttributesFig()) {
-                    fgVec = getOperationsFig();
+                if (fgVec == 
getCompartment(Model.getMetaTypes().getAttribute())) {
+                    fgVec = 
getCompartment(Model.getMetaTypes().getOperation());
                 } else {
-                    fgVec = getAttributesFig();
+                    fgVec = 
getCompartment(Model.getMetaTypes().getAttribute());
                 }
                 figs = fgVec.getFigs();
                 i = figs.size() - 1;
@@ -187,10 +183,10 @@
         do {
             i++;
             while (i >= v.size()) {
-                if (fgVec == getAttributesFig()) {
-                    fgVec = getOperationsFig();
+                if (fgVec == 
getCompartment(Model.getMetaTypes().getAttribute())) {
+                    fgVec = 
getCompartment(Model.getMetaTypes().getOperation());
                 } else {
-                    fgVec = getAttributesFig();
+                    fgVec = 
getCompartment(Model.getMetaTypes().getAttribute());
                 }
                 v = new ArrayList(fgVec.getFigs());
                 i = 1;

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=19206&r1=19205&r2=19206
==============================================================================
--- 
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
 2011-04-11 01:57:56-0700
@@ -45,6 +45,7 @@
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.Vector;
 
@@ -59,11 +60,9 @@
 import org.argouml.ui.ActionCreateContainedModelElement;
 import org.argouml.ui.ArgoJMenu;
 import org.argouml.uml.diagram.DiagramSettings;
-import org.argouml.uml.diagram.OperationsCompartmentContainer;
 import org.argouml.uml.diagram.ui.ActionAddNote;
 import org.argouml.uml.diagram.ui.ActionCompartmentDisplay;
 import org.argouml.uml.diagram.ui.ActionEdgesDisplay;
-import org.argouml.uml.diagram.ui.FigAttributesCompartment;
 import org.argouml.uml.diagram.ui.FigCompartment;
 import org.argouml.uml.diagram.ui.FigCompartmentBox;
 import org.argouml.uml.diagram.ui.FigOperationsCompartment;
@@ -77,8 +76,7 @@
  * 
  * This abstract Fig adds an Operations compartment.
  */
-public abstract class FigClassifierBox extends FigCompartmentBox
-        implements OperationsCompartmentContainer {
+public abstract class FigClassifierBox extends FigCompartmentBox {
 
     /**
      * The Fig for the operations compartment (if any).
@@ -126,20 +124,6 @@
         return figClone;
     }
 
-    /**
-     * @deprecated by Bob Tarling in 0.29.3 use
-     * updateCompartment(Model.getMetaTypes().getAttribute())
-     */
-    protected void updateOperations() {
-        if (!isOperationsVisible()) {
-            return;
-        }
-        operationsFigCompartment.populate();
-
-        setBounds(getBounds());
-        damage();
-    }
-    
     /*
      * @see org.argouml.uml.diagram.ui.FigNodeModelElement#renderingChanged()
      */
@@ -147,12 +131,12 @@
         super.renderingChanged();
         // TODO: We should be able to just call renderingChanged on the child
         // figs here instead of doing an updateOperations...
-        updateOperations();
+        updateCompartment(Model.getMetaTypes().getOperation());
         
         // TODO: Taken from FigClassifierBoxWithAttribute to handle events
         // on an attribute. All this event handling should eventually be moved
         // to the compartment Fig for attributes
-        if (isAttributesVisible()) {
+        if (isCompartmentVisible(Model.getMetaTypes().getAttribute())) {
             // TODO: We shouldn't actually have to do all this work
             updateCompartment(Model.getMetaTypes().getAttribute());
         }
@@ -192,9 +176,13 @@
             } else if (event instanceof RemoveAssociationEvent) {
                 o = event.getOldValue();
             }
-            if (Model.getFacade().isAOperation(o) 
-                    || Model.getFacade().isAReception(o)) {
-                updateOperations();
+            if ((Model.getFacade().isAOperation(o) 
+                    || Model.getFacade().isAReception(o))
+                    && isCompartmentVisible(
+                            Model.getMetaTypes().getOperation())) {
+                operationsFigCompartment.populate();
+                setBounds(getBounds());
+                damage();
             }
         }
         
@@ -235,7 +223,7 @@
     @Override
     protected void updateListeners(Object oldOwner, Object newOwner) {
        
-        if (isAttributesVisible()) {
+        if (isCompartmentVisible(Model.getMetaTypes().getAttribute())) {
             Set<Object[]> listeners = new HashSet<Object[]>();
 
             // Collect the set of model elements that we want to listen to
@@ -305,90 +293,6 @@
         setBounds(getBounds());
     }
 
-    /**
-     * @return The graphics for the UML operations (if any).
-     * @deprecated in 0.29.3 use
-     * getCompartment(Model.getUmlFactory(Model.getMetaTypes(),getOperation()))
-     * to determine if an operation compartment exists and return it.
-     * The operationsCompartment should be created by the concrete class
-     */
-    protected FigOperationsCompartment getOperationsFig() {
-        return operationsFigCompartment;
-    }
-
-    /**
-     * @deprecated by Bob Tarling in 0.29.3 use
-     * getCompartment(Model.getMetaTypes().getOperation()).getBounds()
-     * @return the bounds
-     */
-    public Rectangle getOperationsBounds() {
-        return operationsFigCompartment.getBounds();
-    }
-
-    /**
-     * @deprecated by Bob Tarling in 0.29.2 use
-     * isCompartmentVisible(Model.getMetaTypes().getOperation())
-     * @return the visibility
-     */
-    public boolean isOperationsVisible() {
-        return operationsFigCompartment != null && 
operationsFigCompartment.isVisible();
-    }
-
-    /**
-     * TODO: Should not be on this class as we don't know if we'll have
-     * operations
-     * @param isVisible true if the operation compartment is visible
-     * @deprecated by Bob Tarling in 0.29.2 use setCompartmentVisible
-     */
-    public void setOperationsVisible(boolean isVisible) {
-        setCompartmentVisible(operationsFigCompartment, isVisible);
-    }
-    
-    /**
-     * @return The graphics for the UML attributes (if any).
-     * @deprecated in 0.29.1 use
-     * getCompartment(Model.getUmlFactory(Model.getMetaTypes(),getAttribute()))
-     * to determine if an attribute compartment exists and return it.
-     * The attributesCompartment should be created by the concrete class
-     */
-    protected FigAttributesCompartment getAttributesFig() {
-        FigCompartment fc = 
getCompartment(Model.getMetaTypes().getAttribute());
-        return (FigAttributesCompartment) fc;
-    }
-    
-    /**
-     * @deprecated by Bob Tarling in 0.29.2 use
-     * getCompartment(Model.getMetaTypes().getAttribute()).getBounds()
-     * @return the bounds
-     */
-    @Deprecated
-    public Rectangle getAttributesBounds() {
-        return getAttributesFig().getBounds();
-    }
-
-    /**
-     * @deprecated by Bob Tarling in 0.29.2 use
-     * isCompartmentVisible(Model.getMetaTypes().getAttribute())
-     * @return the visibility
-     */
-    @Deprecated
-    public boolean isAttributesVisible() {
-        FigCompartment fc = 
getCompartment(Model.getMetaTypes().getAttribute());
-        return fc != null && fc.isVisible();
-    }
-    
-    /**
-     * TODO: Should not be on this class as we don't know if we'll have
-     * attributes
-     * @param isVisible true if the attribute compartment is visible
-     * @deprecated by Bob Tarling in 0.29.2 use setCompartmentVisible
-     */
-    public void setAttributesVisible(boolean isVisible) {
-        final FigCompartment afc =
-            getCompartment(Model.getMetaTypes().getAttribute());
-        setCompartmentVisible(afc, isVisible);
-    }
-    
     /*
      * @see org.tigris.gef.presentation.Fig#translate(int, int)
      */
@@ -469,7 +373,8 @@
      */
     public String classNameAndBounds() {
         String classNameAndBounds =  super.classNameAndBounds()
-            + "operationsVisible=" + isOperationsVisible() + ";";
+            + "operationsVisible="
+            + isCompartmentVisible(Model.getMetaTypes().getOperation()) + ";";
         FigCompartment fc = 
getCompartment(Model.getMetaTypes().getAttribute());
         if (fc != null) {
             classNameAndBounds += 

Removed: 
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=markup&pathrev=19205

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&pathrev=19206&r1=19205&r2=19206
==============================================================================
--- 
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
      2011-04-11 01:57:56-0700
@@ -86,8 +86,7 @@
         addFig(getBigPort());
         addFig(getNameFig());
         addFig(getStereotypeFig());
-        addExtraCompartments();
-        addFig(getOperationsFig());
+        createCompartments();
         
         // Make all the parts match the main fig
         setFilled(true);

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=19206&r1=19205&r2=19206
==============================================================================
--- 
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
   2011-04-11 01:57:56-0700
@@ -42,14 +42,9 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import javax.swing.Action;
-
 import org.argouml.model.Model;
-import org.argouml.ui.ArgoJMenu;
 import org.argouml.uml.diagram.DiagramSettings;
-import org.argouml.uml.diagram.ui.EnumLiteralsCompartmentContainer;
 import org.argouml.uml.diagram.ui.FigEnumLiteralsCompartment;
-import org.argouml.uml.ui.foundation.core.ActionAddEnumerationLiteral;
 import org.tigris.gef.base.Selection;
 
 /**
@@ -59,13 +54,7 @@
  * The Fig for an Enumeration has a compartment for Literals 
  * above the Operations compartment.
  */
-public class FigEnumeration extends FigDataType 
-    implements EnumLiteralsCompartmentContainer {
-
-    /**
-     * The Fig that represents the literals compartment.
-     */
-    private FigEnumLiteralsCompartment literalsCompartment;
+public class FigEnumeration extends FigDataType {
 
     /**
      * Constructor.
@@ -86,35 +75,11 @@
     }
     
     @Override
-    protected void addExtraCompartments() {
-        // This creates the compartment.
-        addFig(getLiteralsCompartment());
-        setEnumLiteralsVisible(true);
-        literalsCompartment.populate();
-    }
-
-    @Override
     public Selection makeSelection() {
         return new SelectionEnumeration(this);
     }
 
     @Override
-    public Object clone() {
-        FigEnumeration clone = (FigEnumeration) super.clone();
-        clone.literalsCompartment = 
-            (FigEnumLiteralsCompartment) literalsCompartment.clone();
-        return clone;
-    }
-
-    @Override
-    public void renderingChanged() {
-        super.renderingChanged();
-        if (getOwner() != null) {
-            updateEnumLiterals();
-        }
-    }
-
-    @Override
     protected void updateListeners(Object oldOwner, Object newOwner) {
         Set<Object[]> l = new HashSet<Object[]>();
         if (newOwner != null) {
@@ -144,53 +109,6 @@
     }
 
     /**
-     * Update (i.e. redraw) the compartment with the literals.
-     */
-    protected void updateEnumLiterals() {
-        if (!literalsCompartment.isVisible()) {
-            return;
-        }
-        literalsCompartment.populate();
-
-        // TODO: make setBounds, calcBounds and updateBounds consistent
-        setBounds(getBounds());
-    }
-
-    /**
-     * @return the Fig for the EnumerationLiterals compartment
-     */
-    public FigEnumLiteralsCompartment getLiteralsCompartment() {
-        // 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(getOwner(),
-                    DEFAULT_COMPARTMENT_BOUNDS, getSettings());
-        }
-        return literalsCompartment;
-    }
-    
-    /**
-     * @return true if the literals compartment is visible
-     */
-    public boolean isEnumLiteralsVisible() {
-        return literalsCompartment.isVisible();
-    }
-
-    /**
-     * @param isVisible true will show the enumeration literal compartment
-     */
-    public void setEnumLiteralsVisible(boolean isVisible) {
-        setCompartmentVisible(literalsCompartment, isVisible);
-    }
-    
-    /**
-     * @return the bounds of the EnumerationLiterals compartment
-     */
-    public Rectangle getEnumLiteralsBounds() {
-        return literalsCompartment.getBounds();
-    }
-
-    /**
      * USED BY PGML.tee.
      * @return the class name and bounds together with compartment
      * visibility.
@@ -198,6 +116,8 @@
     @Override
     public String classNameAndBounds() {
         return super.classNameAndBounds()
-                + "enumerationLiteralsVisible=" + isEnumLiteralsVisible();
+                + "enumerationLiteralsVisible="
+                + isCompartmentVisible(
+                        Model.getMetaTypes().getEnumerationLiteral());
     }
 } 

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&pathrev=19206&r1=19205&r2=19206
==============================================================================
--- 
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
     2011-04-11 01:57:56-0700
@@ -47,7 +47,6 @@
 import org.argouml.ui.targetmanager.TargetManager;
 import org.argouml.uml.diagram.ArgoDiagram;
 import org.argouml.uml.diagram.DiagramSettings;
-import org.argouml.uml.diagram.ui.FigAttributesCompartment;
 import org.tigris.gef.base.Selection;
 import org.tigris.gef.presentation.Fig;
 
@@ -82,18 +81,7 @@
         addFig(getNameFig());
         // stereotype fig covers the name fig:
         addFig(getStereotypeFig());
-        // Only add an attribute compartment if its valid for this
-        // container
-        if (Model.getUmlFactory().isContainmentValid(
-                Model.getMetaTypes().getAttribute(),
-                getOwner())) {
-            addFig(new FigAttributesCompartment(
-                    getOwner(),
-                    DEFAULT_COMPARTMENT_BOUNDS, 
-                    getSettings()));
-        }
-        addFig(getOperationsFig());
-
+        createCompartments();
         // Make all the parts match the main fig
         setFilled(true);
         setFillColor(FILL_COLOR);
@@ -192,7 +180,8 @@
     @Override
     public String classNameAndBounds() {
         return super.classNameAndBounds()
-                + "operationsVisible=" + isOperationsVisible();
+                + "operationsVisible="
+                + isCompartmentVisible(Model.getMetaTypes().getOperation());
     }
 
     @Override

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&pathrev=19206&r1=19205&r2=19206
==============================================================================
--- 
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
        2011-04-11 01:57:56-0700
@@ -43,8 +43,10 @@
 import java.awt.event.MouseEvent;
 import java.util.Vector;
 
+import org.argouml.model.Model;
 import org.argouml.uml.diagram.DiagramSettings;
 import org.argouml.uml.diagram.ui.FigAttributesCompartment;
+import org.argouml.uml.diagram.ui.FigCompartment;
 import org.tigris.gef.base.Selection;
 
 /**
@@ -88,11 +90,7 @@
         /* Stereotype covers NameFig: */
         addFig(getStereotypeFig());
         /* Compartments from top to bottom: */
-        addFig(new FigAttributesCompartment(
-                getOwner(),
-                DEFAULT_COMPARTMENT_BOUNDS, 
-                getSettings()));
-        addFig(getOperationsFig());
+        createCompartments();
 
         // Make all the parts match the main fig
         setFilled(true);
@@ -101,8 +99,10 @@
         setLineWidth(LINE_WIDTH);
         
         // by default, do not show operations nor attributes:
-        setOperationsVisible(false);
-        setAttributesVisible(false);
+        FigCompartment ops = 
getCompartment(Model.getMetaTypes().getOperation());
+        setCompartmentVisible(ops, false);
+        FigCompartment atts = 
getCompartment(Model.getMetaTypes().getAttribute());
+        setCompartmentVisible(atts, false);
 
         /* Set the drop location in the case of D&D: */
         if (bounds != null) {

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/StylePanelFigInterface.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/StylePanelFigInterface.java?view=diff&pathrev=19206&r1=19205&r2=19206
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/StylePanelFigInterface.java
   (original)
+++ 
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/StylePanelFigInterface.java
   2011-04-11 01:57:56-0700
@@ -42,7 +42,9 @@
 
 import javax.swing.JCheckBox;
 
+import org.argouml.model.Model;
 import org.argouml.ui.StylePanelFigNodeModelElement;
+import org.argouml.uml.diagram.ui.FigCompartment;
 
 /**
  * Stylepanel which adds an operation checkbox and depends on FigInterface.
@@ -81,7 +83,8 @@
         refreshTransaction = true;
         super.refresh();
         FigInterface ti = (FigInterface) getPanelTarget();
-        operCheckBox.setSelected(ti.isOperationsVisible());
+        operCheckBox.setSelected(
+                ti.isCompartmentVisible(Model.getMetaTypes().getOperation()));
         refreshTransaction = false;
     }
 
@@ -96,8 +99,9 @@
             Object src = e.getSource();
 
             if (src == operCheckBox) {
-                ((FigInterface) getPanelTarget())
-                    .setOperationsVisible(operCheckBox.isSelected());
+                FigInterface fi = ((FigInterface) getPanelTarget());
+                FigCompartment comp = 
fi.getCompartment(Model.getMetaTypes().getOperation());
+                fi.setCompartmentVisible(comp, operCheckBox.isSelected());
             } else {
                 super.itemStateChanged(e);
             }

Removed: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/EnumLiteralsCompartmentContainer.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/EnumLiteralsCompartmentContainer.java?view=markup&pathrev=19205

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociationClass.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociationClass.java?view=diff&pathrev=19206&r1=19205&r2=19206
==============================================================================
--- 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociationClass.java   
    (original)
+++ 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigAssociationClass.java   
    2011-04-11 01:57:56-0700
@@ -40,7 +40,6 @@
 package org.argouml.uml.diagram.ui;
 
 import java.awt.Color;
-import java.awt.Rectangle;
 import java.util.Iterator;
 import java.util.List;
 
@@ -183,22 +182,6 @@
         }
     }
 
-    public Rectangle getOperationsBounds() {
-        if (getAssociationClass() != null) {
-            return getAssociationClass().getOperationsBounds();
-        } else {
-            return new Rectangle(0, 0, 0, 0);
-        }
-    }
-
-    public boolean isOperationsVisible() {
-        if (getAssociationClass() != null) {
-            return getAssociationClass().isOperationsVisible();
-        } else {
-            return true;
-        }
-    }
-
     /**
      * Set fill color of contained FigClassAssociationClass.
      * 

Modified: 
trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigCompartmentBox.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigCompartmentBox.java?view=diff&pathrev=19206&r1=19205&r2=19206
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigCompartmentBox.java 
(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/ui/FigCompartmentBox.java 
2011-04-11 01:57:56-0700
@@ -54,6 +54,7 @@
 import org.argouml.model.AssociationChangeEvent;
 import org.argouml.model.AttributeChangeEvent;
 import org.argouml.model.InvalidElementException;
+import org.argouml.model.Model;
 import org.argouml.ui.targetmanager.TargetManager;
 import org.argouml.uml.diagram.DiagramSettings;
 import org.tigris.gef.base.Editor;
@@ -87,6 +88,8 @@
 
     private static final Logger LOG = Logger.getLogger(
             FigCompartmentBox.class);
+    
+    
 
     /**
      * Default bounds for a compartment.
@@ -194,7 +197,33 @@
         addFig(c.getSeparatorFig());
         compartments.add(c);
     }
-
+    
+    protected void createCompartments() {
+        Object owner = getOwner();
+        if (Model.getUmlFactory().isContainmentValid(
+                Model.getMetaTypes().getAttribute(),
+                getOwner())) {
+            FigCompartment fc = new FigAttributesCompartment(
+                    owner, DEFAULT_COMPARTMENT_BOUNDS, getSettings());
+            addFig(fc);
+        }
+        if (Model.getUmlFactory().isContainmentValid(
+                Model.getMetaTypes().getEnumerationLiteral(),
+                getOwner())) {
+            FigCompartment fc = new FigEnumLiteralsCompartment(
+                    owner, DEFAULT_COMPARTMENT_BOUNDS, getSettings());
+            addFig(fc);
+        }
+        if (Model.getUmlFactory().isContainmentValid(
+                Model.getMetaTypes().getOperation(),
+                getOwner())) {
+            FigCompartment fc = new FigOperationsCompartment(
+                    owner, DEFAULT_COMPARTMENT_BOUNDS, getSettings());
+            addFig(fc);
+        }
+    }
+    
+    
     protected int getVisibleCompartmentCount() {
         int result = 0;
         for (int i = 0; i < compartments.size(); i++) {

Modified: trunk/src/argouml-app/src/org/argouml/uml/reveng/DiagramInterface.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/reveng/DiagramInterface.java?view=diff&pathrev=19206&r1=19205&r2=19206
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/reveng/DiagramInterface.java      
(original)
+++ trunk/src/argouml-app/src/org/argouml/uml/reveng/DiagramInterface.java      
2011-04-11 01:57:56-0700
@@ -51,6 +51,7 @@
 import org.argouml.uml.diagram.DiagramFactory;
 import org.argouml.uml.diagram.static_structure.ClassDiagramGraphModel;
 import org.argouml.uml.diagram.static_structure.ui.FigClassifierBox;
+import org.argouml.uml.diagram.ui.FigCompartment;
 import org.argouml.uml.diagram.ui.FigNodeModelElement;
 import org.tigris.gef.base.Editor;
 import org.tigris.gef.base.LayerPerspective;
@@ -314,9 +315,19 @@
             currentGM.addNode(classifier);
             currentLayer.putInPosition(newFig);
 
-            newFig.setOperationsVisible(!minimise);
-            if (Model.getFacade().isAClass(classifier)) {
-                newFig.setAttributesVisible(!minimise);
+            if (Model.getUmlFactory().isContainmentValid(
+                    Model.getMetaTypes().getOperation(),
+                    classifier)) {
+                FigCompartment ops =
+                    newFig.getCompartment(Model.getMetaTypes().getOperation());
+                newFig.setCompartmentVisible(ops, !minimise);
+            }
+            if (Model.getUmlFactory().isContainmentValid(
+                    Model.getMetaTypes().getAttribute(),
+                    classifier)) {
+                FigCompartment atts =
+                    newFig.getCompartment(Model.getMetaTypes().getAttribute());
+                newFig.setCompartmentVisible(atts, !minimise);
             }
 
             newFig.renderingChanged();

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

To unsubscribe from this discussion, e-mail: 
[[email protected]].

Reply via email to