123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- // Copyright (c) 2020 Ultimaker B.V.
- // Cura is released under the terms of the LGPLv3 or higher.
- import QtQuick 2.7
- import QtQuick.Controls 2.1
- import QtQuick.Layouts 1.3
- import UM 1.2 as UM
- import Cura 1.0 as Cura
- // This element hold all the elements needed for the user to trigger the slicing process, and later
- // to get information about the printing times, material consumption and the output process (such as
- // saving to a file, printing over network, ...
- Item
- {
- id: base
- width: actionPanelWidget.width + additionalComponents.width
- height: childrenRect.height
- visible: CuraApplication.platformActivity
- property bool hasPreviewButton: true
- Rectangle
- {
- id: actionPanelWidget
- width: UM.Theme.getSize("action_panel_widget").width
- height: childrenRect.height + 2 * UM.Theme.getSize("thick_margin").height
- anchors.right: parent.right
- color: UM.Theme.getColor("main_background")
- border.width: UM.Theme.getSize("default_lining").width
- border.color: UM.Theme.getColor("lining")
- radius: UM.Theme.getSize("default_radius").width
- z: 10
- property bool outputAvailable: UM.Backend.state == UM.Backend.Done || UM.Backend.state == UM.Backend.Disabled
- Loader
- {
- id: loader
- anchors
- {
- top: parent.top
- topMargin: UM.Theme.getSize("thick_margin").height
- left: parent.left
- leftMargin: UM.Theme.getSize("thick_margin").width
- right: parent.right
- rightMargin: UM.Theme.getSize("thick_margin").width
- }
- sourceComponent: actionPanelWidget.outputAvailable ? outputProcessWidget : sliceProcessWidget
- onLoaded:
- {
- if(actionPanelWidget.outputAvailable)
- {
- loader.item.hasPreviewButton = base.hasPreviewButton;
- }
- }
- }
- Component
- {
- id: sliceProcessWidget
- SliceProcessWidget { }
- }
- Component
- {
- id: outputProcessWidget
- OutputProcessWidget { }
- }
- }
- Item
- {
- id: additionalComponents
- width: childrenRect.width
- anchors.right: actionPanelWidget.left
- anchors.rightMargin: UM.Theme.getSize("default_margin").width
- anchors.bottom: actionPanelWidget.bottom
- anchors.bottomMargin: UM.Theme.getSize("thick_margin").height * 2
- visible: actionPanelWidget.visible
- Row
- {
- id: additionalComponentsRow
- anchors.verticalCenter: parent.verticalCenter
- spacing: UM.Theme.getSize("default_margin").width
- }
- }
- Component.onCompleted: base.addAdditionalComponents()
- Connections
- {
- target: CuraApplication
- onAdditionalComponentsChanged: base.addAdditionalComponents()
- }
- function addAdditionalComponents()
- {
- for (var component in CuraApplication.additionalComponents["saveButton"])
- {
- CuraApplication.additionalComponents["saveButton"][component].parent = additionalComponentsRow
- }
- }
- }
|