diff options
author | Karsten Heimrich <karsten.heimrich@qt.io> | 2020-08-18 14:26:50 +0200 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@qt.io> | 2020-08-24 20:10:25 +0200 |
commit | a735038376e1c229c293c36bd67800851323baf1 (patch) | |
tree | 4b0621b9a0b322ecb45e3843b3d7c3bacd90296f /src/widgets/statemachine | |
parent | 43f01ec2e5bc52b290098d0fca1dd4ae40f2c6d3 (diff) |
Move QStateMachine from QtCore to QtScxml
Task-number: QTBUG-80316
Change-Id: I2ee74110fd55e94d86321d3b3dc5bb8297424ed4
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Diffstat (limited to 'src/widgets/statemachine')
-rw-r--r-- | src/widgets/statemachine/qbasickeyeventtransition.cpp | 204 | ||||
-rw-r--r-- | src/widgets/statemachine/qbasickeyeventtransition_p.h | 93 | ||||
-rw-r--r-- | src/widgets/statemachine/qbasicmouseeventtransition.cpp | 208 | ||||
-rw-r--r-- | src/widgets/statemachine/qbasicmouseeventtransition_p.h | 96 | ||||
-rw-r--r-- | src/widgets/statemachine/qguistatemachine.cpp | 473 | ||||
-rw-r--r-- | src/widgets/statemachine/qkeyeventtransition.cpp | 174 | ||||
-rw-r--r-- | src/widgets/statemachine/qkeyeventtransition.h | 79 | ||||
-rw-r--r-- | src/widgets/statemachine/qmouseeventtransition.cpp | 202 | ||||
-rw-r--r-- | src/widgets/statemachine/qmouseeventtransition.h | 83 | ||||
-rw-r--r-- | src/widgets/statemachine/statemachine.pri | 16 |
10 files changed, 0 insertions, 1628 deletions
diff --git a/src/widgets/statemachine/qbasickeyeventtransition.cpp b/src/widgets/statemachine/qbasickeyeventtransition.cpp deleted file mode 100644 index c833e64822..0000000000 --- a/src/widgets/statemachine/qbasickeyeventtransition.cpp +++ /dev/null @@ -1,204 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWidgets module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qbasickeyeventtransition_p.h" - -#include <QtGui/qevent.h> -#include <qdebug.h> -#include <private/qabstracttransition_p.h> - -QT_BEGIN_NAMESPACE - -/*! - \internal - \class QBasicKeyEventTransition - \since 4.6 - \ingroup statemachine - - \brief The QBasicKeyEventTransition class provides a transition for Qt key events. -*/ - -class QBasicKeyEventTransitionPrivate : public QAbstractTransitionPrivate -{ - Q_DECLARE_PUBLIC(QBasicKeyEventTransition) -public: - QBasicKeyEventTransitionPrivate(); - - static QBasicKeyEventTransitionPrivate *get(QBasicKeyEventTransition *q); - - QEvent::Type eventType; - int key; - Qt::KeyboardModifiers modifierMask; -}; - -QBasicKeyEventTransitionPrivate::QBasicKeyEventTransitionPrivate() -{ - eventType = QEvent::None; - key = 0; - modifierMask = Qt::NoModifier; -} - -QBasicKeyEventTransitionPrivate *QBasicKeyEventTransitionPrivate::get(QBasicKeyEventTransition *q) -{ - return q->d_func(); -} - -/*! - Constructs a new key event transition with the given \a sourceState. -*/ -QBasicKeyEventTransition::QBasicKeyEventTransition(QState *sourceState) - : QAbstractTransition(*new QBasicKeyEventTransitionPrivate, sourceState) -{ -} - -/*! - Constructs a new event transition for events of the given \a type for the - given \a key, with the given \a sourceState. -*/ -QBasicKeyEventTransition::QBasicKeyEventTransition(QEvent::Type type, int key, - QState *sourceState) - : QAbstractTransition(*new QBasicKeyEventTransitionPrivate, sourceState) -{ - Q_D(QBasicKeyEventTransition); - d->eventType = type; - d->key = key; -} - -/*! - Constructs a new event transition for events of the given \a type for the - given \a key, with the given \a modifierMask and \a sourceState. -*/ -QBasicKeyEventTransition::QBasicKeyEventTransition(QEvent::Type type, int key, - Qt::KeyboardModifiers modifierMask, - QState *sourceState) - : QAbstractTransition(*new QBasicKeyEventTransitionPrivate, sourceState) -{ - Q_D(QBasicKeyEventTransition); - d->eventType = type; - d->key = key; - d->modifierMask = modifierMask; -} - -/*! - Destroys this event transition. -*/ -QBasicKeyEventTransition::~QBasicKeyEventTransition() -{ -} - -/*! - Returns the event type that this key event transition is associated with. -*/ -QEvent::Type QBasicKeyEventTransition::eventType() const -{ - Q_D(const QBasicKeyEventTransition); - return d->eventType; -} - -/*! - Sets the event \a type that this key event transition is associated with. -*/ -void QBasicKeyEventTransition::setEventType(QEvent::Type type) -{ - Q_D(QBasicKeyEventTransition); - d->eventType = type; -} - -/*! - Returns the key that this key event transition checks for. -*/ -int QBasicKeyEventTransition::key() const -{ - Q_D(const QBasicKeyEventTransition); - return d->key; -} - -/*! - Sets the key that this key event transition will check for. -*/ -void QBasicKeyEventTransition::setKey(int key) -{ - Q_D(QBasicKeyEventTransition); - d->key = key; -} - -/*! - Returns the keyboard modifier mask that this key event transition checks - for. -*/ -Qt::KeyboardModifiers QBasicKeyEventTransition::modifierMask() const -{ - Q_D(const QBasicKeyEventTransition); - return d->modifierMask; -} - -/*! - Sets the keyboard modifier mask that this key event transition will check - for. -*/ -void QBasicKeyEventTransition::setModifierMask(Qt::KeyboardModifiers modifierMask) -{ - Q_D(QBasicKeyEventTransition); - d->modifierMask = modifierMask; -} - -/*! - \reimp -*/ -bool QBasicKeyEventTransition::eventTest(QEvent *event) -{ - Q_D(const QBasicKeyEventTransition); - if (event->type() == d->eventType) { - QKeyEvent *ke = static_cast<QKeyEvent*>(event); - return (ke->key() == d->key) - && ((ke->modifiers() & d->modifierMask) == d->modifierMask); - } - return false; -} - -/*! - \reimp -*/ -void QBasicKeyEventTransition::onTransition(QEvent *) -{ -} - -QT_END_NAMESPACE - -#include "moc_qbasickeyeventtransition_p.cpp" diff --git a/src/widgets/statemachine/qbasickeyeventtransition_p.h b/src/widgets/statemachine/qbasickeyeventtransition_p.h deleted file mode 100644 index f23c078570..0000000000 --- a/src/widgets/statemachine/qbasickeyeventtransition_p.h +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWidgets module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QBASICKEYEVENTTRANSITION_P_H -#define QBASICKEYEVENTTRANSITION_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <QtCore/qabstracttransition.h> -#include <QtGui/qevent.h> - -QT_REQUIRE_CONFIG(qeventtransition); - -QT_BEGIN_NAMESPACE - -class QBasicKeyEventTransitionPrivate; -class Q_AUTOTEST_EXPORT QBasicKeyEventTransition : public QAbstractTransition -{ - Q_OBJECT -public: - QBasicKeyEventTransition(QState *sourceState = nullptr); - QBasicKeyEventTransition(QEvent::Type type, int key, QState *sourceState = nullptr); - QBasicKeyEventTransition(QEvent::Type type, int key, - Qt::KeyboardModifiers modifierMask, - QState *sourceState = nullptr); - ~QBasicKeyEventTransition(); - - QEvent::Type eventType() const; - void setEventType(QEvent::Type type); - - int key() const; - void setKey(int key); - - Qt::KeyboardModifiers modifierMask() const; - void setModifierMask(Qt::KeyboardModifiers modifiers); - -protected: - bool eventTest(QEvent *event) override; - void onTransition(QEvent *) override; - -private: - Q_DISABLE_COPY_MOVE(QBasicKeyEventTransition) - Q_DECLARE_PRIVATE(QBasicKeyEventTransition) -}; - -QT_END_NAMESPACE - -#endif diff --git a/src/widgets/statemachine/qbasicmouseeventtransition.cpp b/src/widgets/statemachine/qbasicmouseeventtransition.cpp deleted file mode 100644 index 460abe9f50..0000000000 --- a/src/widgets/statemachine/qbasicmouseeventtransition.cpp +++ /dev/null @@ -1,208 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWidgets module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qbasicmouseeventtransition_p.h" -#include <QtGui/qevent.h> -#include <QtGui/qpainterpath.h> -#include <qdebug.h> -#include <private/qabstracttransition_p.h> - -QT_BEGIN_NAMESPACE - -/*! - \internal - \class QBasicMouseEventTransition - \since 4.6 - \ingroup statemachine - - \brief The QBasicMouseEventTransition class provides a transition for Qt mouse events. -*/ - -class QBasicMouseEventTransitionPrivate : public QAbstractTransitionPrivate -{ - Q_DECLARE_PUBLIC(QBasicMouseEventTransition) -public: - QBasicMouseEventTransitionPrivate(); - - static QBasicMouseEventTransitionPrivate *get(QBasicMouseEventTransition *q); - - QEvent::Type eventType; - Qt::MouseButton button; - Qt::KeyboardModifiers modifierMask; - QPainterPath path; -}; - -QBasicMouseEventTransitionPrivate::QBasicMouseEventTransitionPrivate() -{ - eventType = QEvent::None; - button = Qt::NoButton; -} - -QBasicMouseEventTransitionPrivate *QBasicMouseEventTransitionPrivate::get(QBasicMouseEventTransition *q) -{ - return q->d_func(); -} - -/*! - Constructs a new mouse event transition with the given \a sourceState. -*/ -QBasicMouseEventTransition::QBasicMouseEventTransition(QState *sourceState) - : QAbstractTransition(*new QBasicMouseEventTransitionPrivate, sourceState) -{ -} - -/*! - Constructs a new mouse event transition for events of the given \a type. -*/ -QBasicMouseEventTransition::QBasicMouseEventTransition(QEvent::Type type, - Qt::MouseButton button, - QState *sourceState) - : QAbstractTransition(*new QBasicMouseEventTransitionPrivate, sourceState) -{ - Q_D(QBasicMouseEventTransition); - d->eventType = type; - d->button = button; -} - -/*! - Destroys this mouse event transition. -*/ -QBasicMouseEventTransition::~QBasicMouseEventTransition() -{ -} - -/*! - Returns the event type that this mouse event transition is associated with. -*/ -QEvent::Type QBasicMouseEventTransition::eventType() const -{ - Q_D(const QBasicMouseEventTransition); - return d->eventType; -} - -/*! - Sets the event \a type that this mouse event transition is associated with. -*/ -void QBasicMouseEventTransition::setEventType(QEvent::Type type) -{ - Q_D(QBasicMouseEventTransition); - d->eventType = type; -} - -/*! - Returns the button that this mouse event transition checks for. -*/ -Qt::MouseButton QBasicMouseEventTransition::button() const -{ - Q_D(const QBasicMouseEventTransition); - return d->button; -} - -/*! - Sets the button that this mouse event transition will check for. -*/ -void QBasicMouseEventTransition::setButton(Qt::MouseButton button) -{ - Q_D(QBasicMouseEventTransition); - d->button = button; -} - -/*! - Returns the keyboard modifier mask that this mouse event transition checks - for. -*/ -Qt::KeyboardModifiers QBasicMouseEventTransition::modifierMask() const -{ - Q_D(const QBasicMouseEventTransition); - return d->modifierMask; -} - -/*! - Sets the keyboard modifier mask that this mouse event transition will check - for. -*/ -void QBasicMouseEventTransition::setModifierMask(Qt::KeyboardModifiers modifierMask) -{ - Q_D(QBasicMouseEventTransition); - d->modifierMask = modifierMask; -} - -/*! - Returns the hit test path for this mouse event transition. -*/ -QPainterPath QBasicMouseEventTransition::hitTestPath() const -{ - Q_D(const QBasicMouseEventTransition); - return d->path; -} - -/*! - Sets the hit test path for this mouse event transition. -*/ -void QBasicMouseEventTransition::setHitTestPath(const QPainterPath &path) -{ - Q_D(QBasicMouseEventTransition); - d->path = path; -} - -/*! - \reimp -*/ -bool QBasicMouseEventTransition::eventTest(QEvent *event) -{ - Q_D(const QBasicMouseEventTransition); - if (event->type() == d->eventType) { - QMouseEvent *me = static_cast<QMouseEvent*>(event); - return (me->button() == d->button) - && ((me->modifiers() & d->modifierMask) == d->modifierMask) - && (d->path.isEmpty() || d->path.contains(me->position().toPoint())); - } - return false; -} - -/*! - \reimp -*/ -void QBasicMouseEventTransition::onTransition(QEvent *) -{ -} - -QT_END_NAMESPACE - -#include "moc_qbasicmouseeventtransition_p.cpp" diff --git a/src/widgets/statemachine/qbasicmouseeventtransition_p.h b/src/widgets/statemachine/qbasicmouseeventtransition_p.h deleted file mode 100644 index dd619d189c..0000000000 --- a/src/widgets/statemachine/qbasicmouseeventtransition_p.h +++ /dev/null @@ -1,96 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWidgets module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QBASICMOUSEEVENTTRANSITION_P_H -#define QBASICMOUSEEVENTTRANSITION_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to -// version without notice, or even be removed. -// -// We mean it. -// - -#include <QtCore/qabstracttransition.h> -#include <QtGui/qevent.h> - -QT_REQUIRE_CONFIG(qeventtransition); - -QT_BEGIN_NAMESPACE - -class QPainterPath; - -class QBasicMouseEventTransitionPrivate; -class Q_AUTOTEST_EXPORT QBasicMouseEventTransition : public QAbstractTransition -{ - Q_OBJECT -public: - QBasicMouseEventTransition(QState *sourceState = nullptr); - QBasicMouseEventTransition(QEvent::Type type, Qt::MouseButton button, - QState *sourceState = nullptr); - ~QBasicMouseEventTransition(); - - QEvent::Type eventType() const; - void setEventType(QEvent::Type type); - - Qt::MouseButton button() const; - void setButton(Qt::MouseButton button); - - Qt::KeyboardModifiers modifierMask() const; - void setModifierMask(Qt::KeyboardModifiers modifiers); - - QPainterPath hitTestPath() const; - void setHitTestPath(const QPainterPath &path); - -protected: - bool eventTest(QEvent *event) override; - void onTransition(QEvent *) override; - -private: - Q_DISABLE_COPY_MOVE(QBasicMouseEventTransition) - Q_DECLARE_PRIVATE(QBasicMouseEventTransition) -}; - -QT_END_NAMESPACE - -#endif diff --git a/src/widgets/statemachine/qguistatemachine.cpp b/src/widgets/statemachine/qguistatemachine.cpp deleted file mode 100644 index b310da5781..0000000000 --- a/src/widgets/statemachine/qguistatemachine.cpp +++ /dev/null @@ -1,473 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWidgets module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtCore/qstatemachine.h> -#include <private/qstatemachine_p.h> -#include <QtGui/qevent.h> -#include <QtWidgets/qtwidgetsglobal.h> -#if QT_CONFIG(graphicsview) -#include <QtWidgets/qgraphicssceneevent.h> -#endif - -QT_BEGIN_NAMESPACE - -Q_CORE_EXPORT const QStateMachinePrivate::Handler *qcoreStateMachineHandler(); - -static QEvent *cloneEvent(QEvent *e) -{ - switch (e->type()) { - case QEvent::MouseButtonPress: - case QEvent::MouseButtonRelease: - case QEvent::MouseButtonDblClick: - case QEvent::MouseMove: - return new QMouseEvent(*static_cast<QMouseEvent*>(e)); - case QEvent::KeyPress: - case QEvent::KeyRelease: - return new QKeyEvent(*static_cast<QKeyEvent*>(e)); - case QEvent::FocusIn: - case QEvent::FocusOut: - return new QFocusEvent(*static_cast<QFocusEvent*>(e)); - case QEvent::Enter: - return new QEvent(*e); - case QEvent::Leave: - return new QEvent(*e); - case QEvent::Paint: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; - case QEvent::Move: - return new QMoveEvent(*static_cast<QMoveEvent*>(e)); - case QEvent::Resize: - return new QResizeEvent(*static_cast<QResizeEvent*>(e)); - case QEvent::Create: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; - case QEvent::Destroy: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; - case QEvent::Show: - return new QShowEvent(*static_cast<QShowEvent*>(e)); - case QEvent::Hide: - return new QHideEvent(*static_cast<QHideEvent*>(e)); - case QEvent::Close: - return new QCloseEvent(*static_cast<QCloseEvent*>(e)); - case QEvent::Quit: - return new QEvent(*e); - case QEvent::ParentChange: - return new QEvent(*e); - case QEvent::ParentAboutToChange: - return new QEvent(*e); - case QEvent::ThreadChange: - return new QEvent(*e); - - case QEvent::WindowActivate: - case QEvent::WindowDeactivate: - return new QEvent(*e); - - case QEvent::ShowToParent: - return new QEvent(*e); - case QEvent::HideToParent: - return new QEvent(*e); -#if QT_CONFIG(wheelevent) - case QEvent::Wheel: - return new QWheelEvent(*static_cast<QWheelEvent*>(e)); -#endif // QT_CONFIG(wheelevent) - case QEvent::WindowTitleChange: - return new QEvent(*e); - case QEvent::WindowIconChange: - return new QEvent(*e); - case QEvent::ApplicationWindowIconChange: - return new QEvent(*e); - case QEvent::ApplicationFontChange: - return new QEvent(*e); - case QEvent::ApplicationLayoutDirectionChange: - return new QEvent(*e); - case QEvent::ApplicationPaletteChange: - return new QEvent(*e); - case QEvent::PaletteChange: - return new QEvent(*e); - case QEvent::Clipboard: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; - case QEvent::Speech: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; - case QEvent::MetaCall: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; - case QEvent::SockAct: - return new QEvent(*e); - case QEvent::WinEventAct: - return new QEvent(*e); - case QEvent::DeferredDelete: - return new QEvent(*e); -#if QT_CONFIG(draganddrop) - case QEvent::DragEnter: - return new QDragEnterEvent(*static_cast<QDragEnterEvent*>(e)); - case QEvent::DragMove: - return new QDragMoveEvent(*static_cast<QDragMoveEvent*>(e)); - case QEvent::DragLeave: - return new QDragLeaveEvent(*static_cast<QDragLeaveEvent*>(e)); - case QEvent::Drop: - return new QDropEvent(*static_cast<QDragMoveEvent*>(e)); -#endif - case QEvent::ChildAdded: - return new QChildEvent(*static_cast<QChildEvent*>(e)); - case QEvent::ChildPolished: - return new QChildEvent(*static_cast<QChildEvent*>(e)); - case QEvent::ChildRemoved: - return new QChildEvent(*static_cast<QChildEvent*>(e)); - case QEvent::ShowWindowRequest: - return new QEvent(*e); - case QEvent::PolishRequest: - return new QEvent(*e); - case QEvent::Polish: - return new QEvent(*e); - case QEvent::LayoutRequest: - return new QEvent(*e); - case QEvent::UpdateRequest: - return new QEvent(*e); - case QEvent::UpdateLater: - return new QEvent(*e); - - case QEvent::EmbeddingControl: - return new QEvent(*e); - case QEvent::ActivateControl: - return new QEvent(*e); - case QEvent::DeactivateControl: - return new QEvent(*e); - -#ifndef QT_NO_CONTEXTMENU - case QEvent::ContextMenu: - return new QContextMenuEvent(*static_cast<QContextMenuEvent*>(e)); -#endif - case QEvent::InputMethod: - return new QInputMethodEvent(*static_cast<QInputMethodEvent*>(e)); - case QEvent::LocaleChange: - return new QEvent(*e); - case QEvent::LanguageChange: - return new QEvent(*e); - case QEvent::LayoutDirectionChange: - return new QEvent(*e); - case QEvent::Style: - return new QEvent(*e); -#if QT_CONFIG(tabletevent) - case QEvent::TabletMove: - case QEvent::TabletPress: - case QEvent::TabletRelease: - return new QTabletEvent(*static_cast<QTabletEvent*>(e)); -#endif // QT_CONFIG(tabletevent) - case QEvent::OkRequest: - return new QEvent(*e); - case QEvent::HelpRequest: - return new QEvent(*e); - - case QEvent::IconDrag: - return new QIconDragEvent(*static_cast<QIconDragEvent*>(e)); - - case QEvent::FontChange: - return new QEvent(*e); - case QEvent::EnabledChange: - return new QEvent(*e); - case QEvent::ActivationChange: - return new QEvent(*e); - case QEvent::StyleChange: - return new QEvent(*e); - case QEvent::IconTextChange: - return new QEvent(*e); - case QEvent::ModifiedChange: - return new QEvent(*e); - case QEvent::MouseTrackingChange: - return new QEvent(*e); - - case QEvent::WindowBlocked: - return new QEvent(*e); - case QEvent::WindowUnblocked: - return new QEvent(*e); - case QEvent::WindowStateChange: - return new QWindowStateChangeEvent(*static_cast<QWindowStateChangeEvent*>(e)); - - case QEvent::ToolTip: - return new QHelpEvent(*static_cast<QHelpEvent*>(e)); - case QEvent::WhatsThis: - return new QHelpEvent(*static_cast<QHelpEvent*>(e)); -#if QT_CONFIG(statustip) - case QEvent::StatusTip: - return new QStatusTipEvent(*static_cast<QStatusTipEvent*>(e)); -#endif // QT_CONFIG(statustip) -#ifndef QT_NO_ACTION - case QEvent::ActionChanged: - case QEvent::ActionAdded: - case QEvent::ActionRemoved: - return new QActionEvent(*static_cast<QActionEvent*>(e)); -#endif - case QEvent::FileOpen: - return new QFileOpenEvent(*static_cast<QFileOpenEvent*>(e)); - -#ifndef QT_NO_SHORTCUT - case QEvent::Shortcut: - return new QShortcutEvent(*static_cast<QShortcutEvent*>(e)); -#endif //QT_NO_SHORTCUT - case QEvent::ShortcutOverride: - return new QKeyEvent(*static_cast<QKeyEvent*>(e)); - -#if QT_CONFIG(whatsthis) - case QEvent::WhatsThisClicked: - return new QWhatsThisClickedEvent(*static_cast<QWhatsThisClickedEvent*>(e)); -#endif // QT_CONFIG(whatsthis) - -#if QT_CONFIG(toolbar) - case QEvent::ToolBarChange: - return new QToolBarChangeEvent(*static_cast<QToolBarChangeEvent*>(e)); -#endif // QT_CONFIG(toolbar) - - case QEvent::ApplicationActivate: - return new QEvent(*e); - case QEvent::ApplicationDeactivate: - return new QEvent(*e); - - case QEvent::QueryWhatsThis: - return new QHelpEvent(*static_cast<QHelpEvent*>(e)); - case QEvent::EnterWhatsThisMode: - return new QEvent(*e); - case QEvent::LeaveWhatsThisMode: - return new QEvent(*e); - - case QEvent::ZOrderChange: - return new QEvent(*e); - - case QEvent::HoverEnter: - case QEvent::HoverLeave: - case QEvent::HoverMove: - return new QHoverEvent(*static_cast<QHoverEvent*>(e)); - -#ifdef QT_KEYPAD_NAVIGATION - case QEvent::EnterEditFocus: - return new QEvent(*e); - case QEvent::LeaveEditFocus: - return new QEvent(*e); -#endif - case QEvent::AcceptDropsChange: - return new QEvent(*e); - - case QEvent::ZeroTimerEvent: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; -#if QT_CONFIG(graphicsview) - case QEvent::GraphicsSceneMouseMove: - case QEvent::GraphicsSceneMousePress: - case QEvent::GraphicsSceneMouseRelease: - case QEvent::GraphicsSceneMouseDoubleClick: { - QGraphicsSceneMouseEvent *me = static_cast<QGraphicsSceneMouseEvent*>(e); - QGraphicsSceneMouseEvent *me2 = new QGraphicsSceneMouseEvent(me->type()); - me2->setWidget(me->widget()); - me2->setPos(me->pos()); - me2->setScenePos(me->scenePos()); - me2->setScreenPos(me->screenPos()); -// ### for all buttons - me2->setButtonDownPos(Qt::LeftButton, me->buttonDownPos(Qt::LeftButton)); - me2->setButtonDownPos(Qt::RightButton, me->buttonDownPos(Qt::RightButton)); - me2->setButtonDownScreenPos(Qt::LeftButton, me->buttonDownScreenPos(Qt::LeftButton)); - me2->setButtonDownScreenPos(Qt::RightButton, me->buttonDownScreenPos(Qt::RightButton)); - me2->setLastPos(me->lastPos()); - me2->setLastScenePos(me->lastScenePos()); - me2->setLastScreenPos(me->lastScreenPos()); - me2->setButtons(me->buttons()); - me2->setButton(me->button()); - me2->setModifiers(me->modifiers()); - me2->setSource(me->source()); - me2->setFlags(me->flags()); - return me2; - } - - case QEvent::GraphicsSceneContextMenu: { - QGraphicsSceneContextMenuEvent *me = static_cast<QGraphicsSceneContextMenuEvent*>(e); - QGraphicsSceneContextMenuEvent *me2 = new QGraphicsSceneContextMenuEvent(me->type()); - me2->setWidget(me->widget()); - me2->setPos(me->pos()); - me2->setScenePos(me->scenePos()); - me2->setScreenPos(me->screenPos()); - me2->setModifiers(me->modifiers()); - me2->setReason(me->reason()); - return me2; - } - - case QEvent::GraphicsSceneHoverEnter: - case QEvent::GraphicsSceneHoverMove: - case QEvent::GraphicsSceneHoverLeave: { - QGraphicsSceneHoverEvent *he = static_cast<QGraphicsSceneHoverEvent*>(e); - QGraphicsSceneHoverEvent *he2 = new QGraphicsSceneHoverEvent(he->type()); - he2->setPos(he->pos()); - he2->setScenePos(he->scenePos()); - he2->setScreenPos(he->screenPos()); - he2->setLastPos(he->lastPos()); - he2->setLastScenePos(he->lastScenePos()); - he2->setLastScreenPos(he->lastScreenPos()); - he2->setModifiers(he->modifiers()); - return he2; - } - case QEvent::GraphicsSceneHelp: - return new QHelpEvent(*static_cast<QHelpEvent*>(e)); - case QEvent::GraphicsSceneDragEnter: - case QEvent::GraphicsSceneDragMove: - case QEvent::GraphicsSceneDragLeave: - case QEvent::GraphicsSceneDrop: { - QGraphicsSceneDragDropEvent *dde = static_cast<QGraphicsSceneDragDropEvent*>(e); - QGraphicsSceneDragDropEvent *dde2 = new QGraphicsSceneDragDropEvent(dde->type()); - dde2->setPos(dde->pos()); - dde2->setScenePos(dde->scenePos()); - dde2->setScreenPos(dde->screenPos()); - dde2->setButtons(dde->buttons()); - dde2->setModifiers(dde->modifiers()); - return dde2; - } - case QEvent::GraphicsSceneWheel: { - QGraphicsSceneWheelEvent *we = static_cast<QGraphicsSceneWheelEvent*>(e); - QGraphicsSceneWheelEvent *we2 = new QGraphicsSceneWheelEvent(we->type()); - we2->setPos(we->pos()); - we2->setScenePos(we->scenePos()); - we2->setScreenPos(we->screenPos()); - we2->setButtons(we->buttons()); - we2->setModifiers(we->modifiers()); - we2->setOrientation(we->orientation()); - we2->setDelta(we->delta()); - return we2; - } -#endif - case QEvent::KeyboardLayoutChange: - return new QEvent(*e); - - case QEvent::DynamicPropertyChange: - return new QDynamicPropertyChangeEvent(*static_cast<QDynamicPropertyChangeEvent*>(e)); - -#if QT_CONFIG(tabletevent) - case QEvent::TabletEnterProximity: - case QEvent::TabletLeaveProximity: - return new QTabletEvent(*static_cast<QTabletEvent*>(e)); -#endif // QT_CONFIG(tabletevent) - - case QEvent::NonClientAreaMouseMove: - case QEvent::NonClientAreaMouseButtonPress: - case QEvent::NonClientAreaMouseButtonRelease: - case QEvent::NonClientAreaMouseButtonDblClick: - return new QMouseEvent(*static_cast<QMouseEvent*>(e)); - - case QEvent::MacSizeChange: - return new QEvent(*e); - - case QEvent::ContentsRectChange: - return new QEvent(*e); - - case QEvent::MacGLWindowChange: - return new QEvent(*e); - - case QEvent::FutureCallOut: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; -#if QT_CONFIG(graphicsview) - case QEvent::GraphicsSceneResize: { - QGraphicsSceneResizeEvent *re = static_cast<QGraphicsSceneResizeEvent*>(e); - QGraphicsSceneResizeEvent *re2 = new QGraphicsSceneResizeEvent(); - re2->setOldSize(re->oldSize()); - re2->setNewSize(re->newSize()); - return re2; - } - case QEvent::GraphicsSceneMove: { - QGraphicsSceneMoveEvent *me = static_cast<QGraphicsSceneMoveEvent*>(e); - QGraphicsSceneMoveEvent *me2 = new QGraphicsSceneMoveEvent(); - me2->setWidget(me->widget()); - me2->setNewPos(me->newPos()); - me2->setOldPos(me->oldPos()); - return me2; - } -#endif - case QEvent::CursorChange: - return new QEvent(*e); - case QEvent::ToolTipChange: - return new QEvent(*e); - - case QEvent::NetworkReplyUpdated: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; - - case QEvent::GrabMouse: - case QEvent::UngrabMouse: - case QEvent::GrabKeyboard: - case QEvent::UngrabKeyboard: - return new QEvent(*e); - - case QEvent::TouchBegin: - case QEvent::TouchUpdate: - case QEvent::TouchEnd: - return new QTouchEvent(*static_cast<QTouchEvent*>(e)); - -#ifndef QT_NO_GESTURES - case QEvent::NativeGesture: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; -#endif - - case QEvent::User: - case QEvent::MaxUser: - Q_ASSERT_X(false, "cloneEvent()", "not implemented"); - break; - default: - ; - } - return qcoreStateMachineHandler()->cloneEvent(e); -} - -const QStateMachinePrivate::Handler qt_gui_statemachine_handler = { - cloneEvent -}; - -static const QStateMachinePrivate::Handler *qt_guistatemachine_last_handler = nullptr; -void qRegisterGuiStateMachine() -{ - qt_guistatemachine_last_handler = QStateMachinePrivate::handler; - QStateMachinePrivate::handler = &qt_gui_statemachine_handler; -} -Q_CONSTRUCTOR_FUNCTION(qRegisterGuiStateMachine) - -void qUnregisterGuiStateMachine() -{ - QStateMachinePrivate::handler = qt_guistatemachine_last_handler; -} -Q_DESTRUCTOR_FUNCTION(qUnregisterGuiStateMachine) - -QT_END_NAMESPACE diff --git a/src/widgets/statemachine/qkeyeventtransition.cpp b/src/widgets/statemachine/qkeyeventtransition.cpp deleted file mode 100644 index 1578f294d5..0000000000 --- a/src/widgets/statemachine/qkeyeventtransition.cpp +++ /dev/null @@ -1,174 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWidgets module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qkeyeventtransition.h" -#include "qbasickeyeventtransition_p.h" -#include <QtCore/qstatemachine.h> -#include <private/qeventtransition_p.h> - -QT_BEGIN_NAMESPACE - -/*! - \class QKeyEventTransition - - \brief The QKeyEventTransition class provides a transition for key events. - - \since 4.6 - \ingroup statemachine - \inmodule QtWidgets - - QKeyEventTransition is part of \l{The State Machine Framework}. - - \sa QState::addTransition() -*/ - -/*! - \property QKeyEventTransition::key - - \brief the key that this key event transition is associated with -*/ - -/*! - \property QKeyEventTransition::modifierMask - - \brief the keyboard modifier mask that this key event transition checks for -*/ - -class QKeyEventTransitionPrivate : public QEventTransitionPrivate -{ - Q_DECLARE_PUBLIC(QKeyEventTransition) -public: - QKeyEventTransitionPrivate() {} - - QBasicKeyEventTransition *transition; -}; - -/*! - Constructs a new key event transition with the given \a sourceState. -*/ -QKeyEventTransition::QKeyEventTransition(QState *sourceState) - : QEventTransition(*new QKeyEventTransitionPrivate, sourceState) -{ - Q_D(QKeyEventTransition); - d->transition = new QBasicKeyEventTransition(); -} - -/*! - Constructs a new key event transition for events of the given \a type for - the given \a object, with the given \a key and \a sourceState. -*/ -QKeyEventTransition::QKeyEventTransition(QObject *object, QEvent::Type type, - int key, QState *sourceState) - : QEventTransition(*new QKeyEventTransitionPrivate, object, type, sourceState) -{ - Q_D(QKeyEventTransition); - d->transition = new QBasicKeyEventTransition(type, key); -} - -/*! - Destroys this key event transition. -*/ -QKeyEventTransition::~QKeyEventTransition() -{ - Q_D(QKeyEventTransition); - delete d->transition; -} - -/*! - Returns the key that this key event transition checks for. -*/ -int QKeyEventTransition::key() const -{ - Q_D(const QKeyEventTransition); - return d->transition->key(); -} - -/*! - Sets the \a key that this key event transition will check for. -*/ -void QKeyEventTransition::setKey(int key) -{ - Q_D(QKeyEventTransition); - d->transition->setKey(key); -} - -/*! - Returns the keyboard modifier mask that this key event transition checks - for. -*/ -Qt::KeyboardModifiers QKeyEventTransition::modifierMask() const -{ - Q_D(const QKeyEventTransition); - return d->transition->modifierMask(); -} - -/*! - Sets the keyboard modifier mask that this key event transition will - check for to \a modifierMask. -*/ -void QKeyEventTransition::setModifierMask(Qt::KeyboardModifiers modifierMask) -{ - Q_D(QKeyEventTransition); - d->transition->setModifierMask(modifierMask); -} - -/*! - \reimp -*/ -bool QKeyEventTransition::eventTest(QEvent *event) -{ - Q_D(const QKeyEventTransition); - if (!QEventTransition::eventTest(event)) - return false; - QStateMachine::WrappedEvent *we = static_cast<QStateMachine::WrappedEvent*>(event); - d->transition->setEventType(we->event()->type()); - return QAbstractTransitionPrivate::get(d->transition)->callEventTest(we->event()); -} - -/*! - \reimp -*/ -void QKeyEventTransition::onTransition(QEvent *event) -{ - QEventTransition::onTransition(event); -} - -QT_END_NAMESPACE - -#include "moc_qkeyeventtransition.cpp" diff --git a/src/widgets/statemachine/qkeyeventtransition.h b/src/widgets/statemachine/qkeyeventtransition.h deleted file mode 100644 index 676f5f7846..0000000000 --- a/src/widgets/statemachine/qkeyeventtransition.h +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWidgets module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QKEYEVENTTRANSITION_H -#define QKEYEVENTTRANSITION_H - -#include <QtWidgets/qtwidgetsglobal.h> -#include <QtCore/qeventtransition.h> - -QT_REQUIRE_CONFIG(qeventtransition); - -QT_BEGIN_NAMESPACE - -class QKeyEventTransitionPrivate; -class Q_WIDGETS_EXPORT QKeyEventTransition : public QEventTransition -{ - Q_OBJECT - Q_PROPERTY(int key READ key WRITE setKey) - Q_PROPERTY(Qt::KeyboardModifiers modifierMask READ modifierMask WRITE setModifierMask) -public: - QKeyEventTransition(QState *sourceState = nullptr); - QKeyEventTransition(QObject *object, QEvent::Type type, int key, - QState *sourceState = nullptr); - ~QKeyEventTransition(); - - int key() const; - void setKey(int key); - - Qt::KeyboardModifiers modifierMask() const; - void setModifierMask(Qt::KeyboardModifiers modifiers); - -protected: - void onTransition(QEvent *event) override; - bool eventTest(QEvent *event) override; - -private: - Q_DISABLE_COPY(QKeyEventTransition) - Q_DECLARE_PRIVATE(QKeyEventTransition) -}; - -QT_END_NAMESPACE - -#endif diff --git a/src/widgets/statemachine/qmouseeventtransition.cpp b/src/widgets/statemachine/qmouseeventtransition.cpp deleted file mode 100644 index c58dae55a3..0000000000 --- a/src/widgets/statemachine/qmouseeventtransition.cpp +++ /dev/null @@ -1,202 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWidgets module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qmouseeventtransition.h" -#include "qbasicmouseeventtransition_p.h" -#include <QtCore/qstatemachine.h> -#include <QtGui/qpainterpath.h> -#include <private/qeventtransition_p.h> - -QT_BEGIN_NAMESPACE - -/*! - \class QMouseEventTransition - - \brief The QMouseEventTransition class provides a transition for mouse events. - - \since 4.6 - \ingroup statemachine - \inmodule QtWidgets - - QMouseEventTransition is part of \l{The State Machine Framework}. - - \sa QState::addTransition() -*/ - -/*! - \property QMouseEventTransition::button - - \brief the button that this mouse event transition is associated with -*/ - -/*! - \property QMouseEventTransition::modifierMask - - \brief the keyboard modifier mask that this mouse event transition checks for -*/ - -class QMouseEventTransitionPrivate : public QEventTransitionPrivate -{ - Q_DECLARE_PUBLIC(QMouseEventTransition) -public: - QMouseEventTransitionPrivate(); - - QBasicMouseEventTransition *transition; -}; - -QMouseEventTransitionPrivate::QMouseEventTransitionPrivate() -{ -} - -/*! - Constructs a new mouse event transition with the given \a sourceState. -*/ -QMouseEventTransition::QMouseEventTransition(QState *sourceState) - : QEventTransition(*new QMouseEventTransitionPrivate, sourceState) -{ - Q_D(QMouseEventTransition); - d->transition = new QBasicMouseEventTransition(); -} - -/*! - Constructs a new mouse event transition for events of the given \a type for - the given \a object, with the given \a button and \a sourceState. -*/ -QMouseEventTransition::QMouseEventTransition(QObject *object, QEvent::Type type, - Qt::MouseButton button, - QState *sourceState) - : QEventTransition(*new QMouseEventTransitionPrivate, object, type, sourceState) -{ - Q_D(QMouseEventTransition); - d->transition = new QBasicMouseEventTransition(type, button); -} - -/*! - Destroys this mouse event transition. -*/ -QMouseEventTransition::~QMouseEventTransition() -{ - Q_D(QMouseEventTransition); - delete d->transition; -} - -/*! - Returns the button that this mouse event transition checks for. -*/ -Qt::MouseButton QMouseEventTransition::button() const -{ - Q_D(const QMouseEventTransition); - return d->transition->button(); -} - -/*! - Sets the \a button that this mouse event transition will check for. -*/ -void QMouseEventTransition::setButton(Qt::MouseButton button) -{ - Q_D(QMouseEventTransition); - d->transition->setButton(button); -} - -/*! - Returns the keyboard modifier mask that this mouse event transition checks - for. -*/ -Qt::KeyboardModifiers QMouseEventTransition::modifierMask() const -{ - Q_D(const QMouseEventTransition); - return d->transition->modifierMask(); -} - -/*! - Sets the keyboard modifier mask that this mouse event transition will - check for to \a modifierMask. -*/ -void QMouseEventTransition::setModifierMask(Qt::KeyboardModifiers modifierMask) -{ - Q_D(QMouseEventTransition); - d->transition->setModifierMask(modifierMask); -} - -/*! - Returns the hit test path for this mouse event transition. -*/ -QPainterPath QMouseEventTransition::hitTestPath() const -{ - Q_D(const QMouseEventTransition); - return d->transition->hitTestPath(); -} - -/*! - Sets the hit test path for this mouse event transition to \a path. - If a valid path has been set, the transition will only trigger if the mouse - event position (QMouseEvent::pos()) is inside the path. - - \sa QPainterPath::contains() -*/ -void QMouseEventTransition::setHitTestPath(const QPainterPath &path) -{ - Q_D(QMouseEventTransition); - d->transition->setHitTestPath(path); -} - -/*! - \reimp -*/ -bool QMouseEventTransition::eventTest(QEvent *event) -{ - Q_D(const QMouseEventTransition); - if (!QEventTransition::eventTest(event)) - return false; - QStateMachine::WrappedEvent *we = static_cast<QStateMachine::WrappedEvent*>(event); - d->transition->setEventType(we->event()->type()); - return QAbstractTransitionPrivate::get(d->transition)->callEventTest(we->event()); -} - -/*! - \reimp -*/ -void QMouseEventTransition::onTransition(QEvent *event) -{ - QEventTransition::onTransition(event); -} - -QT_END_NAMESPACE - -#include "moc_qmouseeventtransition.cpp" diff --git a/src/widgets/statemachine/qmouseeventtransition.h b/src/widgets/statemachine/qmouseeventtransition.h deleted file mode 100644 index 41f738d894..0000000000 --- a/src/widgets/statemachine/qmouseeventtransition.h +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtWidgets module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QMOUSEEVENTTRANSITION_H -#define QMOUSEEVENTTRANSITION_H - -#include <QtWidgets/qtwidgetsglobal.h> -#include <QtCore/qeventtransition.h> - -QT_REQUIRE_CONFIG(qeventtransition); - -QT_BEGIN_NAMESPACE - -class QMouseEventTransitionPrivate; -class QPainterPath; -class Q_WIDGETS_EXPORT QMouseEventTransition : public QEventTransition -{ - Q_OBJECT - Q_PROPERTY(Qt::MouseButton button READ button WRITE setButton) - Q_PROPERTY(Qt::KeyboardModifiers modifierMask READ modifierMask WRITE setModifierMask) -public: - QMouseEventTransition(QState *sourceState = nullptr); - QMouseEventTransition(QObject *object, QEvent::Type type, - Qt::MouseButton button, QState *sourceState = nullptr); - ~QMouseEventTransition(); - - Qt::MouseButton button() const; - void setButton(Qt::MouseButton button); - - Qt::KeyboardModifiers modifierMask() const; - void setModifierMask(Qt::KeyboardModifiers modifiers); - - QPainterPath hitTestPath() const; - void setHitTestPath(const QPainterPath &path); - -protected: - void onTransition(QEvent *event) override; - bool eventTest(QEvent *event) override; - -private: - Q_DISABLE_COPY(QMouseEventTransition) - Q_DECLARE_PRIVATE(QMouseEventTransition) -}; - -QT_END_NAMESPACE - -#endif diff --git a/src/widgets/statemachine/statemachine.pri b/src/widgets/statemachine/statemachine.pri deleted file mode 100644 index 7b6407bde5..0000000000 --- a/src/widgets/statemachine/statemachine.pri +++ /dev/null @@ -1,16 +0,0 @@ - -qtConfig(statemachine): \ - SOURCES += $$PWD/qguistatemachine.cpp - -qtConfig(qeventtransition) { - HEADERS += \ - $$PWD/qkeyeventtransition.h \ - $$PWD/qmouseeventtransition.h \ - $$PWD/qbasickeyeventtransition_p.h \ - $$PWD/qbasicmouseeventtransition_p.h - SOURCES += \ - $$PWD/qkeyeventtransition.cpp \ - $$PWD/qmouseeventtransition.cpp \ - $$PWD/qbasickeyeventtransition.cpp \ - $$PWD/qbasicmouseeventtransition.cpp -} |