Ensure that extruder configurations are correctly sorted

CL-894
This commit is contained in:
Jaime van Kessel 2018-08-21 13:32:22 +02:00
parent 03a7833180
commit 6a08b63f21
4 changed files with 18 additions and 12 deletions

View file

@ -11,9 +11,9 @@ class ExtruderConfigurationModel(QObject):
extruderConfigurationChanged = pyqtSignal() extruderConfigurationChanged = pyqtSignal()
def __init__(self): def __init__(self, position: int = -1):
super().__init__() super().__init__()
self._position = -1 # type: int self._position = position # type: int
self._material = None # type: Optional[MaterialOutputModel] self._material = None # type: Optional[MaterialOutputModel]
self._hotend_id = None # type: Optional[str] self._hotend_id = None # type: Optional[str]

View file

@ -183,7 +183,6 @@ class Toolbox(QObject, Extension):
"materials_available": QUrl("{base_url}/packages?package_type=material".format(base_url=self._api_url)), "materials_available": QUrl("{base_url}/packages?package_type=material".format(base_url=self._api_url)),
"materials_generic": QUrl("{base_url}/packages?package_type=material&tags=generic".format(base_url=self._api_url)) "materials_generic": QUrl("{base_url}/packages?package_type=material&tags=generic".format(base_url=self._api_url))
} }
print("*******", self._request_urls )
# Get the API root for the packages API depending on Cura version settings. # Get the API root for the packages API depending on Cura version settings.
def _getCloudAPIRoot(self) -> str: def _getCloudAPIRoot(self) -> str:

View file

@ -520,18 +520,16 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice):
key=data["uuid"], name= data["name"]) key=data["uuid"], name= data["name"])
configuration = ConfigurationModel() configuration = ConfigurationModel()
extruders = [] extruders = [ExtruderConfigurationModel(position = idx) for idx in range(0, self._number_of_extruders)]
for index in range(0, self._number_of_extruders): for index in range(0, self._number_of_extruders):
extruder = ExtruderConfigurationModel()
extruder.setPosition(index)
try: try:
extruder_data = data["configuration"][index] extruder_data = data["configuration"][index]
except IndexError: except IndexError:
break continue
extruder = extruders[int(data["configuration"][index]["extruder_index"])]
extruder.setHotendID(extruder_data.get("print_core_id", "")) extruder.setHotendID(extruder_data.get("print_core_id", ""))
extruder.setMaterial(self._createMaterialOutputModel(extruder_data.get("material", {}))) extruder.setMaterial(self._createMaterialOutputModel(extruder_data.get("material", {})))
extruders.append(extruder)
configuration.setExtruderConfigurations(extruders) configuration.setExtruderConfigurations(extruders)
print_job.updateConfiguration(configuration) print_job.updateConfiguration(configuration)

View file

@ -18,6 +18,15 @@ Item
id: extruderCircle id: extruderCircle
width: 30 width: 30
height: 30 height: 30
opacity:
{
if(printCoreConfiguration == undefined || printCoreConfiguration.activeMaterial == undefined || printCoreConfiguration.hotendID == undefined)
{
return 0.5
}
return 1
}
Rectangle Rectangle
{ {
anchors.fill: parent anchors.fill: parent
@ -30,7 +39,7 @@ Item
{ {
anchors.centerIn: parent anchors.centerIn: parent
font: UM.Theme.getFont("default_bold") font: UM.Theme.getFont("default_bold")
text: printCoreConfiguration != undefined ? printCoreConfiguration.position + 1 : "" text: printCoreConfiguration.position + 1
} }
} }
@ -40,7 +49,7 @@ Item
text: text:
{ {
if(printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined) if(printCoreConfiguration != undefined && printCoreConfiguration.activeMaterial != undefined)
{ {
return printCoreConfiguration.activeMaterial.name return printCoreConfiguration.activeMaterial.name
} }
@ -58,7 +67,7 @@ Item
id: printCoreLabel id: printCoreLabel
text: text:
{ {
if(printCoreConfiguration != undefined && printCoreConfiguration.hotendID != undefined) if(printCoreConfiguration != undefined && printCoreConfiguration.hotendID != undefined)
{ {
return printCoreConfiguration.hotendID return printCoreConfiguration.hotendID
} }