Initial implementation of the new architeture for signal/slots.

Reviewed by Renato Araújo <renato.filho@openbossa.org>
This commit is contained in:
Hugo Lima 2009-12-23 16:50:19 -02:00
commit 73b5357057
16 changed files with 290 additions and 525 deletions

View file

@ -35,6 +35,7 @@
#ifndef DYNAMICQMETAOBJECT_H
#define DYNAMICQMETAOBJECT_H
#include "pysidemacros.h"
#include <QMetaObject>
#include <QLinkedList>
#include <QByteArray>
@ -44,26 +45,17 @@ class QObject;
namespace PySide
{
class DynamicQMetaObject
class PYSIDE_API DynamicQMetaObject : public QMetaObject
{
public:
DynamicQMetaObject(const QObject* object);
DynamicQMetaObject(const QMetaObject* metaObject);
~DynamicQMetaObject();
void addSignal(const char* signal);
void addSlot(const char* slot);
const QMetaObject* metaObject() const
{
return &m_metaObject;
}
private:
const QMetaObject* m_originalMetaObject;
QMetaObject m_metaObject;
QLinkedList<QByteArray> m_signals;
QLinkedList<QByteArray> m_slots;
unsigned int* m_data;
char* m_stringData;
void updateMetaObject();
};