diff options
author | Renato Filho <renato.filho@openbossa.org> | 2010-05-13 15:50:42 -0300 |
---|---|---|
committer | Renato Filho <renato.filho@openbossa.org> | 2010-05-17 19:53:54 -0300 |
commit | c5fd4d4830cb49c9f8087d7e54335f4c248f76bf (patch) | |
tree | 6a4fd6a9e30f1d5a1b3ead182d768d2f4fc38a79 /libpyside/dynamicqmetaobject.h | |
parent | d2a6f35ef914b000ddd7685925075985c76817ac (diff) |
Implemented support to modify slot return type.
Included method type in DynamicQMetaObject metadata.
Moved Signal/Slot objet to libpyside.
Create unittest to signal class.
Implemented disconnection function.
Fixed emit method on signal object
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(); |