Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qlistwidget_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QLISTWIDGET_P_H
5#define QLISTWIDGET_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. This header file may change
12// from version to version without notice, or even be removed.
13//
14// We mean it.
15//
16
17#include <QtWidgets/private/qtwidgetsglobal_p.h>
18#include <QtCore/qabstractitemmodel.h>
19#include <QtWidgets/qabstractitemview.h>
20#include <QtWidgets/qlistwidget.h>
21#include <qitemdelegate.h>
22#include <private/qlistview_p.h>
23#include <private/qwidgetitemdata_p.h>
24
26
28
30{
31public:
32 inline bool operator()(QListWidgetItem *i1, QListWidgetItem *i2) const
33 { return *i1 < *i2; }
34};
35
37{
38public:
39 inline bool operator()(QListWidgetItem *i1, QListWidgetItem *i2) const
40 { return *i2 < *i1; }
41};
42
44{
46 friend class QListWidget;
47
48public:
51
52 void clear();
53 QListWidgetItem *at(int row) const;
54 void insert(int row, QListWidgetItem *item);
55 void insert(int row, const QStringList &items);
57 QListWidgetItem *take(int row);
58 void move(int srcRow, int dstRow);
59
60 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
61
63 QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const override;
64
65 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
66 bool setData(const QModelIndex &index, const QVariant &value, int role) override;
67 bool clearItemData(const QModelIndex &index) override;
68
69 QMap<int, QVariant> itemData(const QModelIndex &index) const override;
70
71 bool insertRows(int row, int count = 1, const QModelIndex &parent = QModelIndex()) override;
72 bool removeRows(int row, int count = 1, const QModelIndex &parent = QModelIndex()) override;
73 bool moveRows(const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild) override;
74
75 Qt::ItemFlags flags(const QModelIndex &index) const override;
76
77 void sort(int column, Qt::SortOrder order) override;
78 void ensureSorted(int column, Qt::SortOrder order, int start, int end);
79 static bool itemLessThan(const QPair<QListWidgetItem*,int> &left,
81 static bool itemGreaterThan(const QPair<QListWidgetItem*,int> &left,
83 static QList<QListWidgetItem*>::iterator sortedInsertionIterator(
87
88 void itemChanged(QListWidgetItem *item, const QList<int> &roles = QList<int>());
89
90 // dnd
91 QStringList mimeTypes() const override;
92 QMimeData *mimeData(const QModelIndexList &indexes) const override;
93#if QT_CONFIG(draganddrop)
94 bool dropMimeData(const QMimeData *data, Qt::DropAction action,
95 int row, int column, const QModelIndex &parent) override;
96 Qt::DropActions supportedDropActions() const override;
97#endif
98
99 QMimeData *internalMimeData() const;
100private:
102
103 // A cache must be mutable if get-functions should have const modifiers
104 mutable QModelIndexList cachedIndexes;
105};
106
107
108
110{
111 Q_DECLARE_PUBLIC(QListWidget)
112public:
114 inline QListModel *listModel() const { return qobject_cast<QListModel*>(model); }
115 void setup();
122 void _q_emitCurrentItemChanged(const QModelIndex &current, const QModelIndex &previous);
123 void _q_sort();
124 void _q_dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
127};
128
130{
131public:
135 int theid;
136};
137
139
140#endif // QLISTWIDGET_P_H
virtual Qt::DropActions supportedDropActions() const
virtual Q_INVOKABLE int rowCount(const QModelIndex &parent=QModelIndex()) const =0
Returns the number of rows under the given parent.
virtual bool clearItemData(const QModelIndex &index)
virtual Q_INVOKABLE bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
Sets the role data for the item at index to value.
virtual QMap< int, QVariant > itemData(const QModelIndex &index) const
Returns a map with values for all predefined roles in the model for the item at the given index.
virtual QStringList mimeTypes() const
Returns the list of allowed MIME types.
bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
\reimp
bool operator()(QListWidgetItem *i1, QListWidgetItem *i2) const
bool operator()(QListWidgetItem *i1, QListWidgetItem *i2) const
QListWidgetItem * q
QListWidgetItemPrivate(QListWidgetItem *item)
QList< QWidgetItemData > values
The QListWidgetItem class provides an item for use with the QListWidget item view class.
Definition qlistwidget.h:23
void _q_dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight)
QListModel * listModel() const
void _q_emitItemPressed(const QModelIndex &index)
void _q_emitItemEntered(const QModelIndex &index)
void _q_emitItemChanged(const QModelIndex &index)
void _q_emitItemActivated(const QModelIndex &index)
void _q_emitItemClicked(const QModelIndex &index)
void _q_emitItemDoubleClicked(const QModelIndex &index)
void _q_emitCurrentItemChanged(const QModelIndex &current, const QModelIndex &previous)
Qt::SortOrder sortOrder
The QListWidget class provides an item-based list widget.
Definition qlist.h:74
Definition qmap.h:186
\inmodule QtCore
Definition qmimedata.h:16
\inmodule QtCore
\inmodule QtCore
\inmodule QtCore
Definition qvariant.h:64
b clear()
cache insert(employee->id(), employee)
Combined button and popup list for selecting options.
@ DisplayRole
SortOrder
Definition qnamespace.h:120
DropAction
std::pair< T1, T2 > QPair
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLuint index
[2]
GLuint GLuint end
GLenum GLenum GLsizei count
GLdouble GLdouble right
GLint left
GLbitfield flags
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLuint start
GLenum GLenum GLsizei void GLsizei void * column
GLdouble GLdouble GLdouble GLdouble q
Definition qopenglext.h:259
GLenum GLenum GLsizei void * row
GLfixed GLfixed GLint GLint order
QtPrivate::QRegularExpressionMatchIteratorRangeBasedForIterator begin(const QRegularExpressionMatchIterator &iterator)
#define Q_AUTOTEST_EXPORT
#define QT_REQUIRE_CONFIG(feature)
#define Q_OBJECT
settings remove("monkey")
QMimeData * mimeData
QGraphicsItem * item
QList< QTreeWidgetItem * > items
QAction * at
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent