diff options
Diffstat (limited to 'src/plugins/qmltooling/qmldbg_inspector/inspecttool.h')
-rw-r--r-- | src/plugins/qmltooling/qmldbg_inspector/inspecttool.h | 91 |
1 files changed, 32 insertions, 59 deletions
diff --git a/src/plugins/qmltooling/qmldbg_inspector/inspecttool.h b/src/plugins/qmltooling/qmldbg_inspector/inspecttool.h index fdb763d4b3..933c162dad 100644 --- a/src/plugins/qmltooling/qmldbg_inspector/inspecttool.h +++ b/src/plugins/qmltooling/qmldbg_inspector/inspecttool.h @@ -1,31 +1,37 @@ /**************************************************************************** ** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtQml module of the Qt Toolkit. ** -** $QT_BEGIN_LICENSE:LGPL21$ +** $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 http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. +** 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 2.1 or version 3 as published by the Free -** Software Foundation and appearing in the file LICENSE.LGPLv21 and -** LICENSE.LGPLv3 included in the packaging of this file. Please review the -** following information to ensure the GNU Lesser General Public License -** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** 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. ** -** As a special exception, The Qt Company gives you certain additional -** rights. These rights are described in The Qt Company LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** 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$ ** @@ -34,85 +40,52 @@ #ifndef INSPECTTOOL_H #define INSPECTTOOL_H -#include "abstracttool.h" - #include <QtCore/QPointF> #include <QtCore/QPointer> #include <QtCore/QTimer> QT_BEGIN_NAMESPACE -class QQuickView; +class QQuickWindow; class QQuickItem; +class QMouseEvent; +class QKeyEvent; +class QTouchEvent; namespace QmlJSDebugger { -class QQuickViewInspector; +class GlobalInspector; +class QQuickWindowInspector; class HoverHighlight; -class InspectTool : public AbstractTool +class InspectTool : public QObject { Q_OBJECT public: - enum ZoomDirection { - ZoomIn, - ZoomOut - }; - - InspectTool(QQuickViewInspector *inspector, QQuickView *view); - ~InspectTool(); - - void enable(bool enable); + InspectTool(QQuickWindowInspector *inspector, QQuickWindow *view); + void enterEvent(QEvent *); void leaveEvent(QEvent *); - void mousePressEvent(QMouseEvent *); void mouseMoveEvent(QMouseEvent *); - void mouseReleaseEvent(QMouseEvent *); void mouseDoubleClickEvent(QMouseEvent *); - void hoverMoveEvent(QMouseEvent *); -#ifndef QT_NO_WHEELEVENT - void wheelEvent(QWheelEvent *); -#endif - void keyPressEvent(QKeyEvent *) {} void keyReleaseEvent(QKeyEvent *); - void touchEvent(QTouchEvent *event); private: - QQuickViewInspector *inspector() const; - qreal nextZoomScale(ZoomDirection direction); - void scaleView(const qreal &factor, const QPointF &newcenter, const QPointF &oldcenter); - void zoomIn(); - void zoomOut(); - void initializeDrag(const QPointF &pos); - void dragItemToPosition(); - void moveItem(bool valid); void selectNextItem(); void selectItem(); + void showItemName(); -private slots: - void zoomTo100(); - void showSelectedItemName(); + QQuickWindowInspector *inspector() const; + GlobalInspector *globalInspector() const; -private: - bool m_originalSmooth; - bool m_dragStarted; - bool m_pinchStarted; - bool m_didPressAndHold; bool m_tapEvent; QPointer<QQuickItem> m_contentItem; - QPointF m_dragStartPosition; QPointF m_mousePosition; - QPointF m_originalPosition; - qreal m_smoothScaleFactor; - qreal m_minScale; - qreal m_maxScale; - qreal m_originalScale; ulong m_touchTimestamp; - QTimer m_pressAndHoldTimer; QTimer m_nameDisplayTimer; HoverHighlight *m_hoverHighlight; |