QmlMaterial 0.1.0
Loading...
Searching...
No Matches
split_button.hpp
1#pragma once
2
3#include <QtQml/QQmlEngine>
4#include "qml_material/core.hpp"
5
6namespace qml_material::token
7{
8
13 Q_GADGET
14 QML_ELEMENT
15 QML_VALUE_TYPE(split_button_size_item)
16
17
18 Q_PROPERTY(qreal container_height MEMBER container_height CONSTANT FINAL)
20 Q_PROPERTY(qreal between_space MEMBER between_space CONSTANT FINAL)
22 Q_PROPERTY(qreal inner_corner_size MEMBER inner_corner_size CONSTANT FINAL)
24 Q_PROPERTY(qreal outer_corner_size MEMBER outer_corner_size CONSTANT FINAL)
26 Q_PROPERTY(qreal leading_button_leading_space MEMBER leading_button_leading_space CONSTANT FINAL)
28 Q_PROPERTY(qreal leading_button_trailing_space MEMBER leading_button_trailing_space CONSTANT FINAL)
30 Q_PROPERTY(qreal trailing_button_icon_size MEMBER trailing_button_icon_size CONSTANT FINAL)
32 Q_PROPERTY(qreal trailing_button_leading_space MEMBER trailing_button_leading_space CONSTANT FINAL)
34 Q_PROPERTY(qreal trailing_button_trailing_space MEMBER trailing_button_trailing_space CONSTANT FINAL)
36 Q_PROPERTY(qreal inner_corner_hovered_size MEMBER inner_corner_hovered_size CONSTANT FINAL)
38 Q_PROPERTY(qreal inner_corner_pressed_size MEMBER inner_corner_pressed_size CONSTANT FINAL)
41
42public:
43 qreal container_height;
44 qreal between_space;
55};
56
61 Q_GADGET
62 QML_ELEMENT
63 QML_VALUE_TYPE(split_button_size)
64
65
66 Q_PROPERTY(qml_material::token::SplitButtonSizeItem xsmall MEMBER xsmall CONSTANT FINAL)
68 Q_PROPERTY(qml_material::token::SplitButtonSizeItem small MEMBER small CONSTANT FINAL)
70 Q_PROPERTY(qml_material::token::SplitButtonSizeItem medium MEMBER medium CONSTANT FINAL)
72 Q_PROPERTY(qml_material::token::SplitButtonSizeItem large MEMBER large CONSTANT FINAL)
74 Q_PROPERTY(qml_material::token::SplitButtonSizeItem xlarge MEMBER xlarge CONSTANT FINAL)
75
76public:
77 // md.comp.split-button.xsmall.* tokens
78 SplitButtonSizeItem xsmall {
79 32.0, // container.height
80 2.0, // between-space
81 4.0, // inner-corner.corner-size
82 16.0, // outer-corner.corner-size (50% of 32)
83 12.0, // leading-button.leading-space
84 10.0, // leading-button.trailing-space
85 22.0, // trailing-button.icon.size
86 13.0, // trailing-button.leading-space
87 13.0, // trailing-button.trailing-space
88 8.0, // inner-corner.hovered.corner-size
89 8.0, // inner-corner.pressed.corner-size
90 16.0 // trailing-button.inner-corner.selected.corner-size (50% of 32)
91 };
92
93 // md.comp.split-button.small.* tokens
95 40.0, // container.height
96 2.0, // between-space
97 4.0, // inner-corner.corner-size
98 20.0, // outer-corner.corner-size (50% of 40)
99 16.0, // leading-button.leading-space
100 12.0, // leading-button.trailing-space
101 22.0, // trailing-button.icon.size
102 13.0, // trailing-button.leading-space
103 13.0, // trailing-button.trailing-space
104 12.0, // inner-corner.hovered.corner-size
105 12.0, // inner-corner.pressed.corner-size
106 20.0 // trailing-button.inner-corner.selected.corner-size (50% of 40)
107 };
108
109 // md.comp.split-button.medium.* tokens
110 SplitButtonSizeItem medium {
111 56.0, // container.height
112 2.0, // between-space
113 4.0, // inner-corner.corner-size
114 28.0, // outer-corner.corner-size (50% of 56)
115 24.0, // leading-button.leading-space
116 24.0, // leading-button.trailing-space
117 26.0, // trailing-button.icon.size
118 15.0, // trailing-button.leading-space
119 15.0, // trailing-button.trailing-space
120 12.0, // inner-corner.hovered.corner-size
121 12.0, // inner-corner.pressed.corner-size
122 28.0 // trailing-button.inner-corner.selected.corner-size (50% of 56)
123 };
124
125 // md.comp.split-button.large.* tokens
126 SplitButtonSizeItem large {
127 96.0, // container.height
128 2.0, // between-space
129 8.0, // inner-corner.corner-size
130 48.0, // outer-corner.corner-size (50% of 96)
131 48.0, // leading-button.leading-space
132 48.0, // leading-button.trailing-space
133 38.0, // trailing-button.icon.size
134 29.0, // trailing-button.leading-space
135 29.0, // trailing-button.trailing-space
136 20.0, // inner-corner.hovered.corner-size
137 20.0, // inner-corner.pressed.corner-size
138 48.0 // trailing-button.inner-corner.selected.corner-size (50% of 96)
139 };
140
141 // md.comp.split-button.xlarge.* tokens
142 SplitButtonSizeItem xlarge {
143 136.0, // container.height
144 2.0, // between-space
145 12.0, // inner-corner.corner-size
146 68.0, // outer-corner.corner-size (50% of 136)
147 64.0, // leading-button.leading-space
148 64.0, // leading-button.trailing-space
149 50.0, // trailing-button.icon.size
150 43.0, // trailing-button.leading-space
151 43.0, // trailing-button.trailing-space
152 20.0, // inner-corner.hovered.corner-size
153 20.0, // inner-corner.pressed.corner-size
154 68.0 // trailing-button.inner-corner.selected.corner-size (50% of 136)
155 };
156};
157
158} // namespace qml_material::token
Split button size tokens for a specific size class.
Definition split_button.hpp:12
qreal leading_button_trailing_space
Trailing space of leading button (dp)
Definition split_button.hpp:28
qreal trailing_button_inner_corner_selected_size
Inner corner radius for trailing button when selected (dp)
Definition split_button.hpp:40
qreal container_height
Split button container height (dp)
Definition split_button.hpp:18
qreal leading_button_leading_space
Leading space of leading button (dp)
Definition split_button.hpp:26
qreal inner_corner_size
Inner corner radius where buttons meet (dp)
Definition split_button.hpp:22
qreal trailing_button_leading_space
Leading space of trailing button (dp)
Definition split_button.hpp:32
qreal between_space
Space between leading and trailing buttons (dp)
Definition split_button.hpp:20
qreal trailing_button_trailing_space
Trailing space of trailing button (dp)
Definition split_button.hpp:34
qreal outer_corner_size
Outer corner radius (dp)
Definition split_button.hpp:24
qreal inner_corner_hovered_size
Inner corner radius when hovered (dp)
Definition split_button.hpp:36
qreal trailing_button_icon_size
Icon size for trailing button (dp)
Definition split_button.hpp:30
qreal inner_corner_pressed_size
Inner corner radius when pressed (dp)
Definition split_button.hpp:38
Collection of split button size tokens for different size classes.
Definition split_button.hpp:60