Lior Vernia has uploaded a new change for review.

Change subject: webadmin: Update list box upon arrow key press
......................................................................

webadmin: Update list box upon arrow key press

ValueChangeEvent is only triggered currently when a selection changes
using the moust or when the user focuses out of the widget. This patch
causes an event to fire when the selection changes using the keyboard.

Change-Id: I4cc9ac7e82c6d1c86886907cecd6eb5b83ac8444
Bug-Url: https://bugzilla.redhat.com/987916
Signed-off-by: Lior Vernia <lver...@redhat.com>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/ListModelListBox.java
1 file changed, 25 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/65/22465/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/ListModelListBox.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/ListModelListBox.java
index aed192c..b2dcce4 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/ListModelListBox.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/ListModelListBox.java
@@ -1,7 +1,13 @@
 package org.ovirt.engine.ui.common.widget.editor;
 
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
+import com.google.gwt.dom.client.Document;
 import com.google.gwt.editor.client.adapters.TakesValueEditor;
+import com.google.gwt.event.dom.client.DomEvent;
+import com.google.gwt.event.dom.client.KeyCodes;
 import com.google.gwt.event.dom.client.KeyDownHandler;
+import com.google.gwt.event.dom.client.KeyPressEvent;
 import com.google.gwt.event.dom.client.KeyPressHandler;
 import com.google.gwt.event.dom.client.KeyUpHandler;
 import com.google.gwt.event.shared.HandlerRegistration;
@@ -27,6 +33,25 @@
      */
     public ListModelListBox(Renderer<T> renderer) {
         super(renderer);
+        addKeyPressHandler(new KeyPressHandler() {
+
+            @Override
+            public void onKeyPress(KeyPressEvent event) {
+                int keyCode = event.getNativeEvent().getKeyCode();
+                if (keyCode == KeyCodes.KEY_DOWN || keyCode == KeyCodes.KEY_UP
+                        || keyCode == KeyCodes.KEY_RIGHT || keyCode == 
KeyCodes.KEY_LEFT) {
+
+                    // deferring is required to allow the ListBox's selected 
index to update first
+                    Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+
+                        @Override
+                        public void execute() {
+                            
DomEvent.fireNativeEvent(Document.get().createChangeEvent(), asListBox());
+                        }
+                    });
+                }
+            }
+        });
     }
 
     @Override


-- 
To view, visit http://gerrit.ovirt.org/22465
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4cc9ac7e82c6d1c86886907cecd6eb5b83ac8444
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: ovirt-engine-3.3
Gerrit-Owner: Lior Vernia <lver...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to