package com.vaadin.tests.components.orderedlayout;
import com.vaadin.server.Page;
import com.vaadin.server.Page.Styles;
import com.vaadin.server.VaadinRequest;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Button.ClickListener;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.Window;
@SuppressWarnings("serial")
public class OrderedLayoutInfiniteLayoutPasses extends UI {
@Override
protected void init(VaadinRequest request) {
VerticalLayout layout = new VerticalLayout();
layout.addComponent(createOpenWindowButton());
setContent(layout);
Styles styles = Page.getCurrent().getStyles();
styles.add(
".my-separator {background-color: lightgray; min-height:2px;max-height:2px} ");
}
private Button createOpenWindowButton() {
Button button = new Button("Open modal window");
button.addClickListener(new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
UI.getCurrent().addWindow(createWindow());
}
});
return button;
}
private Window createWindow() {
VerticalLayout contentHolder = new VerticalLayout();
contentHolder.addComponent(new Label("window content"));
Label separator = new Label();
separator.setWidth(100, Unit.PERCENTAGE);
separator.addStyleName("my-separator");
HorizontalLayout buttons = new HorizontalLayout();
buttons.addComponent(new Button("button 1"));
buttons.addComponent(new Button("button 2"));
VerticalLayout windowContent = new VerticalLayout();
windowContent.setSizeFull();
windowContent.addComponent(contentHolder);
windowContent.addComponent(separator);
windowContent.addComponent(buttons);
windowContent.setExpandRatio(contentHolder, 1.0f);
Window window = new Window();
window.setModal(true);
window.setWidth(680, Unit.PIXELS);
window.setHeight(700, Unit.PIXELS);
window.setContent(windowContent);
return window;
}
}