Author: tfmorris Date: 2008-09-24 07:38:38-0700 New Revision: 15779 Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/UMLMultiplicityPanel.java
Log: RESOLVED - task 5406: If multiplicity is unspecified then checking box does not enable http://argouml.tigris.org/issues/show_bug.cgi?id=5406 Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/UMLMultiplicityPanel.java Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/UMLMultiplicityPanel.java?view=diff&rev=15779&p1=trunk/src/argouml-app/src/org/argouml/uml/ui/UMLMultiplicityPanel.java&p2=trunk/src/argouml-app/src/org/argouml/uml/ui/UMLMultiplicityPanel.java&r1=15778&r2=15779 ============================================================================== --- trunk/src/argouml-app/src/org/argouml/uml/ui/UMLMultiplicityPanel.java (original) +++ trunk/src/argouml-app/src/org/argouml/uml/ui/UMLMultiplicityPanel.java 2008-09-24 07:38:38-0700 @@ -294,28 +294,35 @@ public void itemStateChanged(ItemEvent e) { Object target = getTarget(); Object oldValue = Model.getFacade().getMultiplicity(target); + // Note: MultiplicityComboBox.targetSet() can cause this event + // as well as user actions, so be sure to consider this in + // changing the following logic if (e.getStateChange() == ItemEvent.SELECTED) { - String comboText = - (String) multiplicityComboBox.getSelectedItem(); - if (comboText.equals(Model.getFacade().toString(oldValue))) { - return; - } - Object multi = - Model.getDataTypesFactory().createMultiplicity(comboText); - if (multi == null) { - Model.getCoreHelper().setMultiplicity(target, "1"); - } else { - Model.getCoreHelper().setMultiplicity(target, multi); - } + String comboText = + (String) multiplicityComboBox.getSelectedItem(); + if (oldValue == null + || !comboText.equals(Model.getFacade().toString( + oldValue))) { + Object multi = Model.getDataTypesFactory() + .createMultiplicity(comboText); + if (multi == null) { + Model.getCoreHelper().setMultiplicity(target, "1"); + } else { + Model.getCoreHelper().setMultiplicity(target, multi); + } + if (oldValue != null) { + Model.getUmlFactory().delete(oldValue); + } + } multiplicityComboBox.setEnabled(true); multiplicityComboBox.setEditable(true); } else { multiplicityComboBox.setEnabled(false); multiplicityComboBox.setEditable(false); Model.getCoreHelper().setMultiplicity(target, null); - } - if (oldValue != null) { - Model.getUmlFactory().delete(oldValue); + if (oldValue != null) { + Model.getUmlFactory().delete(oldValue); + } } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
