package com.vaadin.tests.components.uitest.components;
import com.vaadin.tests.components.uitest.TestSampler;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Label;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.Window;
import com.vaadin.v7.ui.themes.ChameleonTheme;
import com.vaadin.v7.ui.themes.Reindeer;
import com.vaadin.v7.ui.themes.Runo;
public class WindowsCssTest extends VerticalLayout {
private TestSampler parent;
private String styleName = null;
private String caption = "A caption";
private int debugIdCounter = 0;
public WindowsCssTest(TestSampler parent) {
this.parent = parent;
setMargin(false);
setSpacing(false);
parent.registerComponent(this);
Button defWindow = new Button("Default window",
new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
createWindowWith(caption, null, styleName);
}
});
defWindow.setId("windButton" + debugIdCounter++);
Button light = new Button("Light window", new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
createWindowWith(caption, Reindeer.WINDOW_LIGHT, styleName);
}
});
light.setId("windButton" + debugIdCounter++);
Button black = new Button("Black window", new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
createWindowWith(caption, Reindeer.WINDOW_BLACK, styleName);
}
});
black.setId("windButton" + debugIdCounter++);
Button dialog = new Button("Dialog window", new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
createWindowWith(caption, Runo.WINDOW_DIALOG, styleName);
}
});
dialog.setId("windButton" + debugIdCounter++);
Button opaque = new Button("Opaque window", new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
createWindowWith(caption, ChameleonTheme.WINDOW_OPAQUE,
styleName);
}
});
opaque.setId("windButton" + debugIdCounter++);
addComponent(defWindow);
addComponent(light);
addComponent(black);
addComponent(dialog);
addComponent(opaque);
}
/**
*
* @param caption
* @param primaryStyleName
* - the style defined styleName
* @param styleName
* - the user defined styleName
* @return
*/
private void createWindowWith(String caption, String primaryStyleName,
String styleName) {
Window window = new Window();
VerticalLayout layout = new VerticalLayout();
layout.setMargin(true);
window.setContent(layout);
layout.addComponent(new Label("Some content"));
if (caption != null) {
window.setCaption(caption);
}
if (primaryStyleName != null) {
window.addStyleName(primaryStyleName);
}
if (styleName != null) {
window.addStyleName(styleName);
}
parent.getUI().addWindow(window);
}
@Override
public void addStyleName(String style) {
styleName = style;
}
@Override
public void removeStyleName(String style) {
styleName = null;
}
}