Cura/plugins/Marketplace/PackageList.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

31 lines
824 B
Python

# Copyright (c) 2021 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from PyQt5.QtCore import Qt
from typing import List, TYPE_CHECKING
from UM.Qt.ListModel import ListModel
from .PackageModel import PackageModel # This list is a list of PackageModels.
if TYPE_CHECKING:
from PyQt5.QtCore import QObject
class PackageList(ListModel):
"""
Represents a list of packages to be displayed in the interface.
The list can be filtered (e.g. on package type, materials vs. plug-ins) and
paginated.
"""
PackageRole = Qt.UserRole + 1
def __init__(self, parent: "QObject" = None):
super().__init__(parent)
self._packages: List[PackageModel] = []
def _update(self) -> None:
# TODO: Get list of packages from Marketplace class.
pass