mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-04-23 22:29:41 +08:00
201 lines
7.5 KiB
QML
201 lines
7.5 KiB
QML
import QtQuick 2.2
|
|
import QtQuick.Controls 1.1
|
|
import QtQuick.Controls.Styles 1.1
|
|
import QtQuick.Layouts 1.1
|
|
|
|
import UM 1.2 as UM
|
|
import Cura 1.0 as Cura
|
|
|
|
|
|
Item
|
|
{
|
|
property alias color: background.color
|
|
property var extruderModel
|
|
property var position: index
|
|
//width: index == machineExtruderCount.properties.value - 1 && index % 2 == 0 ? extrudersGrid.width : Math.floor(extrudersGrid.width / 2 - UM.Theme.getSize("sidebar_lining_thin").width / 2)
|
|
implicitWidth: parent.width
|
|
implicitHeight: UM.Theme.getSize("sidebar_extruder_box").height
|
|
Rectangle
|
|
{
|
|
id: background
|
|
anchors.fill: parent
|
|
|
|
Label //Extruder name.
|
|
{
|
|
text: Cura.ExtruderManager.getExtruderName(position) != "" ? Cura.ExtruderManager.getExtruderName(position) : catalog.i18nc("@label", "Extruder")
|
|
color: UM.Theme.getColor("text")
|
|
font: UM.Theme.getFont("default")
|
|
anchors.left: parent.left
|
|
anchors.top: parent.top
|
|
anchors.margins: UM.Theme.getSize("default_margin").width
|
|
}
|
|
|
|
Label //Target temperature.
|
|
{
|
|
id: extruderTargetTemperature
|
|
text: Math.round(extruderModel.targetHotendTemperature) + "°C"
|
|
//text: (connectedPrinter != null && connectedPrinter.hotendIds[index] != null && connectedPrinter.targetHotendTemperatures[index] != null) ? Math.round(connectedPrinter.targetHotendTemperatures[index]) + "°C" : ""
|
|
font: UM.Theme.getFont("small")
|
|
color: UM.Theme.getColor("text_inactive")
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
|
anchors.bottom: extruderTemperature.bottom
|
|
|
|
MouseArea //For tooltip.
|
|
{
|
|
id: extruderTargetTemperatureTooltipArea
|
|
hoverEnabled: true
|
|
anchors.fill: parent
|
|
onHoveredChanged:
|
|
{
|
|
if (containsMouse)
|
|
{
|
|
base.showTooltip(
|
|
base,
|
|
{x: 0, y: extruderTargetTemperature.mapToItem(base, 0, -parent.height / 4).y},
|
|
catalog.i18nc("@tooltip", "The target temperature of the hotend. The hotend will heat up or cool down towards this temperature. If this is 0, the hotend heating is turned off.")
|
|
);
|
|
}
|
|
else
|
|
{
|
|
base.hideTooltip();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Label //Temperature indication.
|
|
{
|
|
id: extruderTemperature
|
|
text: Math.round(extruderModel.hotendTemperature) + "°C"
|
|
//text: (connectedPrinter != null && connectedPrinter.hotendIds[index] != null && connectedPrinter.hotendTemperatures[index] != null) ? Math.round(connectedPrinter.hotendTemperatures[index]) + "°C" : ""
|
|
color: UM.Theme.getColor("text")
|
|
font: UM.Theme.getFont("large")
|
|
anchors.right: extruderTargetTemperature.left
|
|
anchors.top: parent.top
|
|
anchors.margins: UM.Theme.getSize("default_margin").width
|
|
|
|
MouseArea //For tooltip.
|
|
{
|
|
id: extruderTemperatureTooltipArea
|
|
hoverEnabled: true
|
|
anchors.fill: parent
|
|
onHoveredChanged:
|
|
{
|
|
if (containsMouse)
|
|
{
|
|
base.showTooltip(
|
|
base,
|
|
{x: 0, y: parent.mapToItem(base, 0, -parent.height / 4).y},
|
|
catalog.i18nc("@tooltip", "The current temperature of this extruder.")
|
|
);
|
|
}
|
|
else
|
|
{
|
|
base.hideTooltip();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Rectangle //Material colour indication.
|
|
{
|
|
id: materialColor
|
|
width: Math.floor(materialName.height * 0.75)
|
|
height: Math.floor(materialName.height * 0.75)
|
|
radius: width / 2
|
|
color: extruderModel.activeMaterial ? extruderModel.activeMaterial.color: "#00000000"
|
|
border.width: UM.Theme.getSize("default_lining").width
|
|
border.color: UM.Theme.getColor("lining")
|
|
visible: extruderModel.activeMaterial != null
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
|
anchors.verticalCenter: materialName.verticalCenter
|
|
|
|
MouseArea //For tooltip.
|
|
{
|
|
id: materialColorTooltipArea
|
|
hoverEnabled: true
|
|
anchors.fill: parent
|
|
onHoveredChanged:
|
|
{
|
|
if (containsMouse)
|
|
{
|
|
base.showTooltip(
|
|
base,
|
|
{x: 0, y: parent.mapToItem(base, 0, -parent.height / 2).y},
|
|
catalog.i18nc("@tooltip", "The colour of the material in this extruder.")
|
|
);
|
|
}
|
|
else
|
|
{
|
|
base.hideTooltip();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Label //Material name.
|
|
{
|
|
id: materialName
|
|
text: extruderModel.activeMaterial != null ? extruderModel.activeMaterial.type : ""
|
|
font: UM.Theme.getFont("default")
|
|
color: UM.Theme.getColor("text")
|
|
anchors.left: materialColor.right
|
|
anchors.bottom: parent.bottom
|
|
anchors.margins: UM.Theme.getSize("default_margin").width
|
|
|
|
MouseArea //For tooltip.
|
|
{
|
|
id: materialNameTooltipArea
|
|
hoverEnabled: true
|
|
anchors.fill: parent
|
|
onHoveredChanged:
|
|
{
|
|
if (containsMouse)
|
|
{
|
|
base.showTooltip(
|
|
base,
|
|
{x: 0, y: parent.mapToItem(base, 0, 0).y},
|
|
catalog.i18nc("@tooltip", "The material in this extruder.")
|
|
);
|
|
}
|
|
else
|
|
{
|
|
base.hideTooltip();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Label //Variant name.
|
|
{
|
|
id: variantName
|
|
text: extruderModel.hotendID
|
|
font: UM.Theme.getFont("default")
|
|
color: UM.Theme.getColor("text")
|
|
anchors.right: parent.right
|
|
anchors.bottom: parent.bottom
|
|
anchors.margins: UM.Theme.getSize("default_margin").width
|
|
|
|
MouseArea //For tooltip.
|
|
{
|
|
id: variantNameTooltipArea
|
|
hoverEnabled: true
|
|
anchors.fill: parent
|
|
onHoveredChanged:
|
|
{
|
|
if (containsMouse)
|
|
{
|
|
base.showTooltip(
|
|
base,
|
|
{x: 0, y: parent.mapToItem(base, 0, -parent.height / 4).y},
|
|
catalog.i18nc("@tooltip", "The nozzle inserted in this extruder.")
|
|
);
|
|
}
|
|
else
|
|
{
|
|
base.hideTooltip();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |