qtreewidget.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/widgets/itemviews/qtreewidget.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9typedef bool(*LessThan)(const QPair<QTreeWidgetItem*,int>&,const QPair<QTreeWidgetItem*,int>&);-
10-
11class QTreeModelLessThan-
12{-
13public:-
14 inline bool operator()(QTreeWidgetItem *i1, QTreeWidgetItem *i2) const-
15 { return
never executed: return *i1 < *i2;
*i1 < *i2;
never executed: return *i1 < *i2;
}
0
16};-
17-
18class QTreeModelGreaterThan-
19{-
20public:-
21 inline bool operator()(QTreeWidgetItem *i1, QTreeWidgetItem *i2) const-
22 { return
never executed: return *i2 < *i1;
*i2 < *i1;
never executed: return *i2 < *i1;
}
0
23};-
24QTreeModel::QTreeModel(int columns, QTreeWidget *parent)-
25 : QAbstractItemModel(parent), rootItem(new QTreeWidgetItem),-
26 headerItem(new QTreeWidgetItem), skipPendingSort(false)-
27{-
28 rootItem->view = parent;-
29 rootItem->itemFlags = Qt::ItemIsDropEnabled;-
30 headerItem->view = parent;-
31 setColumnCount(columns);-
32}
never executed: end of block
0
33-
34-
35-
36-
37-
38-
39QTreeModel::QTreeModel(QTreeModelPrivate &dd, QTreeWidget *parent)-
40 : QAbstractItemModel(dd, parent), rootItem(new QTreeWidgetItem),-
41 headerItem(new QTreeWidgetItem), skipPendingSort(false)-
42{-
43 rootItem->view = parent;-
44 rootItem->itemFlags = Qt::ItemIsDropEnabled;-
45 headerItem->view = parent;-
46}
never executed: end of block
0
47-
48-
49-
50-
51-
52-
53-
54QTreeModel::~QTreeModel()-
55{-
56 clear();-
57 headerItem->view = nullptr;-
58 delete headerItem;-
59 rootItem->view = 0;-
60 delete rootItem;-
61}
never executed: end of block
0
62-
63-
64-
65-
66-
67-
68-
69void QTreeModel::clear()-
70{-
71 SkipSorting skipSorting(this);-
72 beginResetModel();-
73 for (int i = 0; i < rootItem->childCount()
i < rootItem->childCount()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
74 QTreeWidgetItem *item = rootItem->children.at(i);-
75 item->par = 0;-
76 item->view = 0;-
77 delete item;-
78 }
never executed: end of block
0
79 rootItem->children.clear();-
80 sortPendingTimer.stop();-
81 endResetModel();-
82}
never executed: end of block
0
83-
84-
85-
86-
87-
88-
89-
90void QTreeModel::setColumnCount(int columns)-
91{-
92 SkipSorting skipSorting(this);-
93 if (columns < 0
columns < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
94 return;
never executed: return;
0
95 if (!headerItem
!headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
96 headerItem = new QTreeWidgetItem();-
97 headerItem->view = view();-
98 }
never executed: end of block
0
99 int count = columnCount();-
100 if (count == columns
count == columnsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
101 return;
never executed: return;
0
102-
103 if (columns < count
columns < countDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
104 beginRemoveColumns(QModelIndex(), columns, count - 1);-
105 headerItem->values.resize(columns);-
106 endRemoveColumns();-
107 }
never executed: end of block
else {
0
108 beginInsertColumns(QModelIndex(), count, columns - 1);-
109 headerItem->values.resize(columns);-
110 for (int i = count; i < columns
i < columnsDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
111 headerItem->values[i].append(QWidgetItemData(Qt::DisplayRole, QString::number(i + 1)));-
112 headerItem->d->display.append(QString::number(i + 1));-
113 }
never executed: end of block
0
114 endInsertColumns();-
115 }
never executed: end of block
0
116}-
117QTreeWidgetItem *QTreeModel::item(const QModelIndex &index) const-
118{-
119 if (!index.isValid()
!index.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
120 return
never executed: return 0;
0;
never executed: return 0;
0
121 return
never executed: return static_cast<QTreeWidgetItem*>(index.internalPointer());
static_cast<QTreeWidgetItem*>(index.internalPointer());
never executed: return static_cast<QTreeWidgetItem*>(index.internalPointer());
0
122}-
123QModelIndex QTreeModel::index(const QTreeWidgetItem *item, int column) const-
124{-
125 executePendingSort();-
126-
127 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
|| (
(item == rootItem)Description
TRUEnever evaluated
FALSEnever evaluated
item == rootItem)
(item == rootItem)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
128 return
never executed: return QModelIndex();
QModelIndex();
never executed: return QModelIndex();
0
129 const QTreeWidgetItem *par = item->parent();-
130 QTreeWidgetItem *itm = const_cast<QTreeWidgetItem*>(item);-
131 if (!par
!parDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
132 par = rootItem;
never executed: par = rootItem;
0
133 int row;-
134 int guess = item->d->rowGuess;-
135 if (guess >= 0
guess >= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
136 && par->children.count() > guess
par->children.count() > guessDescription
TRUEnever evaluated
FALSEnever evaluated
0
137 && par->children.at(guess) == itm
par->children.at(guess) == itmDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
138 row = guess;-
139 }
never executed: end of block
else {
0
140 row = par->children.lastIndexOf(itm);-
141 itm->d->rowGuess = row;-
142 }
never executed: end of block
0
143 return
never executed: return createIndex(row, column, itm);
createIndex(row, column, itm);
never executed: return createIndex(row, column, itm);
0
144}-
145QModelIndex QTreeModel::index(int row, int column, const QModelIndex &parent) const-
146{-
147 executePendingSort();-
148-
149 int c = columnCount(parent);-
150 if (row < 0
row < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| column < 0
column < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| column >= c
column >= cDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
151 return
never executed: return QModelIndex();
QModelIndex();
never executed: return QModelIndex();
0
152-
153 QTreeWidgetItem *parentItem = parent.isValid()
parent.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
? item(parent) : rootItem;
0
154 if (parentItem
parentItemDescription
TRUEnever evaluated
FALSEnever evaluated
&& row < parentItem->childCount()
row < parentItem->childCount()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
155 QTreeWidgetItem *itm = parentItem->child(row);-
156 if (itm
itmDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
157 return
never executed: return createIndex(row, column, itm);
createIndex(row, column, itm);
never executed: return createIndex(row, column, itm);
0
158 return
never executed: return QModelIndex();
QModelIndex();
never executed: return QModelIndex();
0
159 }-
160-
161 return
never executed: return QModelIndex();
QModelIndex();
never executed: return QModelIndex();
0
162}-
163QModelIndex QTreeModel::parent(const QModelIndex &child) const-
164{-
165 SkipSorting skipSorting(this);-
166-
167-
168 if (!child.isValid()
!child.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
169 return
never executed: return QModelIndex();
QModelIndex();
never executed: return QModelIndex();
0
170 QTreeWidgetItem *itm = static_cast<QTreeWidgetItem *>(child.internalPointer());-
171 if (!itm
!itmDescription
TRUEnever evaluated
FALSEnever evaluated
|| itm == rootItem
itm == rootItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
172 return
never executed: return QModelIndex();
QModelIndex();
never executed: return QModelIndex();
0
173 QTreeWidgetItem *parent = itm->parent();-
174 return
never executed: return index(parent, 0);
index(parent, 0);
never executed: return index(parent, 0);
0
175}-
176int QTreeModel::rowCount(const QModelIndex &parent) const-
177{-
178 if (!parent.isValid()
!parent.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
179 return
never executed: return rootItem->childCount();
rootItem->childCount();
never executed: return rootItem->childCount();
0
180-
181 QTreeWidgetItem *parentItem = item(parent);-
182 if (parentItem
parentItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
183 return
never executed: return parentItem->childCount();
parentItem->childCount();
never executed: return parentItem->childCount();
0
184 return
never executed: return 0;
0;
never executed: return 0;
0
185}-
186int QTreeModel::columnCount(const QModelIndex &index) const-
187{-
188 (void)index;;-
189 if (!headerItem
!headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
190 return
never executed: return 0;
0;
never executed: return 0;
0
191 return
never executed: return headerItem->columnCount();
headerItem->columnCount();
never executed: return headerItem->columnCount();
0
192}-
193-
194bool QTreeModel::hasChildren(const QModelIndex &parent) const-
195{-
196 if (!parent.isValid()
!parent.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
197 return
never executed: return (rootItem->childCount() > 0);
(rootItem->childCount() > 0);
never executed: return (rootItem->childCount() > 0);
0
198-
199 QTreeWidgetItem *itm = item(parent);-
200 if (!itm
!itmDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
201 return
never executed: return false;
false;
never executed: return false;
0
202 switch (itm->d->policy) {-
203 case
never executed: case QTreeWidgetItem::ShowIndicator:
QTreeWidgetItem::ShowIndicator:
never executed: case QTreeWidgetItem::ShowIndicator:
0
204 return
never executed: return true;
true;
never executed: return true;
0
205 case
never executed: case QTreeWidgetItem::DontShowIndicator:
QTreeWidgetItem::DontShowIndicator:
never executed: case QTreeWidgetItem::DontShowIndicator:
0
206 return
never executed: return false;
false;
never executed: return false;
0
207 case
never executed: case QTreeWidgetItem::DontShowIndicatorWhenChildless:
QTreeWidgetItem::DontShowIndicatorWhenChildless:
never executed: case QTreeWidgetItem::DontShowIndicatorWhenChildless:
0
208 return
never executed: return (itm->childCount() > 0);
(itm->childCount() > 0);
never executed: return (itm->childCount() > 0);
0
209 }-
210 return
never executed: return false;
false;
never executed: return false;
0
211}-
212QVariant QTreeModel::data(const QModelIndex &index, int role) const-
213{-
214 if (!index.isValid()
!index.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
215 return
never executed: return QVariant();
QVariant();
never executed: return QVariant();
0
216 QTreeWidgetItem *itm = item(index);-
217 if (itm
itmDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
218 return
never executed: return itm->data(index.column(), role);
itm->data(index.column(), role);
never executed: return itm->data(index.column(), role);
0
219 return
never executed: return QVariant();
QVariant();
never executed: return QVariant();
0
220}-
221bool QTreeModel::setData(const QModelIndex &index, const QVariant &value, int role)-
222{-
223 if (!index.isValid()
!index.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
224 return
never executed: return false;
false;
never executed: return false;
0
225 QTreeWidgetItem *itm = item(index);-
226 if (itm
itmDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
227 itm->setData(index.column(), role, value);-
228 return
never executed: return true;
true;
never executed: return true;
0
229 }-
230 return
never executed: return false;
false;
never executed: return false;
0
231}-
232-
233QMap<int, QVariant> QTreeModel::itemData(const QModelIndex &index) const-
234{-
235 QMap<int, QVariant> roles;-
236 QTreeWidgetItem *itm = item(index);-
237 if (itm
itmDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
238 int column = index.column();-
239 if (column < itm->values.count()
column < itm->values.count()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
240 for (int i = 0; i < itm->values.at(column).count()
i < itm->value...olumn).count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
241 roles.insert(itm->values.at(column).at(i).role,-
242 itm->values.at(column).at(i).value);-
243 }
never executed: end of block
0
244 }
never executed: end of block
0
245-
246-
247 QVariant displayValue = itm->data(column, Qt::DisplayRole);-
248 if (displayValue.isValid()
displayValue.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
249 roles.insert(Qt::DisplayRole, displayValue);
never executed: roles.insert(Qt::DisplayRole, displayValue);
0
250-
251 QVariant checkValue = itm->data(column, Qt::CheckStateRole);-
252 if (checkValue.isValid()
checkValue.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
253 roles.insert(Qt::CheckStateRole, checkValue);
never executed: roles.insert(Qt::CheckStateRole, checkValue);
0
254 }
never executed: end of block
0
255 return
never executed: return roles;
roles;
never executed: return roles;
0
256}-
257-
258-
259-
260-
261-
262bool QTreeModel::insertRows(int row, int count, const QModelIndex &parent)-
263{-
264 SkipSorting skipSorting(this);-
265 if (count < 1
count < 1Description
TRUEnever evaluated
FALSEnever evaluated
|| row < 0
row < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| row > rowCount(parent)
row > rowCount(parent)Description
TRUEnever evaluated
FALSEnever evaluated
|| parent.column() > 0
parent.column() > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
266 return
never executed: return false;
false;
never executed: return false;
0
267-
268 beginInsertRows(parent, row, row + count - 1);-
269 QTreeWidgetItem *par = item(parent);-
270 while (count > 0
count > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
271 QTreeWidgetItem *item = new QTreeWidgetItem();-
272 item->view = view();-
273 item->par = par;-
274 if (par
parDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
275 par->children.insert(row++, item);
never executed: par->children.insert(row++, item);
0
276 else-
277 rootItem->children.insert(row++, item);
never executed: rootItem->children.insert(row++, item);
0
278 --count;-
279 }
never executed: end of block
0
280 endInsertRows();-
281 return
never executed: return true;
true;
never executed: return true;
0
282}-
283-
284-
285-
286-
287-
288bool QTreeModel::insertColumns(int column, int count, const QModelIndex &parent)-
289{-
290 SkipSorting skipSorting(this);-
291 if (count < 1
count < 1Description
TRUEnever evaluated
FALSEnever evaluated
|| column < 0
column < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| column > columnCount(parent)
column > columnCount(parent)Description
TRUEnever evaluated
FALSEnever evaluated
|| parent.column() > 0
parent.column() > 0Description
TRUEnever evaluated
FALSEnever evaluated
|| !headerItem
!headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
292 return
never executed: return false;
false;
never executed: return false;
0
293-
294 beginInsertColumns(parent, column, column + count - 1);-
295-
296 int oldCount = columnCount(parent);-
297 column = qBound(0, column, oldCount);-
298 headerItem->values.resize(oldCount + count);-
299 for (int i = oldCount; i < oldCount + count
i < oldCount + countDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
300 headerItem->values[i].append(QWidgetItemData(Qt::DisplayRole, QString::number(i + 1)));-
301 headerItem->d->display.append(QString::number(i + 1));-
302 }
never executed: end of block
0
303-
304 QStack<QTreeWidgetItem*> itemstack;-
305 itemstack.push(0);-
306 while (!itemstack.isEmpty()
!itemstack.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
307 QTreeWidgetItem *par = itemstack.pop();-
308 QList<QTreeWidgetItem*> children = par
parDescription
TRUEnever evaluated
FALSEnever evaluated
? par->children : rootItem->children;
0
309 for (int row = 0; row < children.count()
row < children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++row) {
0
310 QTreeWidgetItem *child = children.at(row);-
311 if (child->children.count()
child->children.count()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
312 itemstack.push(child);
never executed: itemstack.push(child);
0
313 child->values.insert(column, count, QVector<QWidgetItemData>());-
314 }
never executed: end of block
0
315 }
never executed: end of block
0
316-
317 endInsertColumns();-
318 return
never executed: return true;
true;
never executed: return true;
0
319}-
320-
321-
322-
323-
324-
325bool QTreeModel::removeRows(int row, int count, const QModelIndex &parent) {-
326 if (count < 1
count < 1Description
TRUEnever evaluated
FALSEnever evaluated
|| row < 0
row < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| (
(row + count) ...wCount(parent)Description
TRUEnever evaluated
FALSEnever evaluated
row + count) > rowCount(parent)
(row + count) ...wCount(parent)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
327 return
never executed: return false;
false;
never executed: return false;
0
328-
329 beginRemoveRows(parent, row, row + count - 1);-
330-
331 QSignalBlocker blocker(this);-
332-
333 QTreeWidgetItem *itm = item(parent);-
334 for (int i = row + count - 1; i >= row
i >= rowDescription
TRUEnever evaluated
FALSEnever evaluated
; --i) {
0
335 QTreeWidgetItem *child = itm
itmDescription
TRUEnever evaluated
FALSEnever evaluated
? itm->takeChild(i) : rootItem->children.takeAt(i);
0
336 ((!(child)) ? qt_assert("child",__FILE__,494) : qt_noop());-
337 child->view = 0;-
338 delete child;-
339 child = 0;-
340 }
never executed: end of block
0
341 blocker.unblock();-
342-
343 endRemoveRows();-
344 return
never executed: return true;
true;
never executed: return true;
0
345}-
346QVariant QTreeModel::headerData(int section, Qt::Orientation orientation, int role) const-
347{-
348 if (orientation != Qt::Horizontal
orientation != Qt::HorizontalDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
349 return
never executed: return QVariant();
QVariant();
never executed: return QVariant();
0
350-
351 if (headerItem
headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
352 return
never executed: return headerItem->data(section, role);
headerItem->data(section, role);
never executed: return headerItem->data(section, role);
0
353 if (role == Qt::DisplayRole
role == Qt::DisplayRoleDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
354 return
never executed: return QString::number(section + 1);
QString::number(section + 1);
never executed: return QString::number(section + 1);
0
355 return
never executed: return QVariant();
QVariant();
never executed: return QVariant();
0
356}-
357bool QTreeModel::setHeaderData(int section, Qt::Orientation orientation,-
358 const QVariant &value, int role)-
359{-
360 if (section < 0
section < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| orientation != Qt::Horizontal
orientation != Qt::HorizontalDescription
TRUEnever evaluated
FALSEnever evaluated
|| !headerItem
!headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
|| section >= columnCount()
section >= columnCount()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
361 return
never executed: return false;
false;
never executed: return false;
0
362-
363 headerItem->setData(section, role, value);-
364 return
never executed: return true;
true;
never executed: return true;
0
365}-
366Qt::ItemFlags QTreeModel::flags(const QModelIndex &index) const-
367{-
368 if (!index.isValid()
!index.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
369 return
never executed: return rootItem->flags();
rootItem->flags();
never executed: return rootItem->flags();
0
370 QTreeWidgetItem *itm = item(index);-
371 ((!(itm)) ? qt_assert("itm",__FILE__,557) : qt_noop());-
372 return
never executed: return itm->flags();
itm->flags();
never executed: return itm->flags();
0
373}-
374void QTreeModel::sort(int column, Qt::SortOrder order)-
375{-
376 SkipSorting skipSorting(this);-
377 sortPendingTimer.stop();-
378-
379 if (column < 0
column < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| column >= columnCount()
column >= columnCount()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
380 return;
never executed: return;
0
381-
382-
383 rootItem->sortChildren(column, order, true);-
384}
never executed: end of block
0
385-
386-
387-
388-
389void QTreeModel::ensureSorted(int column, Qt::SortOrder order,-
390 int start, int end, const QModelIndex &parent)-
391{-
392 if (isChanging()
isChanging()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
393 return;
never executed: return;
0
394-
395 sortPendingTimer.stop();-
396-
397 if (column < 0
column < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| column >= columnCount()
column >= columnCount()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
398 return;
never executed: return;
0
399-
400 SkipSorting skipSorting(this);-
401-
402 QTreeWidgetItem *itm = item(parent);-
403 if (!itm
!itmDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
404 itm = rootItem;
never executed: itm = rootItem;
0
405 QList<QTreeWidgetItem*> lst = itm->children;-
406-
407 int count = end - start + 1;-
408 QVector < QPair<QTreeWidgetItem*,int> > sorting(count);-
409 for (int i = 0; i < count
i < countDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
410 sorting[i].first = lst.at(start + i);-
411 sorting[i].second = start + i;-
412 }
never executed: end of block
0
413-
414 LessThan compare = (order == Qt::AscendingOrder
order == Qt::AscendingOrderDescription
TRUEnever evaluated
FALSEnever evaluated
? &itemLessThan : &itemGreaterThan);
0
415 std::stable_sort(sorting.begin(), sorting.end(), compare);-
416-
417 QModelIndexList oldPersistentIndexes;-
418 QModelIndexList newPersistentIndexes;-
419 QList<QTreeWidgetItem*>::iterator lit = lst.begin();-
420 bool changed = false;-
421-
422 for (int i = 0; i < count
i < countDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
423 int oldRow = sorting.at(i).second;-
424-
425 int tmpitepos = lit - lst.begin();-
426 QTreeWidgetItem *item = lst.takeAt(oldRow);-
427 if (tmpitepos > lst.size()
tmpitepos > lst.size()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
428 --
never executed: --tmpitepos;
tmpitepos;
never executed: --tmpitepos;
0
429 lit = lst.begin() + tmpitepos;-
430-
431 lit = sortedInsertionIterator(lit, lst.end(), order, item);-
432 int newRow = qMax(lit - lst.begin(), 0);-
433-
434 if ((
(newRow < oldRow)Description
TRUEnever evaluated
FALSEnever evaluated
newRow < oldRow)
(newRow < oldRow)Description
TRUEnever evaluated
FALSEnever evaluated
&& !(*item < *lst.at(oldRow - 1))
!(*item < *lst.at(oldRow - 1))Description
TRUEnever evaluated
FALSEnever evaluated
&& !(*lst.at(oldRow - 1) < *item )
!(*lst.at(oldR...- 1) < *item )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
435 newRow = oldRow;
never executed: newRow = oldRow;
0
436-
437 lit = lst.insert(lit, item);-
438 if (newRow != oldRow
newRow != oldRowDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
439-
440 if (!changed
!changedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
441 changed = true;-
442 layoutAboutToBeChanged();-
443 oldPersistentIndexes = persistentIndexList();-
444 newPersistentIndexes = oldPersistentIndexes;-
445 }
never executed: end of block
0
446 for (int j = i + 1; j < count
j < countDescription
TRUEnever evaluated
FALSEnever evaluated
; ++j) {
0
447 int otherRow = sorting.at(j).second;-
448 if (oldRow < otherRow
oldRow < otherRowDescription
TRUEnever evaluated
FALSEnever evaluated
&& newRow >= otherRow
newRow >= otherRowDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
449 --
never executed: --sorting[j].second;
sorting[j].second;
never executed: --sorting[j].second;
0
450 else if (oldRow > otherRow
oldRow > otherRowDescription
TRUEnever evaluated
FALSEnever evaluated
&& newRow <= otherRow
newRow <= otherRowDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
451 ++
never executed: ++sorting[j].second;
sorting[j].second;
never executed: ++sorting[j].second;
0
452 }
never executed: end of block
0
453 for (int k = 0; k < newPersistentIndexes.count()
k < newPersist...ndexes.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++k) {
0
454 QModelIndex pi = newPersistentIndexes.at(k);-
455 if (pi.parent() != parent
pi.parent() != parentDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
456 continue;
never executed: continue;
0
457 int oldPersistentRow = pi.row();-
458 int newPersistentRow = oldPersistentRow;-
459 if (oldPersistentRow == oldRow
oldPersistentRow == oldRowDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
460 newPersistentRow = newRow;
never executed: newPersistentRow = newRow;
0
461 else if (oldRow < oldPersistentRow
oldRow < oldPersistentRowDescription
TRUEnever evaluated
FALSEnever evaluated
&& newRow >= oldPersistentRow
newRow >= oldPersistentRowDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
462 newPersistentRow = oldPersistentRow - 1;
never executed: newPersistentRow = oldPersistentRow - 1;
0
463 else if (oldRow > oldPersistentRow
oldRow > oldPersistentRowDescription
TRUEnever evaluated
FALSEnever evaluated
&& newRow <= oldPersistentRow
newRow <= oldPersistentRowDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
464 newPersistentRow = oldPersistentRow + 1;
never executed: newPersistentRow = oldPersistentRow + 1;
0
465 if (newPersistentRow != oldPersistentRow
newPersistentR...dPersistentRowDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
466 newPersistentIndexes[k] = createIndex(newPersistentRow,
never executed: newPersistentIndexes[k] = createIndex(newPersistentRow, pi.column(), pi.internalPointer());
0
467 pi.column(), pi.internalPointer());
never executed: newPersistentIndexes[k] = createIndex(newPersistentRow, pi.column(), pi.internalPointer());
0
468 }
never executed: end of block
0
469 }
never executed: end of block
0
470 }
never executed: end of block
0
471-
472 if (changed
changedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
473 itm->children = lst;-
474 changePersistentIndexList(oldPersistentIndexes, newPersistentIndexes);-
475 layoutChanged();-
476 }
never executed: end of block
0
477}
never executed: end of block
0
478bool QTreeModel::itemLessThan(const QPair<QTreeWidgetItem*,int> &left,-
479 const QPair<QTreeWidgetItem*,int> &right)-
480{-
481 return
never executed: return *(left.first) < *(right.first);
*(left.first) < *(right.first);
never executed: return *(left.first) < *(right.first);
0
482}-
483bool QTreeModel::itemGreaterThan(const QPair<QTreeWidgetItem*,int> &left,-
484 const QPair<QTreeWidgetItem*,int> &right)-
485{-
486 return
never executed: return *(right.first) < *(left.first);
*(right.first) < *(left.first);
never executed: return *(right.first) < *(left.first);
0
487}-
488-
489-
490-
491-
492QList<QTreeWidgetItem*>::iterator QTreeModel::sortedInsertionIterator(-
493 const QList<QTreeWidgetItem*>::iterator &begin,-
494 const QList<QTreeWidgetItem*>::iterator &end,-
495 Qt::SortOrder order, QTreeWidgetItem *item)-
496{-
497 if (order == Qt::AscendingOrder
order == Qt::AscendingOrderDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
498 return
never executed: return std::lower_bound(begin, end, item, QTreeModelLessThan());
std::lower_bound(begin, end, item, QTreeModelLessThan());
never executed: return std::lower_bound(begin, end, item, QTreeModelLessThan());
0
499 return
never executed: return std::lower_bound(begin, end, item, QTreeModelGreaterThan());
std::lower_bound(begin, end, item, QTreeModelGreaterThan());
never executed: return std::lower_bound(begin, end, item, QTreeModelGreaterThan());
0
500}-
501-
502QStringList QTreeModel::mimeTypes() const-
503{-
504 return
never executed: return view()->mimeTypes();
view()->mimeTypes();
never executed: return view()->mimeTypes();
0
505}-
506-
507QMimeData *QTreeModel::internalMimeData() const-
508{-
509 return
never executed: return QAbstractItemModel::mimeData(cachedIndexes);
QAbstractItemModel::mimeData(cachedIndexes);
never executed: return QAbstractItemModel::mimeData(cachedIndexes);
0
510}-
511-
512QMimeData *QTreeModel::mimeData(const QModelIndexList &indexes) const-
513{-
514 QList<QTreeWidgetItem*> items;-
515 for (int i = 0; i < indexes.count()
i < indexes.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
516 if (indexes.at(i).column() == 0
indexes.at(i).column() == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
517 items << item(indexes.at(i));
never executed: items << item(indexes.at(i));
0
518 }
never executed: end of block
0
519-
520-
521-
522 cachedIndexes = indexes;-
523 QMimeData *mimeData = view()->mimeData(items);-
524 cachedIndexes.clear();-
525 return
never executed: return mimeData;
mimeData;
never executed: return mimeData;
0
526}-
527-
528bool QTreeModel::dropMimeData(const QMimeData *data, Qt::DropAction action,-
529 int row, int column, const QModelIndex &parent)-
530{-
531 if (row == -1
row == -1Description
TRUEnever evaluated
FALSEnever evaluated
&& column == -1
column == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
532 row = rowCount(parent);
never executed: row = rowCount(parent);
0
533 return
never executed: return view()->dropMimeData(item(parent), row, data, action);
view()->dropMimeData(item(parent), row, data, action);
never executed: return view()->dropMimeData(item(parent), row, data, action);
0
534}-
535-
536Qt::DropActions QTreeModel::supportedDropActions() const-
537{-
538 return
never executed: return view()->supportedDropActions();
view()->supportedDropActions();
never executed: return view()->supportedDropActions();
0
539}-
540-
541void QTreeModel::itemChanged(QTreeWidgetItem *item)-
542{-
543 SkipSorting skipSorting(this);-
544 QModelIndex left = index(item, 0);-
545 QModelIndex right = index(item, item->columnCount() - 1);-
546 dataChanged(left, right);-
547}
never executed: end of block
0
548-
549bool QTreeModel::isChanging() const-
550{-
551 const QTreeModelPrivate * const d = d_func();-
552 return
never executed: return !d->changes.isEmpty();
!d->changes.isEmpty();
never executed: return !d->changes.isEmpty();
0
553}-
554-
555-
556-
557-
558-
559-
560-
561void QTreeModel::emitDataChanged(QTreeWidgetItem *item, int column)-
562{-
563 if (signalsBlocked()
signalsBlocked()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
564 return;
never executed: return;
0
565-
566 if (headerItem == item
headerItem == itemDescription
TRUEnever evaluated
FALSEnever evaluated
&& column < item->columnCount()
column < item->columnCount()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
567 if (column == -1
column == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
568 headerDataChanged(Qt::Horizontal, 0, columnCount() - 1);
never executed: headerDataChanged(Qt::Horizontal, 0, columnCount() - 1);
0
569 else-
570 headerDataChanged(Qt::Horizontal, column, column);
never executed: headerDataChanged(Qt::Horizontal, column, column);
0
571 return;
never executed: return;
0
572 }-
573-
574 SkipSorting skipSorting(this);-
575-
576 QModelIndex bottomRight, topLeft;-
577 if (column == -1
column == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
578 topLeft = index(item, 0);-
579 bottomRight = createIndex(topLeft.row(), columnCount() - 1, item);-
580 }
never executed: end of block
else {
0
581 topLeft = index(item, column);-
582 bottomRight = topLeft;-
583 }
never executed: end of block
0
584 dataChanged(topLeft, bottomRight);-
585}
never executed: end of block
0
586-
587void QTreeModel::beginInsertItems(QTreeWidgetItem *parent, int row, int count)-
588{-
589 QModelIndex par = index(parent, 0);-
590 beginInsertRows(par, row, row + count - 1);-
591}
never executed: end of block
0
592-
593void QTreeModel::endInsertItems()-
594{-
595 endInsertRows();-
596}
never executed: end of block
0
597-
598void QTreeModel::beginRemoveItems(QTreeWidgetItem *parent, int row, int count)-
599{-
600 ((!(row >= 0)) ? qt_assert("row >= 0",__FILE__,814) : qt_noop());-
601 ((!(count > 0)) ? qt_assert("count > 0",__FILE__,815) : qt_noop());-
602 beginRemoveRows(index(parent, 0), row, row + count - 1);-
603 if (!parent
!parentDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
604 parent = rootItem;
never executed: parent = rootItem;
0
605-
606 for (int i = 0; i < iterators.count()
i < iterators.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
607 for (int j = 0; j < count
j < countDescription
TRUEnever evaluated
FALSEnever evaluated
; j++) {
0
608 QTreeWidgetItem *c = parent->child(row + j);-
609 iterators[i]->d_func()->ensureValidIterator(c);-
610 }
never executed: end of block
0
611 }
never executed: end of block
0
612}
never executed: end of block
0
613-
614void QTreeModel::endRemoveItems()-
615{-
616 endRemoveRows();-
617}
never executed: end of block
0
618-
619void QTreeModel::sortItems(QList<QTreeWidgetItem*> *items, int column, Qt::SortOrder order)-
620{-
621-
622 (void)column;;-
623 if (isChanging()
isChanging()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
624 return;
never executed: return;
0
625-
626-
627 QVector< QPair<QTreeWidgetItem*,int> > sorting(items->count());-
628 for (int i = 0; i < sorting.count()
i < sorting.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
629 sorting[i].first = items->at(i);-
630 sorting[i].second = i;-
631 }
never executed: end of block
0
632-
633-
634 LessThan compare = (order == Qt::AscendingOrder
order == Qt::AscendingOrderDescription
TRUEnever evaluated
FALSEnever evaluated
? &itemLessThan : &itemGreaterThan);
0
635 std::stable_sort(sorting.begin(), sorting.end(), compare);-
636-
637 QModelIndexList fromList;-
638 QModelIndexList toList;-
639 int colCount = columnCount();-
640 for (int r = 0; r < sorting.count()
r < sorting.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++r) {
0
641 int oldRow = sorting.at(r).second;-
642 if (oldRow == r
oldRow == rDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
643 continue;
never executed: continue;
0
644 QTreeWidgetItem *item = sorting.at(r).first;-
645 items->replace(r, item);-
646 for (int c = 0; c < colCount
c < colCountDescription
TRUEnever evaluated
FALSEnever evaluated
; ++c) {
0
647 QModelIndex from = createIndex(oldRow, c, item);-
648 if (static_cast<
static_cast<QA...contains(from)Description
TRUEnever evaluated
FALSEnever evaluated
QAbstractItemModelPrivate *>(d_ptr.data())->persistent.indexes.contains(from)
static_cast<QA...contains(from)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
649 QModelIndex to = createIndex(r, c, item);-
650 fromList << from;-
651 toList << to;-
652 }
never executed: end of block
0
653 }
never executed: end of block
0
654 }
never executed: end of block
0
655 changePersistentIndexList(fromList, toList);-
656}
never executed: end of block
0
657-
658void QTreeModel::timerEvent(QTimerEvent *ev)-
659{-
660 if (ev->timerId() == sortPendingTimer.timerId()
ev->timerId() ...imer.timerId()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
661 executePendingSort();-
662 }
never executed: end of block
else {
0
663 QAbstractItemModel::timerEvent(ev);-
664 }
never executed: end of block
0
665}-
666QTreeWidgetItem::QTreeWidgetItem(int type)-
667 : rtti(type), view(0), d(new QTreeWidgetItemPrivate(this)), par(0),-
668 itemFlags(Qt::ItemIsSelectable-
669 |Qt::ItemIsUserCheckable-
670 |Qt::ItemIsEnabled-
671 |Qt::ItemIsDragEnabled-
672 |Qt::ItemIsDropEnabled)-
673{-
674}
never executed: end of block
0
675QTreeWidgetItem::QTreeWidgetItem(const QStringList &strings, int type)-
676 : rtti(type), view(0), d(new QTreeWidgetItemPrivate(this)), par(0),-
677 itemFlags(Qt::ItemIsSelectable-
678 |Qt::ItemIsUserCheckable-
679 |Qt::ItemIsEnabled-
680 |Qt::ItemIsDragEnabled-
681 |Qt::ItemIsDropEnabled)-
682{-
683 for (int i = 0; i < strings.count()
i < strings.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
684 setText(i, strings.at(i));
never executed: setText(i, strings.at(i));
0
685}
never executed: end of block
0
686QTreeWidgetItem::QTreeWidgetItem(QTreeWidget *view, int type)-
687 : rtti(type), view(0), d(new QTreeWidgetItemPrivate(this)), par(0),-
688 itemFlags(Qt::ItemIsSelectable-
689 |Qt::ItemIsUserCheckable-
690 |Qt::ItemIsEnabled-
691 |Qt::ItemIsDragEnabled-
692 |Qt::ItemIsDropEnabled)-
693{-
694 if (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
&& view->model()
view->model()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
695 QTreeModel *model = qobject_cast<QTreeModel*>(view->model());-
696 model->rootItem->addChild(this);-
697 values.reserve(model->headerItem->columnCount());-
698 }
never executed: end of block
0
699}
never executed: end of block
0
700QTreeWidgetItem::QTreeWidgetItem(QTreeWidget *view, const QStringList &strings, int type)-
701 : rtti(type), view(0), d(new QTreeWidgetItemPrivate(this)), par(0),-
702 itemFlags(Qt::ItemIsSelectable-
703 |Qt::ItemIsUserCheckable-
704 |Qt::ItemIsEnabled-
705 |Qt::ItemIsDragEnabled-
706 |Qt::ItemIsDropEnabled)-
707{-
708 for (int i = 0; i < strings.count()
i < strings.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
709 setText(i, strings.at(i));
never executed: setText(i, strings.at(i));
0
710 if (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
&& view->model()
view->model()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
711 QTreeModel *model = qobject_cast<QTreeModel*>(view->model());-
712 model->rootItem->addChild(this);-
713 values.reserve(model->headerItem->columnCount());-
714 }
never executed: end of block
0
715}
never executed: end of block
0
716QTreeWidgetItem::QTreeWidgetItem(QTreeWidget *view, QTreeWidgetItem *after, int type)-
717 : rtti(type), view(0), d(new QTreeWidgetItemPrivate(this)), par(0),-
718 itemFlags(Qt::ItemIsSelectable-
719 |Qt::ItemIsUserCheckable-
720 |Qt::ItemIsEnabled-
721 |Qt::ItemIsDragEnabled-
722 |Qt::ItemIsDropEnabled)-
723{-
724 if (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
725 QTreeModel *model = qobject_cast<QTreeModel*>(view->model());-
726 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
727 int i = model->rootItem->children.indexOf(after) + 1;-
728 model->rootItem->insertChild(i, this);-
729 values.reserve(model->headerItem->columnCount());-
730 }
never executed: end of block
0
731 }
never executed: end of block
0
732}
never executed: end of block
0
733-
734-
735-
736-
737-
738-
739QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, int type)-
740 : rtti(type), view(0), d(new QTreeWidgetItemPrivate(this)), par(0),-
741 itemFlags(Qt::ItemIsSelectable-
742 |Qt::ItemIsUserCheckable-
743 |Qt::ItemIsEnabled-
744 |Qt::ItemIsDragEnabled-
745 |Qt::ItemIsDropEnabled)-
746{-
747 if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
748 parent->addChild(this);
never executed: parent->addChild(this);
0
749}
never executed: end of block
0
750-
751-
752-
753-
754-
755-
756-
757QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, const QStringList &strings, int type)-
758 : rtti(type), view(0), d(new QTreeWidgetItemPrivate(this)), par(0),-
759 itemFlags(Qt::ItemIsSelectable-
760 |Qt::ItemIsUserCheckable-
761 |Qt::ItemIsEnabled-
762 |Qt::ItemIsDragEnabled-
763 |Qt::ItemIsDropEnabled)-
764{-
765 for (int i = 0; i < strings.count()
i < strings.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
766 setText(i, strings.at(i));
never executed: setText(i, strings.at(i));
0
767 if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
768 parent->addChild(this);
never executed: parent->addChild(this);
0
769}
never executed: end of block
0
770QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, QTreeWidgetItem *after, int type)-
771 : rtti(type), view(0), d(new QTreeWidgetItemPrivate(this)), par(0),-
772 itemFlags(Qt::ItemIsSelectable-
773 |Qt::ItemIsUserCheckable-
774 |Qt::ItemIsEnabled-
775 |Qt::ItemIsDragEnabled-
776 |Qt::ItemIsDropEnabled)-
777{-
778 if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
779 int i = parent->children.indexOf(after) + 1;-
780 parent->insertChild(i, this);-
781 }
never executed: end of block
0
782}
never executed: end of block
0
783QTreeWidgetItem::~QTreeWidgetItem()-
784{-
785 QTreeModel *model = (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QTreeModel*>(view->model()) : 0);
0
786 bool wasSkipSort = false;-
787 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
788 wasSkipSort = model->skipPendingSort;-
789 model->skipPendingSort = true;-
790 }
never executed: end of block
0
791 if (par
parDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
792 int i = par->children.indexOf(this);-
793 if (i >= 0
i >= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
794 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) model->beginRemoveItems(par, i, 1);
never executed: model->beginRemoveItems(par, i, 1);
0
795-
796-
797 if (!par->children.isEmpty()
!par->children.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
&& par->children.at(i) == this
par->children.at(i) == thisDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
798 par->children.takeAt(i);
never executed: par->children.takeAt(i);
0
799 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) model->endRemoveItems();
never executed: model->endRemoveItems();
0
800 }
never executed: end of block
0
801 }
never executed: end of block
else if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
802 if (this == model->headerItem
this == model->headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
803 model->headerItem = 0;-
804 }
never executed: end of block
else {
0
805 int i = model->rootItem->children.indexOf(this);-
806 if (i >= 0
i >= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
807 model->beginRemoveItems(0, i, 1);-
808-
809-
810 if (!model->rootItem->children.isEmpty()
!model->rootIt...dren.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
&& model->rootItem->children.at(i) == this
model->rootIte....at(i) == thisDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
811 model->rootItem->children.takeAt(i);
never executed: model->rootItem->children.takeAt(i);
0
812 model->endRemoveItems();-
813 }
never executed: end of block
0
814 }
never executed: end of block
0
815 }-
816-
817-
818 for (int i = 0; i < children.count()
i < children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
819 QTreeWidgetItem *child = children.at(i);-
820-
821 child->par = 0;-
822-
823 child->view = 0;-
824 delete child;-
825 }
never executed: end of block
0
826-
827 children.clear();-
828 delete d;-
829 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
830 model->skipPendingSort = wasSkipSort;-
831 }
never executed: end of block
0
832}
never executed: end of block
0
833-
834-
835-
836-
837QTreeWidgetItem *QTreeWidgetItem::clone() const-
838{-
839 QTreeWidgetItem *copy = 0;-
840-
841 QStack<const QTreeWidgetItem*> stack;-
842 QStack<QTreeWidgetItem*> parentStack;-
843 stack.push(this);-
844 parentStack.push(0);-
845-
846 QTreeWidgetItem *root = 0;-
847 const QTreeWidgetItem *item = 0;-
848 QTreeWidgetItem *parent = 0;-
849 while (!stack.isEmpty()
!stack.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
850-
851 item = stack.pop();-
852 parent = parentStack.pop();-
853-
854-
855 copy = new QTreeWidgetItem(*item);-
856 if (!root
!rootDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
857 root = copy;
never executed: root = copy;
0
858-
859-
860 if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
861 copy->par = parent;-
862 parent->children.insert(0, copy);-
863 }
never executed: end of block
0
864-
865 for (int i = 0; i < item->childCount()
i < item->childCount()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
866 stack.push(item->child(i));-
867 parentStack.push(copy);-
868 }
never executed: end of block
0
869 }
never executed: end of block
0
870 return
never executed: return root;
root;
never executed: return root;
0
871}-
872void QTreeWidgetItem::setChildIndicatorPolicy(QTreeWidgetItem::ChildIndicatorPolicy policy)-
873{-
874 if (d->policy == policy
d->policy == policyDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
875 return;
never executed: return;
0
876 d->policy = policy;-
877-
878 if (!view
!viewDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
879 return;
never executed: return;
0
880-
881 view->scheduleDelayedItemsLayout();-
882}
never executed: end of block
0
883-
884-
885-
886-
887-
888-
889-
890QTreeWidgetItem::ChildIndicatorPolicy QTreeWidgetItem::childIndicatorPolicy() const-
891{-
892 return
never executed: return d->policy;
d->policy;
never executed: return d->policy;
0
893}-
894void QTreeWidgetItem::setFlags(Qt::ItemFlags flags)-
895{-
896 const bool enable = (flags & Qt::ItemIsEnabled);-
897 const bool changedState = bool(itemFlags & Qt::ItemIsEnabled) != enable;-
898 const bool changedExplicit = d->disabled != !enable;-
899-
900 d->disabled = !enable;-
901-
902 if (enable
enableDescription
TRUEnever evaluated
FALSEnever evaluated
&& par
parDescription
TRUEnever evaluated
FALSEnever evaluated
&& !(par->itemFlags & Qt::ItemIsEnabled)
!(par->itemFla...ItemIsEnabled)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
903 itemFlags = flags & ~Qt::ItemIsEnabled;
never executed: itemFlags = flags & ~Qt::ItemIsEnabled;
0
904 else-
905 itemFlags = flags;
never executed: itemFlags = flags;
0
906-
907 if (changedState
changedStateDescription
TRUEnever evaluated
FALSEnever evaluated
&& changedExplicit
changedExplicitDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
908 QStack<QTreeWidgetItem*> parents;-
909 parents.push(this);-
910 while (!parents.isEmpty()
!parents.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
911 QTreeWidgetItem *parent = parents.pop();-
912 for (int i = 0; i < parent->children.count()
i < parent->children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
913 QTreeWidgetItem *child = parent->children.at(i);-
914 if (!child->d->disabled
!child->d->disabledDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
915 parents.push(child);-
916 if (enable
enableDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
917 child->itemFlags = child->itemFlags | Qt::ItemIsEnabled;
never executed: child->itemFlags = child->itemFlags | Qt::ItemIsEnabled;
0
918 else-
919 child->itemFlags = child->itemFlags & ~Qt::ItemIsEnabled;
never executed: child->itemFlags = child->itemFlags & ~Qt::ItemIsEnabled;
0
920 child->itemChanged();-
921 }
never executed: end of block
0
922 }
never executed: end of block
0
923 }
never executed: end of block
0
924 }
never executed: end of block
0
925 itemChanged();-
926}
never executed: end of block
0
927-
928void QTreeWidgetItemPrivate::propagateDisabled(QTreeWidgetItem *item)-
929{-
930 ((!(item)) ? qt_assert("item",__FILE__,1651) : qt_noop());-
931 const bool enable = item->par
item->parDescription
TRUEnever evaluated
FALSEnever evaluated
? (item->par->itemFlags.testFlag(Qt::ItemIsEnabled)) : true;
0
932-
933 QStack<QTreeWidgetItem*> parents;-
934 parents.push(item);-
935 while (!parents.isEmpty()
!parents.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
936 QTreeWidgetItem *parent = parents.pop();-
937 if (!parent->d->disabled
!parent->d->disabledDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
938 Qt::ItemFlags oldFlags = parent->itemFlags;-
939 if (enable
enableDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
940 parent->itemFlags = parent->itemFlags | Qt::ItemIsEnabled;
never executed: parent->itemFlags = parent->itemFlags | Qt::ItemIsEnabled;
0
941 else-
942 parent->itemFlags = parent->itemFlags & ~Qt::ItemIsEnabled;
never executed: parent->itemFlags = parent->itemFlags & ~Qt::ItemIsEnabled;
0
943 if (parent->itemFlags != oldFlags
parent->itemFlags != oldFlagsDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
944 parent->itemChanged();
never executed: parent->itemChanged();
0
945 }
never executed: end of block
0
946-
947 for (int i = 0; i < parent->children.count()
i < parent->children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
948 QTreeWidgetItem *child = parent->children.at(i);-
949 parents.push(child);-
950 }
never executed: end of block
0
951 }
never executed: end of block
0
952}
never executed: end of block
0
953Qt::ItemFlags QTreeWidgetItem::flags() const-
954{-
955 return
never executed: return itemFlags;
itemFlags;
never executed: return itemFlags;
0
956}-
957void QTreeWidgetItem::setData(int column, int role, const QVariant &value)-
958{-
959 if (column < 0
column < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
960 return;
never executed: return;
0
961-
962 QTreeModel *model = (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QTreeModel*>(view->model()) : 0);
0
963 switch (role) {-
964 case
never executed: case Qt::EditRole:
Qt::EditRole:
never executed: case Qt::EditRole:
0
965 case
never executed: case Qt::DisplayRole:
Qt::DisplayRole:
never executed: case Qt::DisplayRole:
{
0
966 if (values.count() <= column
values.count() <= columnDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
967 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
&& this == model->headerItem
this == model->headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
968 model->setColumnCount(column + 1);
never executed: model->setColumnCount(column + 1);
0
969 else-
970 values.resize(column + 1);
never executed: values.resize(column + 1);
0
971 }-
972 if (d->display.count() <= column
d->display.count() <= columnDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
973 for (int i = d->display.count() - 1; i < column - 1
i < column - 1Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
974 d->display.append(QVariant());
never executed: d->display.append(QVariant());
0
975 d->display.append(value);-
976 }
never executed: end of block
else if (d->display[column] != value
d->display[column] != valueDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
977 d->display[column] = value;-
978 }
never executed: end of block
else {
0
979 return;
never executed: return;
0
980 }-
981 } break;
never executed: break;
0
982 case
never executed: case Qt::CheckStateRole:
Qt::CheckStateRole:
never executed: case Qt::CheckStateRole:
0
983 if ((
(itemFlags & Q...sAutoTristate)Description
TRUEnever evaluated
FALSEnever evaluated
itemFlags & Qt::ItemIsAutoTristate)
(itemFlags & Q...sAutoTristate)Description
TRUEnever evaluated
FALSEnever evaluated
&& value != Qt::PartiallyChecked
value != Qt::PartiallyCheckedDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
984 for (int i = 0; i < children.count()
i < children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
985 QTreeWidgetItem *child = children.at(i);-
986 if (child->data(column, role).isValid()
child->data(co...ole).isValid()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
987 Qt::ItemFlags f = itemFlags;-
988 itemFlags &= ~Qt::ItemIsAutoTristate;-
989 child->setData(column, role, value);-
990 itemFlags = f;-
991 }
never executed: end of block
0
992 }
never executed: end of block
0
993 }
never executed: end of block
0
994-
995 default
never executed: default:
:
never executed: default:
code before this statement never executed: default:
0
996 if (column < values.count()
column < values.count()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
997 bool found = false;-
998 QVector<QWidgetItemData> column_values = values.at(column);-
999 for (int i = 0; i < column_values.count()
i < column_values.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
1000 if (column_values.at(i).role == role
column_values....).role == roleDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1001 if (column_values.at(i).value == value
column_values....value == valueDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1002 return;
never executed: return;
0
1003 values[column][i].value = value;-
1004 found = true;-
1005 break;
never executed: break;
0
1006 }-
1007 }
never executed: end of block
0
1008 if (!found
!foundDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1009 values[column].append(QWidgetItemData(role, value));
never executed: values[column].append(QWidgetItemData(role, value));
0
1010 }
never executed: end of block
else {
0
1011 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
&& this == model->headerItem
this == model->headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1012 model->setColumnCount(column + 1);
never executed: model->setColumnCount(column + 1);
0
1013 else-
1014 values.resize(column + 1);
never executed: values.resize(column + 1);
0
1015 values[column].append(QWidgetItemData(role, value));-
1016 }
never executed: end of block
0
1017 }-
1018-
1019 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1020 model->emitDataChanged(this, column);-
1021 if (role == Qt::CheckStateRole
role == Qt::CheckStateRoleDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1022 QTreeWidgetItem *p;-
1023 for (p = par; p
pDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(p->itemFlags ...sAutoTristate)Description
TRUEnever evaluated
FALSEnever evaluated
p->itemFlags & Qt::ItemIsAutoTristate)
(p->itemFlags ...sAutoTristate)Description
TRUEnever evaluated
FALSEnever evaluated
; p = p->par)
0
1024 model->emitDataChanged(p, column);
never executed: model->emitDataChanged(p, column);
0
1025 }
never executed: end of block
0
1026 }
never executed: end of block
0
1027}
never executed: end of block
0
1028-
1029-
1030-
1031-
1032QVariant QTreeWidgetItem::data(int column, int role) const-
1033{-
1034 switch (role) {-
1035 case
never executed: case Qt::EditRole:
Qt::EditRole:
never executed: case Qt::EditRole:
0
1036 case
never executed: case Qt::DisplayRole:
Qt::DisplayRole:
never executed: case Qt::DisplayRole:
0
1037 if (column >= 0
column >= 0Description
TRUEnever evaluated
FALSEnever evaluated
&& column < d->display.count()
column < d->display.count()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1038 return
never executed: return d->display.at(column);
d->display.at(column);
never executed: return d->display.at(column);
0
1039 break;
never executed: break;
0
1040 case
never executed: case Qt::CheckStateRole:
Qt::CheckStateRole:
never executed: case Qt::CheckStateRole:
0
1041-
1042 if (children.count()
children.count()Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(itemFlags & Q...sAutoTristate)Description
TRUEnever evaluated
FALSEnever evaluated
itemFlags & Qt::ItemIsAutoTristate)
(itemFlags & Q...sAutoTristate)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1043 return
never executed: return childrenCheckState(column);
childrenCheckState(column);
never executed: return childrenCheckState(column);
0
1044-
1045 default
never executed: default:
:
never executed: default:
code before this statement never executed: default:
0
1046 if (column >= 0
column >= 0Description
TRUEnever evaluated
FALSEnever evaluated
&& column < values.size()
column < values.size()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1047 const QVector<QWidgetItemData> &column_values = values.at(column);-
1048 for (int i = 0; i < column_values.count()
i < column_values.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
1049 if (column_values.at(i).role == role
column_values....).role == roleDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1050 return
never executed: return column_values.at(i).value;
column_values.at(i).value;
never executed: return column_values.at(i).value;
0
1051 }
never executed: end of block
0
1052 }
never executed: end of block
0
1053 return
never executed: return QVariant();
QVariant();
never executed: return QVariant();
0
1054}-
1055-
1056-
1057-
1058-
1059-
1060-
1061bool QTreeWidgetItem::operator<(const QTreeWidgetItem &other) const-
1062{-
1063 int column = view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
? view->sortColumn() : 0;
0
1064 const QVariant v1 = data(column, Qt::DisplayRole);-
1065 const QVariant v2 = other.data(column, Qt::DisplayRole);-
1066 return
never executed: return QAbstractItemModelPrivate::variantLessThan(v1, v2);
QAbstractItemModelPrivate::variantLessThan(v1, v2);
never executed: return QAbstractItemModelPrivate::variantLessThan(v1, v2);
0
1067}-
1068void QTreeWidgetItem::read(QDataStream &in)-
1069{-
1070-
1071 if (in.version() < QDataStream::Qt_4_2
in.version() <...Stream::Qt_4_2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1072 d->display.clear();-
1073 in >> values;-
1074-
1075 for (int column = 0; column < values.count()
column < values.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++column) {
0
1076 d->display << QVariant();-
1077 for (int i = 0; i < values.at(column).count()
i < values.at(column).count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
1078 if (values.at(column).at(i).role == Qt::DisplayRole
values.at(colu...t::DisplayRoleDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1079 d->display[column] = values.at(column).at(i).value;-
1080 values[column].remove(i--);-
1081 }
never executed: end of block
0
1082 }
never executed: end of block
0
1083 }
never executed: end of block
0
1084 }
never executed: end of block
else {
0
1085 in >> values >> d->display;-
1086 }
never executed: end of block
0
1087}-
1088-
1089-
1090-
1091-
1092-
1093-
1094void QTreeWidgetItem::write(QDataStream &out) const-
1095{-
1096 out << values << d->display;-
1097}
never executed: end of block
0
1098QTreeWidgetItem::QTreeWidgetItem(const QTreeWidgetItem &other)-
1099 : rtti(Type), values(other.values), view(0),-
1100 d(new QTreeWidgetItemPrivate(this)), par(0),-
1101 itemFlags(other.itemFlags)-
1102{-
1103 d->display = other.d->display;-
1104}
never executed: end of block
0
1105QTreeWidgetItem &QTreeWidgetItem::operator=(const QTreeWidgetItem &other)-
1106{-
1107 values = other.values;-
1108 d->display = other.d->display;-
1109 d->policy = other.d->policy;-
1110 itemFlags = other.itemFlags;-
1111 return
never executed: return *this;
*this;
never executed: return *this;
0
1112}-
1113-
1114-
1115-
1116-
1117-
1118-
1119void QTreeWidgetItem::addChild(QTreeWidgetItem *child)-
1120{-
1121 if (child
childDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1122 insertChild(children.count(), child);-
1123 child->d->rowGuess = children.count() - 1;-
1124 }
never executed: end of block
0
1125}
never executed: end of block
0
1126-
1127-
1128-
1129-
1130-
1131-
1132void QTreeWidgetItem::insertChild(int index, QTreeWidgetItem *child)-
1133{-
1134 if (index < 0
index < 0Description
TRUEnever evaluated
FALSEnever evaluated
|| index > children.count()
index > children.count()Description
TRUEnever evaluated
FALSEnever evaluated
|| child == 0
child == 0Description
TRUEnever evaluated
FALSEnever evaluated
|| child->view != 0
child->view != 0Description
TRUEnever evaluated
FALSEnever evaluated
|| child->par != 0
child->par != 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1135 return;
never executed: return;
0
1136-
1137 if (QTreeModel *model = (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QTreeModel*>(view->model()) : 0)
QTreeModel *mo...>model()) : 0)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1138 const bool wasSkipSort = model->skipPendingSort;-
1139 model->skipPendingSort = true;-
1140 if (model->rootItem == this
model->rootItem == thisDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1141 child->par = 0;
never executed: child->par = 0;
0
1142 else-
1143 child->par = this;
never executed: child->par = this;
0
1144 if (view->isSortingEnabled()
view->isSortingEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1145-
1146 if (!model->sortPendingTimer.isActive()
!model->sortPe...mer.isActive()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1147 model->sortPendingTimer.start(0, model);
never executed: model->sortPendingTimer.start(0, model);
0
1148 }
never executed: end of block
0
1149 model->beginInsertItems(this, index, 1);-
1150 int cols = model->columnCount();-
1151 QStack<QTreeWidgetItem*> stack;-
1152 stack.push(child);-
1153 while (!stack.isEmpty()
!stack.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1154 QTreeWidgetItem *i = stack.pop();-
1155 i->view = view;-
1156 i->values.reserve(cols);-
1157 for (int c = 0; c < i->children.count()
c < i->children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++c)
0
1158 stack.push(i->children.at(c));
never executed: stack.push(i->children.at(c));
0
1159 }
never executed: end of block
0
1160 children.insert(index, child);-
1161 model->endInsertItems();-
1162 model->skipPendingSort = wasSkipSort;-
1163 }
never executed: end of block
else {
0
1164 child->par = this;-
1165 children.insert(index, child);-
1166 }
never executed: end of block
0
1167 if (child->par
child->parDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1168 d->propagateDisabled(child);
never executed: d->propagateDisabled(child);
0
1169}
never executed: end of block
0
1170-
1171-
1172-
1173-
1174-
1175void QTreeWidgetItem::removeChild(QTreeWidgetItem *child)-
1176{-
1177 (void)takeChild(children.indexOf(child));-
1178}
never executed: end of block
0
1179-
1180-
1181-
1182-
1183QTreeWidgetItem *QTreeWidgetItem::takeChild(int index)-
1184{-
1185-
1186-
1187 QTreeModel *model = (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QTreeModel*>(view->model()) : 0);
0
1188 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1189-
1190-
1191-
1192-
1193 model->skipPendingSort = false;-
1194 model->executePendingSort();-
1195 }
never executed: end of block
0
1196 if (index >= 0
index >= 0Description
TRUEnever evaluated
FALSEnever evaluated
&& index < children.count()
index < children.count()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1197 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) model->beginRemoveItems(this, index, 1);
never executed: model->beginRemoveItems(this, index, 1);
0
1198 QTreeWidgetItem *item = children.takeAt(index);-
1199 item->par = 0;-
1200 QStack<QTreeWidgetItem*> stack;-
1201 stack.push(item);-
1202 while (!stack.isEmpty()
!stack.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1203 QTreeWidgetItem *i = stack.pop();-
1204 i->view = 0;-
1205 for (int c = 0; c < i->children.count()
c < i->children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++c)
0
1206 stack.push(i->children.at(c));
never executed: stack.push(i->children.at(c));
0
1207 }
never executed: end of block
0
1208 d->propagateDisabled(item);-
1209 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) model->endRemoveRows();
never executed: model->endRemoveRows();
0
1210 return
never executed: return item;
item;
never executed: return item;
0
1211 }-
1212 return
never executed: return 0;
0;
never executed: return 0;
0
1213}-
1214void QTreeWidgetItem::addChildren(const QList<QTreeWidgetItem*> &children)-
1215{-
1216 insertChildren(this->children.count(), children);-
1217}
never executed: end of block
0
1218void QTreeWidgetItem::insertChildren(int index, const QList<QTreeWidgetItem*> &children)-
1219{-
1220 if (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
&& view->isSortingEnabled()
view->isSortingEnabled()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1221 for (int n = 0; n < children.count()
n < children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++n)
0
1222 insertChild(index, children.at(n));
never executed: insertChild(index, children.at(n));
0
1223 return;
never executed: return;
0
1224 }-
1225 QTreeModel *model = (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QTreeModel*>(view->model()) : 0);
0
1226 QStack<QTreeWidgetItem*> stack;-
1227 QList<QTreeWidgetItem*> itemsToInsert;-
1228 for (int n = 0; n < children.count()
n < children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++n) {
0
1229 QTreeWidgetItem *child = children.at(n);-
1230 if (child->view
child->viewDescription
TRUEnever evaluated
FALSEnever evaluated
|| child->par
child->parDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1231 continue;
never executed: continue;
0
1232 itemsToInsert.append(child);-
1233 if (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
&& model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1234 if (child->childCount() == 0
child->childCount() == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1235 child->view = view;
never executed: child->view = view;
0
1236 else-
1237 stack.push(child);
never executed: stack.push(child);
0
1238 }-
1239 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
&& (
(model->rootItem == this)Description
TRUEnever evaluated
FALSEnever evaluated
model->rootItem == this)
(model->rootItem == this)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1240 child->par = 0;
never executed: child->par = 0;
0
1241 else-
1242 child->par = this;
never executed: child->par = this;
0
1243 }-
1244 if (!itemsToInsert.isEmpty()
!itemsToInsert.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1245 while (!stack.isEmpty()
!stack.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1246 QTreeWidgetItem *i = stack.pop();-
1247 i->view = view;-
1248 for (int c = 0; c < i->children.count()
c < i->children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++c)
0
1249 stack.push(i->children.at(c));
never executed: stack.push(i->children.at(c));
0
1250 }
never executed: end of block
0
1251 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) model->beginInsertItems(this, index, itemsToInsert.count());
never executed: model->beginInsertItems(this, index, itemsToInsert.count());
0
1252 for (int n = 0; n < itemsToInsert.count()
n < itemsToInsert.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++n) {
0
1253 QTreeWidgetItem *child = itemsToInsert.at(n);-
1254 this->children.insert(index + n, child);-
1255 if (child->par
child->parDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1256 d->propagateDisabled(child);
never executed: d->propagateDisabled(child);
0
1257 }
never executed: end of block
0
1258 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) model->endInsertItems();
never executed: model->endInsertItems();
0
1259 }
never executed: end of block
0
1260}
never executed: end of block
0
1261-
1262-
1263-
1264-
1265-
1266-
1267QList<QTreeWidgetItem*> QTreeWidgetItem::takeChildren()-
1268{-
1269 QList<QTreeWidgetItem*> removed;-
1270 if (children.count() > 0
children.count() > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1271 QTreeModel *model = (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QTreeModel*>(view->model()) : 0);
0
1272 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1273-
1274-
1275-
1276-
1277 model->executePendingSort();-
1278 }
never executed: end of block
0
1279 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) model->beginRemoveItems(this, 0, children.count());
never executed: model->beginRemoveItems(this, 0, children.count());
0
1280 for (int n = 0; n < children.count()
n < children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++n) {
0
1281 QTreeWidgetItem *item = children.at(n);-
1282 item->par = 0;-
1283 QStack<QTreeWidgetItem*> stack;-
1284 stack.push(item);-
1285 while (!stack.isEmpty()
!stack.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1286 QTreeWidgetItem *i = stack.pop();-
1287 i->view = 0;-
1288 for (int c = 0; c < i->children.count()
c < i->children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++c)
0
1289 stack.push(i->children.at(c));
never executed: stack.push(i->children.at(c));
0
1290 }
never executed: end of block
0
1291 d->propagateDisabled(item);-
1292 }
never executed: end of block
0
1293 removed = children;-
1294 children.clear();-
1295 if (model
modelDescription
TRUEnever evaluated
FALSEnever evaluated
) model->endRemoveItems();
never executed: model->endRemoveItems();
0
1296 }
never executed: end of block
0
1297 return
never executed: return removed;
removed;
never executed: return removed;
0
1298}-
1299-
1300-
1301void QTreeWidgetItemPrivate::sortChildren(int column, Qt::SortOrder order, bool climb)-
1302{-
1303 QTreeModel *model = (q->view
q->viewDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QTreeModel*>(q->view->model()) : 0);
0
1304 if (!model
!modelDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1305 return;
never executed: return;
0
1306 model->sortItems(&q->children, column, order);-
1307 if (climb
climbDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1308 QList<QTreeWidgetItem*>::iterator it = q->children.begin();-
1309 for (; it != q->children.end()
it != q->children.end()Description
TRUEnever evaluated
FALSEnever evaluated
; ++it) {
0
1310-
1311-
1312 (*it)->d->sortChildren(column, order, climb);-
1313 }
never executed: end of block
0
1314 }
never executed: end of block
0
1315}
never executed: end of block
0
1316void QTreeWidgetItem::sortChildren(int column, Qt::SortOrder order, bool climb)-
1317{-
1318 QTreeModel *model = (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QTreeModel*>(view->model()) : 0);
0
1319 if (!model
!modelDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1320 return;
never executed: return;
0
1321 if (model->isChanging()
model->isChanging()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1322 return;
never executed: return;
0
1323 QTreeModel::SkipSorting skipSorting(model);-
1324 int oldSortColumn = view->d_func()->explicitSortColumn;-
1325 view->d_func()->explicitSortColumn = column;-
1326 model->layoutAboutToBeChanged();-
1327 d->sortChildren(column, order, climb);-
1328 model->layoutChanged();-
1329 view->d_func()->explicitSortColumn = oldSortColumn;-
1330}
never executed: end of block
0
1331QVariant QTreeWidgetItem::childrenCheckState(int column) const-
1332{-
1333 if (column < 0
column < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1334 return
never executed: return QVariant();
QVariant();
never executed: return QVariant();
0
1335 bool checkedChildren = false;-
1336 bool uncheckedChildren = false;-
1337 for (int i = 0; i < children.count()
i < children.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
1338 QVariant value = children.at(i)->data(column, Qt::CheckStateRole);-
1339 if (!value.isValid()
!value.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1340 return
never executed: return QVariant();
QVariant();
never executed: return QVariant();
0
1341-
1342 switch (static_cast<Qt::CheckState>(value.toInt()))-
1343 {-
1344 case
never executed: case Qt::Unchecked:
Qt::Unchecked:
never executed: case Qt::Unchecked:
0
1345 uncheckedChildren = true;-
1346 break;
never executed: break;
0
1347 case
never executed: case Qt::Checked:
Qt::Checked:
never executed: case Qt::Checked:
0
1348 checkedChildren = true;-
1349 break;
never executed: break;
0
1350 case
never executed: case Qt::PartiallyChecked:
Qt::PartiallyChecked:
never executed: case Qt::PartiallyChecked:
0
1351 default
never executed: default:
:
never executed: default:
0
1352 return
never executed: return Qt::PartiallyChecked;
Qt::PartiallyChecked;
never executed: return Qt::PartiallyChecked;
0
1353 }-
1354-
1355 if (uncheckedChildren
uncheckedChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
&& checkedChildren
checkedChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1356 return
never executed: return Qt::PartiallyChecked;
Qt::PartiallyChecked;
never executed: return Qt::PartiallyChecked;
0
1357 }
never executed: end of block
0
1358-
1359 if (uncheckedChildren
uncheckedChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1360 return
never executed: return Qt::Unchecked;
Qt::Unchecked;
never executed: return Qt::Unchecked;
0
1361 else if (checkedChildren
checkedChildrenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1362 return
never executed: return Qt::Checked;
Qt::Checked;
never executed: return Qt::Checked;
0
1363 else-
1364 return
never executed: return QVariant();
QVariant();
never executed: return QVariant();
0
1365}-
1366void QTreeWidgetItem::emitDataChanged()-
1367{-
1368 itemChanged();-
1369}
never executed: end of block
0
1370-
1371-
1372-
1373-
1374void QTreeWidgetItem::itemChanged()-
1375{-
1376 if (QTreeModel *model = (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QTreeModel*>(view->model()) : 0)
QTreeModel *mo...>model()) : 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1377 model->itemChanged(this);
never executed: model->itemChanged(this);
0
1378}
never executed: end of block
0
1379-
1380-
1381-
1382-
1383void QTreeWidgetItem::executePendingSort() const-
1384{-
1385 if (QTreeModel *model = (view
viewDescription
TRUEnever evaluated
FALSEnever evaluated
? qobject_cast<QTreeModel*>(view->model()) : 0)
QTreeModel *mo...>model()) : 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1386 model->executePendingSort();
never executed: model->executePendingSort();
0
1387}
never executed: end of block
0
1388QDataStream &operator<<(QDataStream &out, const QTreeWidgetItem &item)-
1389{-
1390 item.write(out);-
1391 return
never executed: return out;
out;
never executed: return out;
0
1392}-
1393QDataStream &operator>>(QDataStream &in, QTreeWidgetItem &item)-
1394{-
1395 item.read(in);-
1396 return
never executed: return in;
in;
never executed: return in;
0
1397}-
1398-
1399-
1400-
1401void QTreeWidgetPrivate::_q_emitItemPressed(const QModelIndex &index)-
1402{-
1403 QTreeWidget * const q = q_func();-
1404 q->itemPressed(item(index), index.column());-
1405}
never executed: end of block
0
1406-
1407void QTreeWidgetPrivate::_q_emitItemClicked(const QModelIndex &index)-
1408{-
1409 QTreeWidget * const q = q_func();-
1410 q->itemClicked(item(index), index.column());-
1411}
never executed: end of block
0
1412-
1413void QTreeWidgetPrivate::_q_emitItemDoubleClicked(const QModelIndex &index)-
1414{-
1415 QTreeWidget * const q = q_func();-
1416 q->itemDoubleClicked(item(index), index.column());-
1417}
never executed: end of block
0
1418-
1419void QTreeWidgetPrivate::_q_emitItemActivated(const QModelIndex &index)-
1420{-
1421 QTreeWidget * const q = q_func();-
1422 q->itemActivated(item(index), index.column());-
1423}
never executed: end of block
0
1424-
1425void QTreeWidgetPrivate::_q_emitItemEntered(const QModelIndex &index)-
1426{-
1427 QTreeWidget * const q = q_func();-
1428 q->itemEntered(item(index), index.column());-
1429}
never executed: end of block
0
1430-
1431void QTreeWidgetPrivate::_q_emitItemChanged(const QModelIndex &index)-
1432{-
1433 QTreeWidget * const q = q_func();-
1434 QTreeWidgetItem *indexItem = item(index);-
1435 if (indexItem
indexItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1436 q->itemChanged(indexItem, index.column());
never executed: q->itemChanged(indexItem, index.column());
0
1437}
never executed: end of block
0
1438-
1439void QTreeWidgetPrivate::_q_emitItemExpanded(const QModelIndex &index)-
1440{-
1441 QTreeWidget * const q = q_func();-
1442 q->itemExpanded(item(index));-
1443}
never executed: end of block
0
1444-
1445void QTreeWidgetPrivate::_q_emitItemCollapsed(const QModelIndex &index)-
1446{-
1447 QTreeWidget * const q = q_func();-
1448 q->itemCollapsed(item(index));-
1449}
never executed: end of block
0
1450-
1451void QTreeWidgetPrivate::_q_emitCurrentItemChanged(const QModelIndex &current,-
1452 const QModelIndex &previous)-
1453{-
1454 QTreeWidget * const q = q_func();-
1455 QTreeWidgetItem *currentItem = item(current);-
1456 QTreeWidgetItem *previousItem = item(previous);-
1457 q->currentItemChanged(currentItem, previousItem);-
1458}
never executed: end of block
0
1459-
1460void QTreeWidgetPrivate::_q_sort()-
1461{-
1462 if (sortingEnabled
sortingEnabledDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1463 int column = header->sortIndicatorSection();-
1464 Qt::SortOrder order = header->sortIndicatorOrder();-
1465 treeModel()->sort(column, order);-
1466 }
never executed: end of block
0
1467}
never executed: end of block
0
1468-
1469void QTreeWidgetPrivate::_q_selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)-
1470{-
1471 QTreeWidget * const q = q_func();-
1472 QModelIndexList indices = selected.indexes();-
1473 int i;-
1474 QTreeModel *m = treeModel();-
1475 for (i = 0; i < indices.count()
i < indices.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
1476 QTreeWidgetItem *item = m->item(indices.at(i));-
1477 item->d->selected = true;-
1478 }
never executed: end of block
0
1479-
1480 indices = deselected.indexes();-
1481 for (i = 0; i < indices.count()
i < indices.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
1482 QTreeWidgetItem *item = m->item(indices.at(i));-
1483 item->d->selected = false;-
1484 }
never executed: end of block
0
1485-
1486 q->itemSelectionChanged();-
1487}
never executed: end of block
0
1488-
1489void QTreeWidgetPrivate::_q_dataChanged(const QModelIndex &topLeft,-
1490 const QModelIndex &bottomRight)-
1491{-
1492 if (sortingEnabled
sortingEnabledDescription
TRUEnever evaluated
FALSEnever evaluated
&& topLeft.isValid()
topLeft.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
&& bottomRight.isValid()
bottomRight.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
0
1493 && !treeModel()->sortPendingTimer.isActive()
!treeModel()->...mer.isActive()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1494 int column = header->sortIndicatorSection();-
1495 if (column >= topLeft.column()
column >= topLeft.column()Description
TRUEnever evaluated
FALSEnever evaluated
&& column <= bottomRight.column()
column <= bottomRight.column()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1496 Qt::SortOrder order = header->sortIndicatorOrder();-
1497 treeModel()->ensureSorted(column, order, topLeft.row(),-
1498 bottomRight.row(), topLeft.parent());-
1499 }
never executed: end of block
0
1500 }
never executed: end of block
0
1501}
never executed: end of block
0
1502QTreeWidget::QTreeWidget(QWidget *parent)-
1503 : QTreeView(*new QTreeWidgetPrivate(), parent)-
1504{-
1505 QTreeView::setModel(new QTreeModel(1, this));-
1506 connect(this, qFlagLocation("2""pressed(QModelIndex)" "\0" __FILE__ ":" "2519"),-
1507 qFlagLocation("1""_q_emitItemPressed(QModelIndex)" "\0" __FILE__ ":" "2520"));-
1508 connect(this, qFlagLocation("2""clicked(QModelIndex)" "\0" __FILE__ ":" "2521"),-
1509 qFlagLocation("1""_q_emitItemClicked(QModelIndex)" "\0" __FILE__ ":" "2522"));-
1510 connect(this, qFlagLocation("2""doubleClicked(QModelIndex)" "\0" __FILE__ ":" "2523"),-
1511 qFlagLocation("1""_q_emitItemDoubleClicked(QModelIndex)" "\0" __FILE__ ":" "2524"));-
1512 connect(this, qFlagLocation("2""activated(QModelIndex)" "\0" __FILE__ ":" "2525"),-
1513 qFlagLocation("1""_q_emitItemActivated(QModelIndex)" "\0" __FILE__ ":" "2526"));-
1514 connect(this, qFlagLocation("2""entered(QModelIndex)" "\0" __FILE__ ":" "2527"),-
1515 qFlagLocation("1""_q_emitItemEntered(QModelIndex)" "\0" __FILE__ ":" "2528"));-
1516 connect(this, qFlagLocation("2""expanded(QModelIndex)" "\0" __FILE__ ":" "2529"),-
1517 qFlagLocation("1""_q_emitItemExpanded(QModelIndex)" "\0" __FILE__ ":" "2530"));-
1518 connect(this, qFlagLocation("2""collapsed(QModelIndex)" "\0" __FILE__ ":" "2531"),-
1519 qFlagLocation("1""_q_emitItemCollapsed(QModelIndex)" "\0" __FILE__ ":" "2532"));-
1520 connect(selectionModel(), qFlagLocation("2""currentChanged(QModelIndex,QModelIndex)" "\0" __FILE__ ":" "2533"),-
1521 this, qFlagLocation("1""_q_emitCurrentItemChanged(QModelIndex,QModelIndex)" "\0" __FILE__ ":" "2534"));-
1522 connect(model(), qFlagLocation("2""dataChanged(QModelIndex,QModelIndex)" "\0" __FILE__ ":" "2535"),-
1523 this, qFlagLocation("1""_q_emitItemChanged(QModelIndex)" "\0" __FILE__ ":" "2536"));-
1524 connect(model(), qFlagLocation("2""dataChanged(QModelIndex,QModelIndex)" "\0" __FILE__ ":" "2537"),-
1525 this, qFlagLocation("1""_q_dataChanged(QModelIndex,QModelIndex)" "\0" __FILE__ ":" "2538"));-
1526 connect(model(), qFlagLocation("2""columnsRemoved(QModelIndex,int,int)" "\0" __FILE__ ":" "2539"),-
1527 this, qFlagLocation("1""_q_sort()" "\0" __FILE__ ":" "2540"));-
1528 connect(selectionModel(), qFlagLocation("2""selectionChanged(QItemSelection,QItemSelection)" "\0" __FILE__ ":" "2541"),-
1529 this, qFlagLocation("1""_q_selectionChanged(QItemSelection,QItemSelection)" "\0" __FILE__ ":" "2542"));-
1530 header()->setSectionsClickable(false);-
1531}
never executed: end of block
0
1532-
1533-
1534-
1535-
1536-
1537QTreeWidget::~QTreeWidget()-
1538{-
1539}-
1540-
1541-
1542-
1543-
1544-
1545-
1546-
1547int QTreeWidget::columnCount() const-
1548{-
1549 const QTreeWidgetPrivate * const d = d_func();-
1550 return
never executed: return d->model->columnCount();
d->model->columnCount();
never executed: return d->model->columnCount();
0
1551}-
1552-
1553-
1554-
1555-
1556-
1557void QTreeWidget::setColumnCount(int columns)-
1558{-
1559 QTreeWidgetPrivate * const d = d_func();-
1560 if (columns < 0
columns < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1561 return;
never executed: return;
0
1562 d->treeModel()->setColumnCount(columns);-
1563}
never executed: end of block
0
1564QTreeWidgetItem *QTreeWidget::invisibleRootItem() const-
1565{-
1566 const QTreeWidgetPrivate * const d = d_func();-
1567 return
never executed: return d->treeModel()->rootItem;
d->treeModel()->rootItem;
never executed: return d->treeModel()->rootItem;
0
1568}-
1569QTreeWidgetItem *QTreeWidget::topLevelItem(int index) const-
1570{-
1571 const QTreeWidgetPrivate * const d = d_func();-
1572 return
never executed: return d->treeModel()->rootItem->child(index);
d->treeModel()->rootItem->child(index);
never executed: return d->treeModel()->rootItem->child(index);
0
1573}-
1574int QTreeWidget::topLevelItemCount() const-
1575{-
1576 const QTreeWidgetPrivate * const d = d_func();-
1577 return
never executed: return d->treeModel()->rootItem->childCount();
d->treeModel()->rootItem->childCount();
never executed: return d->treeModel()->rootItem->childCount();
0
1578}-
1579void QTreeWidget::insertTopLevelItem(int index, QTreeWidgetItem *item)-
1580{-
1581 QTreeWidgetPrivate * const d = d_func();-
1582 d->treeModel()->rootItem->insertChild(index, item);-
1583}
never executed: end of block
0
1584void QTreeWidget::addTopLevelItem(QTreeWidgetItem *item)-
1585{-
1586 insertTopLevelItem(topLevelItemCount(), item);-
1587}
never executed: end of block
0
1588QTreeWidgetItem *QTreeWidget::takeTopLevelItem(int index)-
1589{-
1590 QTreeWidgetPrivate * const d = d_func();-
1591 return
never executed: return d->treeModel()->rootItem->takeChild(index);
d->treeModel()->rootItem->takeChild(index);
never executed: return d->treeModel()->rootItem->takeChild(index);
0
1592}-
1593-
1594-
1595-
1596-
1597-
1598-
1599-
1600int QTreeWidget::indexOfTopLevelItem(QTreeWidgetItem *item) const-
1601{-
1602 const QTreeWidgetPrivate * const d = d_func();-
1603 d->treeModel()->executePendingSort();-
1604 return
never executed: return d->treeModel()->rootItem->children.indexOf(item);
d->treeModel()->rootItem->children.indexOf(item);
never executed: return d->treeModel()->rootItem->children.indexOf(item);
0
1605}-
1606void QTreeWidget::insertTopLevelItems(int index, const QList<QTreeWidgetItem*> &items)-
1607{-
1608 QTreeWidgetPrivate * const d = d_func();-
1609 d->treeModel()->rootItem->insertChildren(index, items);-
1610}
never executed: end of block
0
1611-
1612-
1613-
1614-
1615-
1616-
1617void QTreeWidget::addTopLevelItems(const QList<QTreeWidgetItem*> &items)-
1618{-
1619 insertTopLevelItems(topLevelItemCount(), items);-
1620}
never executed: end of block
0
1621-
1622-
1623-
1624-
1625-
1626-
1627-
1628QTreeWidgetItem *QTreeWidget::headerItem() const-
1629{-
1630 const QTreeWidgetPrivate * const d = d_func();-
1631 return
never executed: return d->treeModel()->headerItem;
d->treeModel()->headerItem;
never executed: return d->treeModel()->headerItem;
0
1632}-
1633void QTreeWidget::setHeaderItem(QTreeWidgetItem *item)-
1634{-
1635 QTreeWidgetPrivate * const d = d_func();-
1636 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1637 return;
never executed: return;
0
1638 item->view = this;-
1639-
1640 int oldCount = columnCount();-
1641 if (oldCount < item->columnCount()
oldCount < item->columnCount()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1642 d->treeModel()->beginInsertColumns(QModelIndex(), oldCount, item->columnCount());
never executed: d->treeModel()->beginInsertColumns(QModelIndex(), oldCount, item->columnCount());
0
1643 else-
1644 d->treeModel()->beginRemoveColumns(QModelIndex(), item->columnCount(), oldCount);
never executed: d->treeModel()->beginRemoveColumns(QModelIndex(), item->columnCount(), oldCount);
0
1645 delete d->treeModel()->headerItem;-
1646 d->treeModel()->headerItem = item;-
1647 if (oldCount < item->columnCount()
oldCount < item->columnCount()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1648 d->treeModel()->endInsertColumns();
never executed: d->treeModel()->endInsertColumns();
0
1649 else-
1650 d->treeModel()->endRemoveColumns();
never executed: d->treeModel()->endRemoveColumns();
0
1651 d->treeModel()->headerDataChanged(Qt::Horizontal, 0, oldCount);-
1652}
never executed: end of block
0
1653void QTreeWidget::setHeaderLabels(const QStringList &labels)-
1654{-
1655 QTreeWidgetPrivate * const d = d_func();-
1656 if (columnCount() < labels.count()
columnCount() < labels.count()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1657 setColumnCount(labels.count());
never executed: setColumnCount(labels.count());
0
1658 QTreeWidgetItem *item = d->treeModel()->headerItem;-
1659 for (int i = 0; i < labels.count()
i < labels.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
1660 item->setText(i, labels.at(i));
never executed: item->setText(i, labels.at(i));
0
1661}
never executed: end of block
0
1662QTreeWidgetItem *QTreeWidget::currentItem() const-
1663{-
1664 const QTreeWidgetPrivate * const d = d_func();-
1665 return
never executed: return d->item(currentIndex());
d->item(currentIndex());
never executed: return d->item(currentIndex());
0
1666}-
1667-
1668-
1669-
1670-
1671-
1672-
1673-
1674int QTreeWidget::currentColumn() const-
1675{-
1676 return
never executed: return currentIndex().column();
currentIndex().column();
never executed: return currentIndex().column();
0
1677}-
1678void QTreeWidget::setCurrentItem(QTreeWidgetItem *item)-
1679{-
1680 setCurrentItem(item, 0);-
1681}
never executed: end of block
0
1682-
1683-
1684-
1685-
1686-
1687-
1688-
1689void QTreeWidget::setCurrentItem(QTreeWidgetItem *item, int column)-
1690{-
1691 QTreeWidgetPrivate * const d = d_func();-
1692 setCurrentIndex(d->index(item, column));-
1693}
never executed: end of block
0
1694void QTreeWidget::setCurrentItem(QTreeWidgetItem *item, int column,-
1695 QItemSelectionModel::SelectionFlags command)-
1696{-
1697 QTreeWidgetPrivate * const d = d_func();-
1698 d->selectionModel->setCurrentIndex(d->index(item, column), command);-
1699}
never executed: end of block
0
1700QTreeWidgetItem *QTreeWidget::itemAt(const QPoint &p) const-
1701{-
1702 const QTreeWidgetPrivate * const d = d_func();-
1703 return
never executed: return d->item(indexAt(p));
d->item(indexAt(p));
never executed: return d->item(indexAt(p));
0
1704}-
1705QRect QTreeWidget::visualItemRect(const QTreeWidgetItem *item) const-
1706{-
1707 const QTreeWidgetPrivate * const d = d_func();-
1708-
1709-
1710 QModelIndex base = d->index(item);-
1711 const int firstVisiblesection = header()->logicalIndexAt(- header()->offset());-
1712 const int lastVisibleSection = header()->logicalIndexAt(header()->length() - header()->offset() - 1);-
1713 QModelIndex first = base.sibling(base.row(), header()->logicalIndex(firstVisiblesection));-
1714 QModelIndex last = base.sibling(base.row(), header()->logicalIndex(lastVisibleSection));-
1715 return
never executed: return visualRect(first) | visualRect(last);
visualRect(first) | visualRect(last);
never executed: return visualRect(first) | visualRect(last);
0
1716}-
1717int QTreeWidget::sortColumn() const-
1718{-
1719 const QTreeWidgetPrivate * const d = d_func();-
1720 return
never executed: return (d->explicitSortColumn != -1 ? d->explicitSortColumn : header()->sortIndicatorSection());
(d->explicitSortColumn != -1
d->explicitSortColumn != -1Description
TRUEnever evaluated
FALSEnever evaluated
never executed: return (d->explicitSortColumn != -1 ? d->explicitSortColumn : header()->sortIndicatorSection());
0
1721 ? d->explicitSortColumn
never executed: return (d->explicitSortColumn != -1 ? d->explicitSortColumn : header()->sortIndicatorSection());
0
1722 : header()->sortIndicatorSection());
never executed: return (d->explicitSortColumn != -1 ? d->explicitSortColumn : header()->sortIndicatorSection());
0
1723}-
1724void QTreeWidget::sortItems(int column, Qt::SortOrder order)-
1725{-
1726 QTreeWidgetPrivate * const d = d_func();-
1727 header()->setSortIndicator(column, order);-
1728 d->model->sort(column, order);-
1729}
never executed: end of block
0
1730-
1731-
1732-
1733-
1734-
1735void QTreeWidget::editItem(QTreeWidgetItem *item, int column)-
1736{-
1737 QTreeWidgetPrivate * const d = d_func();-
1738 edit(d->index(item, column));-
1739}
never executed: end of block
0
1740-
1741-
1742-
1743-
1744-
1745-
1746-
1747void QTreeWidget::openPersistentEditor(QTreeWidgetItem *item, int column)-
1748{-
1749 QTreeWidgetPrivate * const d = d_func();-
1750 QAbstractItemView::openPersistentEditor(d->index(item, column));-
1751}
never executed: end of block
0
1752void QTreeWidget::closePersistentEditor(QTreeWidgetItem *item, int column)-
1753{-
1754 QTreeWidgetPrivate * const d = d_func();-
1755 QAbstractItemView::closePersistentEditor(d->index(item, column));-
1756}
never executed: end of block
0
1757-
1758-
1759-
1760-
1761-
1762-
1763-
1764QWidget *QTreeWidget::itemWidget(QTreeWidgetItem *item, int column) const-
1765{-
1766 const QTreeWidgetPrivate * const d = d_func();-
1767 return
never executed: return QAbstractItemView::indexWidget(d->index(item, column));
QAbstractItemView::indexWidget(d->index(item, column));
never executed: return QAbstractItemView::indexWidget(d->index(item, column));
0
1768}-
1769void QTreeWidget::setItemWidget(QTreeWidgetItem *item, int column, QWidget *widget)-
1770{-
1771 QTreeWidgetPrivate * const d = d_func();-
1772 QAbstractItemView::setIndexWidget(d->index(item, column), widget);-
1773}
never executed: end of block
0
1774bool QTreeWidget::isItemSelected(const QTreeWidgetItem *item) const-
1775{-
1776 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1777 return
never executed: return false;
false;
never executed: return false;
0
1778 return
never executed: return item->d->selected;
item->d->selected;
never executed: return item->d->selected;
0
1779}-
1780void QTreeWidget::setItemSelected(const QTreeWidgetItem *item, bool select)-
1781{-
1782 QTreeWidgetPrivate * const d = d_func();-
1783-
1784 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1785 return;
never executed: return;
0
1786-
1787 selectionModel()->select(d->index(item), (select ? QItemSelectionModel::Select-
1788 : QItemSelectionModel::Deselect)-
1789 |QItemSelectionModel::Rows);-
1790 item->d->selected = select;-
1791}
never executed: end of block
0
1792-
1793-
1794-
1795-
1796-
1797-
1798QList<QTreeWidgetItem*> QTreeWidget::selectedItems() const-
1799{-
1800 const QTreeWidgetPrivate * const d = d_func();-
1801 QModelIndexList indexes = selectionModel()->selectedIndexes();-
1802 QList<QTreeWidgetItem*> items;-
1803 items.reserve(indexes.count());-
1804 QSet<QTreeWidgetItem *> seen;-
1805 seen.reserve(indexes.count());-
1806 for (int i = 0; i < indexes.count()
i < indexes.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
1807 QTreeWidgetItem *item = d->item(indexes.at(i));-
1808 if (isItemHidden(item)
isItemHidden(item)Description
TRUEnever evaluated
FALSEnever evaluated
|| seen.contains(item)
seen.contains(item)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1809 continue;
never executed: continue;
0
1810 seen.insert(item);-
1811 items.append(item);-
1812 }
never executed: end of block
0
1813 return
never executed: return items;
items;
never executed: return items;
0
1814}-
1815-
1816-
1817-
1818-
1819QList<QTreeWidgetItem*> QTreeWidget::findItems(const QString &text, Qt::MatchFlags flags, int column) const-
1820{-
1821 const QTreeWidgetPrivate * const d = d_func();-
1822 QModelIndexList indexes = d->model->match(model()->index(0, column, QModelIndex()),-
1823 Qt::DisplayRole, text, -1, flags);-
1824 QList<QTreeWidgetItem*> items;-
1825 const int indexesSize = indexes.size();-
1826 items.reserve(indexesSize);-
1827 for (int i = 0; i < indexesSize
i < indexesSizeDescription
TRUEnever evaluated
FALSEnever evaluated
; ++i)
0
1828 items.append(d->item(indexes.at(i)));
never executed: items.append(d->item(indexes.at(i)));
0
1829 return
never executed: return items;
items;
never executed: return items;
0
1830}-
1831bool QTreeWidget::isItemHidden(const QTreeWidgetItem *item) const-
1832{-
1833 const QTreeWidgetPrivate * const d = d_func();-
1834 if (item == d->treeModel()->headerItem
item == d->tre...()->headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1835 return
never executed: return header()->isHidden();
header()->isHidden();
never executed: return header()->isHidden();
0
1836 if (d->hiddenIndexes.isEmpty()
d->hiddenIndexes.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1837 return
never executed: return false;
false;
never executed: return false;
0
1838 QTreeModel::SkipSorting skipSorting(d->treeModel());-
1839 return
never executed: return d->isRowHidden(d->index(item));
d->isRowHidden(d->index(item));
never executed: return d->isRowHidden(d->index(item));
0
1840}-
1841void QTreeWidget::setItemHidden(const QTreeWidgetItem *item, bool hide)-
1842{-
1843 QTreeWidgetPrivate * const d = d_func();-
1844 if (item == d->treeModel()->headerItem
item == d->tre...()->headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1845 header()->setHidden(hide);-
1846 }
never executed: end of block
else {
0
1847 const QModelIndex index = d->index(item);-
1848 setRowHidden(index.row(), index.parent(), hide);-
1849 }
never executed: end of block
0
1850}-
1851bool QTreeWidget::isItemExpanded(const QTreeWidgetItem *item) const-
1852{-
1853 const QTreeWidgetPrivate * const d = d_func();-
1854 QTreeModel::SkipSorting skipSorting(d->treeModel());-
1855 return
never executed: return isExpanded(d->index(item));
isExpanded(d->index(item));
never executed: return isExpanded(d->index(item));
0
1856}-
1857void QTreeWidget::setItemExpanded(const QTreeWidgetItem *item, bool expand)-
1858{-
1859 QTreeWidgetPrivate * const d = d_func();-
1860 QTreeModel::SkipSorting skipSorting(d->treeModel());-
1861 setExpanded(d->index(item), expand);-
1862}
never executed: end of block
0
1863bool QTreeWidget::isFirstItemColumnSpanned(const QTreeWidgetItem *item) const-
1864{-
1865 const QTreeWidgetPrivate * const d = d_func();-
1866 if (item == d->treeModel()->headerItem
item == d->tre...()->headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1867 return
never executed: return false;
false;
never executed: return false;
0
1868 const QModelIndex index = d->index(item);-
1869 return
never executed: return isFirstColumnSpanned(index.row(), index.parent());
isFirstColumnSpanned(index.row(), index.parent());
never executed: return isFirstColumnSpanned(index.row(), index.parent());
0
1870}-
1871void QTreeWidget::setFirstItemColumnSpanned(const QTreeWidgetItem *item, bool span)-
1872{-
1873 QTreeWidgetPrivate * const d = d_func();-
1874 if (item == d->treeModel()->headerItem
item == d->tre...()->headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1875 return;
never executed: return;
0
1876 const QModelIndex index = d->index(item);-
1877 setFirstColumnSpanned(index.row(), index.parent(), span);-
1878}
never executed: end of block
0
1879-
1880-
1881-
1882-
1883-
1884-
1885QTreeWidgetItem *QTreeWidget::itemAbove(const QTreeWidgetItem *item) const-
1886{-
1887 const QTreeWidgetPrivate * const d = d_func();-
1888 if (item == d->treeModel()->headerItem
item == d->tre...()->headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1889 return
never executed: return 0;
0;
never executed: return 0;
0
1890 const QModelIndex index = d->index(item);-
1891 const QModelIndex above = indexAbove(index);-
1892 return
never executed: return d->item(above);
d->item(above);
never executed: return d->item(above);
0
1893}-
1894-
1895-
1896-
1897-
1898-
1899-
1900QTreeWidgetItem *QTreeWidget::itemBelow(const QTreeWidgetItem *item) const-
1901{-
1902 const QTreeWidgetPrivate * const d = d_func();-
1903 if (item == d->treeModel()->headerItem
item == d->tre...()->headerItemDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
1904 return
never executed: return 0;
0;
never executed: return 0;
0
1905 const QModelIndex index = d->index(item);-
1906 const QModelIndex below = indexBelow(index);-
1907 return
never executed: return d->item(below);
d->item(below);
never executed: return d->item(below);
0
1908}-
1909-
1910-
1911-
1912-
1913void QTreeWidget::setSelectionModel(QItemSelectionModel *selectionModel)-
1914{-
1915 QTreeWidgetPrivate * const d = d_func();-
1916 QTreeView::setSelectionModel(selectionModel);-
1917 QItemSelection newSelection = selectionModel->selection();-
1918 if (!newSelection.isEmpty()
!newSelection.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
1919 d->_q_selectionChanged(newSelection, QItemSelection());
never executed: d->_q_selectionChanged(newSelection, QItemSelection());
0
1920}
never executed: end of block
0
1921-
1922-
1923-
1924-
1925-
1926-
1927-
1928void QTreeWidget::scrollToItem(const QTreeWidgetItem *item, QAbstractItemView::ScrollHint hint)-
1929{-
1930 QTreeWidgetPrivate * const d = d_func();-
1931 QTreeView::scrollTo(d->index(item), hint);-
1932}
never executed: end of block
0
1933-
1934-
1935-
1936-
1937-
1938-
1939-
1940void QTreeWidget::expandItem(const QTreeWidgetItem *item)-
1941{-
1942 QTreeWidgetPrivate * const d = d_func();-
1943 QTreeModel::SkipSorting skipSorting(d->treeModel());-
1944 expand(d->index(item));-
1945}
never executed: end of block
0
1946-
1947-
1948-
1949-
1950-
1951-
1952-
1953void QTreeWidget::collapseItem(const QTreeWidgetItem *item)-
1954{-
1955 QTreeWidgetPrivate * const d = d_func();-
1956 QTreeModel::SkipSorting skipSorting(d->treeModel());-
1957 collapse(d->index(item));-
1958}
never executed: end of block
0
1959void QTreeWidget::clear()-
1960{-
1961 QTreeWidgetPrivate * const d = d_func();-
1962 selectionModel()->clear();-
1963 d->treeModel()->clear();-
1964}
never executed: end of block
0
1965-
1966-
1967-
1968-
1969-
1970-
1971-
1972QStringList QTreeWidget::mimeTypes() const-
1973{-
1974 return
never executed: return model()->QAbstractItemModel::mimeTypes();
model()->QAbstractItemModel::mimeTypes();
never executed: return model()->QAbstractItemModel::mimeTypes();
0
1975}-
1976QMimeData *QTreeWidget::mimeData(const QList<QTreeWidgetItem*> items) const-
1977-
1978{-
1979 const QTreeWidgetPrivate * const d = d_func();-
1980 if (d->treeModel()->cachedIndexes.isEmpty()
d->treeModel()...exes.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1981 QList<QModelIndex> indexes;-
1982 for (int i = 0; i < items.count()
i < items.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
1983 QTreeWidgetItem *item = items.at(i);-
1984 if (!item
!itemDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
1985 QMessageLogger(__FILE__, 3285, __PRETTY_FUNCTION__).warning("QTreeWidget::mimeData: Null-item passed");-
1986 return
never executed: return 0;
0;
never executed: return 0;
0
1987 }-
1988-
1989 for (int c = 0; c < item->values.count()
c < item->values.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++c) {
0
1990 const QModelIndex index = indexFromItem(item, c);-
1991 if (!index.isValid()
!index.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
1992 QMessageLogger(__FILE__, 3292, __PRETTY_FUNCTION__).warning() << "QTreeWidget::mimeData: No index associated with item :" << item;-
1993 return
never executed: return 0;
0;
never executed: return 0;
0
1994 }-
1995 indexes << index;-
1996 }
never executed: end of block
0
1997 }
never executed: end of block
0
1998 return
never executed: return d->model->QAbstractItemModel::mimeData(indexes);
d->model->QAbstractItemModel::mimeData(indexes);
never executed: return d->model->QAbstractItemModel::mimeData(indexes);
0
1999 }-
2000 return
never executed: return d->treeModel()->internalMimeData();
d->treeModel()->internalMimeData();
never executed: return d->treeModel()->internalMimeData();
0
2001}-
2002bool QTreeWidget::dropMimeData(QTreeWidgetItem *parent, int index,-
2003 const QMimeData *data, Qt::DropAction action)-
2004{-
2005 QModelIndex idx;-
2006 if (parent
parentDescription
TRUEnever evaluated
FALSEnever evaluated
) idx = indexFromItem(parent);
never executed: idx = indexFromItem(parent);
0
2007 return
never executed: return model()->QAbstractItemModel::dropMimeData(data, action , index, 0, idx);
model()->QAbstractItemModel::dropMimeData(data, action , index, 0, idx);
never executed: return model()->QAbstractItemModel::dropMimeData(data, action , index, 0, idx);
0
2008}-
2009-
2010-
2011-
2012-
2013-
2014-
2015Qt::DropActions QTreeWidget::supportedDropActions() const-
2016{-
2017 return
never executed: return model()->QAbstractItemModel::supportedDropActions() | Qt::MoveAction;
model()->QAbstractItemModel::supportedDropActions() | Qt::MoveAction;
never executed: return model()->QAbstractItemModel::supportedDropActions() | Qt::MoveAction;
0
2018}-
2019-
2020-
2021-
2022-
2023-
2024-
2025-
2026QList<QTreeWidgetItem*> QTreeWidget::items(const QMimeData *data) const-
2027{-
2028 (void)data;;-
2029 return
never executed: return QList<QTreeWidgetItem*>();
QList<QTreeWidgetItem*>();
never executed: return QList<QTreeWidgetItem*>();
0
2030}-
2031-
2032-
2033-
2034-
2035-
2036-
2037QModelIndex QTreeWidget::indexFromItem(QTreeWidgetItem *item, int column) const-
2038{-
2039 const QTreeWidgetPrivate * const d = d_func();-
2040 return
never executed: return d->index(item, column);
d->index(item, column);
never executed: return d->index(item, column);
0
2041}-
2042-
2043-
2044-
2045-
2046-
2047-
2048QTreeWidgetItem *QTreeWidget::itemFromIndex(const QModelIndex &index) const-
2049{-
2050 const QTreeWidgetPrivate * const d = d_func();-
2051 return
never executed: return d->item(index);
d->item(index);
never executed: return d->item(index);
0
2052}-
2053-
2054-
2055-
2056void QTreeWidget::dropEvent(QDropEvent *event) {-
2057 QTreeWidgetPrivate * const d = d_func();-
2058 if (event->source() == this
event->source() == thisDescription
TRUEnever evaluated
FALSEnever evaluated
&& (event->dropAction() == Qt::MoveAction
event->dropAct...Qt::MoveActionDescription
TRUEnever evaluated
FALSEnever evaluated
||
0
2059 dragDropMode() == QAbstractItemView::InternalMove
dragDropMode()...::InternalMoveDescription
TRUEnever evaluated
FALSEnever evaluated
)) {
0
2060 QModelIndex topIndex;-
2061 int col = -1;-
2062 int row = -1;-
2063 if (d->dropOn(event, &row, &col, &topIndex)
d->dropOn(even...ol, &topIndex)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2064 QList<QModelIndex> idxs = selectedIndexes();-
2065 QList<QPersistentModelIndex> indexes;-
2066 const int indexesCount = idxs.count();-
2067 indexes.reserve(indexesCount);-
2068 for (int i = 0; i < indexesCount
i < indexesCountDescription
TRUEnever evaluated
FALSEnever evaluated
; i++)
0
2069 indexes.append(idxs.at(i));
never executed: indexes.append(idxs.at(i));
0
2070-
2071 if (indexes.contains(topIndex)
indexes.contains(topIndex)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
2072 return;
never executed: return;
0
2073-
2074-
2075 QPersistentModelIndex dropRow = model()->index(row, col, topIndex);-
2076-
2077-
2078 QList<QTreeWidgetItem *> taken;-
2079 for (int i = 0; i < indexes.count()
i < indexes.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
2080 QTreeWidgetItem *parent = itemFromIndex(indexes.at(i));-
2081 if (!parent
!parentDescription
TRUEnever evaluated
FALSEnever evaluated
|| !parent->parent()
!parent->parent()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2082 taken.append(takeTopLevelItem(indexes.at(i).row()));-
2083 }
never executed: end of block
else {
0
2084 taken.append(parent->parent()->takeChild(indexes.at(i).row()));-
2085 }
never executed: end of block
0
2086 }-
2087-
2088-
2089 for (int i = 0; i < indexes.count()
i < indexes.count()Description
TRUEnever evaluated
FALSEnever evaluated
; ++i) {
0
2090-
2091 if (row == -1
row == -1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2092 if (topIndex.isValid()
topIndex.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2093 QTreeWidgetItem *parent = itemFromIndex(topIndex);-
2094 parent->insertChild(parent->childCount(), taken.takeFirst());-
2095 }
never executed: end of block
else {
0
2096 insertTopLevelItem(topLevelItemCount(), taken.takeFirst());-
2097 }
never executed: end of block
0
2098 } else {-
2099 int r = dropRow.row() >= 0
dropRow.row() >= 0Description
TRUEnever evaluated
FALSEnever evaluated
? dropRow.row() : row;
0
2100 if (topIndex.isValid()
topIndex.isValid()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
2101 QTreeWidgetItem *parent = itemFromIndex(topIndex);-
2102 parent->insertChild(qMin(r, parent->childCount()), taken.takeFirst());-
2103 }
never executed: end of block
else {
0
2104 insertTopLevelItem(qMin(r, topLevelItemCount()), taken.takeFirst());-
2105 }
never executed: end of block
0
2106 }-
2107 }-
2108-
2109 event->accept();-
2110-
2111 event->setDropAction(Qt::CopyAction);-
2112 }
never executed: end of block
0
2113 }
never executed: end of block
0
2114-
2115 QTreeView::dropEvent(event);-
2116}
never executed: end of block
0
2117-
2118-
2119-
2120-
2121-
2122-
2123void QTreeWidget::setModel(QAbstractItemModel * )-
2124{-
2125 ((!(!"QTreeWidget::setModel() - Changing the model of the QTreeWidget is not allowed.")) ? qt_assert("!\"QTreeWidget::setModel() - Changing the model of the QTreeWidget is not allowed.\"",__FILE__,3436) : qt_noop());-
2126}
never executed: end of block
0
2127-
2128-
2129-
2130-
2131bool QTreeWidget::event(QEvent *e)-
2132{-
2133 QTreeWidgetPrivate * const d = d_func();-
2134 if (e->type() == QEvent::Polish
e->type() == QEvent::PolishDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
2135 d->treeModel()->executePendingSort();
never executed: d->treeModel()->executePendingSort();
0
2136 return
never executed: return QTreeView::event(e);
QTreeView::event(e);
never executed: return QTreeView::event(e);
0
2137}-
2138-
2139-
2140-
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9