@Override
protected void setup() {
lab = new Label("Label inside the component container");
lab.setWidth(null);
ComboBox componentContainerSelect = new ComboBox("Container") {
{
pageLength = 0;
}
};
componentContainerSelect.setId("componentContainerSelect");
componentContainerSelect.setWidth("300px");
componentContainerSelect.setImmediate(true);
componentContainerSelect.setNullSelectionAllowed(false);
// componentContainer.addContainerProperty(CAPTION, String.class, "");
// componentContainer.addContainerProperty(CLASS, Class.class, "");
for (Class<? extends HasComponents> cls : getComponentContainers()) {
componentContainerSelect.addItem(cls);
}
componentContainerSelect.addListener(new ValueChangeListener() {
@Override
@SuppressWarnings("unchecked")
public void valueChange(ValueChangeEvent event) {
HasComponents oldCC = cc;
cc = createComponentContainer((Class<? extends HasComponents>) event
.getProperty().getValue());
addToCC(lab);
replaceComponent(oldCC, cc);
}
});
componentContainerSelect.setValue(componentContainerSelect.getItemIds()
.iterator().next());
Button but1 = new Button("Move in and out of component container",
new Button.ClickListener() {
@Override