Cura/resources/qml/Menus/NozzleMenu.qml
2018-02-16 14:20:02 +01:00

97 lines
2.8 KiB
QML

// Copyright (c) 2017 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.2
import QtQuick.Controls 1.1
import UM 1.2 as UM
import Cura 1.0 as Cura
Menu
{
id: menu
title: "Nozzle"
property int extruderIndex: 0
property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0
property bool isClusterPrinter:
{
if(Cura.MachineManager.printerOutputDevices.length == 0)
{
return false;
}
var clusterSize = Cura.MachineManager.printerOutputDevices[0].clusterSize;
// This is not a cluster printer or the cluster it is just one printer
if(clusterSize == undefined || clusterSize == 1)
{
return false;
}
return true;
}
// TODO: single instance??
Cura.NozzleModel
{
id: nozzleModel
}
Instantiator
{
model: nozzleModel
MenuItem
{
text: model.hotend_name
checkable: true
checked: Cura.MachineManager.activeVariantId == model.hotend_name
exclusiveGroup: group
onTriggered: {
var position = Cura.ExtruderManager.activeExtruderIndex;
Cura.MachineManager.setVariantGroup(position, model.container_node);
}
visible: true
}
onObjectAdded: menu.insertItem(index, object);
onObjectRemoved: menu.removeItem(object);
}
/*
Instantiator
{
id: nozzleInstantiator
model: UM.InstanceContainersModel
{
filter:
{
var filter_dict =
{
"type": "variant",
"definition": Cura.MachineManager.activeQualityDefinitionId //Only show variants of this machine
}
if (Cura.MachineManager.hasVariantBuildplates)
{
filter_dict["hardware_type"] = "nozzle"
}
return filter_dict
}
}
MenuItem {
text: model.name
checkable: true
checked: model.id == Cura.MachineManager.allActiveVariantIds[Cura.ExtruderManager.extruderIds[extruderIndex]]
exclusiveGroup: group
onTriggered:
{
var activeExtruderIndex = Cura.ExtruderManager.activeExtruderIndex;
Cura.ExtruderManager.setActiveExtruderIndex(extruderIndex);
Cura.MachineManager.setActiveVariant(model.id);
Cura.ExtruderManager.setActiveExtruderIndex(activeExtruderIndex);
}
}
onObjectAdded: menu.insertItem(index, object)
onObjectRemoved: menu.removeItem(object)
} */
ExclusiveGroup { id: group }
}