18#include <QtWidgets/private/qtwidgetsglobal_p.h>
19#include "private/qabstractitemview_p.h"
20#include <QtCore/qabstractitemmodel.h>
21#include <QtCore/qlist.h>
22#if QT_CONFIG(animation)
23#include <QtCore/qvariantanimation.h>
56 header(
nullptr), indent(20), lastViewedItem(0), defaultItemHeight(-1),
57 uniformRowHeights(
false), rootDecoration(true),
58 itemsExpandable(true), sortingEnabled(
false),
59 expandsOnDoubleClick(true),
60 allColumnsShowFocus(
false), customIndent(
false), current(0), spanning(
false),
61 animationsEnabled(
false), columnResizeTimerID(0),
62 autoExpandDelay(-1), hoverBranch(-1), geometryRecursionBlock(
false), hasRemovedItems(
false),
67 void clearConnections();
68 int logicalIndexForTree()
const;
71 return logicalIndex == logicalIndexForTree();
75 void adjustViewOptionsForIndex(QStyleOptionViewItem *
option,
const QModelIndex ¤t)
const override;
77#if QT_CONFIG(animation)
85 int top()
const {
return startValue().toInt(); }
91 void beginAnimatedOperation();
94 void endAnimatedOperation();
97 void expand(
int item,
bool emitSignal);
98 void collapse(
int item,
bool emitSignal);
100 void columnsAboutToBeRemoved(
const QModelIndex &,
int,
int)
override;
101 void columnsRemoved(
const QModelIndex &,
int,
int)
override;
102 void modelAboutToBeReset();
104 void modelDestroyed()
override;
107 void layout(
int item,
bool recusiveExpanding =
false,
bool afterIsUninitialized =
false);
109 int pageUp(
int item)
const;
110 int pageDown(
int item)
const;
111 int itemForKeyHome()
const;
112 int itemForKeyEnd()
const;
114 int itemHeight(
int item)
const;
115 int indentationForItem(
int item)
const;
116 int coordinateForItem(
int item)
const;
117 int itemAtCoordinate(
int coordinate)
const;
123 void removeViewItems(
int pos,
int count);
125 bool checkViewItems()
const;
128 int firstVisibleItem(
int *
offset =
nullptr)
const;
129 int lastVisibleItem(
int firstVisual = -1,
int offset = -1)
const;
130 int columnAt(
int x)
const;
131 bool hasVisibleChildren(
const QModelIndex& parent)
const;
133 bool expandOrCollapseItemAtPos(
const QPoint &
pos);
135 void updateScrollBars();
137 int itemDecorationAt(
const QPoint &
pos)
const;
140 QList<QPair<int, int>> columnRanges(
const QModelIndex &topIndex,
144 QPair<int,int> startAndEndColumns(
const QRect &
rect)
const;
152 void calcLogicalIndices(QList<int> *logicalIndices,
153 QList<QStyleOptionViewItem::ViewItemPosition> *itemPositions,
int left,
160 AddRowIndicatorToFirstSection
195 if (expandedIndexes.contains(idx))
197 expandedIndexes.insert(idx);
210 if (hiddenIndexes.isEmpty())
213 return isPersistent(idx) && hiddenIndexes.contains(idx);
217 if (i < 0 || i >= viewItems.size())
220 return isRowHidden(
index) || !isIndexEnabled(
index);
224 {
int i =
item;
while (isItemHiddenOrDisabled(--
item)){}
return item < 0 ?
i :
item; }
226 {
int i =
item;
while (isItemHiddenOrDisabled(++
item)){}
return item >= viewItems.size() ?
i :
item; }
228 { viewItems[
item].height = 0; }
236 void updateIndentationFromStyle();
262#if QT_CONFIG(accessibility)
263 bool pendingAccessibilityUpdate =
false;
265 void updateAccessibility();
Direction
This enum describes the direction of the animation when in \l Running state.
Qt::ItemFlags flags() const
The QPainter class performs low-level painting on widgets and other paint devices.
Returns a copy of the pixmap that is transformed using the given transformation transform and transfo...
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
constexpr void moveTop(int pos) noexcept
Moves the rectangle vertically, leaving the rectangle's top edge at the given y coordinate.
int columnCount(const QModelIndex &parent=QModelIndex()) const override
\reimp
bool isRowHidden(const QModelIndex &idx) const
bool isItemHiddenOrDisabled(int i) const
QMetaObject::Connection animationConnection
void invalidateHeightCache(int item) const
bool expandsOnDoubleClick
QMetaObject::Connection selectionmodelConnection
bool isIndexExpanded(const QModelIndex &idx) const
bool storeExpanded(const QPersistentModelIndex &idx)
int below(int item) const
bool isTreePosition(int logicalIndex) const
std::array< QMetaObject::Connection, 5 > headerConnections
QPair< int, int > leftAndRight
QList< int > columnsToUpdate
QList< QTreeViewItem > viewItems
int accessibleTable2Index(const QModelIndex &index) const
QRect visualRect(const QModelIndex &index) const override
QMetaObject::Connection sortHeaderConnection
int above(int item) const
QSet< QPersistentModelIndex > hiddenIndexes
QSet< QPersistentModelIndex > spanningIndexes
std::array< QMetaObject::Connection, 2 > modelConnections
bool geometryRecursionBlock
QSet< QPersistentModelIndex > expandedIndexes
void updateChildCount(const int parentItem, const int delta)
The QTreeView class provides a default model/view implementation of a tree view.
Combined button and popup list for selecting options.
QList< QItemViewPaintPair > QItemViewPaintPairs
DBusConnection const char * rule
static QString header(const QString &name)
static void visualRect(QRectF *geom, Qt::LayoutDirection dir, const QRectF &contentsRect)
GLint GLint GLint GLint GLint x
[0]
GLenum GLuint GLint level
GLint GLsizei GLsizei height
GLdouble GLdouble GLdouble GLdouble top
GLenum GLenum GLsizei count
GLenum GLuint GLintptr offset
GLenum GLenum GLsizei void GLsizei void * column
GLfixed GLfixed GLint GLint order
static QT_BEGIN_NAMESPACE QVariant hint(QPlatformIntegration::StyleHint h)
#define QT_REQUIRE_CONFIG(feature)
#define Q_DECLARE_TYPEINFO(TYPE, FLAGS)
QSqlQueryModel * model
[16]
view viewport() -> scroll(dx, dy, deviceRect)
selection select(topLeft, bottomRight)