diff options
Diffstat (limited to 'swat/apps/qooxdoo-examples/test/Tree_5.html')
-rw-r--r-- | swat/apps/qooxdoo-examples/test/Tree_5.html | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/swat/apps/qooxdoo-examples/test/Tree_5.html b/swat/apps/qooxdoo-examples/test/Tree_5.html new file mode 100644 index 0000000000..a2ed5459de --- /dev/null +++ b/swat/apps/qooxdoo-examples/test/Tree_5.html @@ -0,0 +1,148 @@ +<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>Drag and Drop between trees and inside a tree.</p> + </div> + + <script type="text/javascript"> + qx.core.Init.getInstance().defineMain(function() + { + function handleDragStart(e) + { + e.addData("qx.ui.tree.AbstractTreeElement", e.getCurrentTarget()); + e.addAction("move"); + e.startDrag(); + }; + + function handleDragDrop(e) + { + var vType = e.getDropDataTypes()[0]; + var vSource = e.getData(vType); + var vTarget = e.getCurrentTarget(); + + vSource.getTree().getManager().deselectAll(); + vTarget.add(vSource); + + e.stopPropagation(); + }; + + function supportsDrop(vDragCache) { + return !vDragCache.sourceWidget.contains(this); + }; + + function handleDragOver(e) + { + var l = e.getTarget().getLabelObject(); + l.setStyleProperty("textDecoration", "underline"); + }; + + function handleDragOut(e) + { + var l = e.getTarget().getLabelObject(); + l.removeStyleProperty("textDecoration"); + }; + + + + var treeSource = new qx.ui.tree.Tree("Source"); + + with(treeSource) + { + setBackgroundColor(255); + setBorder(qx.renderer.border.BorderPresets.getInstance().thinInset); + setOverflow("scrollY"); + + setHeight(null); + setTop(48); + setLeft(20); + setWidth(200); + setBottom(48); + + addEventListener("dragdrop", handleDragDrop); + addEventListener("dragover", handleDragOver); + addEventListener("dragout", handleDragOut); + + setDropDataTypes(["qx.ui.tree.AbstractTreeElement"]); + }; + + qx.ui.core.ClientDocument.getInstance().add(treeSource); + + for (var i=1, f; i<4; i++) + { + f = new qx.ui.tree.TreeFolder("Folder " + i); + + f.addEventListener("dragstart", handleDragStart); + f.addEventListener("dragdrop", handleDragDrop); + f.addEventListener("dragover", handleDragOver); + f.addEventListener("dragout", handleDragOut); + + f.setDropDataTypes(["qx.ui.tree.AbstractTreeElement"]); + f.supportsDrop = supportsDrop; + + treeSource.add(f); + + for (var j=1, g; j<4; j++) + { + g = new qx.ui.tree.TreeFolder("Subfolder " + j); + + g.addEventListener("dragstart", handleDragStart); + g.addEventListener("dragdrop", handleDragDrop); + g.addEventListener("dragover", handleDragOver); + g.addEventListener("dragout", handleDragOut); + + g.setDropDataTypes(["qx.ui.tree.AbstractTreeElement"]); + g.supportsDrop = supportsDrop; + + f.add(g); + + for (var k=1, h; k<4; k++) + { + h = new qx.ui.tree.TreeFile("File " + k); + + h.addEventListener("dragstart", handleDragStart); + + g.add(h); + }; + }; + }; + + + + + var treeDest = new qx.ui.tree.Tree("Dest"); + + with(treeDest) + { + setBackgroundColor(255); + setBorder(qx.renderer.border.BorderPresets.getInstance().thinInset); + setOverflow("scrollY"); + + setHeight(null); + setTop(48); + setLeft(240); + setWidth(200); + setBottom(48); + + addEventListener("dragdrop", handleDragDrop); + addEventListener("dragover", handleDragOver); + addEventListener("dragout", handleDragOut); + + setDropDataTypes(["qx.ui.tree.AbstractTreeElement"]); + }; + + qx.ui.core.ClientDocument.getInstance().add(treeDest); + }); + </script> +</body> +</html> |