]> source.dussan.org Git - vaadin-framework.git/commitdiff
ComboBox: fixes #1224 and some false information on status panel
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Thu, 20 Dec 2007 16:04:05 +0000 (16:04 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Thu, 20 Dec 2007 16:04:05 +0000 (16:04 +0000)
svn changeset:3286/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java

index 36a3379f60af7cefbad351cf6685db691354393e..238afd859bc31ecbf7027142b60246ad9092081d 100644 (file)
@@ -132,10 +132,16 @@ public class IFilterSelect extends Composite implements Paintable,
             setPopupPosition(x, y);
             final int first = currentPage * PAGELENTH + 1;
             final int last = first + currentSuggestions.size() - 1;
-            DOM.setInnerText(status, (totalSuggestions == 0 ? 0 : first) + "-"
-                    + last + "/" + totalSuggestions);
+            final int matches = totalSuggestions
+                    - (nullSelectionAllowed ? 1 : 0);
+            if (last > 0) {
+                DOM.setInnerText(status, (totalSuggestions == 0 ? 0 : first)
+                        + "-" + last + "/" + matches);
+            } else {
+                DOM.setInnerText(status, "");
+            }
             setPrevButtonActive(first > 1);
-            setNextButtonActive(last < totalSuggestions);
+            setNextButtonActive(last < matches);
 
             // clear previously fixed width
             menu.setWidth("");
@@ -333,9 +339,11 @@ public class IFilterSelect extends Composite implements Paintable,
          * to avoid height changes when quickly "scrolling" to last page
          */
         public void fixHeightTo(int pagelenth) {
-            final int pixels = pagelenth * (getOffsetHeight() - 2)
-                    / currentSuggestions.size();
-            setHeight((pixels + 2) + "px");
+            if (currentSuggestions.size() > 0) {
+                final int pixels = pagelenth * (getOffsetHeight() - 2)
+                        / currentSuggestions.size();
+                setHeight((pixels + 2) + "px");
+            }
         }
 
         public void setSuggestions(Collection suggestions) {
@@ -446,7 +454,7 @@ public class IFilterSelect extends Composite implements Paintable,
     }
 
     public boolean hasNextPage() {
-        if (totalSuggestions > (currentPage + 1) * PAGELENTH) {
+        if (totalMatches > (currentPage + 1) * PAGELENTH) {
             return true;
         } else {
             return false;