Fluid 1.3.0
Material Design for QtQuick and Qml
Loading...
Searching...
No Matches
tooltip.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2// SPDX-License-Identifier: MPL-2.0
3
4#pragma once
5
6#include <QtCore/qobject.h>
7#include <QtQml/qqmlregistration.h>
8
9#include "elevationtokens.h"
10#include "shapetokens.h"
11
12// Component values map to the AndroidX Material 3 generated tokens and tooltip implementation:
13// https://android.googlesource.com/platform/frameworks/support/+/5ba2cdd61be7b6945db999b238d14f3c626136fb/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/tokens/
14// PlainTooltipTokens.kt, RichTooltipTokens.kt, and ../Tooltip.kt (VERSION: v0_210).
15
16namespace Fluid {
17
28struct ToolTip
29{
30 Q_GADGET
31 QML_ANONYMOUS
32
33 Q_PROPERTY(qreal minimumWidth READ minimumWidth CONSTANT FINAL)
34 Q_PROPERTY(qreal minimumHeight READ minimumHeight CONSTANT FINAL)
35 Q_PROPERTY(qreal plainMaximumWidth READ plainMaximumWidth CONSTANT FINAL)
36 Q_PROPERTY(qreal richMaximumWidth READ richMaximumWidth CONSTANT FINAL)
37 Q_PROPERTY(qreal anchorSpacing READ anchorSpacing CONSTANT FINAL)
38 Q_PROPERTY(qreal viewportMargin READ viewportMargin CONSTANT FINAL)
39 Q_PROPERTY(qreal plainHorizontalPadding READ plainHorizontalPadding CONSTANT FINAL)
40 Q_PROPERTY(qreal plainVerticalPadding READ plainVerticalPadding CONSTANT FINAL)
41 Q_PROPERTY(qreal richHorizontalPadding READ richHorizontalPadding CONSTANT FINAL)
42 Q_PROPERTY(qreal richHeadlineFirstBaseline READ richHeadlineFirstBaseline CONSTANT FINAL)
43 Q_PROPERTY(qreal richBodyFirstBaseline READ richBodyFirstBaseline CONSTANT FINAL)
44 Q_PROPERTY(qreal richBodyBottomPadding READ richBodyBottomPadding CONSTANT FINAL)
45 Q_PROPERTY(qreal richActionMinimumHeight READ richActionMinimumHeight CONSTANT FINAL)
46 Q_PROPERTY(qreal richActionBottomPadding READ richActionBottomPadding CONSTANT FINAL)
48 Q_PROPERTY(Fluid::ShapeValue richContainerShape READ richContainerShape CONSTANT FINAL)
49 Q_PROPERTY(qreal richContainerElevation READ richContainerElevation CONSTANT FINAL)
50 Q_PROPERTY(qreal closedScale READ closedScale CONSTANT FINAL)
51
52public:
54 constexpr qreal minimumWidth() const
55 {
56 return 40.0;
57 }
58
60 constexpr qreal minimumHeight() const
61 {
62 return 24.0;
63 }
64
66 constexpr qreal plainMaximumWidth() const
67 {
68 return 200.0;
69 }
70
72 constexpr qreal richMaximumWidth() const
73 {
74 return 320.0;
75 }
76
78 constexpr qreal anchorSpacing() const
79 {
80 return 4.0;
81 }
82
84 constexpr qreal viewportMargin() const
85 {
86 return 4.0;
87 }
88
90 constexpr qreal plainHorizontalPadding() const
91 {
92 return 8.0;
93 }
94
96 constexpr qreal plainVerticalPadding() const
97 {
98 return 4.0;
99 }
100
102 constexpr qreal richHorizontalPadding() const
103 {
104 return 16.0;
105 }
106
108 constexpr qreal richHeadlineFirstBaseline() const
109 {
110 return 28.0;
111 }
112
114 constexpr qreal richBodyFirstBaseline() const
115 {
116 return 24.0;
117 }
118
120 constexpr qreal richBodyBottomPadding() const
121 {
122 return 16.0;
123 }
124
126 constexpr qreal richActionMinimumHeight() const
127 {
128 return 36.0;
129 }
130
132 constexpr qreal richActionBottomPadding() const
133 {
134 return 8.0;
135 }
136
139 {
140 return ShapeTokens{ }.cornerExtraSmall();
141 }
142
145 {
146 return ShapeTokens{ }.cornerMedium();
147 }
148
150 constexpr qreal richContainerElevation() const
151 {
152 return ElevationTokens{ }.level2();
153 }
154
156 constexpr qreal closedScale() const
157 {
158 return 0.8;
159 }
160};
161
162} // namespace Fluid
Material Design 3 system elevation tokens.
Material Design 3 system shape tokens.
Definition shapetokens.h:48
Fluid::ShapeValue cornerExtraSmall
Definition shapetokens.h:57
Fluid::ShapeValue cornerMedium
Definition shapetokens.h:65
Material Design 3 tokens for plain and rich tooltips.
Definition tooltip.h:29
constexpr qreal richContainerElevation() const
Shadow elevation of a rich tooltip container.
Definition tooltip.h:150
qreal richContainerElevation
Definition tooltip.h:49
constexpr qreal plainHorizontalPadding() const
Horizontal padding of a plain tooltip.
Definition tooltip.h:90
qreal plainVerticalPadding
Definition tooltip.h:40
constexpr qreal richActionBottomPadding() const
Bottom padding below rich-tooltip actions.
Definition tooltip.h:132
qreal richActionBottomPadding
Definition tooltip.h:46
qreal minimumHeight
Definition tooltip.h:34
qreal richBodyBottomPadding
Definition tooltip.h:44
qreal plainHorizontalPadding
Definition tooltip.h:39
qreal viewportMargin
Definition tooltip.h:38
constexpr qreal minimumHeight() const
Minimum tooltip height.
Definition tooltip.h:60
constexpr qreal plainVerticalPadding() const
Vertical padding of a plain tooltip.
Definition tooltip.h:96
constexpr qreal richMaximumWidth() const
Maximum rich-tooltip width.
Definition tooltip.h:72
qreal richMaximumWidth
Definition tooltip.h:36
qreal anchorSpacing
Definition tooltip.h:37
constexpr ShapeValue plainContainerShape() const
Shape of a plain tooltip container.
Definition tooltip.h:138
constexpr qreal richHorizontalPadding() const
Horizontal padding of a rich tooltip.
Definition tooltip.h:102
QML_ANONYMOUSqreal minimumWidth
Definition tooltip.h:33
constexpr ShapeValue richContainerShape() const
Shape of a rich tooltip container.
Definition tooltip.h:144
constexpr qreal richBodyFirstBaseline() const
Distance from the body slot top to its first baseline when rich content is present.
Definition tooltip.h:114
qreal plainMaximumWidth
Definition tooltip.h:35
constexpr qreal viewportMargin() const
Minimum distance maintained between a tooltip and a viewport edge.
Definition tooltip.h:84
qreal richBodyFirstBaseline
Definition tooltip.h:43
qreal richHorizontalPadding
Definition tooltip.h:41
constexpr qreal plainMaximumWidth() const
Maximum plain-tooltip width.
Definition tooltip.h:66
Fluid::ShapeValue plainContainerShape
Definition tooltip.h:47
qreal closedScale
Definition tooltip.h:50
qreal richActionMinimumHeight
Definition tooltip.h:45
constexpr qreal closedScale() const
Scale used at the closed endpoint of tooltip transitions.
Definition tooltip.h:156
constexpr qreal richHeadlineFirstBaseline() const
Distance from the rich container top to the headline's first baseline.
Definition tooltip.h:108
constexpr qreal richActionMinimumHeight() const
Minimum height reserved for the rich-tooltip action area.
Definition tooltip.h:126
constexpr qreal richBodyBottomPadding() const
Bottom padding below the rich body when a headline or actions are present.
Definition tooltip.h:120
constexpr qreal anchorSpacing() const
Space between the tooltip and its anchor.
Definition tooltip.h:78
qreal richHeadlineFirstBaseline
Definition tooltip.h:42
Fluid::ShapeValue richContainerShape
Definition tooltip.h:48