diff options
author | pfilion | 2011-05-10 13:18:41 +0000 |
---|---|---|
committer | pfilion | 2011-05-10 13:18:41 +0000 |
commit | d271ffb857e6b439a95eecf6be2f3a3c54162091 (patch) | |
tree | 6db8c2ea9d38d025e01d98d1a9d10d31fbfe5c68 | |
parent | b99e47e6f31194535cec93cc348f3f41118a89e4 (diff) | |
download | webtools.dali-d271ffb857e6b439a95eecf6be2f3a3c54162091.tar.gz webtools.dali-d271ffb857e6b439a95eecf6be2f3a3c54162091.tar.xz webtools.dali-d271ffb857e6b439a95eecf6be2f3a3c54162091.zip |
Fix for bug 345011. It seems Combo.setText() does not update the selected item, so instead of doing setText(), setSelecionIndex() sets the selected index and the text.
-rw-r--r-- | common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/swt/ComboModelAdapter.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/swt/ComboModelAdapter.java b/common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/swt/ComboModelAdapter.java index 39794a9cc7..ea9513f387 100644 --- a/common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/swt/ComboModelAdapter.java +++ b/common/plugins/org.eclipse.jpt.common.ui/src/org/eclipse/jpt/common/ui/internal/swt/ComboModelAdapter.java @@ -9,6 +9,7 @@ ******************************************************************************/ package org.eclipse.jpt.common.ui.internal.swt; +import org.eclipse.jpt.common.utility.internal.ArrayTools; import org.eclipse.jpt.common.utility.internal.StringConverter; import org.eclipse.jpt.common.utility.model.value.ListValueModel; import org.eclipse.jpt.common.utility.model.value.WritablePropertyValueModel; @@ -204,7 +205,17 @@ public class ComboModelAdapter<E> extends AbstractComboModelAdapter<E> { else { this.selectedItem = null; } - this.combo.setText(item); + + int selectedIndex = ArrayTools.indexOf(this.combo.getItems(), item); + + // Select the item so combo.getSelectionIndex() does not return -1 + if (selectedIndex > -1) { + this.combo.select(selectedIndex); + } + // In case some text is set even if there are no items + else { + this.combo.setText(item); + } } } } |