package com.vaadin.tests.components.combobox; import com.vaadin.data.Property; import com.vaadin.server.VaadinRequest; import com.vaadin.tests.components.AbstractTestUIWithLog; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.ComboBox; import com.vaadin.ui.FormLayout; import com.vaadin.ui.VerticalLayout; /** * The Application's "main" class */ @SuppressWarnings("serial") public class ComboBoxParentDisable extends AbstractTestUIWithLog { @Override protected void setup(VaadinRequest request) { final VerticalLayout layout = new VerticalLayout(); layout.setMargin(true); setContent(layout); final FormLayout formLayout = new FormLayout(); final ComboBox combo = new ComboBox("Item:"); combo.addItem("Item 1"); combo.addItem("Item 2"); combo.addItem("Item 3"); combo.addItem("Item 4"); combo.addValueChangeListener(new MyValueChangeListener()); combo.setImmediate(true); Button btn1 = new Button("Click me"); btn1.addClickListener(new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { log.log("you clicked me"); } }); formLayout.addComponent(combo); formLayout.addComponent(btn1); layout.addComponent(formLayout); Button btn = new Button("Enable/Disable combobox", new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { combo.setEnabled(!combo.isEnabled()); } }); layout.addComponent(btn); btn = new Button("Enable/Disable parent", new Button.ClickListener() { @Override public void buttonClick(ClickEvent event) { formLayout.setEnabled(!formLayout.isEnabled()); } }); layout.addComponent(btn); } private class MyValueChangeListener implements Property.ValueChangeListener { @Override public void valueChange(Property.ValueChangeEvent event) { log.log("you made a selection change"); } } @Override protected String getTestDescription() { return "Test for ensuring that disabling a parent properly disables the combobox"; } @Override protected Integer getTicketNumber() { return 10734; } }