QmlMaterial 0.1.0
Loading...
Searching...
No Matches
button.hpp
1#pragma once
2
3#include "qml_material/control/abstract_button.hpp"
4
5namespace qml_material
6{
7class QML_MATERIAL_API Button : public AbstractButton {
8 Q_OBJECT
9 QML_NAMED_ELEMENT(ButtonBase)
10 Q_PROPERTY(bool flat READ isFlat WRITE setFlat NOTIFY flatChanged FINAL)
11 Q_PROPERTY(
12 bool highlighted READ isHighlighted WRITE setHighlighted NOTIFY highlightedChanged FINAL)
13public:
14 explicit Button(QQuickItem* parent = nullptr): AbstractButton(parent) {}
15 bool isFlat() const { return m_flat; }
16 bool isHighlighted() const { return m_highlighted; }
17 void setFlat(bool value) {
18 if (m_flat == value) return;
19 m_flat = value;
20 Q_EMIT flatChanged();
21 }
22 void setHighlighted(bool value) {
23 if (m_highlighted == value) return;
24 m_highlighted = value;
25 Q_EMIT highlightedChanged();
26 }
27 Q_SIGNAL void flatChanged();
28 Q_SIGNAL void highlightedChanged();
29
30private:
31 bool m_flat = false;
32 bool m_highlighted = false;
33};
34} // namespace qml_material