QSkinny 0.8.0
C++/Qt UI toolkit
Loading...
Searching...
No Matches
QskSlider.h
1/******************************************************************************
2 * QSkinny - Copyright (C) The authors
3 * SPDX-License-Identifier: BSD-3-Clause
4 *****************************************************************************/
5
6#ifndef QSK_SLIDER_H
7#define QSK_SLIDER_H
8
9#include "QskBoundedValueInput.h"
10#include "QskNamespace.h"
11
12class QSK_EXPORT QskSlider : public QskBoundedValueInput
13{
14 Q_OBJECT
15
16 Q_PROPERTY( bool isPressed READ isPressed NOTIFY pressedChanged )
17
18 Q_PROPERTY( Qsk::Policy graduationPolicy READ graduationPolicy
19 WRITE setGraduationPolicy RESET resetGraduationPolicy
20 NOTIFY graduationPolicyChanged )
21
22 Q_PROPERTY( Qt::Orientation orientation READ orientation
23 WRITE setOrientation NOTIFY orientationChanged )
24
25 Q_PROPERTY( bool tracking READ isTracking
26 WRITE setTracking NOTIFY trackingChanged )
27
28 Q_PROPERTY( qreal handlePosition READ handlePosition )
29
31
32 public:
33 QSK_SUBCONTROLS( Panel, Groove, Fill, Scale, Tick, Handle )
34 QSK_STATES( Pressed )
35
36 explicit QskSlider( QQuickItem* parent = nullptr );
37 explicit QskSlider( Qt::Orientation, QQuickItem* parent = nullptr );
38
39 ~QskSlider() override;
40
41 bool isPressed() const;
42
43 void setOrientation( Qt::Orientation );
44 Qt::Orientation orientation() const;
45
46 void setGraduationPolicy( Qsk::Policy );
47 void resetGraduationPolicy();
48 Qsk::Policy graduationPolicy() const;
49
50 void setTracking( bool );
51 bool isTracking() const;
52
53 qreal handlePosition() const; // [0,0, 1.0]
54
56
57 Q_SIGNALS:
58 void pressedChanged( bool );
59 void orientationChanged( Qt::Orientation );
60 void trackingChanged( bool );
61 void graduationPolicyChanged( Qsk::Policy );
62
63 protected:
64 void mousePressEvent( QMouseEvent* ) override;
65 void mouseMoveEvent( QMouseEvent* ) override;
66 void mouseReleaseEvent( QMouseEvent* ) override;
67
68 QSizeF handleSize() const;
69 QRectF handleRect() const;
70
71 void aboutToShow() override;
72
73 private:
74 void moveHandle();
75 void moveHandleTo( qreal value, const QskAnimationHint& );
76
77 class PrivateData;
78 std::unique_ptr< PrivateData > m_data;
79};
80
81#endif
Variation
Some sort of variation.
Definition QskAspect.h:82
virtual void aboutToShow()
Definition QskItem.cpp:1091
virtual QskAspect::Variation effectiveVariation() const