r21325: delete children in reverse order since the array is manipulated during the...
[samba.git] / webapps / qooxdoo-0.6.3-sdk / frontend / framework / source / class / qx / manager / selection / VirtualSelectionManager.js
1 /* ************************************************************************
2
3    qooxdoo - the new era of web development
4
5    http://qooxdoo.org
6
7    Copyright:
8      2004-2006 by 1&1 Internet AG, Germany, http://www.1and1.org
9
10    License:
11      LGPL 2.1: http://www.gnu.org/licenses/lgpl.html
12
13    Authors:
14      * Sebastian Werner (wpbasti)
15      * Andreas Ecker (ecker)
16
17 ************************************************************************ */
18
19 /* ************************************************************************
20
21 #module(ui_listview)
22
23 ************************************************************************ */
24
25 /*!
26   This class represents a selection and manage incoming events for widgets which need selection support.
27 */
28 qx.OO.defineClass("qx.manager.selection.VirtualSelectionManager", qx.manager.selection.SelectionManager,
29 function(vBoundedWidget) {
30   qx.manager.selection.SelectionManager.call(this, vBoundedWidget);
31 });
32
33
34
35
36
37 /*
38 ---------------------------------------------------------------------------
39   MAPPING TO BOUNDED WIDGET
40 ---------------------------------------------------------------------------
41 */
42
43 qx.Proto.getFirst = function() {
44   return qx.lang.Array.getFirst(this.getItems());
45 }
46
47 qx.Proto.getLast = function() {
48   return qx.lang.Array.getLast(this.getItems());
49 }
50
51 qx.Proto.getItems = function() {
52   return this.getBoundedWidget().getData();
53 }
54
55 qx.Proto.getNextSibling = function(vItem)
56 {
57   var vData = this.getItems();
58   return vData[vData.indexOf(vItem)+1];
59 }
60
61 qx.Proto.getPreviousSibling = function(vItem)
62 {
63   var vData = this.getItems();
64   return vData[vData.indexOf(vItem)-1];
65 }
66
67
68
69
70 /*
71 ---------------------------------------------------------------------------
72   MAPPING TO ITEM PROPERTIES
73 ---------------------------------------------------------------------------
74 */
75
76 qx.Proto.getItemHashCode = function(oItem)
77 {
78   if (oItem._hash) {
79     return oItem._hash;
80   }
81
82   return oItem._hash = qx.core.Object.toHashCode(oItem);
83 }
84
85
86
87
88
89 /*
90 ---------------------------------------------------------------------------
91   MAPPING TO ITEM DIMENSIONS
92 ---------------------------------------------------------------------------
93 */
94
95 qx.Proto.scrollItemIntoView = function(vItem, vTopLeft) {
96   this.getBoundedWidget().scrollItemIntoView(vItem, vTopLeft);
97 }
98
99 qx.Proto.getItemLeft = function(vItem) {
100   return this.getBoundedWidget().getItemLeft(vItem);
101 }
102
103 qx.Proto.getItemTop = function(vItem) {
104   return this.getBoundedWidget().getItemTop(vItem);
105 }
106
107 qx.Proto.getItemWidth = function(vItem) {
108   return this.getBoundedWidget().getItemWidth(vItem);
109 }
110
111 qx.Proto.getItemHeight = function(vItem) {
112   return this.getBoundedWidget().getItemHeight(vItem);
113 }
114
115 /*!
116   In a qx.ui.listview.ListView there are no disabled entries support currently.
117 */
118 qx.Proto.getItemEnabled = function(vItem) {
119   return true;
120 }
121
122
123
124
125
126
127 /*
128 ---------------------------------------------------------------------------
129   ITEM STATE MANAGMENT
130 ---------------------------------------------------------------------------
131 */
132
133 qx.Proto.renderItemSelectionState = function(vItem, vIsSelected) {
134   this.getBoundedWidget()._updateSelectionState(vItem, vIsSelected);
135 }
136
137 qx.Proto.renderItemAnchorState = function(vItem, vIsAnchor) {
138   this.getBoundedWidget()._updateAnchorState(vItem, vIsAnchor);
139 }
140
141 qx.Proto.renderItemLeadState = function(vItem, vIsLead) {
142   this.getBoundedWidget()._updateLeadState(vItem, vIsLead);
143 }