aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java/com/vaadin/tests/components/button/ButtonMouseDetails.java
blob: 50dd0b7ffef6d5ab2c5cb5a03f910585eda90005 (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
package com.vaadin.tests.components.button;

import com.vaadin.shared.ui.ContentMode;
import com.vaadin.tests.components.TestBase;
import com.vaadin.ui.Button;
import com.vaadin.ui.Label;

public class ButtonMouseDetails extends TestBase {

    private Label out = new Label("", ContentMode.PREFORMATTED);

    private int clickCounter = 1;

    private Button.ClickListener clickListener = event -> {
        StringBuilder str = new StringBuilder(out.getValue());
        str.append(clickCounter + ":\t");

        // Modifier keys
        str.append("ctrl=" + event.isCtrlKey() + ",\t");
        str.append("alt=" + event.isAltKey() + ",\t");
        str.append("meta=" + event.isMetaKey() + ",\t");
        str.append("shift=" + event.isShiftKey() + ",\t");

        // Coordinates
        str.append("X=" + event.getRelativeX() + ",\t");
        str.append("Y=" + event.getRelativeY() + ",\t");
        str.append("clientX=" + event.getClientX() + ",\t");
        str.append("clientY=" + event.getClientY());

        str.append("\n");

        out.setValue(str.toString());
        clickCounter++;
    };

    @Override
    protected void setup() {

        getLayout().setSpacing(true);

        Button button = new Button("CLICK ME!", clickListener);
        addComponent(button);

        addComponent(out);
    }

    @Override
    protected String getDescription() {
        return "Clicking a button should returns some additional information about the click";
    }

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

}