summaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/automatedtests/ComponentsInTable.java
blob: 48a71213e7a96827853c6c9764f5d92efa42473e (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
73
74
75
76
77
78
79
/* 
@ITMillApache2LicenseForJavaFiles@
 */

package com.itmill.toolkit.automatedtests;

import java.util.Date;
import java.util.Random;
import java.util.Vector;

import com.itmill.toolkit.ui.Button;
import com.itmill.toolkit.ui.CustomComponent;
import com.itmill.toolkit.ui.OrderedLayout;
import com.itmill.toolkit.ui.Table;
import com.itmill.toolkit.ui.Button.ClickEvent;

public class ComponentsInTable extends CustomComponent {

    private static final long serialVersionUID = 7179313717613510935L;

    public ComponentsInTable(int cols, int rows) {
        final OrderedLayout main = new OrderedLayout();
        setCompositionRoot(main);

        main.addComponent(getTestTable(cols, rows));
    }

    public static Table getTestTable(int cols, int rows) {
        Random rnd = new Random(1);

        final Table t = new Table();
        t.setColumnCollapsingAllowed(true);
        for (int i = 0; i < cols; i++) {
            t.addContainerProperty(testString[i], String.class, "");
        }
        t.addContainerProperty("button", Button.class, null);
        for (int i = 0; i < rows; i++) {
            final Vector content = new Vector();
            for (int j = 0; j < cols; j++) {
                content.add(rndString(rnd));
            }
            content.add(new Button("b" + i, new Button.ClickListener() {

                public void buttonClick(ClickEvent event) {
                    Button b = event.getButton();
                    System.out.println(event.getButton().getCaption()
                            + " click: " + (new Date()).toGMTString());
                    System.out.println(event.getButton().getApplication());

                }
            }));
            t.addItem(content.toArray(), "" + i);
        }
        t.setRowHeaderMode(Table.ROW_HEADER_MODE_ID);
        return t;
    }

    static String[] testString = new String[] { "Jacob", "Michael", "Joshua",
            "Matthew", "Ethan", "Andrew", "Daniel", "Anthony", "Christopher",
            "Joseph", "William", "Alexander", "Ryan", "David", "Nicholas",
            "Tyler", "James", "John", "Jonathan", "Nathan", "Samuel",
            "Christian", "Noah", "Dylan", "Benjamin", "Logan", "Brandon",
            "Gabriel", "Zachary", "Jose", "Elijah", "Angel", "Kevin", "Jack",
            "Caleb", "Justin", "Austin", "Evan", "Robert", "Thomas", "Luke",
            "Mason", "Aidan", "Jackson", "Isaiah", "Jordan", "Gavin", "Connor",
            "Aiden", "Isaac", "Jason", "Cameron", "Hunter", "Jayden", "Juan",
            "Charles", "Aaron", "Lucas", "Luis", "Owen", "Landon", "Diego",
            "Brian", "Adam", "Adrian", "Kyle", "Eric", "Ian", "Nathaniel",
            "Carlos", "Alex", "Bryan", "Jesus", "Julian", "Sean", "Carter",
            "Hayden", "Jeremiah", "Cole", "Brayden", "Wyatt", "Chase",
            "Steven", "Timothy", "Dominic", "Sebastian", "Xavier", "Jaden",
            "Jesse", "Devin", "Seth", "Antonio", "Richard", "Miguel", "Colin",
            "Cody", "Alejandro", "Caden", "Blake", "Carson" };

    public static String rndString(Random rnd) {
        return testString[(int) (rnd.nextDouble() * testString.length)];
    }

}