void WatchTreeView::reexpand(QTreeView *view, const QModelIndex &idx) { if (idx.data(LocalsExpandedRole).toBool()) { //qDebug() << "EXPANDING " << view->model()->data(idx, LocalsINameRole); if (!view->isExpanded(idx)) { view->expand(idx); for (int i = 0, n = view->model()->rowCount(idx); i != n; ++i) { QModelIndex idx1 = view->model()->index(i, 0, idx); reexpand(view, idx1); } } } else { //qDebug() << "COLLAPSING " << view->model()->data(idx, LocalsINameRole); if (view->isExpanded(idx)) view->collapse(idx); } }
int QTreeView::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QAbstractItemView::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: expanded((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 1: collapsed((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 2: hideColumn((*reinterpret_cast< int(*)>(_a[1]))); break; case 3: showColumn((*reinterpret_cast< int(*)>(_a[1]))); break; case 4: expand((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 5: collapse((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 6: resizeColumnToContents((*reinterpret_cast< int(*)>(_a[1]))); break; case 7: sortByColumn((*reinterpret_cast< int(*)>(_a[1]))); break; case 8: expandAll(); break; case 9: collapseAll(); break; case 10: expandToDepth((*reinterpret_cast< int(*)>(_a[1]))); break; case 11: columnResized((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 12: columnCountChanged((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; case 13: columnMoved(); break; case 14: reexpand(); break; case 15: rowsRemoved((*reinterpret_cast< const QModelIndex(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3]))); break; case 16: d_func()->_q_endAnimatedOperation(); break; case 17: d_func()->_q_modelAboutToBeReset(); break; case 18: d_func()->_q_sortIndicatorChanged((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< Qt::SortOrder(*)>(_a[2]))); break; default: ; } _id -= 19; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< int*>(_v) = autoExpandDelay(); break; case 1: *reinterpret_cast< int*>(_v) = indentation(); break; case 2: *reinterpret_cast< bool*>(_v) = rootIsDecorated(); break; case 3: *reinterpret_cast< bool*>(_v) = uniformRowHeights(); break; case 4: *reinterpret_cast< bool*>(_v) = itemsExpandable(); break; case 5: *reinterpret_cast< bool*>(_v) = isSortingEnabled(); break; case 6: *reinterpret_cast< bool*>(_v) = isAnimated(); break; case 7: *reinterpret_cast< bool*>(_v) = allColumnsShowFocus(); break; case 8: *reinterpret_cast< bool*>(_v) = wordWrap(); break; case 9: *reinterpret_cast< bool*>(_v) = isHeaderHidden(); break; case 10: *reinterpret_cast< bool*>(_v) = expandsOnDoubleClick(); break; } _id -= 11; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setAutoExpandDelay(*reinterpret_cast< int*>(_v)); break; case 1: setIndentation(*reinterpret_cast< int*>(_v)); break; case 2: setRootIsDecorated(*reinterpret_cast< bool*>(_v)); break; case 3: setUniformRowHeights(*reinterpret_cast< bool*>(_v)); break; case 4: setItemsExpandable(*reinterpret_cast< bool*>(_v)); break; case 5: setSortingEnabled(*reinterpret_cast< bool*>(_v)); break; case 6: setAnimated(*reinterpret_cast< bool*>(_v)); break; case 7: setAllColumnsShowFocus(*reinterpret_cast< bool*>(_v)); break; case 8: setWordWrap(*reinterpret_cast< bool*>(_v)); break; case 9: setHeaderHidden(*reinterpret_cast< bool*>(_v)); break; case 10: setExpandsOnDoubleClick(*reinterpret_cast< bool*>(_v)); break; } _id -= 11; } else if (_c == QMetaObject::ResetProperty) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 11; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 11; } #endif // QT_NO_PROPERTIES return _id; }
void WatchTreeView::resetHelper() { QModelIndex idx = model()->index(m_type, 0); reexpand(this, idx); expand(idx); }