12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- // Copyright (c) 2018 Ultimaker B.V.
- // Cura is released under the terms of the LGPLv3 or higher.
- import QtQuick 2.7
- import QtQuick.Layouts 1.1
- import QtQuick.Controls 2.3
- import UM 1.3 as UM
- import Cura 1.1 as Cura
- Item
- {
- id: previewMenu
- property real itemHeight: height - 2 * UM.Theme.getSize("default_lining").width
- UM.I18nCatalog
- {
- id: catalog
- name: "cura"
- }
- Row
- {
- id: stageMenuRow
- anchors.centerIn: parent
- height: parent.height
- width: childrenRect.width
- // We want this row to have a preferred with equals to the 85% of the parent
- property int preferredWidth: Math.round(0.85 * previewMenu.width)
- Cura.ViewsSelector
- {
- id: viewsSelector
- height: parent.height
- width: UM.Theme.getSize("views_selector").width
- headerCornerSide: Cura.RoundedRectangle.Direction.Left
- }
- // Separator line
- Rectangle
- {
- height: parent.height
- // If there is no viewPanel, we only need a single spacer, so hide this one.
- visible: viewPanel.source != ""
- width: visible ? UM.Theme.getSize("default_lining").width : 0
- color: UM.Theme.getColor("lining")
- }
- // This component will grow freely up to complete the preferredWidth of the row.
- Loader
- {
- id: viewPanel
- height: parent.height
- width: source != "" ? (stageMenuRow.preferredWidth - viewsSelector.width - printSetupSelectorItem.width - 2 * UM.Theme.getSize("default_lining").width) : 0
- source: UM.Controller.activeView != null && UM.Controller.activeView.stageMenuComponent != null ? UM.Controller.activeView.stageMenuComponent : ""
- }
- // Separator line
- Rectangle
- {
- height: parent.height
- width: UM.Theme.getSize("default_lining").width
- color: UM.Theme.getColor("lining")
- }
- Item
- {
- id: printSetupSelectorItem
- // This is a work around to prevent the printSetupSelector from having to be re-loaded every time
- // a stage switch is done.
- children: [printSetupSelector]
- height: childrenRect.height
- width: childrenRect.width
- }
- }
- }
|