svn commit: r17506 - 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-11-20 08:04:57-0800
New Revision: 17506

Modified:
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/EnumerationListModel.java
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SingleListFactory.java
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleAvailableContentsListModel.java
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleAvailableFeaturesListModel.java
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBox.java
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBoxModel.java
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLInitialValueExpressionModel.java
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLLinkedList.java
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLMessageActivatorComboBoxModel.java
   trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLModelElementListModel.java

Log:
Get rid of any target listeners

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/EnumerationListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/EnumerationListModel.java?view=diff&pathrev=17506&r1=17505&r2=17506
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/EnumerationListModel.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/EnumerationListModel.java	2009-11-20 08:04:57-0800
@@ -27,51 +27,21 @@
 import javax.swing.DefaultListModel;
 
 import org.argouml.model.Model;
-import org.argouml.ui.targetmanager.TargetEvent;
-import org.argouml.ui.targetmanager.TargetListener;
-import org.argouml.ui.targetmanager.TargetManager;
 
 /**
  * The list model for the enumeration of a literal.
  *
  * @author [email protected]
  */
-class EnumerationListModel extends DefaultListModel implements TargetListener {
+class EnumerationListModel extends DefaultListModel {
 
     /**
      * Constructor for EnumerationListModel.
      */
-    public EnumerationListModel() {
+    public EnumerationListModel(Object target) {
         super();
-        setTarget(TargetManager.getInstance().getModelTarget());
-        TargetManager.getInstance().addTargetListener(this);
-    }
-
-    /*
-     * @see TargetListener#targetAdded(TargetEvent)
-     */
-    public void targetAdded(TargetEvent e) {
-        setTarget(e.getNewTarget());
-    }
-
-    /*
-     * @see TargetListener#targetRemoved(TargetEvent)
-     */
-    public void targetRemoved(TargetEvent e) {
-        setTarget(e.getNewTarget());
-    }
-
-    /*
-     * @see TargetListener#targetSet(TargetEvent)
-     */
-    public void targetSet(TargetEvent e) {
-        setTarget(e.getNewTarget());
-    }
-
-    public void setTarget(Object t) {
-        removeAllElements();
-        if (Model.getFacade().isAEnumerationLiteral(t)) {
-            addElement(Model.getFacade().getEnumeration(t));
+        if (Model.getFacade().isAEnumerationLiteral(target)) {
+            addElement(Model.getFacade().getEnumeration(target));
         }
     }
 }

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java?view=diff&pathrev=17506&r1=17505&r2=17506
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java	2009-11-20 08:04:57-0800
@@ -197,11 +197,15 @@
             model = new UMLTagDefinitionTypedValuesListModel(); 
         }
         
+        // If we have a model but no list then build the list with
+        // preferred constructor. Eventually all lists should be built
+        // this way.
         if (model != null && list == null) {
-            // If we have a model but no list then build the list with
-            // preferred constructor. Eventually all lists should be built
-            // this way.
-            model.setTarget(modelElement);
+            if (model.getTarget() == null) {
+                // This should only be temporary - we need to pass the target
+                // in the constructors of the models above
+                model.setTarget(modelElement);
+            }
             list = new UMLExpandableRowSelector(model);
         }
         

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SingleListFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SingleListFactory.java?view=diff&pathrev=17506&r1=17505&r2=17506
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SingleListFactory.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SingleListFactory.java	2009-11-20 08:04:57-0800
@@ -54,8 +54,7 @@
         } else if ("feature".equals(propName)) {
             model = new UMLParameterBehavioralFeatListModel();
         } else if ("enumeration".equals(propName)) {
-            EnumerationListModel m = new EnumerationListModel();
-            m.setTarget(modelElement);   
+            EnumerationListModel m = new EnumerationListModel(modelElement);
             pane = new UMLSingleRowSelector(m);
         } else if ("association".equals(propName)) {
             model = new UMLAssociationEndAssociationListModel();

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleAvailableContentsListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleAvailableContentsListModel.java?view=diff&pathrev=17506&r1=17505&r2=17506
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleAvailableContentsListModel.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleAvailableContentsListModel.java	2009-11-20 08:04:57-0800
@@ -100,25 +100,14 @@
     /*
      * @see org.argouml.uml.ui.UMLModelElementListModel2#setTarget(java.lang.Object)
      */
-    public void setTarget(Object theNewTarget) {
+    protected void setTarget(Object theNewTarget) {
+        assert (getTarget() == null);
+        assert (!(getTarget() instanceof Fig));
+        
         theNewTarget = theNewTarget instanceof Fig
             ? ((Fig) theNewTarget).getOwner() : theNewTarget;
         if (Model.getFacade().isAModelElement(theNewTarget)
                 || theNewTarget instanceof Diagram) {
-            if (getTarget() != null) {
-                Enumeration enumeration = elements();
-                while (enumeration.hasMoreElements()) {
-                    Object base = enumeration.nextElement();
-                    Model.getPump().removeModelEventListener(
-                        this,
-                        base,
-                        "ownedElement");
-                }
-                Model.getPump().removeModelEventListener(
-                    this,
-                    getTarget(),
-                    "base");
-            }
             setListTarget(theNewTarget);
             if (getTarget() != null) {
                 Collection bases = Model.getFacade().getBases(getTarget());

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleAvailableFeaturesListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleAvailableFeaturesListModel.java?view=diff&pathrev=17506&r1=17505&r2=17506
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleAvailableFeaturesListModel.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLClassifierRoleAvailableFeaturesListModel.java	2009-11-20 08:04:57-0800
@@ -102,21 +102,9 @@
     /*
      * @see org.argouml.uml.ui.UMLModelElementListModel2#setTarget(java.lang.Object)
      */
-    public void setTarget(Object target) {
-        if (getTarget() != null) {
-            Enumeration enumeration = elements();
-            while (enumeration.hasMoreElements()) {
-                Object base = enumeration.nextElement();
-                Model.getPump().removeModelEventListener(
-                    this,
-                    base,
-                    "feature");
-            }
-            Model.getPump().removeModelEventListener(
-                this,
-                getTarget(),
-                "base");
-        }
+    protected void setTarget(Object target) {
+        assert (getTarget() == null);
+        assert (!(getTarget() instanceof Fig));
         
         target = target instanceof Fig ? ((Fig) target).getOwner() : target;
         if (!Model.getFacade().isAModelElement(target))

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBox.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBox.java?view=diff&pathrev=17506&r1=17505&r2=17506
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBox.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBox.java	2009-11-20 08:04:57-0800
@@ -29,10 +29,7 @@
 import javax.swing.Action;
 import javax.swing.JComboBox;
 
-import org.apache.log4j.Logger;
 import org.argouml.ui.LookAndFeelMgr;
-import org.argouml.ui.targetmanager.TargetEvent;
-import org.argouml.ui.targetmanager.TargetListener;
 import org.argouml.ui.targetmanager.TargettableModelView;
 import org.argouml.uml.ui.UMLListCellRenderer2;
 
@@ -45,9 +42,7 @@
  * UMLComboBox. The ancient UMLComboBoxModel and UMLComboBox are
  * replaced with this implementation to improve performance.
  */
-class UMLComboBox
-    extends JComboBox
-    implements TargettableModelView, TargetListener {
+class UMLComboBox extends JComboBox {
 
     /**
      * Constructor for UMLComboBox2.
@@ -114,35 +109,4 @@
     public Object getTarget() {
         return ((UMLComboBoxModel) getModel()).getTarget();
     }
-
-
-    /*
-     * @see org.argouml.ui.targetmanager.TargettableModelView#getTargettableModel()
-     */
-    public TargetListener getTargettableModel() {
-        return (TargetListener) getModel();
-    }
-
-    /*
-     * @see org.argouml.ui.targetmanager.TargetListener#targetAdded(org.argouml.ui.targetmanager.TargetEvent)
-     */
-    public void targetAdded(TargetEvent e) {
-        if (e.getNewTarget() != getTarget()) {
-            removeActionListener(this);
-        }
-    }
-
-    /*
-     * @see org.argouml.ui.targetmanager.TargetListener#targetRemoved(org.argouml.ui.targetmanager.TargetEvent)
-     */
-    public void targetRemoved(TargetEvent e) {
-        removeActionListener(this);
-    }
-
-    /*
-     * @see org.argouml.ui.targetmanager.TargetListener#targetSet(org.argouml.ui.targetmanager.TargetEvent)
-     */
-    public void targetSet(TargetEvent e) {
-        addActionListener(this);
-    }
 }

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBoxModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBoxModel.java?view=diff&pathrev=17506&r1=17505&r2=17506
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBoxModel.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLComboBoxModel.java	2009-11-20 08:04:57-0800
@@ -44,8 +44,6 @@
 import org.argouml.model.InvalidElementException;
 import org.argouml.model.Model;
 import org.argouml.model.RemoveAssociationEvent;
-import org.argouml.ui.targetmanager.TargetEvent;
-import org.argouml.ui.targetmanager.TargetListener;
 import org.argouml.uml.diagram.ArgoDiagram;
 
 /**
@@ -55,8 +53,9 @@
  * at construction time of this class. I.e. it is "clearable".
  */
 abstract class UMLComboBoxModel extends AbstractListModel
-        implements PropertyChangeListener, 
-        ComboBoxModel, TargetListener, PopupMenuListener {
+        implements PropertyChangeListener,
+        ComboBoxModel,
+        PopupMenuListener {
     /**
      * Logger.
      */
@@ -351,7 +350,9 @@
      * 
      * @param theNewTarget the target
      */
-    public void setTarget(Object theNewTarget) {
+    protected void setTarget(Object theNewTarget) {
+        assert (getTarget() == null);
+        
         if (theNewTarget != null && theNewTarget.equals(comboBoxTarget)) {
             LOG.debug("Ignoring duplicate setTarget request " + theNewTarget);
             return;
@@ -638,42 +639,6 @@
 	}
     }
 
-    /*
-     * @see TargetListener#targetAdded(TargetEvent)
-     */
-    public void targetAdded(TargetEvent e) {
-        LOG.debug("targetAdded targetevent :  " + e);
-        setTarget(e.getNewTarget());
-    }
-
-    /*
-     * @see TargetListener#targetRemoved(TargetEvent)
-     */
-    public void targetRemoved(TargetEvent e) {
-        LOG.info("targetRemoved targetevent :  " + e);
-        Object currentTarget = comboBoxTarget;
-        Object oldTarget =
-	    e.getOldTargets().length > 0
-            ? e.getOldTargets()[0] : null;
-        if (oldTarget == currentTarget) {
-            if (Model.getFacade().isAModelElement(currentTarget)) {
-                Model.getPump().removeModelEventListener(this,
-                        currentTarget, propertySetName);
-            }
-            comboBoxTarget = e.getNewTarget();
-        }
-        setTarget(e.getNewTarget());
-    }
-
-    /*
-     * @see TargetListener#targetSet(TargetEvent)
-     */
-    public void targetSet(TargetEvent e) {
-        LOG.debug("targetSet targetevent :  " + e);
-        setTarget(e.getNewTarget());
-
-    }
-
     /**
      * Return boolean indicating whether combo allows empty string.
      * @return state of isClearable flag

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLInitialValueExpressionModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLInitialValueExpressionModel.java?view=diff&pathrev=17506&r1=17505&r2=17506
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLInitialValueExpressionModel.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLInitialValueExpressionModel.java	2009-11-20 08:04:57-0800
@@ -24,13 +24,7 @@
 
 package org.argouml.core.propertypanels.ui;
 
-import java.beans.PropertyChangeEvent;
-import java.beans.PropertyChangeListener;
-
 import org.argouml.model.Model;
-import org.argouml.ui.targetmanager.TargetEvent;
-import org.argouml.ui.targetmanager.TargetListener;
-import org.argouml.uml.ui.UMLExpressionModel2;
 
 /**
  * @author jrobbins

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLLinkedList.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLLinkedList.java?view=diff&pathrev=17506&r1=17505&r2=17506
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLLinkedList.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLLinkedList.java	2009-11-20 08:04:57-0800
@@ -40,8 +40,6 @@
 import org.apache.log4j.Logger;
 import org.argouml.model.Model;
 import org.argouml.ui.LookAndFeelMgr;
-import org.argouml.ui.targetmanager.TargetListener;
-import org.argouml.ui.targetmanager.TargettableModelView;
 import org.argouml.uml.ui.UMLLinkMouseListener;
 import org.argouml.uml.ui.UMLLinkedListCellRenderer;
 
@@ -57,8 +55,7 @@
  * @since Oct 2, 2002
  * @author [email protected]
  */
-class UMLLinkedList extends JList
-        implements TargettableModelView, MouseListener {
+class UMLLinkedList extends JList implements MouseListener {
 
     private static final Logger LOG =
         Logger.getLogger(UMLLinkedList.class);
@@ -129,13 +126,6 @@
     }
 
     /*
-     * @see TargettableModelView#getTargettableModel()
-     */
-    public TargetListener getTargettableModel() {
-        return (TargetListener) getModel();
-    }
-
-    /*
      * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
      */
     public void mouseClicked(MouseEvent e) {

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLMessageActivatorComboBoxModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLMessageActivatorComboBoxModel.java?view=diff&pathrev=17506&r1=17505&r2=17506
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLMessageActivatorComboBoxModel.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLMessageActivatorComboBoxModel.java	2009-11-20 08:04:57-0800
@@ -80,15 +80,9 @@
     /*
      * @see org.argouml.uml.ui.UMLComboBoxModel2#setTarget(java.lang.Object)
      */
-    public void setTarget(Object target) {
-        if (Model.getFacade().isAMessage(getTarget())) {
-            if (interaction != null) {
-                Model.getPump().removeModelEventListener(
-                    this,
-                    interaction,
-                    "message");
-            }
-        }
+    protected void setTarget(Object target) {
+        assert (getTarget() == null);
+        
         super.setTarget(target);
         if (Model.getFacade().isAMessage(target)) {
             interaction = Model.getFacade().getInteraction(target);

Modified: trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLModelElementListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLModelElementListModel.java?view=diff&pathrev=17506&r1=17505&r2=17506
==============================================================================
--- trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLModelElementListModel.java	(original)
+++ trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLModelElementListModel.java	2009-11-20 08:04:57-0800
@@ -44,8 +44,6 @@
 import org.argouml.model.InvalidElementException;
 import org.argouml.model.Model;
 import org.argouml.model.RemoveAssociationEvent;
-import org.argouml.ui.targetmanager.TargetEvent;
-import org.argouml.ui.targetmanager.TargetListener;
 import org.argouml.uml.ui.AbstractActionAddModelElement2;
 import org.argouml.uml.ui.AbstractActionNewModelElement;
 import org.argouml.uml.ui.AbstractActionRemoveElement;
@@ -76,12 +74,12 @@
     
     
     /**
-     * Flag to indicate wether list events should be fired
+     * Flag to indicate whether list events should be fired
      */
     private boolean fireListEvents = true;
 
     /**
-     * Flag to indicate wether the model is being build
+     * Flag to indicate whether the model is being build
      */
     private boolean buildingModel = false;
 
@@ -414,7 +412,10 @@
      * 
      * @param theNewTarget the new target
      */
-    public void setTarget(Object theNewTarget) {
+    protected void setTarget(Object theNewTarget) {
+        assert (getTarget() == null);
+        assert (!(getTarget() instanceof Fig));
+        
         theNewTarget = theNewTarget instanceof Fig
             ? ((Fig) theNewTarget).getOwner() : theNewTarget;
         if (Model.getFacade().isAUMLElement(theNewTarget)

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2421033

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.