Author: bobtarling Date: 2011-05-17 02:29:56-0700 New Revision: 19449 Modified: trunk/src/argouml-app/src/org/argouml/notation/providers/ObjectNotation.java trunk/src/argouml-app/src/org/argouml/uml/diagram/deployment/ui/FigObject.java trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/UMLClassDiagram.java
Log: Allow FigObject to display a InstanceSpecification Modified: trunk/src/argouml-app/src/org/argouml/notation/providers/ObjectNotation.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/notation/providers/ObjectNotation.java?view=diff&pathrev=19449&r1=19448&r2=19449 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/notation/providers/ObjectNotation.java (original) +++ trunk/src/argouml-app/src/org/argouml/notation/providers/ObjectNotation.java 2011-05-17 02:29:56-0700 @@ -1,6 +1,6 @@ /* $Id$ ***************************************************************************** - * Copyright (c) 2009-2010 Contributors - see below + * Copyright (c) 2009-2011 Contributors - see below * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * * Contributors: * Michiel van der Wulp + * Bob Tarling ***************************************************************************** * * Some portions of this file was previously release using the BSD License: @@ -61,7 +62,8 @@ * @param theObject the UML element */ public ObjectNotation(Object theObject) { - if (!Model.getFacade().isAObject(theObject)) { + if (!Model.getFacade().isAObject(theObject) + && !Model.getFacade().isAInstanceSpecification(theObject)) { throw new IllegalArgumentException("This is not an Object."); } } Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/deployment/ui/FigObject.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/deployment/ui/FigObject.java?view=diff&pathrev=19449&r1=19448&r2=19449 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/uml/diagram/deployment/ui/FigObject.java (original) +++ trunk/src/argouml-app/src/org/argouml/uml/diagram/deployment/ui/FigObject.java 2011-05-17 02:29:56-0700 @@ -251,7 +251,6 @@ */ @Override public void setEnclosingFig(Fig encloser) { - assert Model.getFacade().isAObject(getOwner()); Object owner = getOwner(); @@ -262,7 +261,8 @@ .setComponentInstance(owner, encloser.getOwner()); super.setEnclosingFig(encloser); - } else if (Model.getFacade().getComponentInstance(owner) != null) { + } else if (Model.getFacade().getUmlVersion().startsWith("1") + && Model.getFacade().getComponentInstance(owner) != null) { Model.getCommonBehaviorHelper().setComponentInstance(owner, null); super.setEnclosingFig(null); } Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/UMLClassDiagram.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/UMLClassDiagram.java?view=diff&pathrev=19449&r1=19448&r2=19449 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/UMLClassDiagram.java (original) +++ trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/UMLClassDiagram.java 2011-05-17 02:29:56-0700 @@ -53,6 +53,7 @@ import org.argouml.uml.diagram.DiagramEdgeSettings; import org.argouml.uml.diagram.DiagramElement; import org.argouml.uml.diagram.DiagramSettings; +import org.argouml.uml.diagram.collaboration.ui.FigClassifierRole; import org.argouml.uml.diagram.deployment.ui.FigComponent; import org.argouml.uml.diagram.deployment.ui.FigComponentInstance; import org.argouml.uml.diagram.deployment.ui.FigMNode; @@ -100,6 +101,7 @@ private Action actionAssociationClass; private Action actionClass; private Action actionInterface; + private Action actionInstanceSpecification; private Action actionDependency; private Action actionPermission; private Action actionUsage; @@ -209,6 +211,7 @@ ActionAddAttribute.getTargetFollower(), ActionAddOperation.getTargetFollower(), getActionAssociationClass(), + getActionInstanceSpecification(), null, getDataTypeActions(), }; @@ -419,6 +422,19 @@ } /** + * @return Returns the actionInterface. + */ + protected Action getActionInstanceSpecification() { + if (actionInstanceSpecification == null) { + actionInstanceSpecification = + makeCreateNodeAction( + Model.getMetaTypes().getInstanceSpecification(), + "button.new-instance-specification"); + } + return actionInstanceSpecification; + } + + /** * @return Returns the actionLink. */ protected Action getActionLink() { @@ -669,6 +685,8 @@ return true; } else if (Model.getFacade().isAObject(objectToAccept)) { return true; + } else if (Model.getFacade().isAInstanceSpecification(objectToAccept)) { + return true; } else if (Model.getFacade().isANodeInstance(objectToAccept)) { return true; } else if (Model.getFacade().isAComponentInstance(objectToAccept)) { @@ -866,6 +884,8 @@ figNode = new FigUseCase(modelElement, bounds, settings); } else if (Model.getFacade().isAObject(modelElement)) { figNode = new FigObject(modelElement, bounds, settings); + } else if (Model.getFacade().isAInstanceSpecification(modelElement)) { + figNode = new FigObject(modelElement, bounds, settings); } else if (Model.getFacade().isANodeInstance(modelElement)) { figNode = new FigNodeInstance(modelElement, bounds, settings); } else if (Model.getFacade().isAComponentInstance(modelElement)) { ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2738512 To unsubscribe from this discussion, e-mail: [[email protected]].
