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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>qooxdoo » Demo</title>
<link type="text/css" rel="stylesheet" href="../../resource/css/layout.css"/>
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="../../resource/css/layout_ie.css"/>
<![endif]-->
<script type="text/javascript" src="../../script/qx.js"></script>
</head>
<body>
<script type="text/javascript" src="../../script/layout.js"></script>
<div id="demoDescription">
<p>Create ten toolbars. Stress Test.</p>
</div>
<script type="text/javascript">
qx.core.Init.getInstance().defineMain(function()
{
var d = qx.ui.core.ClientDocument.getInstance();
var btns1 = [
{ type : "button", icon : "file-new", text : "New" },
{ type : "separator" },
{ type : "button", icon : "edit-copy", text : "Copy" },
{ type : "button", icon : "edit-cut", text : "Cut" },
{ type : "button", icon : "edit-paste", text : "Paste" }
];
var btns2 = [
{ type : "button", icon : "up", text : "Upload" },
{ type : "button", icon : "down", text : "Download" }
];
var btns3 = [
{ type : "button", icon : "help", text : "Hilfe" }
];
var bars = [ btns1, btns2, btns3 ];
function changeLayout(e) {
this.setShow(e.getData());
};
function changeSize(e) {
var v = e.getData();
var o = v == 22 ? 32 : 22;
this.setIcon(this.getIcon().replace(o, v));
};
var useParts = true;
for (var k=0; k<10; k++)
{
var tb = new qx.ui.toolbar.ToolBar;
with(tb)
{
setTop(48+(k*50));
setLeft(20);
setRight(335);
};
for (var j=0; j<bars.length; j++)
{
var btns = bars[j];
if (useParts) {
var tbp = new qx.ui.toolbar.ToolBarPart;
};
for (var i=0; i<btns.length; i++)
{
var btn = btns[i];
switch(btn.type)
{
case "separator":
var o = new qx.ui.toolbar.ToolBarSeparator;
break;
case "button":
var o = new qx.ui.toolbar.ToolBarButton(btn.text, "icon/22/" + btn.icon + ".png");
// beautiful decoupling: toolbar buttons don't know about radio boxes
d.addEventListener("changeLayout", changeLayout, o);
d.addEventListener("changeSize", changeSize, o);
break;
};
if (useParts)
{
tbp.add(o);
}
else
{
tb.add(o);
};
};
if (useParts) {
tb.add(tbp);
};
};
d.add(tb);
};
});
</script>
</body>
</html>
|