diff options
Diffstat (limited to 'libpyside/dynamicqmetaobject.h')
-rw-r--r-- | libpyside/dynamicqmetaobject.h | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/libpyside/dynamicqmetaobject.h b/libpyside/dynamicqmetaobject.h index 9336b63ac..bec8dd3df 100644 --- a/libpyside/dynamicqmetaobject.h +++ b/libpyside/dynamicqmetaobject.h @@ -48,24 +48,39 @@ class QObject; namespace PySide { +class MethodData +{ + public: + MethodData(){} + MethodData(const char *signature, const char *type); + void clear(); + QByteArray signature() const; + QByteArray type() const; + bool operator==(const MethodData &other) const; + + private: + QByteArray m_signature; + QByteArray m_type; +}; + class PYSIDE_API DynamicQMetaObject : public QMetaObject { public: DynamicQMetaObject(const char* className, const QMetaObject* metaObject); ~DynamicQMetaObject(); - void addSignal(const char* signal); - void addSlot(const char* slot); + void addSignal(const char* signal, const char* type=0); + void addSlot(const char* slot, const char* type=0); void removeSignal(uint idex); void removeSlot(uint index); //Retrieve Python metadata to create QMetaObject (class name, signals, slot) - static DynamicQMetaObject *createBasedOn(PyTypeObject *obj, const QMetaObject* base); + static DynamicQMetaObject *createBasedOn(PyObject *obj, PyTypeObject *type, const QMetaObject* base); private: - QLinkedList<QByteArray> m_signals; - QLinkedList<QByteArray> m_slots; + QLinkedList<MethodData> m_signals; + QLinkedList<MethodData> m_slots; QByteArray m_className; void updateMetaObject(); |