aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java/com/vaadin/tests/components/abstractcomponent/EnableState.java
blob: 4bde83dff21cae2b6a5ddb27cbbf9f6dd247cec3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.vaadin.tests.components.abstractcomponent;

import com.vaadin.tests.components.AbstractTestCase;
import com.vaadin.ui.Button;
import com.vaadin.ui.CheckBox;
import com.vaadin.ui.LegacyWindow;
import com.vaadin.ui.Panel;
import com.vaadin.ui.VerticalLayout;

public class EnableState extends AbstractTestCase {
    @Override
    public void init() {
        LegacyWindow mainWindow = new LegacyWindow("Helloworld Application");

        VerticalLayout panelLayout = new VerticalLayout();
        panelLayout.setMargin(true);
        final Panel panel = new Panel("Test", panelLayout);
        final Button button = new Button("ablebutton");
        panelLayout.addComponent(button);

        CheckBox enable = new CheckBox("Toggle button enabled", true);
        enable.addValueChangeListener(event -> {
            boolean enabled = event.getValue();
            button.setEnabled(enabled);
            // button.requestRepaint();
        });

        CheckBox caption = new CheckBox("Toggle button caption", true);
        caption.addValueChangeListener(
                event -> button.setCaption(button.getCaption() + "+"));

        CheckBox visible = new CheckBox("Toggle panel visibility", true);
        visible.addValueChangeListener(
                event -> panel.setVisible(event.getValue()));

        CheckBox panelEnable = new CheckBox("Toggle panel enabled", true);
        panelEnable.addValueChangeListener(
                event -> panel.setEnabled(event.getValue()));

        mainWindow.addComponent(enable);
        mainWindow.addComponent(caption);
        mainWindow.addComponent(visible);
        mainWindow.addComponent(panelEnable);
        mainWindow.addComponent(panel);

        setMainWindow(mainWindow);
    }

    @Override
    protected String getDescription() {
        return "This tests the enabled/disabled propagation and that enabled/disabled state is updated"
                + " properly even when the parent is invisible. Disabling the Button while the panel is"
                + " invisible should be reflected on the screen when the panel is set visible"
                + " again.";
    }

    @Override
    protected Integer getTicketNumber() {
        return 3609;
    }
}