summaryrefslogtreecommitdiffstats
path: root/src/gui/itemmodels/qstandarditemmodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/itemmodels/qstandarditemmodel.h')
-rw-r--r--src/gui/itemmodels/qstandarditemmodel.h84
1 files changed, 18 insertions, 66 deletions
diff --git a/src/gui/itemmodels/qstandarditemmodel.h b/src/gui/itemmodels/qstandarditemmodel.h
index f1c6e6df5c..a5ae05feeb 100644
--- a/src/gui/itemmodels/qstandarditemmodel.h
+++ b/src/gui/itemmodels/qstandarditemmodel.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QSTANDARDITEMMODEL_H
#define QSTANDARDITEMMODEL_H
@@ -66,6 +30,7 @@ public:
virtual ~QStandardItem();
virtual QVariant data(int role = Qt::UserRole + 1) const;
+ virtual void multiData(QModelRoleDataSpan roleDataSpan) const;
virtual void setData(const QVariant &value, int role = Qt::UserRole + 1);
void clearData();
@@ -79,12 +44,10 @@ public:
}
inline void setIcon(const QIcon &icon);
-#ifndef QT_NO_TOOLTIP
inline QString toolTip() const {
return qvariant_cast<QString>(data(Qt::ToolTipRole));
}
inline void setToolTip(const QString &toolTip);
-#endif
#ifndef QT_NO_STATUSTIP
inline QString statusTip() const {
@@ -111,7 +74,7 @@ public:
inline void setFont(const QFont &font);
inline Qt::Alignment textAlignment() const {
- return Qt::Alignment(qvariant_cast<int>(data(Qt::TextAlignmentRole)));
+ return qvariant_cast<Qt::Alignment>(data(Qt::TextAlignmentRole));
}
inline void setTextAlignment(Qt::Alignment textAlignment);
@@ -144,48 +107,43 @@ public:
void setFlags(Qt::ItemFlags flags);
inline bool isEnabled() const {
- return (flags() & Qt::ItemIsEnabled) != 0;
+ return bool(flags() & Qt::ItemIsEnabled);
}
void setEnabled(bool enabled);
inline bool isEditable() const {
- return (flags() & Qt::ItemIsEditable) != 0;
+ return bool(flags() & Qt::ItemIsEditable);
}
void setEditable(bool editable);
inline bool isSelectable() const {
- return (flags() & Qt::ItemIsSelectable) != 0;
+ return bool(flags() & Qt::ItemIsSelectable);
}
void setSelectable(bool selectable);
inline bool isCheckable() const {
- return (flags() & Qt::ItemIsUserCheckable) != 0;
+ return bool(flags() & Qt::ItemIsUserCheckable);
}
void setCheckable(bool checkable);
inline bool isAutoTristate() const {
- return (flags() & Qt::ItemIsAutoTristate) != 0;
+ return bool(flags() & Qt::ItemIsAutoTristate);
}
void setAutoTristate(bool tristate);
inline bool isUserTristate() const {
- return (flags() & Qt::ItemIsUserTristate) != 0;
+ return bool(flags() & Qt::ItemIsUserTristate);
}
void setUserTristate(bool tristate);
-#if QT_DEPRECATED_SINCE(5, 6)
- QT_DEPRECATED bool isTristate() const { return isAutoTristate(); }
- QT_DEPRECATED void setTristate(bool tristate);
-#endif
-
#if QT_CONFIG(draganddrop)
inline bool isDragEnabled() const {
- return (flags() & Qt::ItemIsDragEnabled) != 0;
+ return bool(flags() & Qt::ItemIsDragEnabled);
}
void setDragEnabled(bool dragEnabled);
inline bool isDropEnabled() const {
- return (flags() & Qt::ItemIsDropEnabled) != 0;
+ return bool(flags() & Qt::ItemIsDropEnabled);
}
void setDropEnabled(bool dropEnabled);
#endif // QT_CONFIG(draganddrop)
@@ -260,10 +218,8 @@ inline void QStandardItem::setText(const QString &atext)
inline void QStandardItem::setIcon(const QIcon &aicon)
{ setData(aicon, Qt::DecorationRole); }
-#ifndef QT_NO_TOOLTIP
inline void QStandardItem::setToolTip(const QString &atoolTip)
{ setData(atoolTip, Qt::ToolTipRole); }
-#endif
#ifndef QT_NO_STATUSTIP
inline void QStandardItem::setStatusTip(const QString &astatusTip)
@@ -282,7 +238,7 @@ inline void QStandardItem::setFont(const QFont &afont)
{ setData(afont, Qt::FontRole); }
inline void QStandardItem::setTextAlignment(Qt::Alignment atextAlignment)
-{ setData(int(atextAlignment), Qt::TextAlignmentRole); }
+{ setData(QVariant::fromValue(atextAlignment), Qt::TextAlignmentRole); }
inline void QStandardItem::setBackground(const QBrush &abrush)
{ setData(abrush, Qt::BackgroundRole); }
@@ -322,7 +278,7 @@ class QStandardItemModelPrivate;
class Q_GUI_EXPORT QStandardItemModel : public QAbstractItemModel
{
Q_OBJECT
- Q_PROPERTY(int sortRole READ sortRole WRITE setSortRole)
+ Q_PROPERTY(int sortRole READ sortRole WRITE setSortRole BINDABLE bindableSortRole)
public:
explicit QStandardItemModel(QObject *parent = nullptr);
@@ -330,6 +286,7 @@ public:
~QStandardItemModel();
void setItemRoleNames(const QHash<int,QByteArray> &roleNames);
+ QHash<int, QByteArray> roleNames() const override;
QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
QModelIndex parent(const QModelIndex &child) const override;
@@ -337,16 +294,11 @@ public:
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
bool hasChildren(const QModelIndex &parent = QModelIndex()) const override;
- // Qt 6: Remove
- QModelIndex sibling(int row, int column, const QModelIndex &idx) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
+ void multiData(const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const override;
bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
- bool clearItemData(const QModelIndex &index)
-#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
- override
-#endif
- ;
+ bool clearItemData(const QModelIndex &index) override;
QVariant headerData(int section, Qt::Orientation orientation,
int role = Qt::DisplayRole) const override;
@@ -416,13 +368,13 @@ public:
int sortRole() const;
void setSortRole(int role);
+ QBindable<int> bindableSortRole();
QStringList mimeTypes() const override;
QMimeData *mimeData(const QModelIndexList &indexes) const override;
bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override;
Q_SIGNALS:
- // ### Qt 6: add changed roles
void itemChanged(QStandardItem *item);
protected: