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]].
