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

Reply via email to