9#include <QtCore/QLineF>
11#include <QtGui/QMouseEvent>
12#include <QtGui/QTouchEvent>
13#include <QtGui/QKeyEvent>
14#include <QtGui/QGuiApplication>
15#include <QtGui/QStyleHints>
17#include <QtQuick/QQuickView>
18#include <QtQuick/QQuickItem>
26 m_contentItem(
view->contentItem()),
50 m_mousePosition =
event->position();
59 m_mousePosition =
event->position();
73 m_mousePosition =
event->position();
75 if (!
item ||
item == m_lastClickedItem) {
85 const auto &touchPoints =
event->points();
87 switch (
event->type()) {
90 m_mousePosition = touchPoints.first().position();
97 if (touchPoints.size() > 1)
100 m_mousePosition = touchPoints.first().position();
104 if (touchPoints.size() == 1 && m_tapEvent) {
106 bool doubleTap =
event->timestamp() - m_touchTimestamp
109 m_nameDisplayTimer.
stop();
114 m_touchTimestamp =
event->timestamp();
123void InspectTool::selectNextItem()
125 if (m_lastClickedItem != inspector()->topVisibleItemAt(m_mousePosition))
129 if (m_lastItem ==
items[
i]) {
133 m_lastItem =
items[0];
141void InspectTool::selectItem()
143 if (!inspector()->topVisibleItemAt(m_mousePosition))
146 m_lastItem = m_lastClickedItem;
148 if (m_lastClickedItem == inspector()->topVisibleItemAt(m_mousePosition)) {
149 m_nameDisplayTimer.
start();
155void InspectTool::showItemName()
160QQuickWindowInspector *InspectTool::inspector()
const
162 return static_cast<QQuickWindowInspector *
>(
parent());
165GlobalInspector *InspectTool::globalInspector()
const
167 return static_cast<GlobalInspector *
>(
parent()->
parent());
174#include "moc_inspecttool.cpp"
static QStyleHints * styleHints()
Returns the application's style hints.
qsizetype size() const noexcept
QObject * parent() const
Returns a pointer to the parent object.
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
\qmltype Window \instantiates QQuickWindow \inqmlmodule QtQuick
int mouseDoubleClickInterval
the time limit in milliseconds that distinguishes a double click from two consecutive mouse clicks.
void setSingleShot(bool singleShot)
void start(int msec)
Starts or restarts the timer with a timeout interval of msec milliseconds.
void setInterval(int msec)
void stop()
Stops the timer.
void timeout(QPrivateSignal)
This signal is emitted when the timer times out.
The QTouchEvent class contains parameters that describe a touch event.
void showSelectedItemName(QQuickItem *item, const QPointF &point)
void setSelectedItems(const QList< QQuickItem * > &items)
void setItem(QQuickItem *item)
QQuickItem * topVisibleItemAt(const QPointF &pos) const
QList< QQuickItem * > itemsAt(const QPointF &pos) const
Combined button and popup list for selecting options.