⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qobject_p.h

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 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"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    int thread;    void moveToThread_helper(QThread *targetThread);    void setThreadId_helper(QThreadData *currentData, QThreadData *targetData, int id);    void _q_reregisterTimers(void *pointer);    // object currently activating the object    QObject *currentSender;    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 *);#ifndef QT_NO_USERDATA    QVector<QObjectUserData *> userData;#endif    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();    inline int id() const { return id_; }    inline const QObject *sender() const { return sender_; }    inline void **args() const { return args_; }private:    int id_;    const QObject *sender_;    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 &block;    bool reset;};#endif // QOBJECT_P_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -