diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2009-02-04 15:49:40 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2009-02-04 15:49:40 +0000 |
commit | 3088fae40b3c32dc20ce480b7a5399b61cd21bfc (patch) | |
tree | 14d0ba3c800a4c365e225aec65c5ad950ccb6499 | |
parent | 87799ae4037121d379a37098d5b659e8c76a0f08 (diff) | |
download | vaadin-framework-3088fae40b3c32dc20ce480b7a5399b61cd21bfc.tar.gz vaadin-framework-3088fae40b3c32dc20ce480b7a5399b61cd21bfc.zip |
fixes #2504, filterselect now compatible with ridiculous sized item icons
svn changeset:6732/svn branch:trunk
-rw-r--r-- | src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java index 3352ed26a7..89d5f482f3 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java @@ -404,6 +404,19 @@ public class IFilterSelect extends Composite implements Paintable, Field, while (it.hasNext()) { final FilterSelectSuggestion s = it.next(); final MenuItem mi = new MenuItem(s.getDisplayString(), true, s); + + com.google.gwt.dom.client.Element child = mi.getElement() + .getFirstChildElement(); + while (child != null) { + if (child.getNodeName().toLowerCase().equals("img")) { + DOM + .sinkEvents((Element) child.cast(), + (DOM.getEventsSunk((Element) child + .cast()) | Event.ONLOAD)); + } + child = child.getNextSiblingElement(); + } + this.addItem(mi); if (s == currentSuggestion) { selectItem(mi); @@ -458,6 +471,19 @@ public class IFilterSelect extends Composite implements Paintable, Field, } suggestionPopup.hide(); } + + @Override + public void onBrowserEvent(Event event) { + if (event.getTypeInt() == Event.ONLOAD) { + if (suggestionPopup.isVisible()) { + setWidth(""); + DOM.setStyleAttribute(DOM.getFirstChild(getElement()), + "width", ""); + suggestionPopup.setPopupPositionAndShow(suggestionPopup); + } + } + super.onBrowserEvent(event); + } } public static final int FILTERINGMODE_OFF = 0; @@ -897,6 +923,12 @@ public class IFilterSelect extends Composite implements Paintable, Field, updateRootWidth(); } + @Override + public void setHeight(String height) { + super.setHeight(height); + Util.setHeightExcludingPaddingAndBorder(tb, height, 3); + } + private void updateRootWidth() { if (width == null) { /* |