QmlMaterial 0.1.0
Loading...
Searching...
No Matches
search_bar_state.hpp
1#pragma once
2#include "qml_material/style/button_interaction_state.hpp"
3Q_MOC_INCLUDE("qml_material/control/button.hpp")
4namespace qml_material
5{
6class Button;
7class QML_MATERIAL_API SearchBarState : public ButtonInteractionState {
8 Q_OBJECT
9 QML_NAMED_ELEMENT(StateSearchBar)
10 Q_PROPERTY(qml_material::Button* item READ item WRITE setItem NOTIFY itemChanged FINAL)
11 Q_PROPERTY(qreal placeholderOpacity READ placeholderOpacity WRITE setPlaceholderOpacity RESET
12 resetPlaceholderOpacity NOTIFY placeholderOpacityChanged BINDABLE
13 bindablePlaceholderOpacity)
14public:
15 explicit SearchBarState(QObject* parent = nullptr);
16 Button* item() const;
17 void setItem(Button*);
18 qreal placeholderOpacity() const;
19 void setPlaceholderOpacity(qreal);
20 void resetPlaceholderOpacity();
21 QBindable<qreal> bindablePlaceholderOpacity();
22 Q_SIGNAL void placeholderOpacityChanged();
23
24private:
25 Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(SearchBarState, qreal, m_placeholderOpacity, 1,
26 &SearchBarState::placeholderOpacityChanged)
27 PropertyKey<qreal> m_placeholderKey;
28 BindingLifetime m_lifetime { bindingSet().lifetime() };
29};
30} // namespace qml_material