1/*
2 * \copyright Copyright (c) 2016-2021 Governikus GmbH & Co. KG, Germany
3 */
4
5import QtQuick 2.12
6
7import Governikus.View 1.0
8import Governikus.Style 1.0
9import Governikus.Type.ApplicationModel 1.0
10
11
12Item {
13	id: root
14
15	Accessible.role: Accessible.Grouping
16	Accessible.name: titleText.text
17
18	property alias title: titleText.text
19	property alias titleTextStyle: titleText.textStyle
20
21	readonly property int availableContentHeight: {
22		var availableHeight = height - containerCol.topPadding - containerCol.bottomPadding
23
24		if (title === "") {
25			return availableHeight
26		}
27
28		return availableHeight - titleText.height - containerCol.spacing
29	}
30
31	property alias content: paneContent
32	default property alias children: paneContent.children
33
34	implicitHeight: containerCol.implicitHeight
35	implicitWidth: containerCol.implicitWidth
36
37	GPaneBackground {
38		anchors.fill: parent
39	}
40
41	Column {
42		id: containerCol
43
44		anchors.left: parent.left
45		anchors.right: parent.right
46		anchors.leftMargin: Constants.pane_padding
47		anchors.rightMargin: Constants.pane_padding
48		topPadding: Constants.pane_padding
49		bottomPadding: Constants.pane_padding
50		spacing: Constants.pane_spacing
51
52		GText {
53			id: titleText
54
55			width: Math.min(parent.width, implicitWidth)
56
57			elide: Text.ElideRight
58			maximumLineCount: 1
59			textStyle: Style.text.header_accent
60
61			FocusFrame {
62				scope: root
63				borderColor: Style.color.focus_indicator
64			}
65		}
66
67		Column {
68			id: paneContent
69
70			width: parent.width
71			spacing: Constants.pane_spacing
72		}
73	}
74
75}
76