r24958: This is the final text, and the final version. I'll send the release
[jelmer/samba4-debian.git] / webapps / qooxdoo-0.6.5-sdk / frontend / framework / source / class / qx / ui / treevirtual / SimpleTreeDataRowRenderer.js
1 /* ************************************************************************
2
3    qooxdoo - the new era of web development
4
5    http://qooxdoo.org
6
7    Copyright:
8      2007 Derrell Lipman
9
10    License:
11      LGPL: http://www.gnu.org/licenses/lgpl.html
12      EPL: http://www.eclipse.org/org/documents/epl-v10.php
13      See the LICENSE file in the project's top-level directory for details.
14
15    Authors:
16      * Derrell Lipman (derrell)
17
18 ************************************************************************ */
19
20 /* ************************************************************************
21
22 #module(treevirtual)
23
24 ************************************************************************ */
25
26 /**
27  * A data row renderer for a simple tree row
28  */
29 qx.OO.defineClass("qx.ui.treevirtual.SimpleTreeDataRowRenderer",
30                   qx.ui.table.DefaultDataRowRenderer,
31 function()
32 {
33   qx.ui.table.DefaultDataRowRenderer.call(this);
34 });
35
36
37 // overridden
38 qx.Proto.updateDataRowElement = function(rowInfo, rowElem)
39 {
40   // If the node is selected, select the row
41   var tree = rowInfo.table;
42   var rowData = rowInfo.rowData;
43   var tableModel = tree.getTableModel();
44   var treeCol = tableModel.getTreeColumn();
45   var node = rowData[treeCol];
46
47   // Set the row's selected state based on the data model
48   rowInfo.selected = node.bSelected;
49
50   if (node.bSelected)
51   {
52     // Ensure that the selection model knows it's selected
53     var nodeRowMap = tableModel.getNodeRowMap();
54     var row = nodeRowMap[node.nodeId];
55     tree.getSelectionModel()._addSelectionInterval(row, row);
56   }
57
58   // Now call our superclass
59   var ddrr = qx.ui.table.DefaultDataRowRenderer;
60   ddrr.prototype.updateDataRowElement.call(this, rowInfo, rowElem);
61 };