Preparations to deprecate QItemDelegate
QItemDelegate was superseded since Qt4 by QStyledItemDelegate but it took until Qt6.7 to remove the last occurrences in qtbase. - remove unused includes / replace with qabstractitemdelegate.h - replace references in the documentation with QStyledItemDelegate - adjust the examples and tests to use QStyledItemDelegate Pick-to: 6.5 6.6 Change-Id: I246755004ce2d01192a726ca0972106c237df0cc Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
This commit is contained in:
parent
9ed25b413f
commit
4e8b54eb81
@ -26,17 +26,17 @@ protected:
|
||||
};
|
||||
|
||||
// TorrentViewDelegate is used to draw the progress bars.
|
||||
class TorrentViewDelegate : public QItemDelegate
|
||||
class TorrentViewDelegate : public QStyledItemDelegate
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
inline TorrentViewDelegate(MainWindow *mainWindow) : QItemDelegate(mainWindow) {}
|
||||
inline TorrentViewDelegate(MainWindow *mainWindow) : QStyledItemDelegate(mainWindow) {}
|
||||
|
||||
void paint(QPainter *painter, const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index ) const override
|
||||
{
|
||||
if (index.column() != 2) {
|
||||
QItemDelegate::paint(painter, option, index);
|
||||
QStyledItemDelegate::paint(painter, option, index);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -115,7 +115,7 @@
|
||||
\section1 Delegate Class Definition and Implementation
|
||||
|
||||
The delegate we use to mediate interaction between the widget mapper and
|
||||
the input widgets is a small QItemDelegate subclass:
|
||||
the input widgets is a small QStyledItemDelegate subclass:
|
||||
|
||||
\snippet sqlwidgetmapper/delegate.h Delegate class definition
|
||||
|
||||
@ -126,7 +126,7 @@
|
||||
Since we only provide an empty implementation of the constructor, we
|
||||
concentrate on the other two functions.
|
||||
|
||||
The \l{QItemDelegate::}{setEditorData()} implementation takes the data
|
||||
The \l{QStyledItemDelegate::}{setEditorData()} implementation takes the data
|
||||
referred to by the model index supplied and processes it according to
|
||||
the presence of a \c currentIndex property in the editor widget:
|
||||
|
||||
@ -138,10 +138,10 @@
|
||||
values needed for the \c currentIndex property.
|
||||
|
||||
As a result, instead of showing "0", "1" or "2" in the combo box, one of
|
||||
its predefined set of items is shown. We call QItemDelegate::setEditorData()
|
||||
its predefined set of items is shown. We call QStyledItemDelegate::setEditorData()
|
||||
for widgets without the \c currentIndex property.
|
||||
|
||||
The \l{QItemDelegate::}{setModelData()} implementation performs the reverse
|
||||
The \l{QStyledItemDelegate::}{setModelData()} implementation performs the reverse
|
||||
process, taking the value stored in the widget's \c currentIndex property
|
||||
and storing it back in the model:
|
||||
|
||||
|
@ -7,13 +7,13 @@
|
||||
\examplecategory {User Interface Components}
|
||||
\ingroup examples-itemviews
|
||||
\brief This example shows how to create an editor that can be used by
|
||||
a QItemDelegate.
|
||||
a QStyledItemDelegate.
|
||||
|
||||
\image coloreditorfactoryimage.png
|
||||
|
||||
When editing data in a QListView, QTableView, or QTreeView,
|
||||
editors are created and displayed by a \l{Delegate
|
||||
Classes}{delegate}. QItemDelegate, which is the default delegate
|
||||
Classes}{delegate}. QStyledItemDelegate, which is the default delegate
|
||||
used by Qt's \l{View Classes}{item views}, uses a
|
||||
QItemEditorFactory to create editors for it. A unique instance
|
||||
provided by QItemEditorFactory is by default installed on all
|
||||
@ -27,7 +27,7 @@
|
||||
|
||||
In this example, we will create an editor (implemented in the \c
|
||||
ColorListEditor class) that can edit the QColor data type and be
|
||||
used by \l{QItemDelegate}s. We do this by creating a new
|
||||
used by \l{QStyledItemDelegate}s. We do this by creating a new
|
||||
QItemEditorCreatorBase that produces \c ColorListEditors and
|
||||
register it with a new factory, which we set as the default editor
|
||||
item factory (the unique factory instance). To test our editor, we
|
||||
@ -67,7 +67,7 @@
|
||||
|
||||
\snippet itemviews/coloreditorfactory/colorlisteditor.h 0
|
||||
|
||||
QItemDelegate manages the interaction between the editor and
|
||||
QStyledItemDelegate manages the interaction between the editor and
|
||||
the model, i.e., it retrieves data to edit from the model and
|
||||
store data from the editor in the model. The data that is edited
|
||||
by an editor is stored in the editor's user data property, and the
|
||||
@ -106,7 +106,7 @@
|
||||
usually sufficient to provide custom editors. Further
|
||||
customization is achieved by subclassing QItemEditorFactory
|
||||
and QItemEditorCreatorBase. It is also possible to subclass
|
||||
QItemDelegate if you don't wish to use a factory at all.
|
||||
QStyledItemDelegate if you don't wish to use a factory at all.
|
||||
|
||||
Possible suggestions are:
|
||||
|
||||
@ -128,5 +128,5 @@
|
||||
In this example, we use a standard QVariant data type. You can
|
||||
also use custom types. In the \l{Star Delegate Example}, we
|
||||
show how to store a custom data type in a QVariant and paint
|
||||
and edit it in a class that inherits QItemDelegate.
|
||||
and edit it in a class that inherits QStyledItemDelegate.
|
||||
*/
|
||||
|
@ -88,7 +88,7 @@
|
||||
\section1 Delegate Class Definition and Implementation
|
||||
|
||||
The delegate we use to mediate interaction between the widget mapper and
|
||||
the input widgets is a small QItemDelegate subclass:
|
||||
the input widgets is a small QStyledItemDelegate subclass:
|
||||
|
||||
\snippet itemviews/combowidgetmapper/delegate.h Delegate class definition
|
||||
|
||||
@ -99,7 +99,7 @@
|
||||
Since we only provide an empty implementation of the constructor, we
|
||||
concentrate on the other two functions.
|
||||
|
||||
The \l{QItemDelegate::}{setEditorData()} implementation takes the data
|
||||
The \l{QStyledItemDelegate::}{setEditorData()} implementation takes the data
|
||||
referred to by the model index supplied and processes it according to
|
||||
the presence of a \c currentIndex property in the editor widget:
|
||||
|
||||
@ -111,10 +111,10 @@
|
||||
values needed for the \c currentIndex property.
|
||||
|
||||
As a result, instead of showing "0", "1" or "2" in the combo box, one of
|
||||
its predefined set of items is shown. We call QItemDelegate::setEditorData()
|
||||
its predefined set of items is shown. We call QStyledItemDelegate::setEditorData()
|
||||
for widgets without the \c currentIndex property.
|
||||
|
||||
The \l{QItemDelegate::}{setModelData()} implementation performs the reverse
|
||||
The \l{QStyledItemDelegate::}{setModelData()} implementation performs the reverse
|
||||
process, taking the value stored in the widget's \c currentIndex property
|
||||
and storing it back in the model:
|
||||
|
||||
|
@ -496,11 +496,11 @@
|
||||
submitted.
|
||||
|
||||
The items in the view are rendered using a delegate. The default
|
||||
delegate, QItemDelegate, handles the most common data types (\c
|
||||
delegate, QStyledItemDelegate, handles the most common data types (\c
|
||||
int, QString, QImage, etc.). The delegate is also responsible for
|
||||
providing editor widgets (e.g., a combobox) when the user starts
|
||||
editing an item in the view. You can create your own delegates by
|
||||
subclassing QAbstractItemDelegate or QItemDelegate. See
|
||||
subclassing QAbstractItemDelegate or QStyledItemDelegate. See
|
||||
\l{Model/View Programming} for more information.
|
||||
|
||||
QSqlTableModel is optimized to operate on a single table at a
|
||||
|
@ -4,7 +4,6 @@
|
||||
#include "qdatawidgetmapper.h"
|
||||
|
||||
#include "qabstractitemmodel.h"
|
||||
#include "qitemdelegate.h"
|
||||
#include "qmetaobject.h"
|
||||
#include "qwidget.h"
|
||||
#include "qstyleditemdelegate.h"
|
||||
@ -234,7 +233,7 @@ void QDataWidgetMapperPrivate::modelDestroyed()
|
||||
instead of the default user property.
|
||||
|
||||
It is possible to set an item delegate to support custom widgets. By default,
|
||||
a QItemDelegate is used to synchronize the model with the widgets.
|
||||
a QStyledItemDelegate is used to synchronize the model with the widgets.
|
||||
|
||||
Let us assume that we have an item model named \c{model} with the following contents:
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
#include "qlistwidget.h"
|
||||
|
||||
#include <qitemdelegate.h>
|
||||
#include <private/qlistview_p.h>
|
||||
#include <private/qwidgetitemdata_p.h>
|
||||
#include <private/qlistwidget_p.h>
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include <QtCore/qabstractitemmodel.h>
|
||||
#include <QtWidgets/qabstractitemview.h>
|
||||
#include <QtWidgets/qlistwidget.h>
|
||||
#include <qitemdelegate.h>
|
||||
#include <private/qlistview_p.h>
|
||||
#include <private/qwidgetitemdata_p.h>
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
#include "qtableview.h"
|
||||
|
||||
#include <qheaderview.h>
|
||||
#include <qitemdelegate.h>
|
||||
#include <qabstractitemdelegate.h>
|
||||
#include <qapplication.h>
|
||||
#include <qpainter.h>
|
||||
#include <qstyle.h>
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
#include "qtablewidget.h"
|
||||
|
||||
#include <qitemdelegate.h>
|
||||
#include <qpainter.h>
|
||||
#include <private/qtablewidget_p.h>
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include "qtreeview.h"
|
||||
|
||||
#include <qheaderview.h>
|
||||
#include <qitemdelegate.h>
|
||||
#include <qabstractitemdelegate.h>
|
||||
#include <qapplication.h>
|
||||
#include <qscrollbar.h>
|
||||
#include <qpainter.h>
|
||||
|
@ -5,7 +5,6 @@
|
||||
|
||||
#include <qheaderview.h>
|
||||
#include <qpainter.h>
|
||||
#include <qitemdelegate.h>
|
||||
#include <qstack.h>
|
||||
#include <qdebug.h>
|
||||
#include <private/qtreewidget_p.h>
|
||||
|
@ -12,7 +12,7 @@
|
||||
#if QT_CONFIG(tableview)
|
||||
#include <qtableview.h>
|
||||
#endif
|
||||
#include <qitemdelegate.h>
|
||||
#include <qabstractitemdelegate.h>
|
||||
#include <qmap.h>
|
||||
#if QT_CONFIG(menu)
|
||||
#include <qmenu.h>
|
||||
|
@ -3,9 +3,9 @@
|
||||
|
||||
#include "qfontcombobox.h"
|
||||
|
||||
#include <qabstractitemdelegate.h>
|
||||
#include <qaccessible.h>
|
||||
#include <qstringlistmodel.h>
|
||||
#include <qitemdelegate.h>
|
||||
#include <qlistview.h>
|
||||
#include <qpainter.h>
|
||||
#include <qevent.h>
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include <qsharedpointer.h>
|
||||
#include <qfiledialog.h>
|
||||
#include <qabstractitemdelegate.h>
|
||||
#include <qitemdelegate.h>
|
||||
#include <qstyleditemdelegate.h>
|
||||
#include <qlistview.h>
|
||||
#include <qcombobox.h>
|
||||
#include <qpushbutton.h>
|
||||
@ -806,7 +806,7 @@ void tst_QFiledialog::itemDelegate()
|
||||
{
|
||||
QFileDialog fd;
|
||||
QVERIFY(fd.itemDelegate() != 0);
|
||||
QItemDelegate *id = new QItemDelegate(&fd);
|
||||
QStyledItemDelegate *id = new QStyledItemDelegate(&fd);
|
||||
fd.setItemDelegate(id);
|
||||
QCOMPARE(fd.itemDelegate(), (QAbstractItemDelegate *)id);
|
||||
}
|
||||
|
@ -11,7 +11,6 @@
|
||||
#include <qdebug.h>
|
||||
#include <qfiledialog.h>
|
||||
#include <qabstractitemdelegate.h>
|
||||
#include <qitemdelegate.h>
|
||||
#include <qlistview.h>
|
||||
#include <qcombobox.h>
|
||||
#include <qpushbutton.h>
|
||||
|
@ -5,7 +5,7 @@
|
||||
#include <QApplication>
|
||||
#include <QTableView>
|
||||
#include <QStandardItemModel>
|
||||
#include <QItemDelegate>
|
||||
#include <QStyledItemDelegate>
|
||||
#include <QDebug>
|
||||
#include <QComboBox>
|
||||
|
||||
@ -16,10 +16,10 @@ public:
|
||||
~ExampleEditor() { QApplication::instance()->quit(); }
|
||||
};
|
||||
|
||||
class ExampleDelegate : public QItemDelegate
|
||||
class ExampleDelegate : public QStyledItemDelegate
|
||||
{
|
||||
public:
|
||||
ExampleDelegate() : QItemDelegate()
|
||||
ExampleDelegate() : QStyledItemDelegate()
|
||||
{
|
||||
m_editor = new ExampleEditor(0);
|
||||
m_combobox = new QComboBox(0);
|
||||
|
@ -2,7 +2,7 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
#include <QTableView>
|
||||
#include <QVBoxLayout>
|
||||
#include <QItemDelegate>
|
||||
#include <QStyledItemDelegate>
|
||||
#include <QItemEditorFactory>
|
||||
#include <QDoubleSpinBox>
|
||||
|
||||
@ -38,7 +38,7 @@ LocaleWidget::LocaleWidget(QWidget *parent)
|
||||
m_model = new LocaleModel(this);
|
||||
m_view = new QTableView(this);
|
||||
|
||||
QItemDelegate *delegate = qobject_cast<QItemDelegate*>(m_view->itemDelegate());
|
||||
QStyledItemDelegate *delegate = qobject_cast<QStyledItemDelegate*>(m_view->itemDelegate());
|
||||
Q_ASSERT(delegate != 0);
|
||||
static EditorFactory editor_factory;
|
||||
delegate->setItemEditorFactory(&editor_factory);
|
||||
|
Loading…
Reference in New Issue
Block a user