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