Move Cura custom setting functions to a separate file

This commit is contained in:
Lipu Fei 2018-09-26 16:54:00 +02:00
parent 30ef724322
commit 7a681a2ae4
4 changed files with 161 additions and 177 deletions

View file

@ -107,6 +107,7 @@ from cura.Settings.MaterialSettingsVisibilityHandler import MaterialSettingsVisi
from cura.Settings.ContainerManager import ContainerManager
from cura.Settings.SidebarCustomMenuItemsModel import SidebarCustomMenuItemsModel
import cura.Settings.cura_empty_instance_containers
from cura.Settings.CustomSettingFunctions import CustomSettingFunctions
from cura.ObjectsModel import ObjectsModel
@ -174,6 +175,8 @@ class CuraApplication(QtApplication):
self._single_instance = None
self._custom_setting_functions = None
self._cura_package_manager = None
self._machine_action_manager = None
@ -317,6 +320,8 @@ class CuraApplication(QtApplication):
# Adds custom property types, settings types, and extra operators (functions) that need to be registered in
# SettingDefinition and SettingFunction.
def __initializeSettingDefinitionsAndFunctions(self):
self._custom_setting_functions = CustomSettingFunctions(self)
# Need to do this before ContainerRegistry tries to load the machines
SettingDefinition.addSupportedProperty("settable_per_mesh", DefinitionPropertyType.Any, default = True, read_only = True)
SettingDefinition.addSupportedProperty("settable_per_extruder", DefinitionPropertyType.Any, default = True, read_only = True)
@ -337,10 +342,10 @@ class CuraApplication(QtApplication):
SettingDefinition.addSettingType("optional_extruder", None, str, None)
SettingDefinition.addSettingType("[int]", None, str, None)
SettingFunction.registerOperator("extruderValues", ExtruderManager.getExtruderValues)
SettingFunction.registerOperator("extruderValue", ExtruderManager.getExtruderValue)
SettingFunction.registerOperator("resolveOrValue", ExtruderManager.getResolveOrValue)
SettingFunction.registerOperator("defaultExtruderPosition", ExtruderManager.getDefaultExtruderPosition)
SettingFunction.registerOperator("extruderValue", self._custom_setting_functions.getValueInExtruder)
SettingFunction.registerOperator("extruderValues", self._custom_setting_functions.getValuesInAllExtruders)
SettingFunction.registerOperator("resolveOrValue", self._custom_setting_functions.getResolveOrValue)
SettingFunction.registerOperator("defaultExtruderPosition", self._custom_setting_functions.getDefaultExtruderPosition)
# Adds all resources and container related resources.
def __addAllResourcesAndContainerResources(self) -> None:
@ -804,6 +809,9 @@ class CuraApplication(QtApplication):
def getSettingVisibilityPresetsModel(self, *args) -> SettingVisibilityPresetsModel:
return self._setting_visibility_presets_model
def getCustomSettingFunctions(self, *args) -> CustomSettingFunctions:
return self._custom_setting_functions
def getMachineErrorChecker(self, *args) -> MachineErrorChecker:
return self._machine_error_checker