mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00
Somewhat better layout, added legend
This commit is contained in:
parent
f0e0d65635
commit
55dd08eff8
3 changed files with 67 additions and 5 deletions
|
@ -16,6 +16,7 @@ from UM.Logger import Logger
|
||||||
|
|
||||||
from UM.Math.Vector import Vector
|
from UM.Math.Vector import Vector
|
||||||
|
|
||||||
|
from cura.Settings.ExtruderManager import ExtruderManager
|
||||||
from cura import LayerDataBuilder
|
from cura import LayerDataBuilder
|
||||||
from cura import LayerDataDecorator
|
from cura import LayerDataDecorator
|
||||||
from cura import LayerPolygon
|
from cura import LayerPolygon
|
||||||
|
@ -159,11 +160,7 @@ class ProcessSlicedLayersJob(Job):
|
||||||
# We are done processing all the layers we got from the engine, now create a mesh out of the data
|
# We are done processing all the layers we got from the engine, now create a mesh out of the data
|
||||||
|
|
||||||
# Find out colors per extruder
|
# Find out colors per extruder
|
||||||
# TODO: move to a better place. Code is similar to code in ExtrudersModel
|
global_container_stack = Application.getInstance().getGlobalContainerStack()
|
||||||
from cura.Settings.ExtruderManager import ExtruderManager
|
|
||||||
import UM
|
|
||||||
|
|
||||||
global_container_stack = UM.Application.getInstance().getGlobalContainerStack()
|
|
||||||
manager = ExtruderManager.getInstance()
|
manager = ExtruderManager.getInstance()
|
||||||
extruders = list(manager.getMachineExtruders(global_container_stack.getId()))
|
extruders = list(manager.getMachineExtruders(global_container_stack.getId()))
|
||||||
if extruders:
|
if extruders:
|
||||||
|
@ -182,6 +179,7 @@ class ProcessSlicedLayersJob(Job):
|
||||||
color = colorCodeToRGBA(color_code)
|
color = colorCodeToRGBA(color_code)
|
||||||
material_color_map[0, :] = color
|
material_color_map[0, :] = color
|
||||||
|
|
||||||
|
# We have to scale the colors for compatibility mode
|
||||||
if bool(Preferences.getInstance().getValue("view/compatibility_mode")):
|
if bool(Preferences.getInstance().getValue("view/compatibility_mode")):
|
||||||
line_type_brightness = 0.5
|
line_type_brightness = 0.5
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -181,8 +181,10 @@ Item
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
|
id: view_settings
|
||||||
anchors.top: layer_type_combobox.bottom
|
anchors.top: layer_type_combobox.bottom
|
||||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||||
|
x: UM.Theme.getSize("default_margin").width
|
||||||
|
|
||||||
CheckBox {
|
CheckBox {
|
||||||
checked: true
|
checked: true
|
||||||
|
@ -243,5 +245,60 @@ Item
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// legend
|
||||||
|
ListView {
|
||||||
|
|
||||||
|
visible: (UM.LayerView.getLayerViewType() == 1) // line type
|
||||||
|
anchors.top: view_settings.bottom
|
||||||
|
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||||
|
//width: parent.width
|
||||||
|
//height: childrenRect.height
|
||||||
|
|
||||||
|
delegate: Row
|
||||||
|
{
|
||||||
|
Rectangle
|
||||||
|
{
|
||||||
|
id: rect
|
||||||
|
|
||||||
|
x: UM.Theme.getSize("default_margin").width
|
||||||
|
y: index * UM.Theme.getSize("section_icon").height
|
||||||
|
|
||||||
|
//width: UM.Theme.getSize("section_icon").width
|
||||||
|
//height: 0.5 * UM.Theme.getSize("section_icon").height
|
||||||
|
width: UM.Theme.getSize("setting_control").height / 2
|
||||||
|
height: UM.Theme.getSize("setting_control").height / 2
|
||||||
|
//Behavior on height { NumberAnimation { duration: 50; } }
|
||||||
|
|
||||||
|
border.width: UM.Theme.getSize("default_lining").width;
|
||||||
|
border.color: UM.Theme.getColor("slider_groove_border");
|
||||||
|
|
||||||
|
color: model.color;
|
||||||
|
}
|
||||||
|
|
||||||
|
Label
|
||||||
|
{
|
||||||
|
anchors.left: rect.right
|
||||||
|
anchors.verticalCenter: rect.verticalCenter
|
||||||
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||||
|
text: model.label
|
||||||
|
}
|
||||||
|
}
|
||||||
|
model: ListModel
|
||||||
|
{
|
||||||
|
id: legendModel
|
||||||
|
}
|
||||||
|
Component.onCompleted:
|
||||||
|
{
|
||||||
|
// see LayerPolygon
|
||||||
|
legendModel.append({ label:catalog.i18nc("@label", "Inset0"), color: "#ff0000" });
|
||||||
|
legendModel.append({ label:catalog.i18nc("@label", "InsetX"), color: "#00ff00" });
|
||||||
|
legendModel.append({ label:catalog.i18nc("@label", "Skin"), color: "#ffff00" });
|
||||||
|
legendModel.append({ label:catalog.i18nc("@label", "Support, Skirt, SupportInfill"), color: "#00ffff" });
|
||||||
|
legendModel.append({ label:catalog.i18nc("@label", "Infill"), color: "#ffbf00" });
|
||||||
|
legendModel.append({ label:catalog.i18nc("@label", "MoveCombing"), color: "#0000ff" });
|
||||||
|
legendModel.append({ label:catalog.i18nc("@label", "MoveRetraction"), color: "#8080ff" });
|
||||||
|
legendModel.append({ label:catalog.i18nc("@label", "SupportInterface"), color: "#3fbfff" });
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,6 +76,13 @@ class LayerViewProxy(QObject):
|
||||||
if type(active_view) == LayerView.LayerView.LayerView:
|
if type(active_view) == LayerView.LayerView.LayerView:
|
||||||
active_view.setLayerViewType(layer_view_type)
|
active_view.setLayerViewType(layer_view_type)
|
||||||
|
|
||||||
|
@pyqtProperty(bool)
|
||||||
|
def getLayerViewType(self):
|
||||||
|
active_view = self._controller.getActiveView()
|
||||||
|
if type(active_view) == LayerView.LayerView.LayerView:
|
||||||
|
return active_view.getLayerViewType()
|
||||||
|
return 0
|
||||||
|
|
||||||
@pyqtSlot(bool)
|
@pyqtSlot(bool)
|
||||||
def setOnlyColorActiveExtruder(self, only_color_active_extruder):
|
def setOnlyColorActiveExtruder(self, only_color_active_extruder):
|
||||||
active_view = self._controller.getActiveView()
|
active_view = self._controller.getActiveView()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue