svn commit: r17656 - trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui

Bob Tarling <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
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]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.