Add Section Header and Section Setting item components.

Upgrade Adhesion to use new components

CURA-9793
This commit is contained in:
Joey de l'Arago 2022-11-24 17:24:28 +01:00
parent a7dc1b24bc
commit ac2e733ea6
4 changed files with 127 additions and 69 deletions

View file

@ -0,0 +1,80 @@
// Copyright (c) 2022 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.10
import QtQuick.Controls 2.3
import QtQuick.Layouts 2.10
import UM 1.6 as UM
import Cura 1.7 as Cura
Item
{
property alias title: sectionTitle.text
property alias icon: sectionTitle.source
property Component content: Item { visible: false }
property alias enableSectionVisible: enableSectionSwitch.visible
property alias enableSectionChecked: enableSectionSwitch.checked
property alias enableSectionEnabled: enableSectionSwitch.enabled
property var enableSectionClicked: { return }
property int leftColumnWidth: width / 2
function onEnableSectionChanged(state) {}
height: childrenRect.height
width: parent.width
Item
{
id: sectionHeader
Cura.IconWithText
{
id: sectionTitle
width: leftColumnWidth
anchors.left: parent.left
anchors.verticalCenter: parent.verticalCenter
anchors.leftMargin: - UM.Theme.getSize("thick_lining").width
source: UM.Theme.getIcon("PrintQuality")
spacing: UM.Theme.getSize("thick_margin").width
iconSize: UM.Theme.getSize("medium_button_icon").width
iconColor: UM.Theme.getColor("text")
font: UM.Theme.getFont("medium_bold")
}
UM.Switch
{
id: enableSectionSwitch
anchors.left: sectionTitle.right
anchors.verticalCenter: parent.verticalCenter
visible: false
onClicked: onEnableSectionChanged(enableSectionSwitch.checked)
}
MouseArea
{
id: tooltipMouseArea
anchors.fill: parent
propagateComposedEvents: true
hoverEnabled: true
onEntered: { print("showTooltip") }
onExited: { print("hideTooltip" ) }
}
}
Loader
{
id: contentLoader
width: parent.width
height: content.height
anchors.left: settingLabel.right
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
sourceComponent: content
}
}