51 #ifdef QT_INCLUDE_COMPAT
74 #ifndef QT_NO_USERDATA
85 #if defined(__INTEL_COMPILER) && defined(Q_OS_WIN)
99 uint ownObjectName : 1;
100 uint sendChildEvents : 1;
101 uint receiveChildEvents : 1;
102 uint inEventHandler : 1;
103 uint inThreadChangeEvent : 1;
111 class Q_CORE_EXPORT QObject
115 Q_DECLARE_PRIVATE(QObject)
121 virtual
bool event(QEvent *);
122 virtual
bool eventFilter(QObject *, QEvent *);
125 static QString tr(
const char *sourceText,
const char *comment = 0,
int n = -1);
126 static QString trUtf8(
const char *sourceText,
const char *comment = 0,
int n = -1);
127 virtual const QMetaObject *metaObject()
const;
128 static const QMetaObject staticMetaObject;
130 #ifdef QT_NO_TRANSLATION
131 static QString tr(
const char *sourceText,
const char *,
int)
133 static QString tr(
const char *sourceText,
const char * = 0)
135 #ifndef QT_NO_TEXTCODEC
136 static QString trUtf8(
const char *sourceText,
const char *,
int)
138 static QString trUtf8(
const char *sourceText,
const char * = 0)
141 #endif //QT_NO_TRANSLATION
149 bool blockSignals(
bool b);
151 QThread *thread()
const;
152 void moveToThread(QThread *thread);
154 int startTimer(
int interval);
155 void killTimer(
int id);
159 {
return static_cast<T
>(
qt_qFindChild_helper(
this, aName, reinterpret_cast<T>(0)->staticMetaObject)); }
190 QT3_SUPPORT QObject *child(
const char *objName,
const char *inheritsClass = 0,
191 bool recursiveSearch =
true)
const;
192 QT3_SUPPORT QObjectList queryList(
const char *inheritsClass = 0,
193 const char *objName = 0,
194 bool regexpMatch =
true,
195 bool recursiveSearch =
true)
const;
197 inline const QObjectList &
children()
const {
return d_ptr->children; }
199 void setParent(QObject *);
200 void installEventFilter(QObject *);
201 void removeEventFilter(QObject *);
204 static bool connect(
const QObject *sender,
const char *signal,
217 static bool connect(
const QObject *sender,
const QMetaMethod &signal,
218 const QObject *receiver,
const QMetaMethod &method,
231 inline bool connect(
const QObject *sender,
const char *signal,
244 static bool disconnect(
const QObject *sender,
const char *signal,
245 const QObject *receiver,
const char *
member);
246 static bool disconnect(
const QObject *sender,
const QMetaMethod &signal,
249 const QObject *receiver = 0,
const char *
member = 0)
250 {
return disconnect(
this, signal, receiver,
member); }
252 {
return disconnect(
this, 0, receiver,
member); }
254 void dumpObjectTree();
255 void dumpObjectInfo();
257 #ifndef QT_NO_PROPERTIES
258 bool setProperty(
const char *
name,
const QVariant &
value);
259 QVariant property(
const char *
name)
const;
261 #endif // QT_NO_PROPERTIES
263 #ifndef QT_NO_USERDATA
264 static uint registerUserData();
267 #endif // QT_NO_USERDATA
270 void destroyed(QObject * = 0);
276 {
return const_cast<QObject *
>(
this)->qt_metacast(classname) != 0; }
282 QObject *sender()
const;
283 int senderSignalIndex()
const;
284 int receivers(
const char* signal)
const;
286 virtual void timerEvent(QTimerEvent *);
287 virtual void childEvent(QChildEvent *);
288 virtual void customEvent(QEvent *);
290 virtual void connectNotify(
const char *signal);
291 virtual void disconnectNotify(
const char *signal);
295 QT3_SUPPORT_CONSTRUCTOR QObject(QObject *parent,
const char *
name);
296 inline QT3_SUPPORT
void insertChild(QObject *o)
298 inline QT3_SUPPORT
void removeChild(QObject *o)
300 inline QT3_SUPPORT
bool isA(
const char *classname)
const
301 {
return qstrcmp(classname, metaObject()->className()) == 0; }
302 inline QT3_SUPPORT
const char *className()
const {
return metaObject()->className(); }
303 inline QT3_SUPPORT
const char *
name()
const {
return objectName().latin1_helper(); }
304 inline QT3_SUPPORT
const char *
name(
const char *defaultName)
const
305 {
QString s = objectName();
return s.
isEmpty()?defaultName:s.latin1_helper(); }
306 inline QT3_SUPPORT
void setName(
const char *aName) { setObjectName(
QLatin1String(aName)); }
308 inline QT3_SUPPORT
bool checkConnectArgs(
const char *signal,
312 static inline QT3_SUPPORT
QByteArray normalizeSignalSlot(
const char *signalSlot)
317 QObject(QObjectPrivate &dd, QObject *parent = 0);
324 friend struct QMetaObject;
326 friend class QApplicationPrivate;
328 friend class QCoreApplicationPrivate;
329 friend class QWidget;
330 friend class QThreadData;
333 Q_DISABLE_COPY(QObject)
337 inline bool QObject::connect(const QObject *asender, const
char *asignal,
339 {
return connect(asender, asignal,
this, amember, atype); }
341 #ifndef QT_NO_USERDATA
366 inline QT_DEPRECATED
QList<T> qFindChildren(
const QObject *o,
const QRegExp &re)
372 #endif //QT_DEPRECATED
377 #if !defined(QT_NO_QOBJECT_CHECK)
378 reinterpret_cast<T
>(object)->qt_check_for_QOBJECT_macro(*reinterpret_cast<T>(
object));
380 return static_cast<T
>(
reinterpret_cast<T
>(object)->staticMetaObject.
cast(
object));
386 #if !defined(QT_NO_QOBJECT_CHECK)
387 reinterpret_cast<T
>(object)->qt_check_for_QOBJECT_macro(*reinterpret_cast<T>(const_cast<QObject *>(
object)));
389 return static_cast<T
>(
reinterpret_cast<T
>(object)->staticMetaObject.
cast(
object));
397 # define Q_DECLARE_INTERFACE(IFace, IId) \
398 template <> inline const char *qobject_interface_iid<IFace *>() \
400 template <> inline IFace *qobject_cast<IFace *>(QObject *object) \
401 { return reinterpret_cast<IFace *>((object ? object->qt_metacast(IId) : 0)); } \
402 template <> inline IFace *qobject_cast<IFace *>(const QObject *object) \
403 { return reinterpret_cast<IFace *>((object ? const_cast<QObject *>(object)->qt_metacast(IId) : 0)); }
406 #ifndef QT_NO_DEBUG_STREAM
T qobject_cast(QObject *object)
GLuint GLuint GLsizei GLenum type
QList< QObject * > QObjectList
static QString fromUtf8(const char *, int size=-1)
T findChild(const QString &aName=QString()) const
QList< T > findChildren(const QRegExp &re) const
Q_CORE_EXPORT int qstrcmp(const char *str1, const char *str2)
Q_CORE_EXPORT QDebug operator<<(QDebug, const QObject *)
bool isWidgetType() const
GLXDrawable GLXDrawable member
#define Q_PRIVATE_SLOT(d, signature)
void setParent(QObject *)
bool inherits(const char *classname) const
QScopedPointer< QObjectData > d_ptr
QList< T > findChildren(const QString &aName=QString()) const
const QObjectList & children() const
static QString fromLatin1(const char *, int size=-1)
#define QT_BEGIN_NAMESPACE
GLsizei GLsizei GLenum GLenum const GLvoid * data
static const QMetaObject staticQtMetaObject
Q_CORE_EXPORT QObject * qt_qFindChild_helper(const QObject *parent, const QString &name, const QMetaObject &mo)
GLsizei const GLfloat * value
bool disconnect(const QObject *receiver, const char *member=0)
GLuint const GLchar * name
bool signalsBlocked() const
Q_CORE_EXPORT void qt_qFindChildren_helper(const QObject *parent, const QString &name, const QRegExp *re, const QMetaObject &mo, QList< void * > *list)
bool disconnect(const char *signal=0, const QObject *receiver=0, const char *member=0)
const char * qobject_interface_iid()