15#ifndef ABSTRACTMETAOBJECT_H
16#define ABSTRACTMETAOBJECT_H
18#include <QtDesigner/sdk_global.h>
19#include <QtCore/qvariant.h>
20#include <QtCore/qflags.h>
24class QDESIGNER_SDK_EXPORT QDesignerMetaEnumInterface
27 Q_DISABLE_COPY_MOVE(QDesignerMetaEnumInterface)
29 QDesignerMetaEnumInterface();
30 virtual ~QDesignerMetaEnumInterface();
31 virtual bool isFlag()
const = 0;
32 virtual QString key(
int index)
const = 0;
33 virtual int keyCount()
const = 0;
34 virtual int keyToValue(
const QString &key)
const = 0;
35 virtual int keysToValue(
const QString &keys)
const = 0;
36 virtual QString name()
const = 0;
37 virtual QString enumName()
const = 0;
38 virtual QString scope()
const = 0;
39 virtual QString separator()
const = 0;
40 virtual int value(
int index)
const = 0;
41 virtual QString valueToKey(
int value)
const = 0;
42 virtual QString valueToKeys(
int value)
const = 0;
48 Q_DISABLE_COPY_MOVE(QDesignerMetaPropertyInterface)
50 enum Kind { EnumKind, FlagKind, OtherKind };
51 enum AccessFlag { ReadAccess = 0x0001, WriteAccess = 0x0002, ResetAccess = 0x0004 };
52 enum Attribute { DesignableAttribute = 0x0001, ScriptableAttribute = 0x0002, StoredAttribute = 0x0004, UserAttribute = 0x0008};
53 Q_DECLARE_FLAGS(Attributes, Attribute)
54 Q_DECLARE_FLAGS(AccessFlags, AccessFlag)
56 QDesignerMetaPropertyInterface();
57 virtual ~QDesignerMetaPropertyInterface();
59 virtual const QDesignerMetaEnumInterface *enumerator()
const = 0;
61 virtual Kind kind()
const = 0;
62 virtual AccessFlags accessFlags()
const = 0;
63 virtual Attributes attributes()
const = 0;
65 virtual int type()
const = 0;
66 virtual QString name()
const = 0;
67 virtual QString typeName()
const = 0;
68 virtual int userType()
const = 0;
69 virtual bool hasSetter()
const = 0;
71 virtual QVariant read(
const QObject *object)
const = 0;
72 virtual bool reset(QObject *object)
const = 0;
73 virtual bool write(QObject *object,
const QVariant &value)
const = 0;
76Q_DECLARE_OPERATORS_FOR_FLAGS(QDesignerMetaPropertyInterface::AccessFlags)
77Q_DECLARE_OPERATORS_FOR_FLAGS(QDesignerMetaPropertyInterface::Attributes)
79class QDESIGNER_SDK_EXPORT QDesignerMetaMethodInterface
82 Q_DISABLE_COPY_MOVE(QDesignerMetaMethodInterface)
84 QDesignerMetaMethodInterface();
85 virtual ~QDesignerMetaMethodInterface();
87 enum MethodType { Method, Signal, Slot, Constructor };
88 enum Access { Private, Protected, Public };
90 virtual Access access()
const = 0;
91 virtual MethodType methodType()
const = 0;
92 virtual QStringList parameterNames()
const = 0;
93 virtual QStringList parameterTypes()
const = 0;
94 virtual QString signature()
const = 0;
95 virtual QString normalizedSignature()
const = 0;
96 virtual QString tag()
const = 0;
97 virtual QString typeName()
const = 0;
103 Q_DISABLE_COPY_MOVE(QDesignerMetaObjectInterface)
105 QDesignerMetaObjectInterface();
106 virtual ~QDesignerMetaObjectInterface();
108 virtual QString className()
const = 0;
109 virtual const QDesignerMetaEnumInterface *enumerator(
int index)
const = 0;
110 virtual int enumeratorCount()
const = 0;
111 virtual int enumeratorOffset()
const = 0;
113 virtual int indexOfEnumerator(
const QString &name)
const = 0;
114 virtual int indexOfMethod(
const QString &method)
const = 0;
115 virtual int indexOfProperty(
const QString &name)
const = 0;
116 virtual int indexOfSignal(
const QString &signal)
const = 0;
117 virtual int indexOfSlot(
const QString &slot)
const = 0;
119 virtual const QDesignerMetaMethodInterface *method(
int index)
const = 0;
120 virtual int methodCount()
const = 0;
121 virtual int methodOffset()
const = 0;
123 virtual const QDesignerMetaPropertyInterface *property(
int index)
const = 0;
124 virtual int propertyCount()
const = 0;
125 virtual int propertyOffset()
const = 0;
127 virtual const QDesignerMetaObjectInterface *superClass()
const = 0;
128 virtual const QDesignerMetaPropertyInterface *userProperty()
const = 0;
135 Q_DISABLE_COPY_MOVE(QDesignerIntrospectionInterface)
137 QDesignerIntrospectionInterface();
138 virtual ~QDesignerIntrospectionInterface();
140 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(QTableView *tableViewObject, QObject *parent=nullptr)
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
static void markChangedStretchProperties(QDesignerFormEditorInterface *core, QLayout *lt, const DomLayout *domLayout)
static void stretchAttributesToDom(QDesignerFormEditorInterface *core, QLayout *lt, DomLayout *domLayout)
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.
#define QDESIGNER_SHARED_EXPORT