summaryrefslogtreecommitdiffstats
path: root/src/gui/itemviews/qtreeview_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/itemviews/qtreeview_p.h')
-rw-r--r--src/gui/itemviews/qtreeview_p.h251
1 files changed, 0 insertions, 251 deletions
diff --git a/src/gui/itemviews/qtreeview_p.h b/src/gui/itemviews/qtreeview_p.h
deleted file mode 100644
index 9a923c5972..0000000000
--- a/src/gui/itemviews/qtreeview_p.h
+++ /dev/null
@@ -1,251 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTREEVIEW_P_H
-#define QTREEVIEW_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include "private/qabstractitemview_p.h"
-#include <QtCore/qvariantanimation.h>
-#include <QtCore/qabstractitemmodel.h>
-
-#ifndef QT_NO_TREEVIEW
-
-QT_BEGIN_NAMESPACE
-
-struct QTreeViewItem
-{
- QTreeViewItem() : parentItem(-1), expanded(false), spanning(false), hasChildren(false),
- hasMoreSiblings(false), total(0), level(0), height(0) {}
- QModelIndex index; // we remove items whenever the indexes are invalidated
- int parentItem; // parent item index in viewItems
- uint expanded : 1;
- uint spanning : 1;
- uint hasChildren : 1; // if the item has visible children (even if collapsed)
- uint hasMoreSiblings : 1;
- uint total : 28; // total number of children visible
- uint level : 16; // indentation
- int height : 16; // row height
-};
-
-Q_DECLARE_TYPEINFO(QTreeViewItem, Q_MOVABLE_TYPE);
-
-class QTreeViewPrivate : public QAbstractItemViewPrivate
-{
- Q_DECLARE_PUBLIC(QTreeView)
-public:
-
- QTreeViewPrivate()
- : QAbstractItemViewPrivate(),
- header(0), indent(20), lastViewedItem(0), defaultItemHeight(-1),
- uniformRowHeights(false), rootDecoration(true),
- itemsExpandable(true), sortingEnabled(false),
- expandsOnDoubleClick(true),
- allColumnsShowFocus(false), current(0), spanning(false),
- animationsEnabled(false), columnResizeTimerID(0),
- autoExpandDelay(-1), hoverBranch(-1), geometryRecursionBlock(false), hasRemovedItems(false) {}
-
- ~QTreeViewPrivate() {}
- void initialize();
-
- QItemViewPaintPairs draggablePaintPairs(const QModelIndexList &indexes, QRect *r) const;
-
-#ifndef QT_NO_ANIMATION
- struct AnimatedOperation : public QVariantAnimation
- {
- int item;
- QPixmap before;
- QPixmap after;
- QWidget *viewport;
- AnimatedOperation() : item(0) { setEasingCurve(QEasingCurve::InOutQuad); }
- int top() const { return startValue().toInt(); }
- QRect rect() const { QRect rect = viewport->rect(); rect.moveTop(top()); return rect; }
- void updateCurrentValue(const QVariant &) { viewport->update(rect()); }
- void updateState(State state, State) { if (state == Stopped) before = after = QPixmap(); }
- } animatedOperation;
- void prepareAnimatedOperation(int item, QVariantAnimation::Direction d);
- void beginAnimatedOperation();
- void drawAnimatedOperation(QPainter *painter) const;
- QPixmap renderTreeToPixmapForAnimation(const QRect &rect) const;
- void _q_endAnimatedOperation();
-#endif //QT_NO_ANIMATION
-
- void expand(int item, bool emitSignal);
- void collapse(int item, bool emitSignal);
-
- void _q_columnsAboutToBeRemoved(const QModelIndex &, int, int);
- void _q_columnsRemoved(const QModelIndex &, int, int);
- void _q_modelAboutToBeReset();
- void _q_sortIndicatorChanged(int column, Qt::SortOrder order);
- void _q_modelDestroyed();
-
- void layout(int item, bool recusiveExpanding = false, bool afterIsUninitialized = false);
-
- int pageUp(int item) const;
- int pageDown(int item) const;
-
- int itemHeight(int item) const;
- int indentationForItem(int item) const;
- int coordinateForItem(int item) const;
- int itemAtCoordinate(int coordinate) const;
-
- int viewIndex(const QModelIndex &index) const;
- QModelIndex modelIndex(int i, int column = 0) const;
-
- void insertViewItems(int pos, int count, const QTreeViewItem &viewItem);
- void removeViewItems(int pos, int count);
-#if 0
- bool checkViewItems() const;
-#endif
-
- int firstVisibleItem(int *offset = 0) const;
- int columnAt(int x) const;
- bool hasVisibleChildren( const QModelIndex& parent) const;
-
- bool expandOrCollapseItemAtPos(const QPoint &pos);
-
- void updateScrollBars();
-
- int itemDecorationAt(const QPoint &pos) const;
- QRect itemDecorationRect(const QModelIndex &index) const;
-
-
- QList<QPair<int, int> > columnRanges(const QModelIndex &topIndex, const QModelIndex &bottomIndex) const;
- void select(const QModelIndex &start, const QModelIndex &stop, QItemSelectionModel::SelectionFlags command);
-
- QPair<int,int> startAndEndColumns(const QRect &rect) const;
-
- void updateChildCount(const int parentItem, const int delta);
-
- void paintAlternatingRowColors(QPainter *painter, QStyleOptionViewItemV4 *option, int y, int bottom) const;
-
- QHeaderView *header;
- int indent;
-
- mutable QVector<QTreeViewItem> viewItems;
- mutable int lastViewedItem;
- int defaultItemHeight; // this is just a number; contentsHeight() / numItems
- bool uniformRowHeights; // used when all rows have the same height
- bool rootDecoration;
- bool itemsExpandable;
- bool sortingEnabled;
- bool expandsOnDoubleClick;
- bool allColumnsShowFocus;
-
- // used for drawing
- mutable QPair<int,int> leftAndRight;
- mutable int current;
- mutable bool spanning;
-
- // used when expanding and collapsing items
- QSet<QPersistentModelIndex> expandedIndexes;
- bool animationsEnabled;
-
- inline bool storeExpanded(const QPersistentModelIndex &idx) {
- if (expandedIndexes.contains(idx))
- return false;
- expandedIndexes.insert(idx);
- return true;
- }
-
- inline bool isIndexExpanded(const QModelIndex &idx) const {
- //We first check if the idx is a QPersistentModelIndex, because creating QPersistentModelIndex is slow
- return isPersistent(idx) && expandedIndexes.contains(idx);
- }
-
- // used when hiding and showing items
- QSet<QPersistentModelIndex> hiddenIndexes;
-
- inline bool isRowHidden(const QModelIndex &idx) const {
- //We first check if the idx is a QPersistentModelIndex, because creating QPersistentModelIndex is slow
- return isPersistent(idx) && hiddenIndexes.contains(idx);
- }
-
- inline bool isItemHiddenOrDisabled(int i) const {
- if (i < 0 || i >= viewItems.count())
- return false;
- const QModelIndex index = viewItems.at(i).index;
- return isRowHidden(index) || !isIndexEnabled(index);
- }
-
- inline int above(int item) const
- { int i = item; while (isItemHiddenOrDisabled(--item)){} return item < 0 ? i : item; }
- inline int below(int item) const
- { int i = item; while (isItemHiddenOrDisabled(++item)){} return item >= viewItems.count() ? i : item; }
- inline void invalidateHeightCache(int item) const
- { viewItems[item].height = 0; }
-
- // used for spanning rows
- QVector<QPersistentModelIndex> spanningIndexes;
-
- // used for updating resized columns
- int columnResizeTimerID;
- QList<int> columnsToUpdate;
-
- // used for the automatic opening of nodes during DND
- int autoExpandDelay;
- QBasicTimer openTimer;
-
- // used for drawing hilighted expand/collapse indicators
- int hoverBranch;
-
- // used for blocking recursion when calling setViewportMargins from updateGeometries
- bool geometryRecursionBlock;
-
- // If we should clean the set
- bool hasRemovedItems;
-};
-
-QT_END_NAMESPACE
-
-#endif // QT_NO_TREEVIEW
-
-#endif // QTREEVIEW_P_H