package com.vaadin.tests.components.combobox;
import com.vaadin.event.ShortcutAction.KeyCode;
import com.vaadin.tests.components.TestBase;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.Component;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.Window;
public class ComboBoxInPopup extends TestBase {
@Override
protected void setup() {
VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
layout.setSizeUndefined();
final Window w = new Window();
w.setContent(layout);
layout.addComponent(createComboBox());
Button close = new Button("Close window", new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
w.close();
}
});
close.setClickShortcut(KeyCode.ESCAPE, null);
layout.addComponent(close);
getLayout().getUI().addWindow(w);
}
private Component createComboBox() {
ComboBox cb = new ComboBox("A combo box");
cb.addItem("Yes");
cb.addItem("No");
cb.addItem("Maybe");
return cb;
}
@Override
protected String getDescription() {
return "Escape is a shortcut for the close button. Pressing escape when the popup is open should cause only the popup to close, not the window.";
}
@Override
protected Integer getTicketNumber() {
return 6978;
}
}