package com.vaadin.tests.tickets;
import com.vaadin.server.LegacyApplication;
import com.vaadin.ui.AbstractOrderedLayout;
import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button;
import com.vaadin.ui.GridLayout;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Layout;
import com.vaadin.ui.Layout.AlignmentHandler;
import com.vaadin.ui.LegacyWindow;
import com.vaadin.ui.Panel;
import com.vaadin.ui.VerticalLayout;
public class Ticket1966_2 extends LegacyApplication {
@Override
public void init() {
LegacyWindow w = new LegacyWindow(getClass().getName());
setMainWindow(w);
w.setContent(new GridLayout(2, 2));
// Panel p = new Panel("test");
// p.setWidth(500);
// p.setHeight(500);
// p.setContent(new GridLayout(1, 2));
// p.getLayout().setSizeFull();
//
// p.addComponent(new Button("asjkdfhakshdf"));
// p.addComponent(new Button("öalijgto8aq5"));
// GridLayout gl = new GridLayout(4, 1);
// // gl.setCaption("Vertical");
// gl.setWidth("100%");
// gl.setHeight(500);
// addButtons(gl);
// gl.addComponent(new Label("abc"));
// p.addComponent(gl);
// w.getLayout().addComponent(p);
createUI((Layout) w.getContent());
}
private void createUI(Layout layout) {
orderedLayout(layout);
gridLayout(layout);
expandLayout(layout);
}
private void gridLayout(Layout layout) {
VerticalLayout pl = new VerticalLayout();
pl.setMargin(true);
Panel p = new Panel("GridLayout", pl);
p.setWidth("500px");
p.setHeight("500px");
pl.setSizeFull();
layout.addComponent(p);
GridLayout gl = new GridLayout(1, 4);
gl.setMargin(true);
gl.setCaption("Horizontal");
gl.setWidth("100%");
// Button b;
// b = new Button("Wide button");
// b.setWidth("500");
// gl.addComponent(b);
addButtons(gl);
p.setContent(gl);
/* VERTICAL */
gl = new GridLayout(4, 1);
gl.setMargin(true);
// gl.setCaption("Vertical");
gl.setHeight("100%");
addButtons(gl);
// Button b = new Button("High button");
// b.setHeight(200);
// gl.addComponent(b);
p.setContent(gl);
}
private void orderedLayout(Layout layout) {
VerticalLayout pl = new VerticalLayout();
pl.setMargin(true);
Panel p = new Panel("OrderedLayout", pl);
p.setWidth("500px");
p.setHeight("500px");
pl.setWidth("100%");
layout.addComponent(p);
AbstractOrderedLayout ol = new VerticalLayout();
ol.setMargin(true);
// ol.setCaption("Horizontal");
ol.setWidth("100%");
addButtons(ol);
pl.addComponent(ol);
/* VERTICAL */
ol = new HorizontalLayout();
ol.setMargin(true);
// ol.setCaption("Vertical");
ol.setHeight("200px");
addButtons(ol);
// Button b = new Button("High button");
// b.setHeight(200);
// ol.addComponent(b);
pl.addComponent(ol);
}
private void expandLayout(Layout layout) {
VerticalLayout panelLayout = new VerticalLayout();
panelLayout.setMargin(true);
Panel p = new Panel("ExpandLayout", panelLayout);
layout.addComponent(p);
panelLayout.setWidth("500");
panelLayout.setHeight("400");
AbstractOrderedLayout el = new VerticalLayout();
// el.setCaption("Horizontal");
// el.setSizeUndefined();
// el.setWidth("100%");
// ol.setWidth("100%");
Button b;
b = new Button("Wide button");
b.setWidth("100%");
// b.setHeight(200);
// el.setExpandRatio(b,1);
// el.addComponent(b);
addButtons(el);
panelLayout.addComponent(el);
/* VERTICAL */
el = new HorizontalLayout();
// el.setHeight(400);
// el.setWidth("100%");
// el.setCaption("Vertical");
addButtons(el);
// b = new Button("High button");
// el.setExpandRatio(b,1);
// b.setHeight(100);
// el.addComponent(b);
panelLayout.addComponent(el);
}
private void addButtons(Layout ol) {
ol.addComponent(getButton(ol, Alignment.TOP_LEFT));
ol.addComponent(getButton(ol, Alignment.MIDDLE_CENTER));
ol.addComponent(getButton(ol, Alignment.BOTTOM_RIGHT));
}
private Button getButton(Layout l, Alignment align) {
Button b = new Button(align.getHorizontalAlignment() + " - "
+ align.getVerticalAlignment());
// b.setWidth("100");
((AlignmentHandler) l).setComponentAlignment(b, align);
return b;
}
}