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
properties_p.h
Go to the documentation of this file.
1
// Copyright (C) 2020 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
//
6
// W A R N I N G
7
// -------------
8
//
9
// This file is not part of the Qt API. It exists for the convenience
10
// of Qt Designer. This header
11
// file may change from version to version without notice, or even be removed.
12
//
13
// We mean it.
14
//
15
16
#
ifndef
UILIBPROPERTIES_H
17
#
define
UILIBPROPERTIES_H
18
19
#
include
"uilib_global.h"
20
21
#
include
<
QtCore
/
qobject
.
h
>
22
#
include
<
QtCore
/
qmetaobject
.
h
>
23
#
include
<
QtCore
/
qlocale
.
h
>
24
#
include
<
QtCore
/
qcoreapplication
.
h
>
25
26
#
include
<
QtWidgets
/
qwidget
.
h
>
27
28
#
include
"formbuilderextra_p.h"
29
30
QT_BEGIN_NAMESPACE
31
32
#
ifdef
QFORMINTERNAL_NAMESPACE
33
namespace
QFormInternal
34
{
35
#
endif
36
37
class
QAbstractFormBuilder;
38
class
DomProperty;
39
40
QDESIGNER_UILIB_EXPORT
DomProperty
*variantToDomProperty(QAbstractFormBuilder *abstractFormBuilder,
const
QMetaObject *meta,
const
QString &propertyName,
const
QVariant &value);
41
42
43
QDESIGNER_UILIB_EXPORT
QVariant
domPropertyToVariant(
const
DomProperty *property);
44
QDESIGNER_UILIB_EXPORT
QVariant
domPropertyToVariant(QAbstractFormBuilder *abstractFormBuilder,
const
QMetaObject *meta,
const
DomProperty *property);
45
46
// This class exists to provide meta information
47
// for enumerations only.
48
class
QAbstractFormBuilderGadget
:
public
QWidget
49
{
50
Q_OBJECT
51
Q_PROPERTY(Qt::ItemFlags itemFlags READ fakeItemFlags)
52
Q_PROPERTY
(
Qt
::
CheckState
checkState
READ
fakeCheckState
)
53
Q_PROPERTY
(
Qt
::
Alignment
textAlignment
READ
fakeAlignment
)
54
Q_PROPERTY
(
Qt
::
Orientation
orientation
READ
fakeOrientation
)
55
Q_PROPERTY
(
QSizePolicy
::
Policy
sizeType
READ
fakeSizeType
)
56
Q_PROPERTY
(
QPalette
::
ColorRole
colorRole
READ
fakeColorRole
)
57
Q_PROPERTY
(
QPalette
::
ColorGroup
colorGroup
READ
fakeColorGroup
)
58
Q_PROPERTY
(
QFont
::
StyleStrategy
styleStrategy
READ
fakeStyleStrategy
)
59
Q_PROPERTY
(
QFont
::
HintingPreference
hintingPreference
READ
fakeHintingPreference
)
60
Q_PROPERTY
(
QFont
::
Weight
fontWeight
READ
fakeFontWeight
)
61
Q_PROPERTY
(
Qt
::
CursorShape
cursorShape
READ
fakeCursorShape
)
62
Q_PROPERTY
(
Qt
::
BrushStyle
brushStyle
READ
fakeBrushStyle
)
63
Q_PROPERTY
(
Qt
::
ToolBarArea
toolBarArea
READ
fakeToolBarArea
)
64
Q_PROPERTY
(
QGradient
::
Type
gradientType
READ
fakeGradientType
)
65
Q_PROPERTY
(
QGradient
::
Spread
gradientSpread
READ
fakeGradientSpread
)
66
Q_PROPERTY
(
QGradient
::
CoordinateMode
gradientCoordinate
READ
fakeGradientCoordinate
)
67
Q_PROPERTY
(
QLocale
::
Language
language
READ
fakeLanguage
)
68
Q_PROPERTY
(
QLocale
::
Country
country
READ
fakeCountry
)
69
public
:
70
QAbstractFormBuilderGadget
() {
Q_ASSERT
(0); }
71
72
Qt
::
Orientation
fakeOrientation
()
const
{
Q_ASSERT
(0);
return
Qt
::
Horizontal
; }
73
QSizePolicy
::
Policy
fakeSizeType
()
const
{
Q_ASSERT
(0);
return
QSizePolicy
::
Expanding
; }
74
QPalette
::
ColorGroup
fakeColorGroup
()
const
{
Q_ASSERT
(0);
return
static_cast
<
QPalette
::
ColorGroup
>(0); }
75
QPalette
::
ColorRole
fakeColorRole
()
const
{
Q_ASSERT
(0);
return
static_cast
<
QPalette
::
ColorRole
>(0); }
76
QFont
::
StyleStrategy
fakeStyleStrategy
()
const
{
Q_ASSERT
(0);
return
QFont
::
PreferDefault
; }
77
QFont
::
HintingPreference
fakeHintingPreference
()
const
{
Q_ASSERT
(0);
return
QFont
::
PreferDefaultHinting
; }
78
QFont
::
Weight
fakeFontWeight
()
const
{
Q_ASSERT
(0);
return
QFont
::
Weight
::
Normal
; }
79
Qt
::
CursorShape
fakeCursorShape
()
const
{
Q_ASSERT
(0);
return
Qt
::
ArrowCursor
; }
80
Qt
::
BrushStyle
fakeBrushStyle
()
const
{
Q_ASSERT
(0);
return
Qt
::
NoBrush
; }
81
Qt
::
ToolBarArea
fakeToolBarArea
()
const
{
Q_ASSERT
(0);
return
Qt
::
NoToolBarArea
; }
82
QGradient
::
Type
fakeGradientType
()
const
{
Q_ASSERT
(0);
return
QGradient
::
NoGradient
; }
83
QGradient
::
Spread
fakeGradientSpread
()
const
{
Q_ASSERT
(0);
return
QGradient
::
PadSpread
; }
84
QGradient
::
CoordinateMode
fakeGradientCoordinate
()
const
{
Q_ASSERT
(0);
return
QGradient
::
LogicalMode
; }
85
QLocale
::
Language
fakeLanguage
()
const
{
Q_ASSERT
(0);
return
QLocale
::
C
; }
86
QLocale
::
Country
fakeCountry
()
const
{
Q_ASSERT
(0);
return
QLocale
::
AnyCountry
; }
87
Qt
::
ItemFlags
fakeItemFlags
()
const
{
Q_ASSERT
(0);
return
Qt
::
NoItemFlags
; }
88
Qt
::
CheckState
fakeCheckState
()
const
{
Q_ASSERT
(0);
return
Qt
::
Unchecked
; }
89
Qt
::
Alignment
fakeAlignment
()
const
{
Q_ASSERT
(0);
return
Qt
::
AlignLeft
; }
90
};
91
92
// Convert key to value for a given QMetaEnum
93
template
<
class
EnumType>
94
inline
EnumType
enumKeyToValue
(
const
QMetaEnum &metaEnum,
const
char
*key,
const
EnumType* =
nullptr
)
95
{
96
int
val = metaEnum.keyToValue(key);
97
if
(val == -1) {
98
99
uiLibWarning(QCoreApplication::translate(
"QFormBuilder"
,
"The enumeration-value '%1' is invalid. The default value '%2' will be used instead."
)
100
.arg(QString::fromUtf8(key), QString::fromUtf8(metaEnum.key(0))));
101
val = metaEnum.value(0);
102
}
103
return
static_cast
<EnumType>(val);
104
}
105
106
// Convert keys to value for a given QMetaEnum
107
template
<
class
EnumType>
108
inline
EnumType
enumKeysToValue
(
const
QMetaEnum &metaEnum,
const
char
*keys,
const
EnumType* =
nullptr
)
109
{
110
int
val = metaEnum.keysToValue(keys);
111
if
(val == -1) {
112
113
uiLibWarning(QCoreApplication::translate(
"QFormBuilder"
,
"The flag-value '%1' is invalid. Zero will be used instead."
)
114
.arg(QString::fromUtf8(keys)));
115
val = 0;
116
}
117
return
static_cast
<EnumType>(QFlag(val));
118
}
119
120
// Access meta enumeration object of a qobject
121
template
<
class
QObjectType>
122
inline
QMetaEnum
metaEnum
(
const
char
*name)
123
{
124
const
int
e_index = QObjectType::staticMetaObject.indexOfProperty(name);
125
Q_ASSERT(e_index != -1);
126
return
QObjectType::staticMetaObject.property(e_index).enumerator();
127
}
128
129
// Convert key to value for enumeration by name
130
template
<
class
QObjectType,
class
EnumType>
131
inline
EnumType
enumKeyOfObjectToValue
(
const
char
*enumName,
const
char
*key)
132
{
133
const
QMetaEnum me = metaEnum<QObjectType>(enumName);
134
return
enumKeyToValue<EnumType>(me, key);
135
}
136
137
#
ifdef
QFORMINTERNAL_NAMESPACE
138
}
139
#
endif
140
141
QT_END_NAMESPACE
142
143
#
endif
// UILIBPROPERTIES_H
DomProperty
Definition
ui4.h:2459
QAbstractFormBuilderGadget
Definition
properties_p.h:49
QVariant
\inmodule QtCore
Definition
qvariant.h:68
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
isOfType
static bool isOfType(const QMetaObject *what, const QMetaObject *type)
Definition
properties.cpp:605
applySimpleProperty
static bool applySimpleProperty(const QVariant &v, bool translateString, DomProperty *dom_prop)
Definition
properties.cpp:325
fontWeightMetaEnum
static QMetaEnum fontWeightMetaEnum()
Definition
properties.cpp:127
variantToDomProperty
DomProperty * variantToDomProperty(QAbstractFormBuilder *afb, const QMetaObject *meta, const QString &pname, const QVariant &v)
Definition
properties.cpp:663
flagsValue
static QString flagsValue(QMetaEnum metaEnum, int v, const QVersionNumber &qtVersion)
Definition
properties.cpp:650
msgCannotWriteProperty
static QString msgCannotWriteProperty(const QString &pname, const QVariant &v)
Definition
properties.cpp:598
isTranslatable
static bool isTranslatable(const QString &pname, const QVariant &v, const QMetaObject *meta)
Definition
properties.cpp:614
enumPrefix
static QString enumPrefix(QMetaEnum metaEnum)
Definition
properties.cpp:634
supportsQualifiedEnums
static bool supportsQualifiedEnums(const QVersionNumber &qtVersion)
Definition
properties.cpp:629
domPropertyToVariant
QVariant domPropertyToVariant(QAbstractFormBuilder *afb, const QMetaObject *meta, const DomProperty *p)
Definition
properties.cpp:34
domPropertyToVariant
QVariant domPropertyToVariant(const DomProperty *p)
Definition
properties.cpp:135
enumValue
static QString enumValue(QMetaEnum metaEnum, int v, const QVersionNumber &qtVersion)
Definition
properties.cpp:644
enumKeyOfObjectToValue
EnumType enumKeyOfObjectToValue(const char *enumName, const char *key)
Definition
properties_p.h:131
metaEnum
QMetaEnum metaEnum(const char *name)
Definition
properties_p.h:122
enumKeysToValue
EnumType enumKeysToValue(const QMetaEnum &metaEnum, const char *keys, const EnumType *=nullptr)
Definition
properties_p.h:108
enumKeyToValue
EnumType enumKeyToValue(const QMetaEnum &metaEnum, const char *key, const EnumType *=nullptr)
Definition
properties_p.h:94
QDESIGNER_UILIB_EXPORT
#define QDESIGNER_UILIB_EXPORT
Definition
ui4.h:37
qttools
src
designer
src
lib
uilib
properties_p.h
Generated on
for Qt by
1.18.0