layoutPanel.setWidgetSpacing(0);
sinkEvents(Event.KEYEVENTS);
input = new TextBox();
layoutPanel.add(input, new BoxLayoutData(FillStyle.BOTH));
input.addKeyDownHandler(new KeyDownHandler() {
public void onKeyDown(KeyDownEvent event) {
if (!isPopupVisible()) {
showPopupTimer.schedule(CoreConstants.MIN_DELAY_MILLIS);
}
}
});
input.addKeyUpHandler(new KeyUpHandler() {
public void onKeyUp(KeyUpEvent event) {
switch (event.getNativeKeyCode()) {
case KeyCodes.KEY_ENTER:
case KeyCodes.KEY_TAB:
updateInput();
hidePopup();
break;
case KeyCodes.KEY_ESCAPE:
hidePopup();
break;
}
}
});
button = new Button();
button.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
showPopupTimer.schedule(CoreConstants.MIN_DELAY_MILLIS);
}
});
layoutPanel.add(button, new BoxLayoutData(FillStyle.VERTICAL));
popup = new DropDownPanel();
popup.addCloseHandler(new CloseHandler<PopupPanel>() {
public void onClose(CloseEvent<PopupPanel> event) {
if (!event.isAutoClosed()) {