diff options
author | Derrell Lipman <derrell@samba.org> | 2006-10-06 15:40:18 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:20:40 -0500 |
commit | 10c06a1968dbf39d8a3790077a3537b8323f36ff (patch) | |
tree | f7389aac531dfe7c0d538879bdbd15cca33156e4 /swat/apps/qooxdoo-examples/example/TreeFullControl_3.html | |
parent | 77fc14c0818498e277a79196fa4f6e15f4b607b1 (diff) | |
download | samba-10c06a1968dbf39d8a3790077a3537b8323f36ff.tar.gz samba-10c06a1968dbf39d8a3790077a3537b8323f36ff.tar.bz2 samba-10c06a1968dbf39d8a3790077a3537b8323f36ff.zip |
r19141: add a reasonable subset of the qooxdoo runtime environment, and example applications
(This used to be commit ff28ab7314ff1eebcd62f387678b816091af8121)
Diffstat (limited to 'swat/apps/qooxdoo-examples/example/TreeFullControl_3.html')
-rw-r--r-- | swat/apps/qooxdoo-examples/example/TreeFullControl_3.html | 298 |
1 files changed, 298 insertions, 0 deletions
diff --git a/swat/apps/qooxdoo-examples/example/TreeFullControl_3.html b/swat/apps/qooxdoo-examples/example/TreeFullControl_3.html new file mode 100644 index 0000000000..35ff8e18c0 --- /dev/null +++ b/swat/apps/qooxdoo-examples/example/TreeFullControl_3.html @@ -0,0 +1,298 @@ +<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>Shows a tree, with user-defined icons for some nodes. This tests + listening for tree events. A separate alert is generated upon opening a + folder that has contents; when opening a folder that has no contents; and + closing a folder.</p><p>We also demonstrate changing the default value of + 'allowShowPlusMinusSymbol' so that all folders initially have a plus/minus + symbol. Then, upon opening an empty folder, we remove that + icon.</p><p>Lastly, we demonstrate in the alert presented by tree events, + use of the getHierarchy() method to obtain a full "path" for a tree + node.</p> + </div> + + <script type="text/javascript"> + qx.core.Init.getInstance().defineMain(function() + { + /* + * Reset the default of always showing the plus/minus symbol. The + * default is 'false'. We want to always display it for each folder + * (and then stop displaying it if we determine upon open that there are + * no contents). + * + * The changeProperty() function assumes that it is being called + * shortly after defineClass() is called. We therefore need to kludge + * qx.Proto to point to the right place. + * + * TODO: There should be a mechanism to change a property attribute + * without having to jump through these hoops. + */ + var constructor = qx.OO.classes["qx.ui.treefullcontrol.TreeFolder"]; + qx.Proto = constructor.prototype; + qx.OO.changeProperty({ name : "alwaysShowPlusMinusSymbol", type : qx.constant.Type.BOOLEAN, defaultValue : true }); + + + var trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Root"); + var t = new qx.ui.treefullcontrol.Tree(trs); + + /* + * All subtrees will use this root node's event listeners. Create event + * listeners for each of the possible events. + */ + t.addEventListener(qx.constant.Event.TREEOPENWITHCONTENT, function(e) { + alert('treeOpenWithContent ' + e.getData().getHierarchy(new Array()).join("/")); + }); + + t.addEventListener(qx.constant.Event.TREECLOSE, function(e) { + alert('treeClose ' + e.getData().getHierarchy(new Array()).join("/")); + }); + + /* + * We handle opening an empty folder specially. We demonstrate how to + * disable the plus/minus sign once we've determined there's nothing in + * it. This feature might be used to dynamically retrieve the contents + * of the folder, and if nothing is available, indicate it by removing + * the plus/minus sign. + */ + t.addEventListener(qx.constant.Event.TREEOPENWHILEEMPTY, function(e) { + alert('treeOpenWhileEmpty ' + e.getData().getHierarchy(new Array()).join("/")); + e.getData().setAlwaysShowPlusMinusSymbol(false); + }); + + with(t) + { + setBackgroundColor(255); + setBorder(qx.renderer.border.BorderPresets.getInstance().inset); + setOverflow("scrollY"); + + setHeight(null); + setTop(48); + setLeft(20); + setWidth(200); + setBottom(48); + }; + + qx.ui.core.ClientDocument.getInstance().add(t); + // One icon for selected and one for unselected states + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Desktop", "icon/16/desktop.png", "icon/16/dictionary.png"); + var te1 = new qx.ui.treefullcontrol.TreeFolder(trs); + t.add(te1); + + desktop = te1; + + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Files"); + var te1_1 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Workspace"); + var te1_2 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Network"); + var te1_3 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Trash"); + var te1_4 = new qx.ui.treefullcontrol.TreeFolder(trs); + + te1.add(te1_1, te1_2, te1_3, te1_4); + + // One icon specified, and used for both selected unselected states + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Windows (C:)", "icon/16/harddrive.png"); + var te1_2_1 = new qx.ui.treefullcontrol.TreeFile(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Documents (D:)", "icon/16/harddrive.png"); + var te1_2_2 = new qx.ui.treefullcontrol.TreeFile(trs); + + te1_2.add(te1_2_1, te1_2_2); + + arbeitsplatz = te1_2; + + + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Inbox"); + var te2 = new qx.ui.treefullcontrol.TreeFolder(trs); + posteingang = te2; + + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Presets"); + var te2_1 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Sent"); + var te2_2 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Trash", "icon/16/trash.png"); + var te2_3 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Data"); + var te2_4 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Edit"); + var te2_5 = new qx.ui.treefullcontrol.TreeFolder(trs); + + editieren = te2_5; + + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Chat"); + var te2_5_1 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Pustefix"); + var te2_5_2 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("TINC"); + var te2_5_3 = new qx.ui.treefullcontrol.TreeFolder(trs); + + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Announce"); + var te2_5_3_1 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Devel"); + var te2_5_3_2 = new qx.ui.treefullcontrol.TreeFolder(trs); + + te2_5_3.add(te2_5_3_1, te2_5_3_2); + + te2_5.add(te2_5_1, te2_5_2, te2_5_3); + + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Lists"); + var te2_6 = new qx.ui.treefullcontrol.TreeFolder(trs); + + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Relations"); + var te2_6_1 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Company"); + var te2_6_2 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Questions"); + var te2_6_3 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Internal"); + var te2_6_4 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Products"); + var te2_6_5 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Press"); + var te2_6_6 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Development"); + var te2_6_7 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Competition"); + var te2_6_8 = new qx.ui.treefullcontrol.TreeFolder(trs); + + 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); + + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Personal"); + var te2_7 = new qx.ui.treefullcontrol.TreeFolder(trs); + + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Bugs"); + var te2_7_1 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Family"); + var te2_7_2 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Projects"); + var te2_7_3 = new qx.ui.treefullcontrol.TreeFolder(trs); + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Holiday"); + var te2_7_4 = new qx.ui.treefullcontrol.TreeFolder(trs); + + te2_7.add(te2_7_1, te2_7_2, te2_7_3, te2_7_4); + + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Big"); + var te2_8 = new qx.ui.treefullcontrol.TreeFolder(trs); + + for (var i=0;i<50; i++) { + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Item " + i); + te2_8.add(new qx.ui.treefullcontrol.TreeFolder(trs)); + }; + + trs = qx.ui.treefullcontrol.TreeRowStructure.getInstance().standard("Spam"); + var te2_9 = new qx.ui.treefullcontrol.TreeFolder(trs); + spam = te2_9; + + te2.add(te2_1, te2_2, te2_3, te2_4, te2_5, te2_6, te2_7, te2_8, te2_9); + + t.add(te2); + qx.ui.core.ClientDocument.getInstance().add(t); + + + + + + + var commandFrame = new qx.ui.groupbox.GroupBox("Control"); + + with(commandFrame) + { + setTop(48); + setLeft(250); + + setWidth("auto"); + setHeight("auto"); + }; + + qx.ui.core.ClientDocument.getInstance().add(commandFrame); + + + + + var tCurrentLabel = new qx.ui.basic.Atom("Current Folder: "); + + with(tCurrentLabel) + { + setLeft(0); + setTop(0); + }; + + commandFrame.add(tCurrentLabel); + + + + var tCurrentInput = new qx.ui.form.TextField; + + with(tCurrentInput) + { + setLeft(0); + setRight(0); + setTop(20); + + setReadOnly(true); + }; + + commandFrame.add(tCurrentInput); + + t.getManager().addEventListener("changeSelection", function(e) { + tCurrentInput.setValue(e.getData()[0]._labelObject.getHtml()); + }); + + + + var tDoubleClick = new qx.ui.form.CheckBox("Use double click?"); + + with(tDoubleClick) { + setTop(60); + setLeft(0); + }; + + commandFrame.add(tDoubleClick); + + tDoubleClick.addEventListener("changeChecked", function(e) { t.setUseDoubleClick(e.getData()); }); + + + + + var tTreeLines = new qx.ui.form.CheckBox("Use tree lines?"); + + with(tTreeLines) { + setTop(80); + setLeft(0); + setChecked(true); + }; + + commandFrame.add(tTreeLines); + + tTreeLines.addEventListener("changeChecked", function(e) { t.setUseTreeLines(e.getData()); }); + + + var tHideNode = new qx.ui.form.CheckBox("Hide the root node?"); + + with(tHideNode) { + setTop(100); + setLeft(0); + setChecked(false); + }; + + commandFrame.add(tHideNode); + + tHideNode.addEventListener("changeChecked", function(e) { t.setHideNode(e.getData()); }); + + + }); + </script> +</body> +</html> |