mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 23:17:32 -06:00
32 lines
1,001 B
Python
32 lines
1,001 B
Python
# Copyright (c) 2018 Ultimaker B.V.
|
|
# Cura is released under the terms of the LGPLv3 or higher.
|
|
from PyQt5.QtCore import QObject, pyqtProperty
|
|
|
|
from UM.PluginRegistry import PluginRegistry
|
|
from cura.API.Backups import Backups
|
|
from cura.API.Interface import Interface
|
|
from cura.API.Account import Account
|
|
|
|
|
|
## The official Cura API that plug-ins can use to interact with Cura.
|
|
#
|
|
# Python does not technically prevent talking to other classes as well, but
|
|
# this API provides a version-safe interface with proper deprecation warnings
|
|
# etc. Usage of any other methods than the ones provided in this API can cause
|
|
# plug-ins to be unstable.
|
|
class CuraAPI(QObject):
|
|
|
|
# For now we use the same API version to be consistent.
|
|
VERSION = PluginRegistry.APIVersion
|
|
|
|
# Backups API
|
|
backups = Backups()
|
|
|
|
# Interface API
|
|
interface = Interface()
|
|
|
|
_account = Account()
|
|
|
|
@pyqtProperty(QObject, constant = True)
|
|
def account(self) -> Account:
|
|
return CuraAPI._account
|