svn commit: samba r21321 - in
branches/SAMBA_4_0/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treevirtual:
.
derrell at samba.org
derrell at samba.org
Tue Feb 13 20:35:49 GMT 2007
Author: derrell
Date: 2007-02-13 20:35:48 +0000 (Tue, 13 Feb 2007)
New Revision: 21321
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21321
Log:
- Allow pruning all of the children of a node without removing the node
itself.
- By default, create only one meta column if only the tree is displayed. If
additional columns are displayed, then put all of them in a separate meta
column, and the tree in the first meta column by itself.
Modified:
branches/SAMBA_4_0/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js
branches/SAMBA_4_0/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treevirtual/TreeVirtual.js
Changeset:
Modified: branches/SAMBA_4_0/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js
===================================================================
--- branches/SAMBA_4_0/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js 2007-02-13 16:04:36 UTC (rev 21320)
+++ branches/SAMBA_4_0/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treevirtual/SimpleTreeDataModel.js 2007-02-13 20:35:48 UTC (rev 21321)
@@ -405,35 +405,42 @@
/**
- * Prune the tree by removing the specified node, and, if the node has
- * children, recursively all of its children.
+ * Prune the tree by removing, recursively, all of a node's children. If
+ * requested, also remove the node itself.
*
* @param nodeId {Integer}
* The node id, previously returned by {@link #addLeaf} or {@link
* #addBranch}, of the node (and its children) to be pruned from the tree.
+ *
+ * @param bSelfAlso {Boolean}
+ * If <i>true</i> then remove the node identified by <i>nodeId</i> as well
+ * as all of the children.
*/
-qx.Proto.prune = function(nodeId)
+qx.Proto.prune = function(nodeId, bSelfAlso)
{
// First, recursively remove all children
for (var i = 0; i < this._nodeArr[nodeId].children.length; i++)
{
- this.prune(this._nodeArr[nodeId].children[i]);
+ this.prune(this._nodeArr[nodeId].children[i], true);
}
- // Delete ourself from our parent's children list
- var node = this._nodeArr[nodeId];
- qx.lang.Array.remove(this._nodeArr[node.parentNodeId].children, nodeId);
+ if (bSelfAlso)
+ {
+ // Delete ourself from our parent's children list
+ var node = this._nodeArr[nodeId];
+ qx.lang.Array.remove(this._nodeArr[node.parentNodeId].children, nodeId);
- // Delete ourself from the selections list, if we're in it.
- if (this._selections[nodeId])
- {
- delete this._selections[nodeId];
+ // Delete ourself from the selections list, if we're in it.
+ if (this._selections[nodeId])
+ {
+ delete this._selections[nodeId];
+ }
+
+ // We can't splice the node itself out, because that would muck up the
+ // nodeId == index correspondence. Instead, just replace the node with
+ // null so its index just becomes unused.
+ this._nodeArr[nodeId] = null;
}
-
- // We can't splice the node itself out, because that would muck up the
- // nodeId == index correspondence. Instead, just replace the node with
- // null so its index just becomes unused.
- this._nodeArr[nodeId] = null;
};
Modified: branches/SAMBA_4_0/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treevirtual/TreeVirtual.js
===================================================================
--- branches/SAMBA_4_0/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treevirtual/TreeVirtual.js 2007-02-13 16:04:36 UTC (rev 21320)
+++ branches/SAMBA_4_0/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/ui/treevirtual/TreeVirtual.js 2007-02-13 20:35:48 UTC (rev 21321)
@@ -71,7 +71,7 @@
// Set sizes
this.setRowHeight(16);
- this.setMetaColumnCounts([1, -1]);
+ this.setMetaColumnCounts(headings.length > 1 ? [ 1, -1 ] : [ 1 ]);
// Set the data cell render. We use the SimpleTreeDataCellRenderer for the
// tree column, and our DefaultDataCellRenderer for all other columns.
More information about the samba-cvs
mailing list