QmlMaterial 0.1.0
Loading...
Searching...
No Matches
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(button_size_item)
16
17
18 Q_PROPERTY(qreal container_height MEMBER container_height CONSTANT FINAL)
20 Q_PROPERTY(qreal corner_size MEMBER corner_size CONSTANT FINAL)
22 Q_PROPERTY(qreal pressed_corner_size MEMBER pressed_corner_size CONSTANT FINAL)
24 Q_PROPERTY(qreal icon_size MEMBER icon_size CONSTANT FINAL)
26 Q_PROPERTY(qreal leading_space MEMBER leading_space CONSTANT FINAL)
28 Q_PROPERTY(qreal trailing_space MEMBER trailing_space CONSTANT FINAL)
30 Q_PROPERTY(qreal spacing MEMBER spacing CONSTANT FINAL)
31
32public:
33 qreal container_height;
34 qreal corner_size;
36 qreal icon_size;
37 qreal leading_space;
38 qreal trailing_space;
39 qreal spacing;
40};
41
45struct ButtonSize {
46 Q_GADGET
47 QML_ELEMENT
48 QML_VALUE_TYPE(button_size)
49
50 Q_PROPERTY(qml_material::token::ButtonSizeItem xsmall MEMBER xsmall CONSTANT FINAL)
51 Q_PROPERTY(qml_material::token::ButtonSizeItem small MEMBER small CONSTANT FINAL)
52 Q_PROPERTY(qml_material::token::ButtonSizeItem medium MEMBER medium CONSTANT FINAL)
53 Q_PROPERTY(qml_material::token::ButtonSizeItem large MEMBER large CONSTANT FINAL)
54 Q_PROPERTY(qml_material::token::ButtonSizeItem xlarge MEMBER xlarge CONSTANT FINAL)
55
56public:
57 ButtonSizeItem xsmall {
58 32.0, // container_height
59 12.0, // corner_size
60 8.0, // pressed_corner_size
61 18.0, // icon_size
62 16.0, // leading_space
63 16.0, // trailing_space
64 8.0 // spacing
65 };
66
67 ButtonSizeItem small {
68 40.0, // container_height
69 12.0, // corner_size
70 8.0, // pressed_corner_size
71 18.0, // icon_size
72 24.0, // leading_space
73 24.0, // trailing_space
74 8.0 // spacing
75 };
76
77 ButtonSizeItem medium {
78 48.0, // container_height
79 16.0, // corner_size
80 12.0, // pressed_corner_size
81 24.0, // icon_size
82 24.0, // leading_space
83 24.0, // trailing_space
84 8.0 // spacing
85 };
86
87 ButtonSizeItem large {
88 56.0, // container_height
89 28.0, // corner_size
90 16.0, // pressed_corner_size
91 24.0, // icon_size
92 32.0, // leading_space
93 32.0, // trailing_space
94 12.0 // spacing
95 };
96
97 ButtonSizeItem xlarge {
98 72.0, // container_height
99 28.0, // corner_size
100 16.0, // pressed_corner_size
101 32.0, // icon_size
102 32.0, // leading_space
103 32.0, // trailing_space
104 12.0 // spacing
105 };
106};
107
112 Q_GADGET
113 QML_ELEMENT
114 QML_VALUE_TYPE(icon_button_size_item)
115
116
117 Q_PROPERTY(qreal icon_size MEMBER icon_size CONSTANT FINAL)
119 Q_PROPERTY(qreal container_height MEMBER container_height CONSTANT FINAL)
121 Q_PROPERTY(qreal default_width MEMBER default_width CONSTANT FINAL)
123 Q_PROPERTY(qreal narrow_width MEMBER narrow_width CONSTANT FINAL)
125 Q_PROPERTY(qreal wide_width MEMBER wide_width CONSTANT FINAL)
127 Q_PROPERTY(qreal corner_size MEMBER corner_size CONSTANT FINAL)
129 Q_PROPERTY(qreal pressed_corner_size MEMBER pressed_corner_size CONSTANT FINAL)
130
131public:
132 qreal icon_size;
133 qreal container_height;
134 qreal default_width;
135 qreal narrow_width;
136 qreal wide_width;
137 qreal corner_size;
138 qreal pressed_corner_size;
139};
140
145 Q_GADGET
146 QML_ELEMENT
147 QML_VALUE_TYPE(icon_button_size)
148
149 Q_PROPERTY(qml_material::token::IconButtonSizeItem xsmall MEMBER xsmall CONSTANT FINAL)
150 Q_PROPERTY(qml_material::token::IconButtonSizeItem small MEMBER small CONSTANT FINAL)
151 Q_PROPERTY(qml_material::token::IconButtonSizeItem medium MEMBER medium CONSTANT FINAL)
152 Q_PROPERTY(qml_material::token::IconButtonSizeItem large MEMBER large CONSTANT FINAL)
153 Q_PROPERTY(qml_material::token::IconButtonSizeItem xlarge MEMBER xlarge CONSTANT FINAL)
154
155public:
156 IconButtonSizeItem xsmall {
157 20.0, // icon_size
158 32.0, // container_height
159 32.0, // default_width
160 28.0, // narrow_width
161 40.0, // wide_width
162 12.0, // corner_size
163 8.0 // pressed_corner_size
164 };
165
166 IconButtonSizeItem small {
167 24.0, // icon_size
168 40.0, // container_height
169 40.0, // default_width
170 32.0, // narrow_width
171 52.0, // wide_width
172 12.0, // corner_size
173 8.0 // pressed_corner_size
174 };
175
176 IconButtonSizeItem medium {
177 24.0, // icon_size
178 56.0, // container_height
179 56.0, // default_width
180 48.0, // narrow_width
181 72.0, // wide_width
182 16.0, // corner_size
183 12.0 // pressed_corner_size
184 };
185
186 IconButtonSizeItem large {
187 32.0, // icon_size
188 96.0, // container_height
189 96.0, // default_width
190 64.0, // narrow_width
191 128.0,// wide_width
192 28.0, // corner_size
193 16.0 // pressed_corner_size
194 };
195
196 IconButtonSizeItem xlarge {
197 40.0, // icon_size
198 136.0,// container_height
199 136.0,// default_width
200 104.0,// narrow_width
201 184.0,// wide_width
202 28.0, // corner_size
203 16.0 // pressed_corner_size
204 };
205};
206
207} // namespace qml_material::token
Button size tokens for a specific size class.
Definition button.hpp:12
qreal container_height
Button container height (dp)
Definition button.hpp:18
qreal leading_space
Leading space (padding-left) (dp)
Definition button.hpp:26
qreal corner_size
Corner radius (dp)
Definition button.hpp:20
qreal trailing_space
Trailing space (padding-right) (dp)
Definition button.hpp:28
qreal icon_size
Icon size (dp)
Definition button.hpp:24
qreal pressed_corner_size
Corner radius when pressed (dp)
Definition button.hpp:22
qreal spacing
Spacing between icon and text (dp)
Definition button.hpp:30
Collection of button size tokens for different size classes.
Definition button.hpp:45
Icon button size tokens for a specific size class.
Definition button.hpp:111
Collection of icon button size tokens for different size classes.
Definition button.hpp:144