5#include "qml_material/input/time_state.hpp"
9class QML_MATERIAL_API TimeDial :
public QQuickItem {
13 Q_PROPERTY(qreal handAngle READ handAngle NOTIFY metricsChanged FINAL)
14 Q_PROPERTY(qreal handLength READ handLength NOTIFY metricsChanged FINAL)
15 Q_PROPERTY(QVariantList labels READ labels NOTIFY metricsChanged FINAL)
16 Q_PROPERTY(
bool pressed READ pressed NOTIFY pressedChanged FINAL)
18 explicit TimeDial(QQuickItem* parent =
nullptr);
19 TimeState* time()
const {
return m_time; }
20 void setTime(TimeState*);
21 qreal handAngle()
const;
22 qreal handLength()
const;
23 QVariantList labels()
const;
24 bool pressed()
const {
return m_active; }
25 Q_SIGNAL
void timeChanged();
26 Q_SIGNAL
void metricsChanged();
27 Q_SIGNAL
void pressedChanged();
30 void geometryChange(
const QRectF&,
const QRectF&)
override;
31 void itemChange(ItemChange,
const ItemChangeData&)
override;
32 void mousePressEvent(QMouseEvent*)
override;
33 void mouseMoveEvent(QMouseEvent*)
override;
34 void mouseReleaseEvent(QMouseEvent*)
override;
35 void mouseUngrabEvent()
override;
36 void touchEvent(QTouchEvent*)
override;
37 void touchUngrabEvent()
override;
38 void keyPressEvent(QKeyEvent*)
override;
42 bool begin(
const QPointF&);
43 void update(
const QPointF&,
bool complete);
45 QPointer<TimeState> m_time;
46 QMetaObject::Connection m_changed, m_destroyed, m_windowActive;
48 bool m_active =
false, m_moved =
false, m_updating =
false;
50 quint64 m_revision = 0;
Definition time_state.hpp:13