aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/main/java/com/vaadin/tests/contextclick/TreeV8ContextClick.java
blob: ed30eb47d6ec58f3865aff5ea651280da053102f (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
64
65
66
67
68
69
70
71
72
/*
 * Copyright 2000-2016 Vaadin Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.vaadin.tests.contextclick;

import com.vaadin.data.TreeData;
import com.vaadin.shared.Registration;
import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Tree;
import com.vaadin.ui.Tree.TreeContextClickEvent;

import java.util.Collections;

public class TreeV8ContextClick extends
        AbstractContextClickUI<Tree<String>, TreeContextClickEvent<String>> {

    @Override
    protected Tree<String> createTestComponent() {
        TreeData<String> treeData = new TreeData<>();
        for (int i = 0; i < 3; i++) {
            String grandDad = "Granddad " + i;
            treeData.addItems(null, grandDad);
            for (int j = 0; j < 4; j++) {
                String dad = "Dad " + i + "/" + j;
                treeData.addItems(grandDad, dad);
                for (int k = 0; k < 5; k++) {
                    treeData.addItems(dad, "Son " + i + "/" + j + "/" + k);
                }
            }
        }
        Tree<String> tree = new Tree<>("Clane", treeData);
        tree.setWidth("100%");
        return tree;
    }

    @Override
    protected void handleContextClickEvent(
            TreeContextClickEvent<String> event) {
        String value = event.getItem();
        log("ContextClickEvent value: " + value);
    }

    @Override
    protected HorizontalLayout createContextClickControls() {
        HorizontalLayout controls = super.createContextClickControls();
        controls.addComponent(
                new Button("Remove all content", new Button.ClickListener() {

                    @Override
                    public void buttonClick(ClickEvent event) {
                        testComponent.setItems(Collections.emptyList());
                        testComponent.setHeight("200px");
                    }
                }));
        return controls;
    }

}