?? qobject_p.h
字號:
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the QtCore module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file. Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef QOBJECT_P_H#define QOBJECT_P_H//// W A R N I N G// -------------//// This file is not part of the Qt API. It exists for the convenience// of qapplication_*.cpp, qwidget*.cpp and qfiledialog.cpp. This header// file may change from version to version without notice, or even be removed.//// We mean it.//#include "QtCore/qobject.h"#include "QtCore/qpointer.h"#include "QtCore/qcoreevent.h"#include "QtCore/qlist.h"#include "QtCore/qvector.h"#include "QtCore/qreadwritelock.h"#include "QtCore/qvariant.h"class QVariant;class QThreadData;/* mirrored in QtTestLib, DON'T CHANGE without prior warning */struct QSignalSpyCallbackSet{ typedef void (*BeginCallback)(QObject *caller, int method_index, void **argv); typedef void (*EndCallback)(QObject *caller, int method_index); BeginCallback signal_begin_callback, slot_begin_callback; EndCallback signal_end_callback, slot_end_callback;};void Q_CORE_EXPORT qt_register_signal_spy_callbacks(const QSignalSpyCallbackSet &callback_set);extern QSignalSpyCallbackSet Q_CORE_EXPORT qt_signal_spy_callback_set;inline QObjectData::~QObjectData() {}enum { QObjectPrivateVersion = QT_VERSION };class Q_CORE_EXPORT QObjectPrivate : public QObjectData{ Q_DECLARE_PUBLIC(QObject)public: // use this lock when implementing thread-safe QObject things (e.g. postEvent()) static QReadWriteLock *readWriteLock(); // note: must lockForRead() before calling isValidObject() static bool isValidObject(QObject *object); QObjectPrivate(int version = QObjectPrivateVersion); virtual ~QObjectPrivate(); // id of the thread that owns the object QThreadData *threadData; void moveToThread_helper(); void setThreadData_helper(QThreadData *currentData, QThreadData *targetData); void _q_reregisterTimers(void *pointer); // object currently activating the object union { QObject *currentSender; QObject *currentChildBeingDeleted; }; int currentSenderSignalIdStart; int currentSenderSignalIdEnd; bool isSender(const QObject *receiver, const char *signal) const; QObjectList receiverList(const char *signal) const; QObjectList senderList() const; QList<QPointer<QObject> > eventFilters; void setParent_helper(QObject *); void deleteChildren(); static void clearGuards(QObject *); struct ExtraData {#ifndef QT_NO_USERDATA QVector<QObjectUserData *> userData;#endif QList<QByteArray> propertyNames; QList<QVariant> propertyValues; }; ExtraData *extraData; QString objectName;};class Q_CORE_EXPORT QMetaCallEvent : public QEvent{public: QMetaCallEvent(int id, const QObject *sender = 0, int nargs = 0, int *types = 0, void **args = 0); QMetaCallEvent(int id, const QObject *sender, int idFrom, int idTo, int nargs = 0, int *types = 0, void **args = 0); ~QMetaCallEvent(); inline int id() const { return id_; } inline const QObject *sender() const { return sender_; } inline int signalIdStart() const { return idFrom_; } inline int signalIdEnd() const { return idTo_; } inline void **args() const { return args_; }private: int id_; const QObject *sender_; int idFrom_; int idTo_; int nargs_; int *types_; void **args_;};class Q_CORE_EXPORT QBoolBlocker{public: inline QBoolBlocker(bool &b):block(b), reset(b){block = true;} inline ~QBoolBlocker(){block = reset; }private: bool █ bool reset;};#endif // QOBJECT_P_H
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -