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