summaryrefslogtreecommitdiff
path: root/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treefullcontrol/AbstractTreeElement.js
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2007-09-10 03:44:47 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 15:05:50 -0500
commit15c1801a5c13479f1bf67e0e3c1ad7c0af8e3af7 (patch)
treec5bcb824e04cb1de4cccb07a148c113ff1831298 /webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treefullcontrol/AbstractTreeElement.js
parent37de963f67a1331b6402f901d2bda79b7119a155 (diff)
downloadsamba-15c1801a5c13479f1bf67e0e3c1ad7c0af8e3af7.tar.gz
samba-15c1801a5c13479f1bf67e0e3c1ad7c0af8e3af7.tar.bz2
samba-15c1801a5c13479f1bf67e0e3c1ad7c0af8e3af7.zip
r25051: Move SWAT back to the old-style form-submit modal.
The Web 2.0, async client tools were really interesting, but without developer backing they remain impossible to support into a release. The most interesting app was the LDB browser, and I intend to replace this with phpLdapAdmin, preconfigured for Apache during provision. This also removes the need to 'compile' SWAT on SVN checkouts. Andrew Bartlett (This used to be commit cda965e908055d45b1c05bc29cc791f7238d2fae)
Diffstat (limited to 'webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treefullcontrol/AbstractTreeElement.js')
-rw-r--r--webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treefullcontrol/AbstractTreeElement.js532
1 files changed, 0 insertions, 532 deletions
diff --git a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treefullcontrol/AbstractTreeElement.js b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treefullcontrol/AbstractTreeElement.js
deleted file mode 100644
index 17a9ba8ce7..0000000000
--- a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treefullcontrol/AbstractTreeElement.js
+++ /dev/null
@@ -1,532 +0,0 @@
-/* ************************************************************************
-
- qooxdoo - the new era of web development
-
- http://qooxdoo.org
-
- Copyright:
- 2004-2007 1&1 Internet AG, Germany, http://www.1and1.org
- 2006 Derrell Lipman
-
- License:
- LGPL: http://www.gnu.org/licenses/lgpl.html
- EPL: http://www.eclipse.org/org/documents/epl-v10.php
- See the LICENSE file in the project's top-level directory for details.
-
- Authors:
- * Sebastian Werner (wpbasti)
- * Andreas Ecker (ecker)
- * Derrell Lipman (derrell)
-
-************************************************************************ */
-
-/* ************************************************************************
-
-#module(ui_treefullcontrol)
-#embed(qx.widgettheme/tree/*)
-#embed(qx.icontheme/16/actions/document-new.png)
-
-************************************************************************ */
-
-qx.OO.defineClass("qx.ui.treefullcontrol.AbstractTreeElement", qx.ui.layout.BoxLayout,
-function(treeRowStructure)
-{
- if (this.classname == qx.ui.treefullcontrol.AbstractTreeElement.ABSTRACT_CLASS) {
- throw new Error("Please omit the usage of qx.ui.treefullcontrol.AbstractTreeElement directly. Choose between qx.ui.treefullcontrol.TreeFolder, qx.ui.treefullcontrol.TreeFolderSimple, qx.ui.treefullcontrol.TreeFile and qx.ui.treefullcontrol.TreeFileSimple instead!");
- }
-
- if (treeRowStructure !== qx.ui.treefullcontrol.TreeRowStructure.getInstance())
- {
- throw new Error("A qx.ui.treefullcontrol.TreeRowStructure parameter is required.");
- }
-
- // Precreate subwidgets
- this._indentObject = treeRowStructure._indentObject;
- this._iconObject = treeRowStructure._iconObject;
- this._labelObject = treeRowStructure._labelObject;
-
- // Make anonymous
- this._indentObject.setAnonymous(true);
- this._iconObject.setAnonymous(true);
- this._labelObject.setAnonymous(true);
-
- // Behaviour and Hard Styling
- this._labelObject.setSelectable(false);
- this._labelObject.setStyleProperty("lineHeight",
- "100%");
-
- qx.ui.layout.BoxLayout.call(this, "horizontal");
-
- if (qx.util.Validation.isValid(treeRowStructure._label)) {
- this.setLabel(treeRowStructure._label);
- }
-
- // Prohibit selection
- this.setSelectable(false);
-
- // Base URL used for indent images
- this.BASE_URI = qx.manager.object.AliasManager.getInstance().resolvePath("widget/tree/");
-
- /*
- * Add all of the objects which are to be in the horizontal layout.
- */
- for (var i = 0; i < treeRowStructure._fields.length; i++)
- {
- this.add(treeRowStructure._fields[i]);
- }
-
- // Set Icons
- if ((treeRowStructure._icons.unselected != null) &&
- (qx.util.Validation.isValidString(treeRowStructure._icons.unselected))) {
- this.setIcon(treeRowStructure._icons.unselected);
- this.setIconSelected(treeRowStructure._icons.unselected);
- }
- if ((treeRowStructure._icons.selected != null) &&
- (qx.util.Validation.isValidString(treeRowStructure._icons.selected))) {
- this.setIconSelected(treeRowStructure._icons.selected);
- }
-
- // Setup initial icon
- this._iconObject.setSource(this._evalCurrentIcon());
-
- // Set Appearance
- this._iconObject.setAppearance("tree-element-icon");
- this._labelObject.setAppearance("tree-element-label");
-
- // Register event listeners
- this.addEventListener("mousedown", this._onmousedown);
- this.addEventListener("mouseup", this._onmouseup);
-});
-
-qx.ui.treefullcontrol.AbstractTreeElement.ABSTRACT_CLASS = "qx.ui.treefullcontrol.AbstractTreeElement";
-
-
-
-
-/*
----------------------------------------------------------------------------
- PROPERTIES
----------------------------------------------------------------------------
-*/
-
-qx.OO.changeProperty({ name : "appearance",
- type : "string",
- defaultValue : "tree-element"
- });
-
-/*!
- The icons
-*/
-qx.OO.addProperty({ name : "icon",
- type : "string"
- });
-
-qx.OO.addProperty({ name : "iconSelected",
- type : "string"
- });
-
-/*!
- The label/caption/text of the qx.ui.basic.Atom instance
-*/
-qx.OO.addProperty({ name : "label"
- });
-
-/*!
- Selected property
-*/
-qx.OO.addProperty({ name : "selected",
- type : "boolean",
- defaultValue : false
- });
-
-
-
-
-
-
-/*
----------------------------------------------------------------------------
- MODIFIER
----------------------------------------------------------------------------
-*/
-
-qx.Proto._modifyLabel = function(propValue, propOldValue, propData)
-{
- if (this._labelObject) {
- this._labelObject.setHtml(propValue);
- }
-
- return true;
-}
-
-qx.Proto._modifySelected = function(propValue, propOldValue, propData)
-{
- if (propValue) {
- this.addState("selected");
- this._labelObject.addState("selected");
- } else {
- this.removeState("selected");
- this._labelObject.removeState("selected");
- }
-
- var vTree = this.getTree();
- if (!vTree._fastUpdate ||
- (propOldValue && vTree._oldItem == this)) {
- this._iconObject.setSource(this._evalCurrentIcon());
-
- if (propValue) {
- this._iconObject.addState("selected");
- } else {
- this._iconObject.removeState("selected");
- }
- }
-
- var vManager = this.getTree().getManager();
-
- if (propOldValue && vManager.getSelectedItem() == this)
- {
- vManager.deselectAll();
- }
- else if (propValue && vManager.getSelectedItem() != this)
- {
- vManager.setSelectedItem(this);
- }
-
- return true;
-}
-
-qx.Proto._evalCurrentIcon = function()
-{
- if (this.getSelected() && this.getIconSelected()) {
- return this.getIconSelected();
- } else {
- return this.getIcon() || "icon/16/actions/document-new.png";
- }
-}
-
-
-
-
-
-/*
----------------------------------------------------------------------------
- UTILITIES
----------------------------------------------------------------------------
-*/
-
-qx.Proto.getParentFolder = function()
-{
- try {
- return this.getParent().getParent();
- } catch(ex) {}
-
- return null;
-}
-
-qx.Proto.getLevel = function()
-{
- var vParentFolder = this.getParentFolder();
- return vParentFolder ? vParentFolder.getLevel() + 1 : null;
-}
-
-qx.Proto.getTree = function()
-{
- var vParentFolder = this.getParentFolder();
- return vParentFolder ? vParentFolder.getTree() : null;
-}
-
-qx.Proto.getIndentObject = function() {
- return this._indentObject;
-}
-
-qx.Proto.getIconObject = function() {
- return this._iconObject;
-}
-
-qx.Proto.getLabelObject = function() {
- return this._labelObject;
-}
-
-/**
- * Obtain the entire hierarchy of labels from the root down to the current
- * node.
- *
- * @param
- * vArr -
- * When called by the user, arr should typically be an empty array. Each
- * level from the current node upwards will push its label onto the array.
- */
-qx.Proto.getHierarchy = function(vArr) {
- // Add our label to the array
- if (this._labelObject) {
- vArr.unshift(this._labelObject.getHtml());
- }
-
- // Get the parent folder
- var parent = this.getParentFolder();
-
- // If it exists...
- if (parent) {
- // ... then add it and its ancestors' labels to the array.
- parent.getHierarchy(vArr);
- }
-
- // Give 'em what they came for
- return vArr;
-}
-
-
-
-
-/*
----------------------------------------------------------------------------
- QUEUE HANDLING
----------------------------------------------------------------------------
-*/
-
-qx.Proto.addToTreeQueue = function()
-{
- var vTree = this.getTree();
- if (vTree) {
- vTree.addChildToTreeQueue(this);
- }
-}
-
-qx.Proto.removeFromTreeQueue = function()
-{
- var vTree = this.getTree();
- if (vTree) {
- vTree.removeChildFromTreeQueue(this);
- }
-}
-
-qx.Proto.addToCustomQueues = function(vHint)
-{
- this.addToTreeQueue();
-
- qx.ui.layout.BoxLayout.prototype.addToCustomQueues.call(this, vHint);
-}
-
-qx.Proto.removeFromCustomQueues = function(vHint)
-{
- this.removeFromTreeQueue();
-
- qx.ui.layout.BoxLayout.prototype.removeFromCustomQueues.call(this, vHint);
-}
-
-
-
-
-
-
-
-
-/*
----------------------------------------------------------------------------
- DISPLAYBLE HANDLING
----------------------------------------------------------------------------
-*/
-
-qx.Proto._modifyParent = function(propValue, propOldValue, propData)
-{
- qx.ui.layout.BoxLayout.prototype._modifyParent.call(this, propValue, propOldValue, propData);
-
- // Be sure to update previous folder also if it is closed currently
- // (plus/minus symbol)
- if (propOldValue &&
- !propOldValue.isDisplayable() &&
- propOldValue.getParent() &&
- propOldValue.getParent().isDisplayable()) {
- propOldValue.getParent().addToTreeQueue();
- }
-
- // Be sure to update new folder also if it is closed currently
- // (plus/minus symbol)
- if (propValue &&
- !propValue.isDisplayable() &&
- propValue.getParent() &&
- propValue.getParent().isDisplayable()) {
- propValue.getParent().addToTreeQueue();
- }
-
- return true;
-}
-
-qx.Proto._handleDisplayableCustom = function(vDisplayable, vParent, vHint)
-{
- qx.ui.layout.BoxLayout.prototype._handleDisplayableCustom.call(this,
- vDisplayable,
- vParent,
- vHint);
-
- if (vHint)
- {
- var vParentFolder = this.getParentFolder();
- var vPreviousParentFolder = this._previousParentFolder;
-
- if (vPreviousParentFolder)
- {
- if (this._wasLastVisibleChild)
- {
- vPreviousParentFolder._updateIndent();
- }
- else if (!vPreviousParentFolder.hasContent())
- {
- vPreviousParentFolder.addToTreeQueue();
- }
- }
-
- if (vParentFolder &&
- vParentFolder.isDisplayable() &&
- vParentFolder._initialLayoutDone) {
- vParentFolder.addToTreeQueue();
- }
-
- if (this.isLastVisibleChild())
- {
- var vPrev = this.getPreviousVisibleSibling();
-
- if (vPrev &&
- vPrev instanceof qx.ui.treefullcontrol.AbstractTreeElement) {
- vPrev._updateIndent();
- }
- }
-
- if (vDisplayable) {
- this._updateIndent();
- }
- }
-}
-
-
-
-
-
-
-
-/*
----------------------------------------------------------------------------
- EVENT LISTENERS
----------------------------------------------------------------------------
-*/
-
-qx.Proto._onmousedown = function(e)
-{
- this.getTree().getManager().handleMouseDown(this, e);
- e.stopPropagation();
-}
-
-qx.Proto._onmouseup = qx.lang.Function.returnTrue;
-
-
-
-
-
-/*
----------------------------------------------------------------------------
- TREE FLUSH
----------------------------------------------------------------------------
-*/
-
-qx.Proto.flushTree = function()
-{
- // store information for update process
- this._previousParentFolder = this.getParentFolder();
- this._wasLastVisibleChild = this.isLastVisibleChild();
-
- // generate html for indent area
- var vLevel = this.getLevel();
- var vTree = this.getTree();
- var vImage;
- var vHtml = [];
- var vCurrentObject = this;
- var vMinLevel = 0;
- var vMaxLevel = vLevel;
-
- // If we're displaying the open/close button for the root node (normal)...
- if (vTree.getRootOpenClose()) {
- // ... then we need one more level
- vMaxLevel = vLevel + 1;
- }
-
- // If we're not displaying the root node (creating virtual roots)...
- if (vTree.hideNode()) {
- // ... then start one level higher
- vMinLevel = 1;
- }
-
- for (var i=vMinLevel; i<vMaxLevel; i++)
- {
- vImage = vCurrentObject.getIndentSymbol(vTree.getUseTreeLines(),
- i,
- vMinLevel,
- vMaxLevel);
-
- if (vImage)
- {
- vHtml.push("<img style=\"position:absolute;top:0px;left:");
-
- // location of image; Root's image could be left of margin (invisible)
- vHtml.push((vMaxLevel-i-1) * 19);
-
- vHtml.push("px\" src=\"");
- vHtml.push(this.BASE_URI);
- vHtml.push(vImage);
- vHtml.push(".");
- vHtml.push("gif");
- vHtml.push("\" />");
- }
-
- vCurrentObject = vCurrentObject.getParentFolder();
- }
-
- this._indentObject.setHtml(vHtml.join(""));
- this._indentObject.setWidth((vMaxLevel - vMinLevel) * 19);
-}
-
-
-
-
-
-
-
-
-
-
-/*
----------------------------------------------------------------------------
- DISPOSER
----------------------------------------------------------------------------
-*/
-
-qx.Proto.dispose = function()
-{
- if (this.getDisposed()) {
- return true;
- }
-
- if (this._indentObject)
- {
- this._indentObject.dispose();
- this._indentObject = null;
- }
-
- if (this._iconObject)
- {
- this._iconObject.dispose();
- this._iconObject = null;
- }
-
- if (this._labelObject)
- {
- this._labelObject.dispose();
- this._labelObject = null;
- }
-
- this._previousParentFolder = null;
-
- this.removeEventListener("mousedown", this._onmousedown);
- this.removeEventListener("mouseup", this._onmouseup);
-
- return qx.ui.layout.BoxLayout.prototype.dispose.call(this);
-}