Lior Vernia has uploaded a new change for review. Change subject: webadmin: Overload ListModel.setItems() with selectedItem ......................................................................
webadmin: Overload ListModel.setItems() with selectedItem Added an overload that includes an argument specifying the desired selectedItem after the items are set; previously this was being set to null, which could cause problems if the ListModel is associated with an editor that implements HasConstrainedValue (because then UiCommonEditorVisitor would override the null value and select the first item in the collection). Change-Id: Id6de644297cdd5eb965720fc64aea1a5a735ea24 Bug-Url: https://bugzilla.redhat.com/1078215 Signed-off-by: Lior Vernia <[email protected]> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/ListModel.java 1 file changed, 18 insertions(+), 2 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/12/26312/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/ListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/ListModel.java index 8b1a4e5..bd19ac2 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/ListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/ListModel.java @@ -1,5 +1,6 @@ package org.ovirt.engine.ui.uicommonweb.models; +import java.util.ArrayList; import java.util.List; import org.ovirt.engine.ui.uicommonweb.validation.IValidation; @@ -102,13 +103,17 @@ return items; } - public void setItems(Iterable value) + public void setItems(Iterable value) { + setItems(value, null); + } + + public void setItems(Iterable value, Object selectedItem) { if (items != value) { itemsChanging(value, items); items = value; - itemsChanged(); + itemsChanged(selectedItem); getItemsChangedEvent().raise(this, EventArgs.Empty); onPropertyChanged(new PropertyChangedEventArgs("Items")); //$NON-NLS-1$ } @@ -244,6 +249,17 @@ { } + protected void itemsChanged(Object selectedItem) { + if (selectedItem == null) { + itemsChanged(); + } else { + List selectedItems = new ArrayList(); + selectedItems.add(selectedItem); + setSelectedItem(selectedItem); + setSelectedItems(selectedItems); + } + } + protected void itemsChanged() { // if Items are updated, SelectedItem and SelectedItems become irrelevant: -- To view, visit http://gerrit.ovirt.org/26312 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id6de644297cdd5eb965720fc64aea1a5a735ea24 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.3 Gerrit-Owner: Lior Vernia <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
