2#include "qml_material/style/common_state.hpp"
3Q_MOC_INCLUDE(
"qml_material/control/popup.hpp")
7class QML_MATERIAL_API BottomSheetState :
public CommonState {
9 QML_NAMED_ELEMENT(StateBottomSheet)
10 Q_PROPERTY(qml_material::Popup* item READ item WRITE setItem NOTIFY itemChanged FINAL)
11 Q_PROPERTY(
int type READ type WRITE setType NOTIFY typeChanged BINDABLE bindableType)
12 Q_PROPERTY(
int radius READ radius WRITE setRadius RESET resetRadius NOTIFY radiusChanged
13 BINDABLE bindableRadius)
15 explicit BottomSheetState(QObject* parent =
nullptr);
18 Q_SIGNAL
void itemChanged();
21 QBindable<int> bindableType();
22 Q_SIGNAL
void typeChanged();
26 QBindable<int> bindableRadius();
27 Q_SIGNAL
void radiusChanged();
30 enum class AppearanceState
34 StateBindingSet<AppearanceState> m_bindings { AppearanceState::Base };
35 Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(BottomSheetState,
int, m_type,
36 int(Enum::BottomSheetType::BottomSheetModal),
37 &BottomSheetState::typeChanged)
38 Q_OBJECT_BINDABLE_PROPERTY(BottomSheetState,
int, m_radius, &BottomSheetState::radiusChanged)
39 PropertyKey<int> m_radiusKey;
40 StateBindingSet<AppearanceState>::Lifetime m_lifetime { m_bindings.lifetime() };