def __init__(self, container_id: str, i18n_catalog: i18nCatalog = None, parent: QObject = None, *args, **kwargs) -> None: super().__init__() QQmlEngine.setObjectOwnership(self, QQmlEngine.CppOwnership) self._metadata = {"id": container_id, "name": container_id, "container_type": DefinitionContainer, "version": self.Version} # type: Dict[str, Any] self._definitions = [] # type: List[SettingDefinition] self._inherited_files = [] # type: List[str] self._i18n_catalog = i18n_catalog # type: Optional[i18nCatalog] self._definition_cache = {} # type: Dict[str, SettingDefinition] self._path = ""
def __init__(self, parent = None): super().__init__(parent) # Ensure that this model doesn't get garbage collected (Now the bound object is destroyed when the wrapper is) QQmlEngine.setObjectOwnership(self, QQmlEngine.CppOwnership) self._device_manager = Application.getInstance().getOutputDeviceManager() self.addRoleName(self.IdRole, "id") self.addRoleName(self.NameRole, "name") self.addRoleName(self.ShortDescriptionRole, "short_description") self.addRoleName(self.DescriptionRole, "description") self.addRoleName(self.IconNameRole, "icon_name") self.addRoleName(self.PriorityRole, "priority") self._device_manager.outputDevicesChanged.connect(self._update) self._update()
def __init__(self, stack_id: str) -> None: super().__init__() QQmlEngine.setObjectOwnership(self, QQmlEngine.CppOwnership) self._metadata = { "id": stack_id, "name": stack_id, "version": self.Version, "container_type": ContainerStack } #type: Dict[str, Any] self._containers = [] # type: List[ContainerInterface] self._next_stack = None # type: Optional[ContainerStack] self._read_only = False # type: bool self._dirty = True # type: bool self._path = "" # type: str self._postponed_emits = [] #type: List[Tuple[Signal, ContainerInterface]] # gets filled with 2-tuples: signal, signal_argument(s) self._property_changes = {} #type: Dict[str, Set[str]] self._emit_property_changed_queued = False # type: bool
def __init__(self, container_id: str, i18n_catalog: i18nCatalog = None, parent: QObject = None, *args, **kwargs) -> None: """Constructor :param container_id: A unique, machine readable/writable ID for this container. """ super().__init__() QQmlEngine.setObjectOwnership(self, QQmlEngine.CppOwnership) self._metadata = {"id": container_id, "name": container_id, "container_type": DefinitionContainer, "version": self.Version} # type: Dict[str, Any] self._definitions = [] # type: List[SettingDefinition] self._inherited_files = [] # type: List[str] self._i18n_catalog = i18n_catalog # type: Optional[i18nCatalog] self._definition_cache = {} # type: Dict[str, SettingDefinition] self._path = ""
def __init__(self, stack_id: str) -> None: super().__init__() QQmlEngine.setObjectOwnership(self, QQmlEngine.CppOwnership) self._metadata = { "id": stack_id, "name": stack_id, "version": self.Version, "container_type": ContainerStack } #type: Dict[str, Any] self._containers = [] # type: List[ContainerInterface] self._next_stack = None # type: Optional[ContainerStack] self._read_only = False # type: bool self._dirty = False # type: bool self._path = "" # type: str self._postponed_emits = [] # type: List[Tuple[Signal, ContainerInterface]] # gets filled with 2-tuples: signal, signal_argument(s) self._property_changes = {} # type: Dict[str, Set[str]] self._emit_property_changed_queued = False # type: bool
def __init__(self, container_id: str, parent: QObject = None, *args: Any, **kwargs: Any) -> None: super().__init__() QQmlEngine.setObjectOwnership(self, QQmlEngine.CppOwnership) self._metadata = { "id": container_id, "name": container_id, "version": self.Version, "container_type": InstanceContainer } # type: Dict[str, Any] self._instances = {} # type: Dict[str, SettingInstance] self._read_only = False #type: bool self._dirty = False #type: bool self._path = "" #type: str self._postponed_emits = [] #type: List[Tuple[Signal, Tuple[str, str]]] self._cached_values = None #type: Optional[Dict[str, Any]]
def __init__(self, stack_id: str, *args, **kwargs): # Note that we explicitly pass None as QObject parent here. This is to be able # to support pickling. super().__init__(parent=None, *args, **kwargs) QQmlEngine.setObjectOwnership(self, QQmlEngine.CppOwnership) self._metadata = { "id": stack_id, "name": stack_id, "version": self.Version, "container_type": ContainerStack } self._containers = [] # type: List[ContainerInterface] self._next_stack = None # type: Optional[ContainerStack] self._read_only = False # type: bool self._dirty = True # type: bool self._path = "" # type: str self._postponed_emits = [ ] # gets filled with 2-tuples: signal, signal_argument(s) self._property_changes = {} self._emit_property_changed_queued = False # type: bool
def __init__(self, package_data: Dict[str, Any], section_title: Optional[str] = None, parent: Optional[QObject] = None) -> None: """ Constructs a new model for a single package. :param package_data: The data received from the Marketplace API about the package to create. :param section_title: If the packages are to be categorized per section provide the section_title :param parent: The parent QML object that controls the lifetime of this model (normally a PackageList). """ super().__init__(parent) QQmlEngine.setObjectOwnership(self, QQmlEngine.CppOwnership) self._package_manager: CuraPackageManager = cast( CuraPackageManager, CuraApplication.getInstance().getPackageManager()) self._plugin_registry: PluginRegistry = CuraApplication.getInstance( ).getPluginRegistry() self._package_id = package_data.get("package_id", "UnknownPackageId") self._package_type = package_data.get("package_type", "") self._is_bundled = package_data.get("is_bundled", False) self._icon_url = package_data.get("icon_url", "") self._marketplace_url = package_data.get("marketplace_url", "") self._display_name = package_data.get( "display_name", catalog.i18nc("@label:property", "Unknown Package")) tags = package_data.get("tags", []) self._is_checked_by_ultimaker = (self._package_type == "plugin" and "verified" in tags) or ( self._package_type == "material" and "certified" in tags) self._package_version = package_data.get( "package_version", "") # Display purpose, no need for 'UM.Version'. self._package_info_url = package_data.get( "website", "") # Not to be confused with 'download_url'. self._download_count = package_data.get("download_count", 0) self._description = package_data.get("description", "") self._formatted_description = self._format(self._description) self._download_url = package_data.get("download_url", "") self._release_notes = package_data.get( "release_notes", "") # Not used yet, propose to add to description? subdata = package_data.get("data", {}) self._technical_data_sheet = self._findLink(subdata, "technical_data_sheet") self._safety_data_sheet = self._findLink(subdata, "safety_data_sheet") self._where_to_buy = self._findLink(subdata, "where_to_buy") self._compatible_printers = self._getCompatiblePrinters(subdata) self._compatible_support_materials = self._getCompatibleSupportMaterials( subdata) self._is_compatible_material_station = self._isCompatibleMaterialStation( subdata) self._is_compatible_air_manager = self._isCompatibleAirManager(subdata) author_data = package_data.get("author", {}) self._author_name = author_data.get( "display_name", catalog.i18nc("@label:property", "Unknown Author")) self._author_info_url = author_data.get("website", "") if not self._icon_url or self._icon_url == "": self._icon_url = author_data.get("icon_url", "") self._can_update = False self._section_title = section_title self.sdk_version = package_data.get("sdk_version_semver", "") # Note that there's a lot more info in the package_data than just these specified here. self.enablePackageTriggered.connect(self._plugin_registry.enablePlugin) self.disablePackageTriggered.connect( self._plugin_registry.disablePlugin) self._plugin_registry.pluginsEnabledOrDisabledChanged.connect( self.stateManageButtonChanged) self._package_manager.packageInstalled.connect( lambda pkg_id: self._packageInstalled(pkg_id)) self._package_manager.packageUninstalled.connect( lambda pkg_id: self._packageInstalled(pkg_id)) self._package_manager.packageInstallingFailed.connect( lambda pkg_id: self._packageInstalled(pkg_id)) self._package_manager.packagesWithUpdateChanged.connect( self._processUpdatedPackages) self._is_busy = False