From 4c3c7eaa2d225ecc0c16644f1a23e848bf539164 Mon Sep 17 00:00:00 2001 From: tpearson Date: Mon, 2 Aug 2010 19:12:15 +0000 Subject: Starting work on Qt4 interface... git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/dependencies/tqtinterface@1158413 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- qtinterface/tqmetaobject.cpp | 133 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 132 insertions(+), 1 deletion(-) (limited to 'qtinterface/tqmetaobject.cpp') diff --git a/qtinterface/tqmetaobject.cpp b/qtinterface/tqmetaobject.cpp index 4900d73..5df02d0 100644 --- a/qtinterface/tqmetaobject.cpp +++ b/qtinterface/tqmetaobject.cpp @@ -20,4 +20,135 @@ Boston, MA 02110-1301, USA. */ #include -#include \ No newline at end of file +#include + +#ifdef USE_QT4 + +/*! + Returns the number of slots for this class. + + If \a super is TRUE, inherited slots are included. + + \sa slotNames() +*/ +int QMetaObject::numSlots( bool super ) const // number of slots +{ + int i; + int n; + for (i=0;inumSlots( super ); +} + +/*! + Returns the number of signals for this class. + + If \a super is TRUE, inherited signals are included. + + \sa signalNames() +*/ +int QMetaObject::numSignals( bool super ) const // number of signals +{ + int i; + int n; + for (i=0;inumSignals( super ); +} + +/*! \internal + + Returns the meta data of the slot with the name \a n or 0 if no + such slot exists. + + If \a super is TRUE, inherited slots are included. + + FIXME: Superclass handling is badly broken + */ +const QMetaMethod* QMetaObject::slot( int index, bool super ) const +{ + QMetaMethod mm; + const QMetaMethod *mr; + int idx = index - ( super ? methodOffset() : 0 ); +// if ( slotDict && idx >= 0 && idx < (int) slotDict->count() ) { + if ( idx >= 0 && idx < numSlots(true) ) { +// return slotData + idx; + mm = method(idx); + mr = &mm; + return mr; + } + if ( !super || !superClass() ) + return 0; + return superClass()->slot( index, super ); +} + +/*! \internal + + Returns the meta data of the signal with the name \a n or 0 if no + such signal exists. + + If \a super is TRUE, inherited signals are included. + + FIXME: Superclass handling is badly broken + */ +const QMetaMethod* QMetaObject::signal( int index, bool super ) const +{ + QMetaMethod mm; + const QMetaMethod *mr; + int idx = index - ( super ? methodOffset() : 0 ); +// if ( signalDict && idx >= 0 && idx < (int) signalDict->count() ) { + if ( idx >= 0 && idx < numSignals(true) ) { +// return signalData + idx; + mm = method(idx); + mr = &mm; + return mr; + } + if ( !super || !superClass() ) + return 0; + return superClass()->signal( index, super ); +} + +/*! + Returns a list with the names of all this class's signals. + + If \a super is TRUE, inherited signals are included. +*/ +QStringList QMetaObject::signalNames( bool super ) const +{ + QStringList l( FALSE ); + int n = numSignals( super ); + for( int i = 0; i < n; ++i ) { + l.append( signal(i, super)->signature() ); + } + return l; +} + +/*! + Returns a list with the names of all this class's slots. + + If \a super is TRUE, inherited slots are included. + + \sa numSlots() +*/ +QStringList QMetaObject::slotNames( bool super ) const +{ + QStringList l( FALSE ); + int n = numSlots( super ); + for( int i = 0; i < n; ++i ) + l.append( slot( i, super)->signature() ); + return l; +} + +#endif // USE_QT4 \ No newline at end of file -- cgit v1.2.3