Fluid 1.3.0
Material Design for QtQuick and Qml
Loading...
Searching...
No Matches
GroupBox.qml
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
4import QtQuick
5import QtQuick.Templates as T
6import Fluid as MD
7
18T.GroupBox {
19 id: control
20
21 Accessible.role: Accessible.Grouping
22 Accessible.name: title
23
25 property MD.typescale typescale: MD.Tokens.typescale.labelMedium
26
28 property real radius: MD.Tokens.shape.cornerValueMedium
29
31 property bool outlineVisible: true
32
33 implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset, implicitContentWidth + leftPadding + rightPadding, implicitLabelWidth + leftPadding + rightPadding)
34 implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset, implicitContentHeight + topPadding + bottomPadding)
35
36 spacing: MD.Tokens.measurement.space75
37 padding: MD.Tokens.measurement.space150
38 topPadding: padding + (implicitLabelWidth > 0 ? implicitLabelHeight : 0)
39
40 label: MD.Label {
41 objectName: "groupBoxLabel"
42
43 x: Math.max(control.leftPadding, MD.Tokens.measurement.space50)
44
45 width: control.availableWidth
46
47 typescale: control.typescale
48 text: control.title
49 elide: Text.ElideRight
50 verticalAlignment: Text.AlignVCenter
51 Accessible.ignored: true
52 }
53
54 background: Rectangle {
55 objectName: "groupBoxBackground"
56
57 y: control.topPadding - control.bottomPadding
58
59 width: parent.width
60 height: parent.height - control.topPadding + control.bottomPadding
61
62 color: "transparent"
63 radius: control.radius
64 border.width: control.outlineVisible ? 1 : 0
65 border.color: control.MD.Style.outlineVariantColor
66 }
67}