r19141: add a reasonable subset of the qooxdoo runtime environment, and example appli...
[jelmer/samba4-debian.git] / swat / apps / qooxdoo-examples / test / Table_6.html
1 <html>
2 <head>
3   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4   <title>qooxdoo &raquo; Demo</title>
5   <link type="text/css" rel="stylesheet" href="../../resource/css/layout.css"/>
6   <!--[if IE]>
7   <link type="text/css" rel="stylesheet" href="../../resource/css/layout_ie.css"/>
8   <![endif]-->
9   <script type="text/javascript" src="../../script/qx.js"></script>
10 </head>
11 <body>
12   <script type="text/javascript" src="../../script/layout.js"></script>
13
14   <div id="demoDescription">
15     <p>A table having few rows.</p>
16   </div>
17
18   <script type="text/javascript">
19   qx.core.Init.getInstance().defineMain(function()
20   {
21     var d = qx.ui.core.ClientDocument.getInstance();
22
23     var main = new qx.ui.layout.VerticalBoxLayout();
24     main.set({ left:10, top:30, right:300, bottom:30 });
25
26     // table model
27     var tableModel = new qx.ui.table.SimpleTableModel();
28     tableModel.setColumns([ "ID", "A number", "A date", "Boolean test" ]);
29     var rowData = [];
30     var now = new Date().getTime();
31     var dateRange = 400 * 24 * 60 * 60 * 1000; // 400 days
32     for (var row = 0; row < 50; row++) {
33       var date = new Date(now + Math.random() * dateRange - dateRange / 2);
34       rowData.push([ row, Math.random() * 10000, date, (Math.random() > 0.5) ]);
35     }
36     tableModel.setData(rowData);
37     tableModel.setColumnEditable(1, true);
38     tableModel.setColumnEditable(2, true);
39
40     // table
41     var table = new qx.ui.table.Table(tableModel);
42     with (table) {
43       setDimension("100%", "1*");
44       getSelectionModel().setSelectionMode(qx.ui.table.SelectionModel.MULTIPLE_INTERVAL_SELECTION);
45       getTableColumnModel().setDataCellRenderer(3, new qx.ui.table.BooleanDataCellRenderer());
46       setColumnWidth(0, 80);
47       setColumnWidth(1, 200);
48       setColumnWidth(2, 150);
49     };
50     main.add(table);
51
52     var button = new qx.ui.form.Button("Change row with ID 10");
53     button.addEventListener("execute", function(evt) {
54       tableModel.setValue(1, 10, Math.random() * 10000);
55       var date = new Date(now + Math.random() * dateRange - dateRange / 2);
56       tableModel.setValue(2, 10, date);
57       tableModel.setValue(3, 10, (Math.random() > 0.5));
58       this.info("Row 10 changed");
59     });
60     main.add(button);
61
62     d.add(main);
63   });
64   </script>
65 </body>
66 </html>