aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java/com/vaadin/tests/components/splitpanel/SplitPositionChange.java
blob: ce3e1c19ba7593a2f2ab6711a5af4f3a1a2ff412 (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
62
63
package com.vaadin.tests.components.splitpanel;

import com.vaadin.server.VaadinRequest;
import com.vaadin.tests.components.AbstractTestUIWithLog;
import com.vaadin.ui.AbstractSplitPanel;
import com.vaadin.ui.HorizontalSplitPanel;
import com.vaadin.ui.Label;
import com.vaadin.ui.Panel;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.VerticalSplitPanel;

/**
 * Test for {@link SplitPositionChangeListeners}.
 *
 * @author Vaadin Ltd
 */
public class SplitPositionChange extends AbstractTestUIWithLog {

    @Override
    protected void setup(VaadinRequest request) {
        addSplitPanel(true, "Left", "Right");
        addSplitPanel(false, "Top", "Bottom");
    }

    private void addSplitPanel(final boolean horizontal, String firstCaption,
            String secondCaption) {
        AbstractSplitPanel splitPanel;
        if (horizontal) {
            splitPanel = new HorizontalSplitPanel();
        } else {
            splitPanel = new VerticalSplitPanel();
        }
        splitPanel.setWidth("200px");
        splitPanel.setHeight("200px");
        splitPanel.addComponent(buildPanel(firstCaption));
        splitPanel.addComponent(buildPanel(secondCaption));
        splitPanel.addSplitPositionChangeListener(event -> log(String.format(
                "Split position changed: %s, position: %s %s",
                (horizontal ? "horizontal" : "vertical"),
                event.getSplitPosition(), event.getSplitPositionUnit())));
        addComponent(splitPanel);
    }

    private Panel buildPanel(String caption) {
        VerticalLayout pl = new VerticalLayout();
        pl.setMargin(true);
        pl.addComponent(new Label("content"));
        Panel panel = new Panel(caption, pl);
        panel.setSizeFull();
        return panel;
    }

    @Override
    protected String getTestDescription() {
        return "SplitPanel should have an event for the splitter being moved";
    }

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

}