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

import com.vaadin.shared.ui.label.ContentMode;
import com.vaadin.tests.components.TestBase;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
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 = new Button.ClickListener() {

        @Override
        public void buttonClick(ClickEvent event) {
            StringBuilder str = new StringBuilder(out.getValue().toString());
            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);
        button.setImmediate(true);
        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;
    }

}