Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
abstractintrospection_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
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 ABSTRACTMETAOBJECT_H
17#define ABSTRACTMETAOBJECT_H
18
19#include <QtDesigner/sdk_global.h>
20#include <QtCore/qvariant.h>
21#include <QtCore/qflags.h>
22
24
25class QDESIGNER_SDK_EXPORT QDesignerMetaEnumInterface
26{
27public:
28 Q_DISABLE_COPY_MOVE(QDesignerMetaEnumInterface)
29
30 QDesignerMetaEnumInterface();
31 virtual ~QDesignerMetaEnumInterface();
32 virtual bool isFlag() const = 0;
33 virtual QString key(int index) const = 0;
34 virtual int keyCount() const = 0;
35 virtual int keyToValue(const QString &key) const = 0;
36 virtual int keysToValue(const QString &keys) const = 0;
37 virtual QString name() const = 0;
38 virtual QString enumName() const = 0;
39 virtual QString scope() const = 0;
40 virtual QString separator() const = 0;
41 virtual int value(int index) const = 0;
42 virtual QString valueToKey(int value) const = 0;
43 virtual QString valueToKeys(int value) const = 0;
44};
45
46class QDESIGNER_SDK_EXPORT QDesignerMetaPropertyInterface
47{
48public:
49 Q_DISABLE_COPY_MOVE(QDesignerMetaPropertyInterface)
50
51 enum Kind { EnumKind, FlagKind, OtherKind };
52 enum AccessFlag { ReadAccess = 0x0001, WriteAccess = 0x0002, ResetAccess = 0x0004 };
53 enum Attribute { DesignableAttribute = 0x0001, ScriptableAttribute = 0x0002, StoredAttribute = 0x0004, UserAttribute = 0x0008};
54 Q_DECLARE_FLAGS(Attributes, Attribute)
55 Q_DECLARE_FLAGS(AccessFlags, AccessFlag)
56
57 QDesignerMetaPropertyInterface();
58 virtual ~QDesignerMetaPropertyInterface();
59
60 virtual const QDesignerMetaEnumInterface *enumerator() const = 0;
61
62 virtual Kind kind() const = 0;
63 virtual AccessFlags accessFlags() const = 0;
64 virtual Attributes attributes() const = 0;
65
66 virtual int type() const = 0;
67 virtual QString name() const = 0;
68 virtual QString typeName() const = 0;
69 virtual int userType() const = 0;
70 virtual bool hasSetter() const = 0;
71
72 virtual QVariant read(const QObject *object) const = 0;
73 virtual bool reset(QObject *object) const = 0;
74 virtual bool write(QObject *object, const QVariant &value) const = 0;
75};
76
77Q_DECLARE_OPERATORS_FOR_FLAGS(QDesignerMetaPropertyInterface::AccessFlags)
78Q_DECLARE_OPERATORS_FOR_FLAGS(QDesignerMetaPropertyInterface::Attributes)
79
80class QDESIGNER_SDK_EXPORT QDesignerMetaMethodInterface
81{
82public:
83 Q_DISABLE_COPY_MOVE(QDesignerMetaMethodInterface)
84
85 QDesignerMetaMethodInterface();
86 virtual ~QDesignerMetaMethodInterface();
87
88 enum MethodType { Method, Signal, Slot, Constructor };
89 enum Access { Private, Protected, Public };
90
91 virtual Access access() const = 0;
92 virtual MethodType methodType() const = 0;
93 virtual QStringList parameterNames() const = 0;
94 virtual QStringList parameterTypes() const = 0;
95 virtual QString signature() const = 0;
96 virtual QString normalizedSignature() const = 0;
97 virtual QString tag() const = 0;
98 virtual QString typeName() const = 0;
99};
100
101class QDESIGNER_SDK_EXPORT QDesignerMetaObjectInterface
102{
103public:
104 Q_DISABLE_COPY_MOVE(QDesignerMetaObjectInterface)
105
106 QDesignerMetaObjectInterface();
107 virtual ~QDesignerMetaObjectInterface();
108
109 virtual QString className() const = 0;
110 virtual const QDesignerMetaEnumInterface *enumerator(int index) const = 0;
111 virtual int enumeratorCount() const = 0;
112 virtual int enumeratorOffset() const = 0;
113
114 virtual int indexOfEnumerator(const QString &name) const = 0;
115 virtual int indexOfMethod(const QString &method) const = 0;
116 virtual int indexOfProperty(const QString &name) const = 0;
117 virtual int indexOfSignal(const QString &signal) const = 0;
118 virtual int indexOfSlot(const QString &slot) const = 0;
119
120 virtual const QDesignerMetaMethodInterface *method(int index) const = 0;
121 virtual int methodCount() const = 0;
122 virtual int methodOffset() const = 0;
123
124 virtual const QDesignerMetaPropertyInterface *property(int index) const = 0;
125 virtual int propertyCount() const = 0;
126 virtual int propertyOffset() const = 0;
127
128 virtual const QDesignerMetaObjectInterface *superClass() const = 0;
129 virtual const QDesignerMetaPropertyInterface *userProperty() const = 0;
130};
131
132// To be obtained from core
133class QDESIGNER_SDK_EXPORT QDesignerIntrospectionInterface
134{
135public:
136 Q_DISABLE_COPY_MOVE(QDesignerIntrospectionInterface)
137
138 QDesignerIntrospectionInterface();
139 virtual ~QDesignerIntrospectionInterface();
140
141 virtual const QDesignerMetaObjectInterface* metaObject(const QObject *object) const = 0;
142};
143
144QT_END_NAMESPACE
145
146#endif // ABSTRACTMETAOBJECT_H
virtual bool dynamicPropertiesAllowed() const =0
virtual bool isDynamicProperty(int index) const =0
virtual int addDynamicProperty(const QString &propertyName, const QVariant &value)=0
virtual bool canAddDynamicProperty(const QString &propertyName) const =0
virtual bool removeDynamicProperty(int index)=0
virtual ~QDesignerDynamicPropertySheetExtension()=default
QDesignerIntrospectionInterface provides access to a QDesignerMetaObjectInterface for a given Qt obje...
QDesignerMetaObjectInterface is part of \QD's introspection interface and provides meta-information a...
QDesignerMetaPropertyInterface is part of \QD's introspection interface and represents a property.
QDesignerPropertySheetFactory(QExtensionManager *parent=nullptr)
static void registerExtension(QExtensionManager *mgr)
friend class QWidget
Definition qpainter.h:432
FormEditorOptionsPage(QDesignerFormEditorInterface *core)
QWidget * createPage(QWidget *parent) override
FormEditor(const QStringList &pluginPaths, QObject *parent=nullptr)
Adds header fake properties to QTreeView and QTableView objects.
void setProperty(int index, const QVariant &value) override
QVariant property(int index) const override
void setChanged(int index, bool changed) override
QHash< QString, QString > propertyNameMap() const
Returns the mapping of fake property names to real property names.
void setProperty(int index, const QVariant &value) override
void setChanged(int index, bool changed) override
QVariant property(int index) const override
QString propertyGroup(int index) const override
bool isVisible(int index) const override
void setProperty(int index, const QVariant &value) override
void setProperty(int index, const QVariant &value) override
QWidget * widget(int index) const override
void insertWidget(int index, QWidget *widget) override
void addWidget(QWidget *widget) override
static void positionNewMdiChild(const QWidget *area, QWidget *mdiChild)
QWidget * widget(int index) const override
void insertWidget(int index, QWidget *widget) override
void setProperty(int index, const QVariant &value) override
static bool checkProperty(const QString &propertyName)
QVariant property(int index) const override
void addWidget(QWidget *widget) override
QWidget * widget(int index) const override
void insertWidget(int index, QWidget *widget) override
bool isVisible(int index) const override
void setProperty(int index, const QVariant &value) override
QWidget * createPage(QWidget *parent) override
static QString chooseTemplatePath(QDesignerFormEditorInterface *core, QWidget *parent)
#define QT_FORMEDITOR_EXPORT
Combined button and popup list for selecting options.
Auxiliary methods to store/retrieve settings.
QDesignerPropertySheetFactory< QWizardPage, QWizardPagePropertySheet > QWizardPagePropertySheetFactory
#define QDESIGNER_SHARED_EXPORT