svn commit: r15779 - trunk/src/argouml-app/src/org/argouml/uml/ui/UMLMultiplicityPanel.java
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
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);
+ }
}
}
}