Author: bobtarling Date: 2009-12-17 11:00:34-0800 New Revision: 17656 Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLConcreteModelElementComboBoxModel.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLDiscriminatorNameDocument.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLDocument.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExtensionPointLocationDocument.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLModelElementNameDocument.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLOperationSpecificationDocument.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLPlainTextDocument.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLSynchStateBoundDocument.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTextArea2.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTextField2.java Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCommentBodyDocument.java
Log: Change to a different version of UMLPlainTextDocument Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java?view=diff&pathrev=17656&r1=17655&r2=17656 ============================================================================== --- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java (original) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java 2009-12-17 11:00:34-0800 @@ -42,14 +42,9 @@ import org.argouml.uml.ui.UMLComboBoxModel2; import org.argouml.uml.ui.UMLComboBoxNavigator; import org.argouml.uml.ui.UMLDerivedCheckBox; -import org.argouml.uml.ui.UMLPlainTextDocument; import org.argouml.uml.ui.UMLRadioButtonPanel; import org.argouml.uml.ui.UMLSearchableComboBox; -import org.argouml.uml.ui.UMLTextArea2; -import org.argouml.uml.ui.UMLTextField2; -import org.argouml.uml.ui.behavior.activity_graphs.ActionSetObjectFlowStateClassifier; import org.argouml.uml.ui.behavior.activity_graphs.UMLActionSynchCheckBox; -import org.argouml.uml.ui.behavior.activity_graphs.UMLObjectFlowStateClassifierComboBoxModel; import org.argouml.uml.ui.behavior.collaborations.ActionSetAssociationRoleBase; import org.argouml.uml.ui.behavior.common_behavior.UMLActionAsynchronousCheckBox; import org.argouml.uml.ui.behavior.state_machines.ActionSetContextStateMachine; @@ -58,8 +53,6 @@ import org.argouml.uml.ui.behavior.state_machines.UMLStateMachineContextComboBoxModel; import org.argouml.uml.ui.behavior.state_machines.UMLStubStateComboBoxModel; import org.argouml.uml.ui.behavior.state_machines.UMLSubmachineStateComboBoxModel; -import org.argouml.uml.ui.behavior.state_machines.UMLSynchStateBoundDocument; -import org.argouml.uml.ui.behavior.use_cases.UMLExtensionPointLocationDocument; import org.argouml.uml.ui.foundation.core.ActionSetAssociationEndType; import org.argouml.uml.ui.foundation.core.ActionSetGeneralizationPowertype; import org.argouml.uml.ui.foundation.core.ActionSetModelElementNamespace; @@ -72,17 +65,14 @@ import org.argouml.uml.ui.foundation.core.UMLAssociationEndTypeComboBoxModel; import org.argouml.uml.ui.foundation.core.UMLBehavioralFeatureQueryCheckBox; import org.argouml.uml.ui.foundation.core.UMLClassActiveCheckBox; -import org.argouml.uml.ui.foundation.core.UMLDiscriminatorNameDocument; import org.argouml.uml.ui.foundation.core.UMLFeatureOwnerScopeCheckBox; import org.argouml.uml.ui.foundation.core.UMLGeneralizableElementAbstractCheckBox; import org.argouml.uml.ui.foundation.core.UMLGeneralizableElementLeafCheckBox; import org.argouml.uml.ui.foundation.core.UMLGeneralizableElementRootCheckBox; import org.argouml.uml.ui.foundation.core.UMLGeneralizationPowertypeComboBoxModel; -import org.argouml.uml.ui.foundation.core.UMLModelElementNameDocument; import org.argouml.uml.ui.foundation.core.UMLModelElementNamespaceComboBoxModel; import org.argouml.uml.ui.foundation.core.UMLModelElementVisibilityRadioButtonPanel; import org.argouml.uml.ui.foundation.core.UMLOperationConcurrencyRadioButtonPanel; -import org.argouml.uml.ui.foundation.core.UMLOperationSpecificationDocument; import org.argouml.uml.ui.foundation.core.UMLParameterDirectionKindRadioButtonPanel; import org.argouml.uml.ui.foundation.core.UMLStructuralFeatureChangeabilityRadioButtonPanel; import org.argouml.uml.ui.foundation.core.UMLStructuralFeatureTypeComboBoxModel; @@ -158,13 +148,13 @@ control = p; } else if ("specification".equals(prop.getName())) { UMLPlainTextDocument document = - new UMLOperationSpecificationDocument(); + new UMLOperationSpecificationDocument(prop.getName(), target); document.setTarget(target); UMLTextArea2 osta = new UMLTextArea2(document); osta.setRows(3); control = new JScrollPane(osta); } else if ("body".equals(prop.getName())) { - UMLPlainTextDocument document = new UMLCommentBodyDocument(); + UMLPlainTextDocument document = new UMLCommentBodyDocument(prop.getName(), target); document.setTarget(target); UMLTextArea2 text = new UMLTextArea2(document); text.setLineWrap(true); @@ -379,13 +369,14 @@ "label.namespace.navigate.tooltip"), combo); } else if ("type".equals(prop.getName())) { - if (Model.getFacade().isAObjectFlowState(target)) { + if (Model.getFacade().isATemplateParameter(target)) { final UMLComboBoxModel2 model = - new UMLObjectFlowStateClassifierComboBoxModel(); - model.setTarget(target); - final JComboBox combo = new UMLSearchableComboBox( + new UMLConcreteModelElementComboBoxModel(); + Object parameter = Model.getFacade().getParameter(target); + model.setTarget(parameter.getClass()); + final JComboBox combo = new UMLComboBox2( model, - new ActionSetObjectFlowStateClassifier(), true); + null, true); comp = new UMLComboBoxNavigator(Translator.localize( "label.classifierinstate.navigate.tooltip"), combo); @@ -555,13 +546,13 @@ JTextField tfield = null; UMLPlainTextDocument document = null; if ("name".equals(prop.getName())) { - document = new UMLModelElementNameDocument(); + document = new UMLModelElementNameDocument(prop.getName(), target); } else if ("discriminator".equals(prop.getName())) { - document = new UMLDiscriminatorNameDocument(); + document = new UMLDiscriminatorNameDocument(prop.getName(), target); } else if ("location".equals(prop.getName())) { - document = new UMLExtensionPointLocationDocument(); + document = new UMLExtensionPointLocationDocument(prop.getName(), target); } else if ("bound".equals(prop.getName())) { - document = new UMLSynchStateBoundDocument(); + document = new UMLSynchStateBoundDocument(prop.getName(), target); } if (document != null) { Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCommentBodyDocument.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCommentBodyDocument.java?view=diff&pathrev=17656&r1=17655&r2=17656 ============================================================================== --- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCommentBodyDocument.java (original) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLCommentBodyDocument.java 2009-12-17 11:00:34-0800 @@ -25,15 +25,19 @@ package org.argouml.core.propertypanels.ui; import org.argouml.model.Model; -import org.argouml.uml.ui.UMLPlainTextDocument; class UMLCommentBodyDocument extends UMLPlainTextDocument { /** + * The class uid + */ + private static final long serialVersionUID = -5835345314712001502L; + + /** * Constructor for UMLCommentBodyDocument. */ - public UMLCommentBodyDocument() { - super("body"); + public UMLCommentBodyDocument(String propertyName, Object target) { + super(propertyName, target); /* * TODO: This is probably not the right location * for switching off the "filterNewlines". Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLConcreteModelElementComboBoxModel.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLConcreteModelElementComboBoxModel.java?view=markup&pathrev=17656 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLConcreteModelElementComboBoxModel.java 2009-12-17 11:00:34-0800 @@ -0,0 +1,80 @@ +// $Id: UMLCallEventOperationComboBoxModel.java 17015 2009-04-01 22:29:45Z bobtarling $ +// Copyright (c) 2008 The Regents of the University of California. All +// Rights Reserved. Permission to use, copy, modify, and distribute this +// software and its documentation without fee, and without a written +// agreement is hereby granted, provided that the above copyright notice +// and this paragraph appear in all copies. This software program and +// documentation are copyrighted by The Regents of the University of +// California. The software program and documentation are supplied "AS +// IS", without any accompanying services from The Regents. The Regents +// does not warrant that the operation of the program will be +// uninterrupted or error-free. The end-user understands that the program +// was developed for research purposes and is advised not to rely +// exclusively on the program for any reason. IN NO EVENT SHALL THE +// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, +// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, +// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF +// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE +// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF +// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, +// UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +package org.argouml.core.propertypanels.ui; + +import java.util.ArrayList; +import java.util.Collection; + +import org.argouml.model.Model; +import org.argouml.ui.targetmanager.TargetManager; +import org.argouml.uml.ui.UMLComboBoxModel2; + +/** + * + * @author [email protected] + */ +class UMLConcreteModelElementComboBoxModel extends UMLComboBoxModel2 { + /** + * The constructor. + */ + public UMLConcreteModelElementComboBoxModel() { + super("metatype", true); + } + + /* + * @see org.argouml.uml.ui.UMLComboBoxModel2#buildModelList() + */ + protected void buildModelList() { + ArrayList metaTypes = new ArrayList(); + metaTypes.add(Model.getMetaTypes().getUMLClass()); + metaTypes.add(Model.getMetaTypes().getInterface()); + metaTypes.add(Model.getMetaTypes().getDataType()); + metaTypes.add(Model.getMetaTypes().getPackage()); + metaTypes.add(Model.getMetaTypes().getParameter()); + setElements(metaTypes); + } + + /* + * @see org.argouml.uml.ui.UMLComboBoxModel2#getSelectedModelElement() + */ + protected Object getSelectedModelElement() { + Object target = TargetManager.getInstance().getModelTarget(); + if (Model.getFacade().isATemplateParameter(target)) { + return Model.getFacade().getParameter(target).getClass(); + } + return null; + } + + /* + * @see org.argouml.uml.ui.UMLComboBoxModel2#isValidElement(java.lang.Object) + */ + protected boolean isValidElement(Object element) { + Object target = TargetManager.getInstance().getModelTarget(); + if (Model.getFacade().isATemplateParameter(target)) { + return element == Model.getFacade().getParameter(target).getClass(); + } + return false; + } +} \ No newline at end of file Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLDiscriminatorNameDocument.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLDiscriminatorNameDocument.java?view=markup&pathrev=17656 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLDiscriminatorNameDocument.java 2009-12-17 11:00:34-0800 @@ -0,0 +1,65 @@ +// $Id: UMLDiscriminatorNameDocument.java 11516 2006-11-25 04:30:15Z tfmorris $ +// Copyright (c) 1996-2006 The Regents of the University of California. All +// Rights Reserved. Permission to use, copy, modify, and distribute this +// software and its documentation without fee, and without a written +// agreement is hereby granted, provided that the above copyright notice +// and this paragraph appear in all copies. This software program and +// documentation are copyrighted by The Regents of the University of +// California. The software program and documentation are supplied "AS +// IS", without any accompanying services from The Regents. The Regents +// does not warrant that the operation of the program will be +// uninterrupted or error-free. The end-user understands that the program +// was developed for research purposes and is advised not to rely +// exclusively on the program for any reason. IN NO EVENT SHALL THE +// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, +// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, +// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF +// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE +// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF +// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, +// UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +package org.argouml.core.propertypanels.ui; + +import org.argouml.model.Model; + +/** + * The document that is edited in the discriminator field of a generalization. + * + * @since Oct 10, 2002 + * @author [email protected] + */ +class UMLDiscriminatorNameDocument extends UMLPlainTextDocument { + + /** + * The class uid + */ + private static final long serialVersionUID = -9181779607372279972L; + + /** + * Constructor for UMLModelElementNameDocument. + */ + public UMLDiscriminatorNameDocument( + final String propertyName, + final Object target) { + super(propertyName, target); + } + + /* + * @see org.argouml.uml.ui.UMLPlainTextDocument#setProperty(java.lang.String) + */ + protected void setProperty(String text) { + Model.getCoreHelper().setDiscriminator(getTarget(), text); + } + + /* + * @see org.argouml.uml.ui.UMLPlainTextDocument#getProperty() + */ + protected String getProperty() { + return (String) Model.getFacade().getDiscriminator(getTarget()); + } + +} Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLDocument.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLDocument.java?view=markup&pathrev=17656 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLDocument.java 2009-12-17 11:00:34-0800 @@ -0,0 +1,38 @@ +// $Id: UMLDocument.java 10159 2006-03-20 23:05:45Z tfmorris $ +// Copyright (c) 2006 The Regents of the University of California. All +// Rights Reserved. Permission to use, copy, modify, and distribute this +// software and its documentation without fee, and without a written +// agreement is hereby granted, provided that the above copyright notice +// and this paragraph appear in all copies. This software program and +// documentation are copyrighted by The Regents of the University of +// California. The software program and documentation are supplied "AS +// IS", without any accompanying services from The Regents. The Regents +// does not warrant that the operation of the program will be +// uninterrupted or error-free. The end-user understands that the program +// was developed for research purposes and is advised not to rely +// exclusively on the program for any reason. IN NO EVENT SHALL THE +// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, +// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, +// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF +// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE +// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF +// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, +// UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +package org.argouml.core.propertypanels.ui; + +import java.beans.PropertyChangeListener; + +import javax.swing.text.Document; + +/** + * Interface to use as marker for interfaces needed by UMLTextField2. + * + * @author Tom Morris + * + */ +public interface UMLDocument extends Document, PropertyChangeListener { +} \ No newline at end of file Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExtensionPointLocationDocument.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExtensionPointLocationDocument.java?view=markup&pathrev=17656 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExtensionPointLocationDocument.java 2009-12-17 11:00:34-0800 @@ -0,0 +1,66 @@ +// $Id: UMLExtensionPointLocationDocument.java 11516 2006-11-25 04:30:15Z tfmorris $ +// Copyright (c) 1996-2006 The Regents of the University of California. All +// Rights Reserved. Permission to use, copy, modify, and distribute this +// software and its documentation without fee, and without a written +// agreement is hereby granted, provided that the above copyright notice +// and this paragraph appear in all copies. This software program and +// documentation are copyrighted by The Regents of the University of +// California. The software program and documentation are supplied "AS +// IS", without any accompanying services from The Regents. The Regents +// does not warrant that the operation of the program will be +// uninterrupted or error-free. The end-user understands that the program +// was developed for research purposes and is advised not to rely +// exclusively on the program for any reason. IN NO EVENT SHALL THE +// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, +// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, +// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF +// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE +// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF +// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, +// UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + +package org.argouml.core.propertypanels.ui; + +import org.argouml.model.Model; + +/** + * The model for the location field of an extension point of a usecase. + * + * @since Oct 6, 2002 + * @author [email protected] + */ +public class UMLExtensionPointLocationDocument extends UMLPlainTextDocument { + + /** + * The class uid + */ + private static final long serialVersionUID = -3863879370216745433L; + + /** + * Constructor for UMLExtensionPointLocationDocument. + */ + public UMLExtensionPointLocationDocument( + final String propertyName, + final Object target) { + super(propertyName, target); + } + + /* + * @see org.argouml.uml.ui.UMLPlainTextDocument#setProperty(java.lang.String) + */ + protected void setProperty(String text) { + Model.getUseCasesHelper().setLocation(getTarget(), text); + } + + /* + * @see org.argouml.uml.ui.UMLPlainTextDocument#getProperty() + */ + protected String getProperty() { + return Model.getFacade().getLocation(getTarget()); + } + +} Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLModelElementNameDocument.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLModelElementNameDocument.java?view=markup&pathrev=17656 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLModelElementNameDocument.java 2009-12-17 11:00:34-0800 @@ -0,0 +1,63 @@ +// $Id: UMLModelElementNameDocument.java 11516 2006-11-25 04:30:15Z tfmorris $ +// Copyright (c) 1996-2006 The Regents of the University of California. All +// Rights Reserved. Permission to use, copy, modify, and distribute this +// software and its documentation without fee, and without a written +// agreement is hereby granted, provided that the above copyright notice +// and this paragraph appear in all copies. This software program and +// documentation are copyrighted by The Regents of the University of +// California. The software program and documentation are supplied "AS +// IS", without any accompanying services from The Regents. The Regents +// does not warrant that the operation of the program will be +// uninterrupted or error-free. The end-user understands that the program +// was developed for research purposes and is advised not to rely +// exclusively on the program for any reason. IN NO EVENT SHALL THE +// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, +// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, +// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF +// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE +// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF +// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, +// UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +package org.argouml.core.propertypanels.ui; + +import org.argouml.model.Model; + +/** + * @since Oct 10, 2002 + * @author [email protected] + */ +class UMLModelElementNameDocument extends UMLPlainTextDocument { + + /** + * The class uid + */ + private static final long serialVersionUID = -4759363573872552501L; + + /** + * Constructor for UMLModelElementNameDocument. + */ + public UMLModelElementNameDocument( + final String propertyName, + final Object target) { + super(propertyName, target); + } + + /* + * @see org.argouml.uml.ui.UMLPlainTextDocument#setProperty(java.lang.String) + */ + protected void setProperty(String text) { + Model.getCoreHelper().setName(getTarget(), text); + } + + /* + * @see org.argouml.uml.ui.UMLPlainTextDocument#getProperty() + */ + protected String getProperty() { + return Model.getFacade().getName(getTarget()); + } + +} Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLOperationSpecificationDocument.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLOperationSpecificationDocument.java?view=markup&pathrev=17656 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLOperationSpecificationDocument.java 2009-12-17 11:00:34-0800 @@ -0,0 +1,70 @@ +// $Id: UMLOperationSpecificationDocument.java 12070 2007-02-16 07:29:48Z tfmorris $ +// Copyright (c) 2003-2007 The Regents of the University of California. All +// Rights Reserved. Permission to use, copy, modify, and distribute this +// software and its documentation without fee, and without a written +// agreement is hereby granted, provided that the above copyright notice +// and this paragraph appear in all copies. This software program and +// documentation are copyrighted by The Regents of the University of +// California. The software program and documentation are supplied "AS +// IS", without any accompanying services from The Regents. The Regents +// does not warrant that the operation of the program will be +// uninterrupted or error-free. The end-user understands that the program +// was developed for research purposes and is advised not to rely +// exclusively on the program for any reason. IN NO EVENT SHALL THE +// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, +// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, +// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF +// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE +// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF +// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, +// UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +package org.argouml.core.propertypanels.ui; + +import org.argouml.model.Model; + +/** + * @author tfmorris + */ +public class UMLOperationSpecificationDocument extends UMLPlainTextDocument { + + /** + * The serial version. + */ + private static final long serialVersionUID = -152721992761681537L; + + /** + * Constructor. + */ + public UMLOperationSpecificationDocument( + final String propertyName, + final Object target) { + super(propertyName, target); + } + + /* + * @see org.argouml.uml.ui.UMLPlainTextDocument#setProperty(java.lang.String) + */ + protected void setProperty(String text) { + if (Model.getFacade().isAOperation(getTarget()) + || Model.getFacade().isAReception(getTarget())) { + Model.getCoreHelper().setSpecification(getTarget(), text); + } + + } + + /* + * @see org.argouml.uml.ui.UMLPlainTextDocument#getProperty() + */ + protected String getProperty() { + if (Model.getFacade().isAOperation(getTarget()) + || Model.getFacade().isAReception(getTarget())) { + return Model.getFacade().getSpecification(getTarget()); + } + return null; + } + +} Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLPlainTextDocument.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLPlainTextDocument.java?view=markup&pathrev=17656 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLPlainTextDocument.java 2009-12-17 11:00:34-0800 @@ -0,0 +1,249 @@ +// $Id: UMLPlainTextDocument.java 16290 2008-12-07 21:09:07Z tfmorris $ +// Copyright (c) 1996-2008 The Regents of the University of California. All +// Rights Reserved. Permission to use, copy, modify, and distribute this +// software and its documentation without fee, and without a written +// agreement is hereby granted, provided that the above copyright notice +// and this paragraph appear in all copies. This software program and +// documentation are copyrighted by The Regents of the University of +// California. The software program and documentation are supplied "AS +// IS", without any accompanying services from The Regents. The Regents +// does not warrant that the operation of the program will be +// uninterrupted or error-free. The end-user understands that the program +// was developed for research purposes and is advised not to rely +// exclusively on the program for any reason. IN NO EVENT SHALL THE +// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, +// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, +// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF +// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE +// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF +// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, +// UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +package org.argouml.core.propertypanels.ui; + +import java.beans.PropertyChangeEvent; + +import javax.swing.text.AttributeSet; +import javax.swing.text.BadLocationException; +import javax.swing.text.PlainDocument; + +import org.apache.log4j.Logger; +import org.argouml.model.AttributeChangeEvent; +import org.argouml.model.Model; +import org.argouml.model.ModelEventPump; + +/** + * Model for a text property on a model element. It listens to + * property change events for the given property name so that + * changes made to the underlying UML model are reflected here. + * <p> + * NOTE: If you override the insertString() or remove() methods + * be sure to preserve the flushEvents() calls to keep things + * synchronized. Events caused by updates are delivered + * asynchronously to the actual update calls. + * <p> + * @since Oct 6, 2002 + * @author [email protected] + */ +public abstract class UMLPlainTextDocument + extends PlainDocument + implements UMLDocument { + + private static final Logger LOG = + Logger.getLogger(UMLPlainTextDocument.class); + + /** + * True if an event should be fired when the text of the document is changed + */ + private boolean firing = true; + + /** + * True if an user edits the document directly (by typing in text) + */ + @Deprecated + private boolean editing = false; + + /** + * The model element target + */ + private Object target = null; + + /** + * The name of the property set event that will change the + * property this document shows. + */ + private String eventName = null; + + /** + * Constructor for UMLPlainTextDocument. This takes a panel to set the + * thirdpartyeventlistener to the given list of events to listen to. + * + * @param name the event + */ + public UMLPlainTextDocument( + final String name, + final Object target) { + super(); + setEventName(name); + setTarget(target); + } + + /* + * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent) + */ + public void propertyChange(PropertyChangeEvent evt) { + // NOTE: This may be called from a different thread, so we need to be + // careful of the threading restrictions imposed by AbstractDocument + // for mutators to be sure we don't deadlock. + if (evt instanceof AttributeChangeEvent + && eventName.equals(evt.getPropertyName())) { + updateText((String) evt.getNewValue()); + } + } + + /** + * Returns the target. + * @return Object + */ + public final Object getTarget() { + return target; + } + + /** + * Sets the target. + * @param target The target to set + */ + public final void setTarget(Object target) { + ModelEventPump eventPump = Model.getPump(); + this.target = target; + eventPump.addModelEventListener(this, this.target, + getEventName()); + updateText(getProperty()); + } + + /* + * @see javax.swing.text.Document#insertString( + * int, java.lang.String, javax.swing.text.AttributeSet) + */ + public void insertString(int offset, String str, AttributeSet a) + throws BadLocationException { + + // Mutators hold write lock & will deadlock if use is not thread safe + super.insertString(offset, str, a); + + setPropertyInternal(getText(0, getLength())); + } + + + /* + * @see javax.swing.text.Document#remove(int, int) + */ + public void remove(int offs, int len) throws BadLocationException { + + // Mutators hold write lock & will deadlock if use is not thread safe + super.remove(offs, len); + + setPropertyInternal(getText(0, getLength())); + } + + /** + * Wrapped version of setProperty which attempts to keep us from hearing + * our own echo on the event listener when we change something. Also + * skips updates equal the current value. + */ + private void setPropertyInternal(String newValue) { + // TODO: This is updating model on a per character basis as + // well as unregistering/reregistering event listeners every + // character - very wasteful - tfm + if (isFiring() && !newValue.equals(getProperty())) { + setFiring(false); + setProperty(newValue); + Model.getPump().flushModelEvents(); + setFiring(true); + } + } + + /** + * @param text the value of the property + */ + protected abstract void setProperty(String text); + + /** + * @return the value of the property + */ + protected abstract String getProperty(); + + /** + * Enable/disable firing of updates. As a side effect, it unregisters + * model event listeners during disable and registers them again during + * enable. + * + * @param f new firing state. Pass false to disable updates. + */ + private final synchronized void setFiring(boolean f) { + ModelEventPump eventPump = Model.getPump(); + if (f && target != null) { + eventPump.addModelEventListener(this, target, eventName); + } else { + eventPump.removeModelEventListener(this, target, eventName); + } + firing = f; + } + + /** + * Return the state of the firing flag. Method is synchronized so it will + * return the correct value from any thread. + * + * @return true firing of updates is allowed currently. Returns false if we + * are in the process of doing an update so that we know to ignore + * any resulting events. + */ + private final synchronized boolean isFiring() { + return firing; + } + + private final void updateText(String textValue) { + try { + if (textValue == null) { + textValue = ""; + } + String currentValue = getText(0, getLength()); + if (isFiring() && !textValue.equals(currentValue)) { + setFiring(false); + + // Mutators hold write lock & will deadlock + // if use is not thread-safe + super.remove(0, getLength()); + super.insertString(0, textValue, null); + } + } catch (BadLocationException b) { + LOG.error( + "A BadLocationException happened\n" + + "The string to set was: " + + getProperty(), + b); + } finally { + setFiring(true); + } + } + + + /** + * Returns the eventName. + * @return String + */ + public String getEventName() { + return eventName; + } + + /** + * Sets the eventName. + * @param en The eventName to set + */ + protected void setEventName(String en) { + eventName = en; + } +} Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLSynchStateBoundDocument.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLSynchStateBoundDocument.java?view=markup&pathrev=17656 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLSynchStateBoundDocument.java 2009-12-17 11:00:34-0800 @@ -0,0 +1,91 @@ +// $Id: UMLSynchStateBoundDocument.java 11516 2006-11-25 04:30:15Z tfmorris $ +// Copyright (c) 1996-2006 The Regents of the University of California. All +// Rights Reserved. Permission to use, copy, modify, and distribute this +// software and its documentation without fee, and without a written +// agreement is hereby granted, provided that the above copyright notice +// and this paragraph appear in all copies. This software program and +// documentation are copyrighted by The Regents of the University of +// California. The software program and documentation are supplied "AS +// IS", without any accompanying services from The Regents. The Regents +// does not warrant that the operation of the program will be +// uninterrupted or error-free. The end-user understands that the program +// was developed for research purposes and is advised not to rely +// exclusively on the program for any reason. IN NO EVENT SHALL THE +// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, +// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, +// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF +// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE +// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF +// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, +// UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +package org.argouml.core.propertypanels.ui; + +import org.argouml.model.Model; +import javax.swing.text.AttributeSet; +import javax.swing.text.BadLocationException; + +/** + * The Document/model for the bound of a synch state. + * + * @author [email protected] + */ +public class UMLSynchStateBoundDocument extends UMLPlainTextDocument { + + /** + * The serial version. + */ + private static final long serialVersionUID = -1391739151659430935L; + + /** + * Constructor for UMLSynchStateBoundDocument. + */ + public UMLSynchStateBoundDocument( + final String propertyName, + final Object target) { + super(propertyName, target); + } + + /* + * @see org.argouml.uml.ui.UMLPlainTextDocument#setProperty(java.lang.String) + */ + protected void setProperty(String text) { + if (text.equals("")) { + Model.getStateMachinesHelper().setBound(getTarget(), 0); + } else { + Model.getStateMachinesHelper() + .setBound(getTarget(), Integer.valueOf(text).intValue()); + } + } + + /* + * @see org.argouml.uml.ui.UMLPlainTextDocument#getProperty() + */ + protected String getProperty() { + int bound = Model.getFacade().getBound(getTarget()); + if (bound <= 0) { + return "*"; + } else { + return String.valueOf(bound); + } + } + + /* + * @see javax.swing.text.Document#insertString(int, java.lang.String, + * javax.swing.text.AttributeSet) + */ + public void insertString(int offset, String str, AttributeSet a) + throws BadLocationException { + try { + // Make sure it's parseable as an number + Integer.parseInt(str); + super.insertString(offset, str, a); + } catch (NumberFormatException e) { + // ignored - we just skipped inserting it in our document + } + + } +} Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTextArea2.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTextArea2.java?view=markup&pathrev=17656 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTextArea2.java 2009-12-17 11:00:34-0800 @@ -0,0 +1,71 @@ +// $Id: UMLTextArea2.java 15591 2008-08-20 00:21:10Z tfmorris $ +// Copyright (c) 1996-2006 The Regents of the University of California. All +// Rights Reserved. Permission to use, copy, modify, and distribute this +// software and its documentation without fee, and without a written +// agreement is hereby granted, provided that the above copyright notice +// and this paragraph appear in all copies. This software program and +// documentation are copyrighted by The Regents of the University of +// California. The software program and documentation are supplied "AS +// IS", without any accompanying services from The Regents. The Regents +// does not warrant that the operation of the program will be +// uninterrupted or error-free. The end-user understands that the program +// was developed for research purposes and is advised not to rely +// exclusively on the program for any reason. IN NO EVENT SHALL THE +// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, +// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, +// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF +// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE +// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF +// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, +// UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +package org.argouml.core.propertypanels.ui; + +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; + +import javax.swing.JTextArea; + +import org.argouml.kernel.UmlModelMutator; +import org.argouml.ui.LookAndFeelMgr; +import org.argouml.uml.ui.ActionCopy; +import org.argouml.uml.ui.ActionCut; +import org.argouml.uml.ui.ActionPaste; + +/** + * A JTextArea especially made to represent UMLPlainTextDocuments. + * @author [email protected] + * @since Dec 28, 2002 + */ +...@umlmodelmutator +public class UMLTextArea2 extends JTextArea + implements PropertyChangeListener { + + /** + * Serial version generated for rev 1.9 + */ + private static final long serialVersionUID = -9172093001792636086L; + + /** + * Constructor for UMLTextArea2. + * @param doc the plain text document + */ + public UMLTextArea2(UMLDocument doc) { + super(doc); + setFont(LookAndFeelMgr.getInstance().getStandardFont()); + addCaretListener(ActionCopy.getInstance()); + addCaretListener(ActionCut.getInstance()); + addCaretListener(ActionPaste.getInstance()); + addFocusListener(ActionPaste.getInstance()); + } + + /* + * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent) + */ + public void propertyChange(PropertyChangeEvent evt) { + ((UMLDocument) getDocument()).propertyChange(evt); + } +} Added: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTextField2.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTextField2.java?view=markup&pathrev=17656 ============================================================================== --- (empty file) +++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLTextField2.java 2009-12-17 11:00:34-0800 @@ -0,0 +1,70 @@ +// $Id: UMLTextField2.java 11516 2006-11-25 04:30:15Z tfmorris $ +// Copyright (c) 1996-2006 The Regents of the University of California. All +// Rights Reserved. Permission to use, copy, modify, and distribute this +// software and its documentation without fee, and without a written +// agreement is hereby granted, provided that the above copyright notice +// and this paragraph appear in all copies. This software program and +// documentation are copyrighted by The Regents of the University of +// California. The software program and documentation are supplied "AS +// IS", without any accompanying services from The Regents. The Regents +// does not warrant that the operation of the program will be +// uninterrupted or error-free. The end-user understands that the program +// was developed for research purposes and is advised not to rely +// exclusively on the program for any reason. IN NO EVENT SHALL THE +// UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, +// SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, +// ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF +// THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE +// PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF +// CALIFORNIA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, +// UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +package org.argouml.core.propertypanels.ui; + +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import javax.swing.JTextField; +import org.argouml.ui.LookAndFeelMgr; +import org.argouml.uml.ui.ActionCopy; +import org.argouml.uml.ui.ActionCut; +import org.argouml.uml.ui.ActionPaste; + +/** + * @since Oct 6, 2002 + * @author [email protected] + */ +public class UMLTextField2 + extends JTextField + implements PropertyChangeListener { + + /** + * Serial version generated for rev 1.15 + */ + private static final long serialVersionUID = -5740838103900828073L; + + /** + * Constructor for UMLTextField2. + * + * @param doc the plain text document + */ + public UMLTextField2(UMLDocument doc) { + super(doc, null, 0); + setFont(LookAndFeelMgr.getInstance().getStandardFont()); + addCaretListener(ActionCopy.getInstance()); + addCaretListener(ActionCut.getInstance()); + addCaretListener(ActionPaste.getInstance()); + addFocusListener(ActionPaste.getInstance()); + } + + /* + * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent) + */ + public void propertyChange(PropertyChangeEvent evt) { + ((UMLDocument) getDocument()).propertyChange(evt); + } +} + + ------------------------------------------------------ http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2431276 To unsubscribe from this discussion, e-mail: [[email protected]].
