Convert "Color Editor Factory" Example to snippets
The color editor factory example is removed and part of the codes are used as snippets. Fixes: QTBUG-119985 Pick-to: 6.6 Change-Id: I421e473e7db09a5af7543b80b87a338d8ff2ab7e Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> (cherry picked from commit 4e1a1f3697563124588d7d00089b15084220ca42) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
23b69855c0
commit
869e46613d
Binary file not shown.
Before Width: | Height: | Size: 12 KiB |
@ -1,132 +0,0 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
|
||||||
|
|
||||||
/*!
|
|
||||||
\example itemviews/coloreditorfactory
|
|
||||||
\title Color Editor Factory Example
|
|
||||||
\examplecategory {User Interface Components}
|
|
||||||
\ingroup examples-itemviews
|
|
||||||
\brief This example shows how to create an editor that can be used by
|
|
||||||
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}. 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
|
|
||||||
item delegates.
|
|
||||||
|
|
||||||
An item editor factory contains a collection of
|
|
||||||
QItemEditorCreatorBase instances, which are specialized factories
|
|
||||||
that produce editors for one particular QVariant data type (all
|
|
||||||
models in Qt store their data in \l{QVariant}s). An editor can be any
|
|
||||||
Qt or custom widget.
|
|
||||||
|
|
||||||
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{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
|
|
||||||
have implemented the \c Window class, which displays a
|
|
||||||
QTableWidget in which \l{QColor}s can be edited.
|
|
||||||
|
|
||||||
\section1 Window Class Implementation
|
|
||||||
|
|
||||||
In the Window class, we create the item editor creator
|
|
||||||
base for our color editor and add it to the default factory.
|
|
||||||
We also create a QTableWidget in which our editor can be
|
|
||||||
tested. It is filled with some data and displayed in a window.
|
|
||||||
|
|
||||||
We take a closer look at the constructor:
|
|
||||||
|
|
||||||
\snippet itemviews/coloreditorfactory/window.cpp 0
|
|
||||||
|
|
||||||
The QStandardItemEditorCreator is a convenience class that
|
|
||||||
inherits QItemEditorCreatorBase. Its constructor takes a template
|
|
||||||
class, of which instances are returned from
|
|
||||||
\l{QItemEditorCreatorBase::}{createWidget()}. The creator uses a
|
|
||||||
constructor that takes a QWidget as its only parameter; the
|
|
||||||
template class must provide this. This way, there is no need to
|
|
||||||
subclass QStandardItemEditorCreator.
|
|
||||||
|
|
||||||
After the new factory has been set, all standard item delegates
|
|
||||||
will use it (i.e, also delegates that were created before the new
|
|
||||||
default factory was set).
|
|
||||||
|
|
||||||
The \c createGUI() function sets up the table and fills it
|
|
||||||
with data.
|
|
||||||
|
|
||||||
\section1 ColorListEditor Definition
|
|
||||||
|
|
||||||
The ColorListEditor inherits QComboBox and lets the user
|
|
||||||
select a QColor from its popup list.
|
|
||||||
|
|
||||||
\snippet itemviews/coloreditorfactory/colorlisteditor.h 0
|
|
||||||
|
|
||||||
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
|
|
||||||
delegate uses Qt's \l{Qt's Property System}{property system} to
|
|
||||||
access it by name. We declare our user data property with the
|
|
||||||
Q_PROPERTY macro. The property is set to be the user type with the
|
|
||||||
USER keyword.
|
|
||||||
|
|
||||||
\section1 ColorListEditor Implementation
|
|
||||||
|
|
||||||
The constructor of \c ColorListEditor simply calls \c
|
|
||||||
populateList(), which we will look at later. We move on to the
|
|
||||||
\c color() function:
|
|
||||||
|
|
||||||
\snippet itemviews/coloreditorfactory/colorlisteditor.cpp 0
|
|
||||||
|
|
||||||
We return the data that is selected in the combobox. The data
|
|
||||||
is stored in the Qt::DecorationRole as the color is then also
|
|
||||||
displayed in the popup list (as shown in the image above).
|
|
||||||
|
|
||||||
\snippet itemviews/coloreditorfactory/colorlisteditor.cpp 1
|
|
||||||
|
|
||||||
The \c findData() function searches the items in the combobox
|
|
||||||
and returns the index of the item that has \c color in the
|
|
||||||
Qt::Decoration role.
|
|
||||||
|
|
||||||
\snippet itemviews/coloreditorfactory/colorlisteditor.cpp 2
|
|
||||||
|
|
||||||
Qt knows some predefined colors by name. We simply loop
|
|
||||||
through these to fill our editor with items.
|
|
||||||
|
|
||||||
\section1 Further Customization of Item View Editors
|
|
||||||
|
|
||||||
You can customize Qt's \l{Model/View Programming}{model view
|
|
||||||
framework} in many ways. The procedure shown in this example is
|
|
||||||
usually sufficient to provide custom editors. Further
|
|
||||||
customization is achieved by subclassing QItemEditorFactory
|
|
||||||
and QItemEditorCreatorBase. It is also possible to subclass
|
|
||||||
QStyledItemDelegate if you don't wish to use a factory at all.
|
|
||||||
|
|
||||||
Possible suggestions are:
|
|
||||||
|
|
||||||
\list
|
|
||||||
\li If the editor widget has no user property defined, the delegate
|
|
||||||
asks the factory for the property name, which it in turn
|
|
||||||
asks the item editor creator for. In this case, you can use
|
|
||||||
the QItemEditorCreator class, which takes the property
|
|
||||||
name to use for editing as a constructor argument.
|
|
||||||
\li If the editor requires other constructors or other
|
|
||||||
initialization than provided by QItemEditorCreatorBase, you
|
|
||||||
must reimplement
|
|
||||||
QItemEditorCreatorBase::createWidget().
|
|
||||||
\li You could also subclass QItemEditorFactory if you only want
|
|
||||||
to provide editors for certain kinds of data or use another
|
|
||||||
method of creating the editors than using creator bases.
|
|
||||||
\endlist
|
|
||||||
|
|
||||||
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 QStyledItemDelegate.
|
|
||||||
*/
|
|
@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
qt_internal_add_example(addressbook)
|
qt_internal_add_example(addressbook)
|
||||||
qt_internal_add_example(basicsortfiltermodel)
|
qt_internal_add_example(basicsortfiltermodel)
|
||||||
qt_internal_add_example(coloreditorfactory)
|
|
||||||
qt_internal_add_example(combowidgetmapper)
|
qt_internal_add_example(combowidgetmapper)
|
||||||
qt_internal_add_example(customsortfiltermodel)
|
qt_internal_add_example(customsortfiltermodel)
|
||||||
qt_internal_add_example(editabletreemodel)
|
qt_internal_add_example(editabletreemodel)
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
# Copyright (C) 2022 The Qt Company Ltd.
|
|
||||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.16)
|
|
||||||
project(coloreditorfactory LANGUAGES CXX)
|
|
||||||
|
|
||||||
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)
|
|
||||||
|
|
||||||
qt_standard_project_setup()
|
|
||||||
|
|
||||||
qt_add_executable(coloreditorfactory
|
|
||||||
colorlisteditor.cpp colorlisteditor.h
|
|
||||||
main.cpp
|
|
||||||
window.cpp window.h
|
|
||||||
)
|
|
||||||
|
|
||||||
set_target_properties(coloreditorfactory PROPERTIES
|
|
||||||
WIN32_EXECUTABLE TRUE
|
|
||||||
MACOSX_BUNDLE TRUE
|
|
||||||
)
|
|
||||||
|
|
||||||
target_link_libraries(coloreditorfactory PRIVATE
|
|
||||||
Qt6::Core
|
|
||||||
Qt6::Gui
|
|
||||||
Qt6::Widgets
|
|
||||||
)
|
|
||||||
|
|
||||||
install(TARGETS coloreditorfactory
|
|
||||||
BUNDLE DESTINATION .
|
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
qt_generate_deploy_app_script(
|
|
||||||
TARGET coloreditorfactory
|
|
||||||
OUTPUT_SCRIPT deploy_script
|
|
||||||
NO_UNSUPPORTED_PLATFORM_ERROR
|
|
||||||
)
|
|
||||||
install(SCRIPT ${deploy_script})
|
|
@ -1,12 +0,0 @@
|
|||||||
QT += widgets
|
|
||||||
requires(qtConfig(combobox))
|
|
||||||
|
|
||||||
HEADERS = colorlisteditor.h \
|
|
||||||
window.h
|
|
||||||
SOURCES = colorlisteditor.cpp \
|
|
||||||
window.cpp \
|
|
||||||
main.cpp
|
|
||||||
|
|
||||||
# install
|
|
||||||
target.path = $$[QT_INSTALL_EXAMPLES]/widgets/itemviews/coloreditorfactory
|
|
||||||
INSTALLS += target
|
|
@ -1,39 +0,0 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
||||||
|
|
||||||
#include "colorlisteditor.h"
|
|
||||||
|
|
||||||
#include <QtWidgets>
|
|
||||||
|
|
||||||
ColorListEditor::ColorListEditor(QWidget *widget) : QComboBox(widget)
|
|
||||||
{
|
|
||||||
populateList();
|
|
||||||
}
|
|
||||||
|
|
||||||
//! [0]
|
|
||||||
QColor ColorListEditor::color() const
|
|
||||||
{
|
|
||||||
return qvariant_cast<QColor>(itemData(currentIndex(), Qt::DecorationRole));
|
|
||||||
}
|
|
||||||
//! [0]
|
|
||||||
|
|
||||||
//! [1]
|
|
||||||
void ColorListEditor::setColor(const QColor &color)
|
|
||||||
{
|
|
||||||
setCurrentIndex(findData(color, Qt::DecorationRole));
|
|
||||||
}
|
|
||||||
//! [1]
|
|
||||||
|
|
||||||
//! [2]
|
|
||||||
void ColorListEditor::populateList()
|
|
||||||
{
|
|
||||||
const QStringList colorNames = QColor::colorNames();
|
|
||||||
|
|
||||||
for (int i = 0; i < colorNames.size(); ++i) {
|
|
||||||
QColor color(colorNames[i]);
|
|
||||||
|
|
||||||
insertItem(i, colorNames[i]);
|
|
||||||
setItemData(i, color, Qt::DecorationRole);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//! [2]
|
|
@ -1,32 +0,0 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
||||||
|
|
||||||
#ifndef COLORLISTEDITOR_H
|
|
||||||
#define COLORLISTEDITOR_H
|
|
||||||
|
|
||||||
#include <QComboBox>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
class QColor;
|
|
||||||
class QWidget;
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
//! [0]
|
|
||||||
class ColorListEditor : public QComboBox
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
Q_PROPERTY(QColor color READ color WRITE setColor USER true)
|
|
||||||
|
|
||||||
public:
|
|
||||||
ColorListEditor(QWidget *widget = nullptr);
|
|
||||||
|
|
||||||
public:
|
|
||||||
QColor color() const;
|
|
||||||
void setColor(const QColor &color);
|
|
||||||
|
|
||||||
private:
|
|
||||||
void populateList();
|
|
||||||
};
|
|
||||||
//! [0]
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,16 +0,0 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
||||||
|
|
||||||
#include <QtWidgets>
|
|
||||||
|
|
||||||
#include "window.h"
|
|
||||||
|
|
||||||
int main(int argv, char **args)
|
|
||||||
{
|
|
||||||
QApplication app(argv, args);
|
|
||||||
|
|
||||||
Window window;
|
|
||||||
window.show();
|
|
||||||
|
|
||||||
return app.exec();
|
|
||||||
}
|
|
@ -1,55 +0,0 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
||||||
|
|
||||||
#include "window.h"
|
|
||||||
#include "colorlisteditor.h"
|
|
||||||
|
|
||||||
#include <QtWidgets>
|
|
||||||
|
|
||||||
//! [0]
|
|
||||||
Window::Window()
|
|
||||||
{
|
|
||||||
QItemEditorFactory *factory = new QItemEditorFactory;
|
|
||||||
|
|
||||||
QItemEditorCreatorBase *colorListCreator =
|
|
||||||
new QStandardItemEditorCreator<ColorListEditor>();
|
|
||||||
|
|
||||||
factory->registerEditor(QMetaType::QColor, colorListCreator);
|
|
||||||
|
|
||||||
QItemEditorFactory::setDefaultFactory(factory);
|
|
||||||
|
|
||||||
createGUI();
|
|
||||||
}
|
|
||||||
//! [0]
|
|
||||||
|
|
||||||
void Window::createGUI()
|
|
||||||
{
|
|
||||||
const QList<QPair<QString, QColor>> list = { { tr("Alice"), QColor("aliceblue") },
|
|
||||||
{ tr("Neptun"), QColor("aquamarine") },
|
|
||||||
{ tr("Ferdinand"), QColor("springgreen") } };
|
|
||||||
|
|
||||||
QTableWidget *table = new QTableWidget(3, 2);
|
|
||||||
table->setHorizontalHeaderLabels({ tr("Name"), tr("Hair Color") });
|
|
||||||
table->verticalHeader()->setVisible(false);
|
|
||||||
table->resize(150, 50);
|
|
||||||
|
|
||||||
for (int i = 0; i < 3; ++i) {
|
|
||||||
const QPair<QString, QColor> &pair = list.at(i);
|
|
||||||
|
|
||||||
QTableWidgetItem *nameItem = new QTableWidgetItem(pair.first);
|
|
||||||
QTableWidgetItem *colorItem = new QTableWidgetItem;
|
|
||||||
colorItem->setData(Qt::DisplayRole, pair.second);
|
|
||||||
|
|
||||||
table->setItem(i, 0, nameItem);
|
|
||||||
table->setItem(i, 1, colorItem);
|
|
||||||
}
|
|
||||||
table->resizeColumnToContents(0);
|
|
||||||
table->horizontalHeader()->setStretchLastSection(true);
|
|
||||||
|
|
||||||
QGridLayout *layout = new QGridLayout;
|
|
||||||
layout->addWidget(table, 0, 0);
|
|
||||||
|
|
||||||
setLayout(layout);
|
|
||||||
|
|
||||||
setWindowTitle(tr("Color Editor Factory"));
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
// Copyright (C) 2016 The Qt Company Ltd.
|
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
||||||
|
|
||||||
#ifndef WINDOW_H
|
|
||||||
#define WINDOW_H
|
|
||||||
|
|
||||||
#include <QWidget>
|
|
||||||
|
|
||||||
class Window : public QWidget
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
Window();
|
|
||||||
|
|
||||||
private:
|
|
||||||
void createGUI();
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,7 +1,6 @@
|
|||||||
TEMPLATE = subdirs
|
TEMPLATE = subdirs
|
||||||
SUBDIRS = addressbook \
|
SUBDIRS = addressbook \
|
||||||
basicsortfiltermodel \
|
basicsortfiltermodel \
|
||||||
coloreditorfactory \
|
|
||||||
combowidgetmapper \
|
combowidgetmapper \
|
||||||
customsortfiltermodel \
|
customsortfiltermodel \
|
||||||
editabletreemodel \
|
editabletreemodel \
|
||||||
|
@ -14,12 +14,16 @@ QItemEditorFactory *factory = new QItemEditorFactory;
|
|||||||
//! [1]
|
//! [1]
|
||||||
|
|
||||||
|
|
||||||
|
//! [setDefaultFactory]
|
||||||
//! [2]
|
//! [2]
|
||||||
QItemEditorFactory *editorFactory = new QItemEditorFactory;
|
QItemEditorFactory *editorFactory = new QItemEditorFactory;
|
||||||
QItemEditorCreatorBase *creator = new QStandardItemEditorCreator<MyFancyDateTimeEdit>();
|
QItemEditorCreatorBase *creator = new QStandardItemEditorCreator<MyFancyDateTimeEdit>();
|
||||||
editorFactory->registerEditor(QMetaType::QDateTime, creator);
|
editorFactory->registerEditor(QMetaType::QDateTime, creator);
|
||||||
//! [2]
|
//! [2]
|
||||||
|
|
||||||
|
QItemEditorFactory::setDefaultFactory(editorFactory);
|
||||||
|
//! [setDefaultFactory]
|
||||||
|
|
||||||
|
|
||||||
//! [3]
|
//! [3]
|
||||||
Q_PROPERTY(QColor color READ color WRITE setColor USER true)
|
Q_PROPERTY(QColor color READ color WRITE setColor USER true)
|
||||||
|
@ -257,15 +257,25 @@ QSizeF QItemDelegatePrivate::doTextLayout(int lineWidth) const
|
|||||||
|
|
||||||
When subclassing QItemDelegate to create a delegate that displays items
|
When subclassing QItemDelegate to create a delegate that displays items
|
||||||
using a custom renderer, it is important to ensure that the delegate can
|
using a custom renderer, it is important to ensure that the delegate can
|
||||||
render items suitably for all the required states; e.g. selected,
|
render items suitably for all the required states; such as selected,
|
||||||
disabled, checked. The documentation for the paint() function contains
|
disabled, checked. The documentation for the paint() function contains
|
||||||
some hints to show how this can be achieved.
|
some hints to show how this can be achieved.
|
||||||
|
|
||||||
You can provide custom editors by using a QItemEditorFactory. The
|
You can provide custom editors by using a QItemEditorFactory. The following
|
||||||
\l{Color Editor Factory Example} shows how a custom editor can be
|
code shows how a custom editor can be made available to delegates with the
|
||||||
made available to delegates with the default item editor
|
default item editor factory.
|
||||||
factory. This way, there is no need to subclass QItemDelegate. An
|
|
||||||
alternative is to reimplement createEditor(), setEditorData(),
|
\snippet code/src_gui_itemviews_qitemeditorfactory.cpp setDefaultFactory
|
||||||
|
|
||||||
|
After the default factory has been set, all standard item delegates
|
||||||
|
will use it (also the delegates that were created before setting the
|
||||||
|
default factory).
|
||||||
|
|
||||||
|
This way, you can avoid subclassing QItemDelegate, and all values of the
|
||||||
|
specified type (for example QMetaType::QDateTime) will be edited using the
|
||||||
|
provided editor (like \c{MyFancyDateTimeEdit} in the above example).
|
||||||
|
|
||||||
|
An alternative is to reimplement createEditor(), setEditorData(),
|
||||||
setModelData(), and updateEditorGeometry(). This process is described
|
setModelData(), and updateEditorGeometry(). This process is described
|
||||||
in the \l{A simple delegate}{Model/View Programming overview documentation}.
|
in the \l{A simple delegate}{Model/View Programming overview documentation}.
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ Q_SIGNALS:
|
|||||||
|
|
||||||
Additional editors can be registered with the registerEditor() function.
|
Additional editors can be registered with the registerEditor() function.
|
||||||
|
|
||||||
\sa QStyledItemDelegate, {Model/View Programming}, {Color Editor Factory Example}
|
\sa QStyledItemDelegate, {Model/View Programming}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -363,7 +363,7 @@ void QItemEditorFactory::setDefaultFactory(QItemEditorFactory *factory)
|
|||||||
to register widgets without the need to subclass QItemEditorCreatorBase.
|
to register widgets without the need to subclass QItemEditorCreatorBase.
|
||||||
|
|
||||||
\sa QStandardItemEditorCreator, QItemEditorFactory,
|
\sa QStandardItemEditorCreator, QItemEditorFactory,
|
||||||
{Model/View Programming}, {Color Editor Factory Example}
|
{Model/View Programming}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -432,7 +432,7 @@ QItemEditorCreatorBase::~QItemEditorCreatorBase()
|
|||||||
property, you should use QStandardItemEditorCreator instead.
|
property, you should use QStandardItemEditorCreator instead.
|
||||||
|
|
||||||
\sa QItemEditorCreatorBase, QStandardItemEditorCreator,
|
\sa QItemEditorCreatorBase, QStandardItemEditorCreator,
|
||||||
QItemEditorFactory, {Color Editor Factory Example}
|
QItemEditorFactory
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@ -488,7 +488,7 @@ QItemEditorCreatorBase::~QItemEditorCreatorBase()
|
|||||||
\snippet code/src_gui_itemviews_qitemeditorfactory.cpp 3
|
\snippet code/src_gui_itemviews_qitemeditorfactory.cpp 3
|
||||||
|
|
||||||
\sa QItemEditorCreatorBase, QItemEditorCreator,
|
\sa QItemEditorCreatorBase, QItemEditorCreator,
|
||||||
QItemEditorFactory, QStyledItemDelegate, {Color Editor Factory Example}
|
QItemEditorFactory, QStyledItemDelegate
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -137,12 +137,17 @@ public:
|
|||||||
instance provided by QItemEditorFactory is installed on all item
|
instance provided by QItemEditorFactory is installed on all item
|
||||||
delegates. You can set a custom factory using
|
delegates. You can set a custom factory using
|
||||||
setItemEditorFactory() or set a new default factory with
|
setItemEditorFactory() or set a new default factory with
|
||||||
QItemEditorFactory::setDefaultFactory(). It is the data stored in
|
QItemEditorFactory::setDefaultFactory().
|
||||||
the item model with the \l{Qt::}{EditRole} that is edited. See the
|
|
||||||
QItemEditorFactory class for a more high-level introduction to
|
\snippet code/src_gui_itemviews_qitemeditorfactory.cpp setDefaultFactory
|
||||||
item editor factories. The \l{Color Editor Factory Example}{Color
|
|
||||||
Editor Factory} example shows how to create custom editors with a
|
After the new factory has been set, all standard item delegates
|
||||||
factory.
|
will use it (i.e, also delegates that were created before the new
|
||||||
|
default factory was set).
|
||||||
|
|
||||||
|
It is the data stored in the item model with the \l{Qt::}{EditRole}
|
||||||
|
that is edited. See the QItemEditorFactory class for a more
|
||||||
|
high-level introduction to item editor factories.
|
||||||
|
|
||||||
\section1 Subclassing QStyledItemDelegate
|
\section1 Subclassing QStyledItemDelegate
|
||||||
|
|
||||||
@ -204,7 +209,7 @@ public:
|
|||||||
documentation for details.
|
documentation for details.
|
||||||
|
|
||||||
\sa {Delegate Classes}, QItemDelegate, QAbstractItemDelegate, QStyle,
|
\sa {Delegate Classes}, QItemDelegate, QAbstractItemDelegate, QStyle,
|
||||||
{Star Delegate Example}, {Color Editor Factory Example}
|
{Star Delegate Example}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
"itemviews/addressbook Example", "examples/widgets/itemviews/addressbook", "addressbook", 0, -1
|
"itemviews/addressbook Example", "examples/widgets/itemviews/addressbook", "addressbook", 0, -1
|
||||||
"itemviews/basicsortfiltermodel Example", "examples/widgets/itemviews/basicsortfiltermodel", "basicsortfiltermodel", 10, -1
|
"itemviews/basicsortfiltermodel Example", "examples/widgets/itemviews/basicsortfiltermodel", "basicsortfiltermodel", 10, -1
|
||||||
"itemviews/chart Example", "examples/widgets/itemviews/chart", "chart", 0, -1
|
"itemviews/chart Example", "examples/widgets/itemviews/chart", "chart", 0, -1
|
||||||
"itemviews/coloreditorfactory Example", "examples/widgets/itemviews/coloreditorfactory", "coloreditorfactory", 10, -1
|
|
||||||
"itemviews/combowidgetmapper Example", "examples/widgets/itemviews/combowidgetmapper", "combowidgetmapper", 6, -1
|
"itemviews/combowidgetmapper Example", "examples/widgets/itemviews/combowidgetmapper", "combowidgetmapper", 6, -1
|
||||||
"itemviews/customsortfiltermodel Example", "examples/widgets/itemviews/customsortfiltermodel", "customsortfiltermodel", 6, -1
|
"itemviews/customsortfiltermodel Example", "examples/widgets/itemviews/customsortfiltermodel", "customsortfiltermodel", 6, -1
|
||||||
"itemviews/dirview Example", "examples/widgets/itemviews/dirview", "dirview", 0, -1
|
"itemviews/dirview Example", "examples/widgets/itemviews/dirview", "dirview", 0, -1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user