16#ifndef ABSTRACTMETAOBJECT_H
17#define ABSTRACTMETAOBJECT_H
19#include <QtDesigner/sdk_global.h>
20#include <QtCore/qvariant.h>
21#include <QtCore/qflags.h>
25class QDESIGNER_SDK_EXPORT QDesignerMetaEnumInterface
28 Q_DISABLE_COPY_MOVE(QDesignerMetaEnumInterface)
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;
49 Q_DISABLE_COPY_MOVE(QDesignerMetaPropertyInterface)
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)
57 QDesignerMetaPropertyInterface();
58 virtual ~QDesignerMetaPropertyInterface();
60 virtual const QDesignerMetaEnumInterface *enumerator()
const = 0;
62 virtual Kind kind()
const = 0;
63 virtual AccessFlags accessFlags()
const = 0;
64 virtual Attributes attributes()
const = 0;
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;
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;
77Q_DECLARE_OPERATORS_FOR_FLAGS(QDesignerMetaPropertyInterface::AccessFlags)
78Q_DECLARE_OPERATORS_FOR_FLAGS(QDesignerMetaPropertyInterface::Attributes)
80class QDESIGNER_SDK_EXPORT QDesignerMetaMethodInterface
83 Q_DISABLE_COPY_MOVE(QDesignerMetaMethodInterface)
85 QDesignerMetaMethodInterface();
86 virtual ~QDesignerMetaMethodInterface();
88 enum MethodType { Method, Signal, Slot, Constructor };
89 enum Access { Private, Protected, Public };
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;
104 Q_DISABLE_COPY_MOVE(QDesignerMetaObjectInterface)
106 QDesignerMetaObjectInterface();
107 virtual ~QDesignerMetaObjectInterface();
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;
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;
120 virtual const QDesignerMetaMethodInterface *method(
int index)
const = 0;
121 virtual int methodCount()
const = 0;
122 virtual int methodOffset()
const = 0;
124 virtual const QDesignerMetaPropertyInterface *property(
int index)
const = 0;
125 virtual int propertyCount()
const = 0;
126 virtual int propertyOffset()
const = 0;
128 virtual const QDesignerMetaObjectInterface *superClass()
const = 0;
129 virtual const QDesignerMetaPropertyInterface *userProperty()
const = 0;
136 Q_DISABLE_COPY_MOVE(QDesignerIntrospectionInterface)
138 QDesignerIntrospectionInterface();
139 virtual ~QDesignerIntrospectionInterface();
141 virtual const QDesignerMetaObjectInterface* metaObject(
const QObject *object)
const = 0;
virtual bool dynamicPropertiesAllowed() const =0
virtual bool isDynamicProperty(int index) const =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...
QDesignerPropertySheetFactory(QExtensionManager *parent=nullptr)
static void registerExtension(QExtensionManager *mgr)
FormEditorOptionsPage(QDesignerFormEditorInterface *core)
QString name() const override
QWidget * createPage(QWidget *parent) override
Adds header fake properties to QTreeView and QTableView objects.
~ItemViewPropertySheet() override
bool reset(int index) override
void setProperty(int index, const QVariant &value) override
QVariant property(int index) const override
void setChanged(int index, bool changed) override
bool isChanged(int index) const override
QHash< QString, QString > propertyNameMap() const
Returns the mapping of fake property names to real property names.
bool hasReset(int index) const override
bool reset(int index) override
~LayoutPropertySheet() override
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
~LinePropertySheet() override
bool isVisible(int index) const override
void setProperty(int index, const QVariant &value) override
void remove(int index) override
QWidget * widget(int index) const override
void insertWidget(int index, QWidget *widget) override
void addWidget(QWidget *widget) override
int count() const override
bool canAddWidget() const override
int currentIndex() const override
bool canRemove(int) const override
void setCurrentIndex(int index) override
bool canRemove(int) const override
bool canAddWidget() const override
int count() const override
void remove(int index) override
int currentIndex() const override
QWidget * widget(int index) const override
void setCurrentIndex(int index) override
bool isChanged(int index) const override
void setProperty(int index, const QVariant &value) override
static bool checkProperty(const QString &propertyName)
bool isEnabled(int index) const override
bool reset(int index) override
QVariant property(int index) const override
int currentIndex() const override
void addWidget(QWidget *widget) override
int count() const override
QWidget * widget(int index) const override
void remove(int index) override
bool canRemove(int) const override
bool canAddWidget() const override
void insertWidget(int index, QWidget *widget) override
void setCurrentIndex(int index) override
static const char * pageIdProperty
bool reset(int index) override
bool isVisible(int index) const override
void setProperty(int index, const QVariant &value) override
~SpacerPropertySheet() override
bool dynamicPropertiesAllowed() const override
bool isVisible(int index) const override
QString name() const override
QWidget * createPage(QWidget *parent) override
Combined button and popup list for selecting options.
Auxiliary methods to store/retrieve settings.
QDesignerPropertySheetFactory< QWizardPage, QWizardPagePropertySheet > QWizardPagePropertySheetFactory
#define QDESIGNER_SHARED_EXPORT