Cura/plugins/Marketplace/PackageModel.py
Ghostkeeper 0f5c923d93
Add model to represent packages and export information to QML
We'll construct a bunch of these when we receive information from the API.

Contributes to issue CURA-8556.
2021-10-21 15:03:41 +02:00

26 lines
831 B
Python

# Copyright (c) 2021 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from PyQt5.QtCore import pyqtProperty, QObject
class PackageModel(QObject):
"""
Represents a package, containing all the relevant information to be displayed about a package.
Effectively this behaves like a glorified named tuple, but as a QObject so that its properties can be obtained from
QML.
"""
def __init__(self, package_id: str, display_name: str, parent: QObject = None):
super().__init__(parent)
self._package_id = package_id
self._display_name = display_name
@pyqtProperty(str, constant = True)
def packageId(self) -> str:
return self._package_id
@pyqtProperty(str, constant = True)
def displayName(self) -> str:
return self._display_name