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 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...
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
void addWidget(QWidget *widget) override
bool canAddWidget() const override
int count() const override
void remove(int index) override
static void positionNewMdiChild(const QWidget *area, QWidget *mdiChild)
int currentIndex() const override
QWidget * widget(int index) const override
void insertWidget(int index, QWidget *widget) 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