Browse Source

select: stretch option popup to be width of textfield (minimum)

svn changeset:2656/svn branch:trunk
tags/6.7.0.beta1
Matti Tahvonen 16 years ago
parent
commit
3d518f037b
1 changed files with 18 additions and 2 deletions
  1. 18
    2
      src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java

+ 18
- 2
src/com/itmill/toolkit/terminal/gwt/client/ui/IFilterSelect.java View File



/** /**
* *
* TODO needs major refactoring to be easily expandable TODO add new items TODO
* null selections
* TODO needs major refactoring (to be extensible etc)
*/ */
public class IFilterSelect extends Composite implements Paintable, public class IFilterSelect extends Composite implements Paintable,
KeyboardListener, ClickListener { KeyboardListener, ClickListener {
menu.setHeight(""); menu.setHeight("");
menu.setWidth(""); menu.setWidth("");
offsetHeight = getOffsetHeight(); offsetHeight = getOffsetHeight();
offsetWidth = getOffsetWidth();
int desiredWidth = IFilterSelect.this.getOffsetWidth() - popupOpener.getOffsetWidth();
if(offsetWidth < desiredWidth) {
menu.setWidth(desiredWidth + "px");
}
if (!isPagingEnabled && offsetHeight > Window.getClientHeight()) { if (!isPagingEnabled && offsetHeight > Window.getClientHeight()) {
offsetHeight = Window.getClientHeight(); offsetHeight = Window.getClientHeight();
menu.setHeight((offsetHeight - EXTRASPACE) + "px"); menu.setHeight((offsetHeight - EXTRASPACE) + "px");
DOM.setStyleAttribute(menu.getElement(), "overflow", "auto"); DOM.setStyleAttribute(menu.getElement(), "overflow", "auto");

// add scrollbar width // add scrollbar width
menu menu
.setWidth((menu.getOffsetWidth() * 2 - DOM .setWidth((menu.getOffsetWidth() * 2 - DOM
} }
suggestionPopup.hide(); suggestionPopup.hide();
} }
public void setWidth(String width) {
super.setWidth(width);
if(!width.equals("") || width != null) {
DOM.setStyleAttribute(DOM.getFirstChild(getElement()), "width", "100%");
} else {
DOM.setStyleAttribute(DOM.getFirstChild(getElement()), "width", "");
}
}
} }


public static final int FILTERINGMODE_OFF = 0; public static final int FILTERINGMODE_OFF = 0;

Loading…
Cancel
Save