2#include "qml_material/control/abstract_button.hpp"
6class QML_MATERIAL_API ItemDelegate :
public AbstractButton {
9 Q_PROPERTY(
bool highlighted READ isHighlighted WRITE setHighlighted NOTIFY highlightedChanged
10 BINDABLE bindableHighlighted FINAL)
11 Q_PROPERTY(qreal implicitDelegateHeight READ implicitDelegateHeight NOTIFY
12 implicitDelegateHeightChanged FINAL)
13 Q_PROPERTY(QColor defaultIconColor READ defaultIconColor NOTIFY defaultIconColorChanged BINDABLE
14 bindableDefaultIconColor FINAL)
16 explicit ItemDelegate(QQuickItem* parent =
nullptr);
17 bool isHighlighted()
const {
return m_highlighted; }
18 void setHighlighted(
bool value) { m_highlighted = value; }
19 QBindable<bool> bindableHighlighted() {
return QBindable<bool>(&m_highlighted); }
20 Q_SIGNAL
void highlightedChanged();
22 qreal implicitDelegateHeight()
const;
23 QColor defaultIconColor()
const {
return m_defaultIconColor.value(); }
24 QBindable<QColor> bindableDefaultIconColor()
const {
25 return QBindable<QColor>(&m_defaultIconColor);
27 Q_SIGNAL
void implicitDelegateHeightChanged();
28 Q_SIGNAL
void defaultIconColorChanged();
31 void classBegin()
override;
34 Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(ItemDelegate,
bool, m_highlighted,
false,
35 &ItemDelegate::highlightedChanged)
36 Q_OBJECT_BINDABLE_PROPERTY(ItemDelegate, QColor, m_defaultIconColor,
37 &ItemDelegate::defaultIconColorChanged)