package com.vaadin.tests.tickets;
import com.vaadin.server.LegacyApplication;
import com.vaadin.server.ThemeResource;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Button.ClickListener;
import com.vaadin.ui.Embedded;
import com.vaadin.ui.GridLayout;
import com.vaadin.ui.Label;
import com.vaadin.ui.Layout;
import com.vaadin.ui.LegacyWindow;
import com.vaadin.ui.Panel;
import com.vaadin.ui.VerticalLayout;
public class Ticket2048 extends LegacyApplication {
private Embedded embedded;
private Panel p;
private VerticalLayout orderedLayout;
@Override
public void init() {
LegacyWindow w = new LegacyWindow(getClass().getSimpleName());
setMainWindow(w);
// setTheme("tests-tickets");
// splitPanel = new SplitPanel(SplitPanel.ORIENTATION_HORIZONTAL);
// getMainWindow().setContent(splitPanel);
// GridLayout layout = new GridLayout(10, 10);
// w.setContent(layout);
// gridLayout = new GridLayout(1, 1);
orderedLayout = new VerticalLayout();
getMainWindow().setContent(orderedLayout);
// getMainWindow().setContent(new GridLayout(1, 1));
getMainWindow().setSizeFull();
getMainWindow().getContent().setSizeFull();
createUI(orderedLayout);
// createUI(gridLayout);
}
private void createUI(Layout layout) {
// Button sw = new Button("Switch", new ClickListener() {
//
// public void buttonClick(ClickEvent event) {
// Layout l = getMainWindow().getLayout();
// if (l == orderedLayout) {
// getMainWindow().setContent(gridLayout);
// } else {
// getMainWindow().setContent(orderedLayout);
// }
//
// }
// });
// layout.addComponent(sw);
Layout ol = new GridLayout(1, 2);
p = new Panel("Panel", ol);
p.setSizeFull();
Label l = new Label("Spacer");
l.setHeight("400px");
ol.addComponent(l);
embedded = new Embedded(null, new ThemeResource(
"icons/64/folder-add.png"));
layout.addComponent(embedded);
Button b = new Button(
"Replace image with new embedded component (flashes)",
new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
Embedded newEmbedded = new Embedded(null,
new ThemeResource("icons/64/folder-add.png"));
getMainWindow().replaceComponent(embedded, newEmbedded);
embedded = newEmbedded;
}
});
ol.addComponent(b);
b = new Button("Change image source (is fine)", new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
String img = "folder-add";
if (((ThemeResource) embedded.getSource()).getResourceId()
.contains("folder-add")) {
img = "folder-delete";
}
embedded.setSource(new ThemeResource("icons/64/" + img + ".png"));
}
});
ol.addComponent(b);
layout.addComponent(p);
}
}