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

@ -45,17 +45,20 @@ class QObject;
namespace PySide
{
PYSIDE_API bool isSignal(const char* signal);
PYSIDE_API bool checkSignal(const char* signal);
PYSIDE_API QString getCallbackSignature(const char* signal, PyObject* callback);
QStringList getArgsFromSignature(const char* signature);
class PYSIDE_API SignalManager
{
public:
static SignalManager& instance();
bool connect(QObject* source, const char* signal, PyObject* callback, Qt::ConnectionType type = Qt::AutoConnection);
bool connect(QObject* source, const char* signal, QObject* receiver, const char* slot, Qt::ConnectionType type = Qt::AutoConnection);
QObject* globalReceiver();
bool emitSignal(QObject* source, const char* signal, PyObject* args);
void removeProxySlot(const QObject* signalSource);
const QMetaObject* getMetaObject(const QObject* object) const;
static int qt_metacall(QObject* object, QMetaObject::Call call, int id, void** args);
void addGlobalSlot(const char* slot, PyObject* callback);
private:
struct SignalManagerPrivate;
SignalManagerPrivate* m_d;