QmlMaterial 0.1.0
Loading...
Searching...
No Matches
progress_bar.hpp
1#pragma once
2
3#include "qml_material/control/control.hpp"
4
5namespace qml_material
6{
7
9class QML_MATERIAL_API ProgressBar : public Control {
10 Q_OBJECT
11 QML_NAMED_ELEMENT(ProgressBarBase)
12 Q_PROPERTY(qreal from READ from WRITE setFrom NOTIFY fromChanged FINAL)
13 Q_PROPERTY(qreal to READ to WRITE setTo NOTIFY toChanged FINAL)
14 Q_PROPERTY(qreal value READ value WRITE setValue NOTIFY valueChanged FINAL)
15 Q_PROPERTY(qreal position READ position NOTIFY positionChanged FINAL)
16 Q_PROPERTY(qreal visualPosition READ visualPosition NOTIFY visualPositionChanged FINAL)
17 Q_PROPERTY(bool indeterminate READ indeterminate WRITE setIndeterminate NOTIFY
18 indeterminateChanged FINAL)
19
20public:
21 explicit ProgressBar(QQuickItem* parent = nullptr);
22 qreal from() const { return m_from; }
23 qreal to() const { return m_to; }
24 qreal value() const { return m_value; }
25 qreal position() const;
26 qreal visualPosition() const;
27 bool indeterminate() const { return m_indeterminate; }
28 void setFrom(qreal value);
29 void setTo(qreal value);
30 void setValue(qreal value);
31 void setIndeterminate(bool value);
32
33 Q_SIGNAL void fromChanged();
34 Q_SIGNAL void toChanged();
35 Q_SIGNAL void valueChanged();
36 Q_SIGNAL void positionChanged();
37 Q_SIGNAL void visualPositionChanged();
38 Q_SIGNAL void indeterminateChanged();
39
40protected:
41 void componentComplete() override;
42
43private:
44 qreal m_from = 0;
45 qreal m_to = 1;
46 qreal m_value = 0;
47 bool m_indeterminate = false;
48 quint64 m_revision = 0;
49};
50
51} // namespace qml_material