3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4 <title>qooxdoo » Demo</title>
5 <link type="text/css" rel="stylesheet" href="../../resource/css/layout.css"/>
7 <link type="text/css" rel="stylesheet" href="../../resource/css/layout_ie.css"/>
9 <script type="text/javascript" src="../../script/qx.js"></script>
12 <script type="text/javascript" src="../../script/layout.js"></script>
14 <div id="demoDescription">
15 <p>Shows a tree, with user-defined extra fields. In this example, the extra
16 fields include a left-justified icon, a checkbox between the node icon and the
17 label, and a whole series of right-justified fields. Additionally, the root node may be hidden. </p>
20 <script type="text/javascript">
23 function stuff(vLabel, vIcon, vIconSelected)
25 treeRowStructure = qx.ui.treefullcontrol.TreeRowStructure.getInstance().newRow();
27 // A left-justified icon
28 if (Math.floor(Math.random() * 4) == 0)
30 obj = new qx.ui.basic.Image("icon/16/alarm.png", 16);
34 obj = new qx.ui.basic.Image(null, 16);
36 treeRowStructure.addObject(obj, true);
38 // Here's our indentation and tree-lines
39 treeRowStructure.addIndent();
41 // The standard tree icon follows
42 treeRowStructure.addIcon(
43 arguments.length >= 2 ? vIcon : "icon/16/desktop.png",
44 arguments.length >= 3 ? vIconSelected : "icon/16/dictionary.png");
46 // A checkbox comes right after the tree icon
47 obj = new qx.ui.form.CheckBox(
48 null, 23, null, Math.floor(Math.random() * 2) == 0 ? false : true);
50 treeRowStructure.addObject(obj, true);
53 treeRowStructure.addLabel(vLabel);
55 // All else should be right justified
56 obj = new qx.ui.basic.HorizontalSpacer;
57 treeRowStructure.addObject(obj, true);
59 // Add a file size, date and mode
60 obj = new qx.ui.basic.Label(Math.round(Math.random() * 100) + "kb");
62 treeRowStructure.addObject(obj, true);
63 obj = new qx.ui.basic.Label(
64 "May " + Math.round(Math.random() * 30 + 1) + " 2005");
66 treeRowStructure.addObject(obj, true);
67 obj = new qx.ui.basic.Label("-rw-r--r--");
69 treeRowStructure.addObject(obj, true);
71 return treeRowStructure;
74 qx.core.Init.getInstance().defineMain(function()
76 var x = new qx.ui.basic.Atom("Test #1", "icon/16/reload.png", 16, 16);
79 var t = new qx.ui.treefullcontrol.Tree(stuff("Root"));
82 setBackgroundColor(255);
83 setBorder(qx.renderer.border.BorderPresets.getInstance().inset);
84 setOverflow("scrollY");
93 qx.ui.core.ClientDocument.getInstance().add(t);
94 // One icon for selected and one for unselected states
95 var te1 = new qx.ui.treefullcontrol.TreeFolder(stuff("Desktop"));
100 var te1_1 = new qx.ui.treefullcontrol.TreeFolder(stuff("Files"));
101 var te1_2 = new qx.ui.treefullcontrol.TreeFolder(stuff("Workspace"));
102 var te1_3 = new qx.ui.treefullcontrol.TreeFolder(stuff("Network"));
103 var te1_4 = new qx.ui.treefullcontrol.TreeFolder(stuff("Trash"));
105 te1.add(te1_1, te1_2, te1_3, te1_4);
107 // One icon specified, and used for both selected unselected states
108 var te1_2_1 = new qx.ui.treefullcontrol.TreeFile(stuff("Windows (C:)", "icon/16/harddrive.png"));
109 var te1_2_2 = new qx.ui.treefullcontrol.TreeFile(stuff("Documents (D:)", "icon/16/harddrive.png"));
111 te1_2.add(te1_2_1, te1_2_2);
113 arbeitsplatz = te1_2;
116 var te2 = new qx.ui.treefullcontrol.TreeFolder(stuff("Inbox"));
119 var te2_1 = new qx.ui.treefullcontrol.TreeFolder(stuff("Presets"));
120 var te2_2 = new qx.ui.treefullcontrol.TreeFolder(stuff("Sent"));
121 var te2_3 = new qx.ui.treefullcontrol.TreeFolder(stuff("Trash", "icon/16/trash.png"));
122 var te2_4 = new qx.ui.treefullcontrol.TreeFolder(stuff("Data"));
123 var te2_5 = new qx.ui.treefullcontrol.TreeFolder(stuff("Edit"));
127 var te2_5_1 = new qx.ui.treefullcontrol.TreeFolder(stuff("Chat"));
128 var te2_5_2 = new qx.ui.treefullcontrol.TreeFolder(stuff("Pustefix"));
129 var te2_5_3 = new qx.ui.treefullcontrol.TreeFolder(stuff("TINC"));
131 var te2_5_3_1 = new qx.ui.treefullcontrol.TreeFolder(stuff("Announce"));
132 var te2_5_3_2 = new qx.ui.treefullcontrol.TreeFolder(stuff("Devel"));
134 te2_5_3.add(te2_5_3_1, te2_5_3_2);
136 te2_5.add(te2_5_1, te2_5_2, te2_5_3);
138 var te2_6 = new qx.ui.treefullcontrol.TreeFolder(stuff("Lists"));
140 var te2_6_1 = new qx.ui.treefullcontrol.TreeFolder(stuff("Relations"));
141 var te2_6_2 = new qx.ui.treefullcontrol.TreeFolder(stuff("Company"));
142 var te2_6_3 = new qx.ui.treefullcontrol.TreeFolder(stuff("Questions"));
143 var te2_6_4 = new qx.ui.treefullcontrol.TreeFolder(stuff("Internal"));
144 var te2_6_5 = new qx.ui.treefullcontrol.TreeFolder(stuff("Products"));
145 var te2_6_6 = new qx.ui.treefullcontrol.TreeFolder(stuff("Press"));
146 var te2_6_7 = new qx.ui.treefullcontrol.TreeFolder(stuff("Development"));
147 var te2_6_8 = new qx.ui.treefullcontrol.TreeFolder(stuff("Competition"));
149 te2_6.add(te2_6_1, te2_6_2, te2_6_3, te2_6_4, te2_6_5, te2_6_6, te2_6_7, te2_6_8);
151 var te2_7 = new qx.ui.treefullcontrol.TreeFolder(stuff("Personal"));
153 var te2_7_1 = new qx.ui.treefullcontrol.TreeFolder(stuff("Bugs"));
154 var te2_7_2 = new qx.ui.treefullcontrol.TreeFolder(stuff("Family"));
155 var te2_7_3 = new qx.ui.treefullcontrol.TreeFolder(stuff("Projects"));
156 var te2_7_4 = new qx.ui.treefullcontrol.TreeFolder(stuff("Holiday"));
158 te2_7.add(te2_7_1, te2_7_2, te2_7_3, te2_7_4);
160 var te2_8 = new qx.ui.treefullcontrol.TreeFolder(stuff("Big"));
162 for (var i=0;i<50; i++) {
163 te2_8.add(new qx.ui.treefullcontrol.TreeFolder(stuff("Item " + i)));
166 var te2_9 = new qx.ui.treefullcontrol.TreeFolder(stuff("Spam"));
169 te2.add(te2_1, te2_2, te2_3, te2_4, te2_5, te2_6, te2_7, te2_8, te2_9);
172 qx.ui.core.ClientDocument.getInstance().add(t);
179 var commandFrame = new qx.ui.groupbox.GroupBox("Control");
190 qx.ui.core.ClientDocument.getInstance().add(commandFrame);
195 var tCurrentLabel = new qx.ui.basic.Atom("Current Folder: ");
203 commandFrame.add(tCurrentLabel);
207 var tCurrentInput = new qx.ui.form.TextField;
218 commandFrame.add(tCurrentInput);
220 t.getManager().addEventListener("changeSelection", function(e) {
221 tCurrentInput.setValue(e.getData()[0]._labelObject.getHtml());
226 var tDoubleClick = new qx.ui.form.CheckBox("Use double click?");
233 commandFrame.add(tDoubleClick);
235 tDoubleClick.addEventListener("changeChecked", function(e) { t.setUseDoubleClick(e.getData()); });
240 var tTreeLines = new qx.ui.form.CheckBox("Use tree lines?");
248 commandFrame.add(tTreeLines);
250 tTreeLines.addEventListener("changeChecked", function(e) { t.setUseTreeLines(e.getData()); });
255 var tHideNode = new qx.ui.form.CheckBox("Hide the root node?");
263 commandFrame.add(tHideNode);
265 tHideNode.addEventListener("changeChecked", function(e) { t.setHideNode(e.getData()); });