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

📄 qtestevent.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 tools applications 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 QTESTEVENT_H#define QTESTEVENT_H#if 0// inform syncqt#pragma qt_no_master_include#endif#include <QtTest/qtest_global.h>#include <QtTest/qtestkeyboard.h>#include <QtTest/qtestmouse.h>#include <QtTest/qtestsystem.h>#include <QtCore/qlist.h>#include <stdlib.h>QT_BEGIN_HEADERclass QTestEvent{public:    virtual void simulate(QWidget *w) = 0;    virtual QTestEvent *clone() const = 0;    virtual ~QTestEvent() {}};class QTestKeyEvent: public QTestEvent{public:    inline QTestKeyEvent(QTest::KeyAction action, Qt::Key key, Qt::KeyboardModifiers modifiers, int delay)        : _action(action), _delay(delay), _modifiers(modifiers), _ascii(0), _key(key) {}    inline QTestKeyEvent(QTest::KeyAction action, char ascii, Qt::KeyboardModifiers modifiers, int delay)        : _action(action), _delay(delay), _modifiers(modifiers),          _ascii(ascii), _key(Qt::Key_unknown) {}    inline QTestEvent *clone() const { return new QTestKeyEvent(*this); }    inline void simulate(QWidget *w)    {        if (_ascii == 0)            QTest::keyEvent(_action, w, _key, _modifiers, _delay);        else            QTest::keyEvent(_action, w, _ascii, _modifiers, _delay);    }protected:    QTest::KeyAction _action;    int _delay;    Qt::KeyboardModifiers _modifiers;    char _ascii;    Qt::Key _key;};class QTestKeyClicksEvent: public QTestEvent{public:    inline QTestKeyClicksEvent(const QString &keys, Qt::KeyboardModifiers modifiers, int delay)        : _keys(keys), _modifiers(modifiers), _delay(delay) {}    inline QTestEvent *clone() const { return new QTestKeyClicksEvent(*this); }    inline void simulate(QWidget *w)    {        QTest::keyClicks(w, _keys, _modifiers, _delay);    }private:    QString _keys;    Qt::KeyboardModifiers _modifiers;    int _delay;};class QTestMouseEvent: public QTestEvent{public:    inline QTestMouseEvent(QTest::MouseAction action, Qt::MouseButton button,            Qt::KeyboardModifiers modifiers, QPoint position, int delay)        : _action(action), _button(button), _modifiers(modifiers), _pos(position), _delay(delay) {}    inline QTestEvent *clone() const { return new QTestMouseEvent(*this); }    inline void simulate(QWidget *w)    {        QTest::mouseEvent(_action, w, _button, _modifiers, _pos, _delay);    }private:    QTest::MouseAction _action;    Qt::MouseButton _button;    Qt::KeyboardModifiers _modifiers;    QPoint _pos;    int _delay;};class QTestDelayEvent: public QTestEvent{public:    inline QTestDelayEvent(int msecs): _delay(msecs) {}    inline QTestEvent *clone() const { return new QTestDelayEvent(*this); }    inline void simulate(QWidget * /*w*/) { QTest::qWait(_delay); }private:    int _delay;};class QTestEventList: public QList<QTestEvent *>{public:    inline QTestEventList() {}    inline QTestEventList(const QTestEventList &other): QList<QTestEvent *>()    { for (int i = 0; i < other.count(); ++i) append(other.at(i)->clone()); }    inline ~QTestEventList()    { clear(); }    inline void clear()    { qDeleteAll(*this); QList<QTestEvent *>::clear(); }    inline void addKeyClick(Qt::Key qtKey, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)    { addKeyEvent(QTest::Click, qtKey, modifiers, msecs); }    inline void addKeyPress(Qt::Key qtKey, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)    { addKeyEvent(QTest::Press, qtKey, modifiers, msecs); }    inline void addKeyRelease(Qt::Key qtKey, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)    { addKeyEvent(QTest::Release, qtKey, modifiers, msecs); }    inline void addKeyEvent(QTest::KeyAction action, Qt::Key qtKey,                            Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)    { append(new QTestKeyEvent(action, qtKey, modifiers, msecs)); }    inline void addKeyClick(char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)    { addKeyEvent(QTest::Click, ascii, modifiers, msecs); }    inline void addKeyPress(char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)    { addKeyEvent(QTest::Press, ascii, modifiers, msecs); }    inline void addKeyRelease(char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)    { addKeyEvent(QTest::Release, ascii, modifiers, msecs); }    inline void addKeyClicks(const QString &keys, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)    { append(new QTestKeyClicksEvent(keys, modifiers, msecs)); }    inline void addKeyEvent(QTest::KeyAction action, char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)    { append(new QTestKeyEvent(action, ascii, modifiers, msecs)); }    inline void addMousePress(Qt::MouseButton button, Qt::KeyboardModifiers stateKey = 0,                              QPoint pos = QPoint(), int delay=-1)    { append(new QTestMouseEvent(QTest::MousePress, button, stateKey, pos, delay)); }    inline void addMouseRelease(Qt::MouseButton button, Qt::KeyboardModifiers stateKey = 0,                                QPoint pos = QPoint(), int delay=-1)    { append(new QTestMouseEvent(QTest::MouseRelease, button, stateKey, pos, delay)); }    inline void addMouseClick(Qt::MouseButton button, Qt::KeyboardModifiers stateKey = 0,                              QPoint pos = QPoint(), int delay=-1)    { append(new QTestMouseEvent(QTest::MouseClick, button, stateKey, pos, delay)); }    inline void addMouseDClick(Qt::MouseButton button, Qt::KeyboardModifiers stateKey = 0,                            QPoint pos = QPoint(), int delay=-1)    { append(new QTestMouseEvent(QTest::MousePress, button, stateKey, pos, delay)); }    inline void addMouseMove(QPoint pos = QPoint(), int delay=-1)    { append(new QTestMouseEvent(QTest::MouseMove, Qt::NoButton, 0, pos, delay)); }    inline void addDelay(int msecs)    { append(new QTestDelayEvent(msecs)); }    inline void simulate(QWidget *w)    {        for (int i = 0; i < count(); ++i)            at(i)->simulate(w);    }};Q_DECLARE_METATYPE(QTestEventList)QT_END_HEADER#endif

⌨️ 快捷键说明

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