package pl.net.bluesoft.rnd.processtool.ui.basewidgets;
import com.vaadin.ui.Component;
import com.vaadin.ui.Panel;
import pl.net.bluesoft.rnd.processtool.ui.widgets.ProcessToolVaadinRenderable;
import pl.net.bluesoft.rnd.processtool.ui.widgets.ProcessToolVaadinWidget;
import pl.net.bluesoft.rnd.processtool.ui.widgets.ProcessToolWidget;
import pl.net.bluesoft.rnd.processtool.ui.widgets.annotations.AliasName;
import pl.net.bluesoft.rnd.processtool.ui.widgets.annotations.AutoWiredProperty;
import pl.net.bluesoft.rnd.processtool.ui.widgets.annotations.ChildrenAllowed;
import pl.net.bluesoft.rnd.processtool.ui.widgets.annotations.WidgetGroup;
import pl.net.bluesoft.rnd.processtool.ui.widgets.impl.BaseProcessToolVaadinWidget;
import pl.net.bluesoft.rnd.processtool.ui.widgets.impl.BaseProcessToolWidget;
/**
* @author tlipski@bluesoft.net.pl
*/
@AliasName(name="CaptionPanel")
@ChildrenAllowed(true)
public class PanelWidget extends BaseProcessToolVaadinWidget implements ProcessToolVaadinRenderable {
Panel panel = new Panel();
@Override
public Component render() {
return panel;
}
public String getCaption() {
return caption;
}
public void setCaption(String caption) {
this.caption = caption;
}
@Override
public void addChild(ProcessToolWidget child) {
if (!(child instanceof ProcessToolVaadinRenderable)) {
throw new IllegalArgumentException("child is not instance of " + ProcessToolVaadinRenderable.class.getName());
}
ProcessToolVaadinRenderable vChild = (ProcessToolVaadinRenderable) child;
Component component = vChild.render();
panel.addComponent(component);
}
}