]> source.dussan.org Git - vaadin-framework.git/commitdiff
fixes #3206
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 14 Aug 2009 12:28:09 +0000 (12:28 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 14 Aug 2009 12:28:09 +0000 (12:28 +0000)
svn changeset:8486/svn branch:6.1

src/com/vaadin/terminal/gwt/client/ui/VFilterSelect.java

index 600c4837a6e16d9cf1dcf47cf530c08520574643..5716794e2c62200e686206659f78a45df8b5d2cc 100644 (file)
@@ -643,6 +643,7 @@ public class VFilterSelect extends Composite implements Paintable, Field,
         currentPage = page;
     }
 
+    @SuppressWarnings("deprecation")
     public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
         paintableId = uidl.getId();
         this.client = client;
@@ -737,6 +738,7 @@ public class VFilterSelect extends Composite implements Paintable, Field,
             filtering = false;
             if (!popupOpenerClicked && lastIndex != -1) {
                 // we're paging w/ arrows
+                MenuItem activeMenuItem;
                 if (lastIndex == 0) {
                     // going up, select last item
                     int lastItem = pageLength - 1;
@@ -748,14 +750,20 @@ public class VFilterSelect extends Composite implements Paintable, Field,
                     if (lastItem >= items.size()) {
                         lastItem = items.size() - 1;
                     }
-                    suggestionPopup.menu.selectItem((MenuItem) items
-                            .get(lastItem));
+                    activeMenuItem = (MenuItem) items.get(lastItem);
+                    suggestionPopup.menu.selectItem(activeMenuItem);
                 } else {
                     // going down, select first item
-                    suggestionPopup.menu
-                            .selectItem((MenuItem) suggestionPopup.menu
-                                    .getItems().get(0));
+                    activeMenuItem = (MenuItem) suggestionPopup.menu.getItems()
+                            .get(0);
+                    suggestionPopup.menu.selectItem(activeMenuItem);
                 }
+
+                tb.setText(activeMenuItem.getText());
+                tb.setSelectionRange(lastFilter.length(), activeMenuItem
+                        .getText().length()
+                        - lastFilter.length());
+
                 lastIndex = -1; // reset
             }
         }