QmlMaterial 0.1.0
Loading...
Searching...
No Matches
combo_box.hpp
1#pragma once
2
3#include <QtQml/QQmlEngine>
4
5#include "qml_material/token/type_scale.hpp"
6
7namespace qml_material::token
8{
9
10struct ComboBoxSizeItem {
11 Q_GADGET_EXPORT(QML_MATERIAL_API)
12 QML_ELEMENT
13 QML_VALUE_TYPE(combo_box_size_item)
14
15 Q_PROPERTY(qreal container_height MEMBER container_height CONSTANT FINAL)
16 Q_PROPERTY(qreal horizontal_padding MEMBER horizontal_padding CONSTANT FINAL)
17 Q_PROPERTY(qreal indicator_size MEMBER indicator_size CONSTANT FINAL)
18 Q_PROPERTY(qreal indicator_spacing MEMBER indicator_spacing CONSTANT FINAL)
19 Q_PROPERTY(qml_material::token::TypeScaleItem type_scale MEMBER type_scale CONSTANT FINAL)
20
21public:
22 qreal container_height;
23 qreal horizontal_padding;
24 qreal indicator_size;
25 qreal indicator_spacing;
26 TypeScaleItem type_scale;
27 bool operator==(const ComboBoxSizeItem&) const = default;
28};
29
30struct ComboBoxSize {
31 Q_GADGET_EXPORT(QML_MATERIAL_API)
32 QML_ELEMENT
33 QML_VALUE_TYPE(combo_box_size)
34
35 Q_PROPERTY(qml_material::token::ComboBoxSizeItem xsmall MEMBER xsmall CONSTANT FINAL)
36 Q_PROPERTY(qml_material::token::ComboBoxSizeItem small MEMBER small CONSTANT FINAL)
37 Q_PROPERTY(qml_material::token::ComboBoxSizeItem medium MEMBER medium CONSTANT FINAL)
38 Q_PROPERTY(qml_material::token::ComboBoxSizeItem large MEMBER large CONSTANT FINAL)
39 Q_PROPERTY(qml_material::token::ComboBoxSizeItem xlarge MEMBER xlarge CONSTANT FINAL)
40
41public:
42 bool operator==(const ComboBoxSize&) const = default;
43 ComboBoxSizeItem xsmall {
44 32.0, 8.0, 18.0, 0.0, { 12, 16, QFont::Normal, QFont::Normal, 0.4 },
45 };
46 ComboBoxSizeItem small {
47 40.0, 10.0, 20.0, 0.0, { 14, 20, QFont::Normal, QFont::Normal, 0.25 },
48 };
49 ComboBoxSizeItem medium {
50 48.0, 12.0, 24.0, 0.0, { 16, 24, QFont::Normal, QFont::Normal, 0.5 },
51 };
52 ComboBoxSizeItem large {
53 56.0, 16.0, 24.0, 0.0, { 16, 24, QFont::Normal, QFont::Normal, 0.5 },
54 };
55 ComboBoxSizeItem xlarge {
56 72.0, 24.0, 32.0, 0.0, { 16, 24, QFont::Normal, QFont::Normal, 0.5 },
57 };
58};
59
60} // namespace qml_material::token
TypeScaleItem.
Definition type_scale.hpp:36