// 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 property alias contents: settingColumn.children function onEnableSectionChanged(state) {} height: childrenRect.height Item { id: sectionHeader anchors.top: parent.top anchors.right: parent.right anchors.left: parent.left height: UM.Theme.getSize("section_header").height 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: childrenRect.height anchors.left: parent.left anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter sourceComponent: content } }