package com.vaadin.tests.components.progressindicator;
import com.vaadin.tests.components.TestBase;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Button.ClickListener;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.v7.ui.ProgressIndicator;
public class ProgressIndicatorInvisible extends TestBase {
@Override
protected void setup() {
final VerticalLayout lo = new VerticalLayout();
addComponent(lo);
final ProgressIndicator pi = new ProgressIndicator();
pi.setPollingInterval(400);
lo.addComponent(pi);
Button hideProgressIndicator = new Button("Hide progress indicator",
new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
pi.setVisible(!pi.isVisible());
event.getButton()
.setCaption((pi.isVisible() ? "Hide" : "Show")
+ " progress indicator");
}
});
addComponent(hideProgressIndicator);
Button disableProgressIndicator = new Button(
"Disable progress indicator", new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
pi.setEnabled(!pi.isEnabled());
event.getButton().setCaption(
(pi.isEnabled() ? "Disable" : "Enable")
+ " progress indicator");
}
});
addComponent(disableProgressIndicator);
Button removeProgressIndicator = new Button("Remove progress indicator",
new ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
if (pi.getParent() != null) {
lo.removeComponent(pi);
event.getButton()
.setCaption("Add progress indicator");
} else {
lo.addComponent(pi);
event.getButton()
.setCaption("Remove progress indicator");
}
}
});
addComponent(removeProgressIndicator);
final Button b = new Button("Hide container of progress indicator");
addComponent(b);
b.addClickListener(new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
lo.setVisible(!lo.isVisible());
b.setCaption((lo.isVisible() ? "Hide" : "Show")
+ " container of progress indicator");
}
});
}
@Override
protected String getDescription() {
return "Progress indicator does not stop polling when its parent layout is made invisible";
}
@Override
protected Integer getTicketNumber() {
return 4014;
}
}