summaryrefslogtreecommitdiffstats
path: root/qtinterface/tqmetaobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qtinterface/tqmetaobject.cpp')
-rw-r--r--qtinterface/tqmetaobject.cpp169
1 files changed, 159 insertions, 10 deletions
diff --git a/qtinterface/tqmetaobject.cpp b/qtinterface/tqmetaobject.cpp
index 5df02d0..448470b 100644
--- a/qtinterface/tqmetaobject.cpp
+++ b/qtinterface/tqmetaobject.cpp
@@ -34,7 +34,7 @@ Boston, MA 02110-1301, USA.
int QMetaObject::numSlots( bool super ) const // number of slots
{
int i;
- int n;
+ int n=0;
for (i=0;i<methodCount();i++) {
if (method(i).methodType() == QMetaMethod::Slot) {
n++;
@@ -56,7 +56,7 @@ int QMetaObject::numSlots( bool super ) const // number of slots
int QMetaObject::numSignals( bool super ) const // number of signals
{
int i;
- int n;
+ int n=0;
for (i=0;i<methodCount();i++) {
if (method(i).methodType() == QMetaMethod::Signal) {
n++;
@@ -125,12 +125,14 @@ const QMetaMethod* QMetaObject::signal( int index, bool super ) const
If \a super is TRUE, inherited signals are included.
*/
-QStringList QMetaObject::signalNames( bool super ) const
+TQT_QT_STRING_LIST_TYPE QMetaObject::signalNames( bool super ) const
{
- QStringList l( FALSE );
- int n = numSignals( super );
+ TQT_QT_STRING_LIST_TYPE l( FALSE );
+ int n = methodCount();
for( int i = 0; i < n; ++i ) {
- l.append( signal(i, super)->signature() );
+ if (method(i).methodType() == QMetaMethod::Signal) {
+ l.append( normalizedSignature(signal(i, super)->signature()) );
+ }
}
return l;
}
@@ -142,13 +144,160 @@ QStringList QMetaObject::signalNames( bool super ) const
\sa numSlots()
*/
-QStringList QMetaObject::slotNames( bool super ) const
+TQT_QT_STRING_LIST_TYPE QMetaObject::slotNames( bool super ) const
{
- QStringList l( FALSE );
- int n = numSlots( super );
+ TQT_QT_STRING_LIST_TYPE l( FALSE );
+ int n = methodCount();
for( int i = 0; i < n; ++i )
- l.append( slot( i, super)->signature() );
+ if (method(i).methodType() == QMetaMethod::Slot) {
+ l.append( normalizedSignature(slot( i, super)->signature()) );
+ }
return l;
}
+/*! \internal
+ Returns the index of the slot with name \n or -1 if no such slot exists.
+
+ If \a super is TRUE, inherited slots are included.
+
+ FIXME: Superclass handling is badly broken
+ */
+int QMetaObject::findSlot( const char* n, bool super ) const
+{
+ TQT_QT_STRING_LIST_TYPE l( FALSE );
+ int m = methodCount();
+ for( int i = 0; i < m; ++i ) {
+ if ( normalizedSignature(slot( i, super)->signature()) == QByteArray(n) ) {
+ if (method(i).methodType() == QMetaMethod::Slot) {
+ return i;
+ }
+ }
+ }
+ return -1;
+}
+
+/*! \internal
+ Returns the index of the signal with name \n or -1 if no such signal exists.
+
+ If \a super is TRUE, inherited signals are included.
+
+ FIXME: Superclass handling is badly broken
+*/
+int QMetaObject::findSignal( const char* n, bool super ) const
+{
+ TQT_QT_STRING_LIST_TYPE l( FALSE );
+ int m = methodCount();
+ for( int i = 0; i < m; ++i ) {
+ if ( normalizedSignature(signal( i, super)->signature()) == QByteArray(n) ) {
+ if (method(i).methodType() == QMetaMethod::Signal) {
+ return i;
+ }
+ }
+ }
+ return -1;
+}
+
+#ifndef QT_NO_PROPERTIES
+
+/*!
+ Returns the number of properties for this class.
+
+ If \a super is TRUE, inherited properties are included.
+
+ \sa propertyNames()
+ */
+int QMetaObject::numProperties( bool super ) const // number of signals
+{
+ int i;
+ int n=0;
+ for (i=0;i<propertyCount();i++) {
+// if (property(i).propertyType() == QMetaProperty::Property) {
+ n++;
+// }
+ }
+
+ if ( !super || !superClass() )
+ return n;
+ return n + superClass()->numProperties( super );
+}
+
+/*!
+ Returns the property meta data for the property at index \a index
+ or 0 if no such property exists.
+
+ If \a super is TRUE, inherited properties are included.
+
+ \sa propertyNames()
+
+ FIXME: Superclass handling is badly broken
+ */
+const QMetaProperty* QMetaObject::property( int index, bool super ) const
+{
+ QMetaProperty mp;
+ const QMetaProperty *pr;
+ int idx = index - ( super ? propertyOffset() : 0 );
+// if ( d->propData && idx >= 0 && idx < (int)d->numPropData )
+ if ( idx >= 0 && idx < numProperties(true) )
+ mp = property(idx);
+ pr = &mp;
+ return pr;
+ if ( !super || !superClass() )
+ return 0;
+ return superClass()->property( index, super );
+}
+
+/*!
+ Returns a list with the names of all this class's properties.
+
+ If \a super is TRUE, inherited properties are included.
+
+ \sa property()
+*/
+TQT_QT_STRING_LIST_TYPE QMetaObject::propertyNames( bool super ) const
+{
+// TQT_QT_STRING_LIST_TYPE l( FALSE );
+//
+// if ( superclass && super ) {
+// QStrList sl = superclass->propertyNames( super );
+// for ( QStrListIterator slit( sl ); slit.current(); ++slit )
+// l.append( slit.current() );
+// }
+//
+// for( int i = 0; i < d->numPropData; ++i ) {
+// if ( d->propData[i].isValid() )
+// l.append( d->propData[i].name() );
+// }
+//
+// return l;
+
+ TQT_QT_STRING_LIST_TYPE l( FALSE );
+ int n = numProperties( super );
+ for( int i = 0; i < n; ++i )
+ l.append( property( i, super)->name() );
+ return l;
+}
+
+/*!
+ Returns the index for the property with name \a name or -1 if no
+ such property exists.
+
+ If \a super is TRUE, inherited properties are included.
+
+ \sa property(), propertyNames()
+
+ FIXME: Superclass handling is badly broken
+*/
+
+int QMetaObject::findProperty( const char *name, bool super ) const
+{
+ return indexOfProperty( name );
+}
+
+#endif // QT_NO_PROPERTIES
+
+bool QMetaProperty::writable() const
+{
+ return isWritable();
+}
+
#endif // USE_QT4 \ No newline at end of file