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