Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ConfigsModel.py « src « Toolbox « plugins - github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a53817653f1738b9e110d4ecd1f2ca1ee9c35b77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Copyright (c) 2018 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.

from PyQt5.QtCore import Qt

from UM.Qt.ListModel import ListModel


class ConfigsModel(ListModel):
    """Model that holds supported configurations (for material/quality packages)."""

    def __init__(self, parent = None):
        super().__init__(parent)

        self._configs = None

        self.addRoleName(Qt.UserRole + 1, "machine")
        self.addRoleName(Qt.UserRole + 2, "print_core")
        self.addRoleName(Qt.UserRole + 3, "build_plate")
        self.addRoleName(Qt.UserRole + 4, "support_material")
        self.addRoleName(Qt.UserRole + 5, "quality")

    def setConfigs(self, configs):
        self._configs = configs
        self._update()

    def _update(self):
        items = []
        for item in self._configs:
            items.append({
                "machine":          item["machine"],
                "print_core":       item["print_core"],
                "build_plate":      item["build_plate"],
                "support_material": item["support_material"],
                "quality":          item["quality"]
            })

        self.setItems(items)