aboutsummaryrefslogtreecommitdiffstats
path: root/libpyside/dynamicqmetaobject.h
diff options
context:
space:
mode:
authorRenato Filho <renato.filho@openbossa.org>2010-05-13 15:50:42 -0300
committerRenato Filho <renato.filho@openbossa.org>2010-05-17 19:53:54 -0300
commitc5fd4d4830cb49c9f8087d7e54335f4c248f76bf (patch)
tree6a4fd6a9e30f1d5a1b3ead182d768d2f4fc38a79 /libpyside/dynamicqmetaobject.h
parentd2a6f35ef914b000ddd7685925075985c76817ac (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.h25
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();