Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qitemeditorfactory.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
// Qt-Security score:significant reason:default
4
5
#
ifndef
QITEMEDITORFACTORY_H
6
#
define
QITEMEDITORFACTORY_H
7
8
#
include
<
QtWidgets
/
qtwidgetsglobal
.
h
>
9
#
include
<
QtCore
/
qmetaobject
.
h
>
10
#
include
<
QtCore
/
qbytearray
.
h
>
11
#
include
<
QtCore
/
qhash
.
h
>
12
#
include
<
QtCore
/
qvariant
.
h
>
13
14
QT_REQUIRE_CONFIG(itemviews);
15
16
QT_BEGIN_NAMESPACE
17
18
class
QWidget;
19
20
class
Q_WIDGETS_EXPORT
QItemEditorCreatorBase
21
{
22
public
:
23
virtual
~QItemEditorCreatorBase();
24
25
virtual
QWidget *createWidget(QWidget *parent)
const
= 0;
26
virtual
QByteArray valuePropertyName()
const
= 0;
27
};
28
29
template
<
class
T>
30
class
QItemEditorCreator
:
public
QItemEditorCreatorBase
31
{
32
public
:
33
inline
explicit
QItemEditorCreator
(
const
QByteArray &valuePropertyName);
34
inline
QWidget
*
createWidget
(
QWidget
*parent)
const
override
{
return
new
T(parent); }
35
inline
QByteArray
valuePropertyName
()
const
override
{
return
propertyName; }
36
37
private
:
38
QByteArray propertyName;
39
};
40
41
template
<
class
T>
42
class
QStandardItemEditorCreator
:
public
QItemEditorCreatorBase
43
{
44
public
:
45
inline
QStandardItemEditorCreator
()
46
:
propertyName
(
T
::
staticMetaObject
.
userProperty
().
name
())
47
{}
48
inline
QWidget
*
createWidget
(
QWidget
*parent)
const
override
{
return
new
T(parent); }
49
inline
QByteArray
valuePropertyName
()
const
override
{
return
propertyName; }
50
51
private
:
52
QByteArray propertyName;
53
};
54
55
56
template
<
class
T>
57
Q_INLINE_TEMPLATE QItemEditorCreator<T>::QItemEditorCreator(
const
QByteArray &avaluePropertyName)
58
: propertyName(avaluePropertyName) {}
59
60
class
Q_WIDGETS_EXPORT
QItemEditorFactory
61
{
62
public
:
63
inline
QItemEditorFactory() {}
64
virtual
~QItemEditorFactory();
65
66
virtual
QWidget *createEditor(
int
userType, QWidget *parent)
const
;
67
virtual
QByteArray valuePropertyName(
int
userType)
const
;
68
69
void
registerEditor(
int
userType, QItemEditorCreatorBase *creator);
70
71
static
const
QItemEditorFactory *defaultFactory();
72
static
void
setDefaultFactory(QItemEditorFactory *factory);
73
74
private
:
75
QHash<
int
, QItemEditorCreatorBase *> creatorMap;
76
};
77
78
QT_END_NAMESPACE
79
80
#
endif
// QITEMEDITORFACTORY_H
QItemDelegatePrivate
Definition
qitemdelegate.cpp:44
QItemDelegatePrivate::textOption
QTextOption textOption
Definition
qitemdelegate.cpp:80
QItemDelegatePrivate::widget
const QWidget * widget(const QStyleOptionViewItem &option) const
Definition
qitemdelegate.cpp:82
QItemDelegatePrivate::f
QItemEditorFactory * f
Definition
qitemdelegate.cpp:71
QItemDelegatePrivate::doTextLayout
QSizeF doTextLayout(int lineWidth) const
Definition
qitemdelegate.cpp:145
QItemDelegatePrivate::clipPainting
bool clipPainting
Definition
qitemdelegate.cpp:72
QItemDelegatePrivate::textLayout
QTextLayout textLayout
Definition
qitemdelegate.cpp:79
QItemDelegatePrivate::displayRect
QRect displayRect(const QModelIndex &index, const QStyleOptionViewItem &option, const QRect &decorationRect, const QRect &checkRect) const
Definition
qitemdelegate.cpp:95
QItemDelegatePrivate::textLayoutBounds
QRect textLayoutBounds(const QStyleOptionViewItem &option, const QRect &decorationRect, const QRect &checkRect) const
Definition
qitemdelegate.cpp:112
QItemDelegate
The QItemDelegate class provides display and editing facilities for data items from a model.
Definition
qitemdelegate.h:22
QItemEditorCreatorBase
The QItemEditorCreatorBase class provides an abstract base class that must be subclassed when impleme...
Definition
qitemeditorfactory.h:21
QItemEditorCreator
The QItemEditorCreator class makes it possible to create item editor creator bases without subclassin...
Definition
qitemeditorfactory.h:31
QItemEditorCreator::createWidget
QWidget * createWidget(QWidget *parent) const override
\reimp
Definition
qitemeditorfactory.h:34
QItemEditorCreator::valuePropertyName
QByteArray valuePropertyName() const override
\reimp
Definition
qitemeditorfactory.h:35
QItemEditorCreator::QItemEditorCreator
QItemEditorCreator(const QByteArray &valuePropertyName)
Constructs an editor creator object using valuePropertyName as the name of the property to be used fo...
Definition
qitemeditorfactory.h:57
QItemEditorFactory
The QItemEditorFactory class provides widgets for editing item data in views and delegates.
Definition
qitemeditorfactory.h:61
QModelIndex
\inmodule QtCore
Definition
qabstractitemmodel.h:128
QPainter::QWidget
friend class QWidget
Definition
qpainter.h:432
QPointF
\inmodule QtCore\reentrant
Definition
qpoint.h:232
QStandardItemEditorCreator
The QStandardItemEditorCreator class provides the possibility to register widgets without having to s...
Definition
qitemeditorfactory.h:43
QStandardItemEditorCreator::valuePropertyName
QByteArray valuePropertyName() const override
\reimp
Definition
qitemeditorfactory.h:49
QStandardItemEditorCreator::QStandardItemEditorCreator
QStandardItemEditorCreator()
Constructs an editor creator object.
Definition
qitemeditorfactory.h:45
QStandardItemEditorCreator::createWidget
QWidget * createWidget(QWidget *parent) const override
\reimp
Definition
qitemeditorfactory.h:48
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(itemviews)
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qPixmapSerial
static QString qPixmapSerial(quint64 i, bool enabled)
Definition
qitemdelegate.cpp:946
DBL_DIG
#define DBL_DIG
Definition
qitemdelegate.cpp:38
QItemDelegatePrivate::Icon
Definition
qitemdelegate.cpp:88
QItemDelegatePrivate::Icon::icon
QIcon icon
Definition
qitemdelegate.cpp:89
QItemDelegatePrivate::Icon::state
QIcon::State state
Definition
qitemdelegate.cpp:91
QItemDelegatePrivate::Icon::mode
QIcon::Mode mode
Definition
qitemdelegate.cpp:90
qtbase
src
widgets
itemviews
qitemeditorfactory.h
Generated on
for Qt by
1.18.0