mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-25 07:33:57 -06:00
Move initializeSettingDefinitions and setting functions to their own function
This means we don't have to instantiate CuraApplication in the tests anymore
This commit is contained in:
parent
75b185d462
commit
efeba48ffb
2 changed files with 23 additions and 14 deletions
|
@ -307,7 +307,8 @@ class CuraApplication(QtApplication):
|
||||||
super().initialize()
|
super().initialize()
|
||||||
|
|
||||||
self.__sendCommandToSingleInstance()
|
self.__sendCommandToSingleInstance()
|
||||||
self._initializeSettingDefinitionsAndFunctions()
|
self._initializeSettingDefinitions()
|
||||||
|
self._initializeSettingFunctions()
|
||||||
self.__addAllResourcesAndContainerResources()
|
self.__addAllResourcesAndContainerResources()
|
||||||
self.__addAllEmptyContainers()
|
self.__addAllEmptyContainers()
|
||||||
self.__setLatestResouceVersionsForVersionUpgrade()
|
self.__setLatestResouceVersionsForVersionUpgrade()
|
||||||
|
@ -336,31 +337,40 @@ class CuraApplication(QtApplication):
|
||||||
resource_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "..", "resources")
|
resource_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "..", "resources")
|
||||||
Resources.addSearchPath(resource_path)
|
Resources.addSearchPath(resource_path)
|
||||||
|
|
||||||
# Adds custom property types, settings types, and extra operators (functions) that need to be registered in
|
@classmethod
|
||||||
# SettingDefinition and SettingFunction.
|
def _initializeSettingDefinitions(cls):
|
||||||
def _initializeSettingDefinitionsAndFunctions(self):
|
|
||||||
self._cura_formula_functions = CuraFormulaFunctions(self)
|
|
||||||
|
|
||||||
# Need to do this before ContainerRegistry tries to load the machines
|
# 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_mesh", DefinitionPropertyType.Any, default=True,
|
||||||
SettingDefinition.addSupportedProperty("settable_per_extruder", DefinitionPropertyType.Any, default = True, read_only = True)
|
read_only=True)
|
||||||
|
SettingDefinition.addSupportedProperty("settable_per_extruder", DefinitionPropertyType.Any, default=True,
|
||||||
|
read_only=True)
|
||||||
# this setting can be changed for each group in one-at-a-time mode
|
# this setting can be changed for each group in one-at-a-time mode
|
||||||
SettingDefinition.addSupportedProperty("settable_per_meshgroup", DefinitionPropertyType.Any, default = True, read_only = True)
|
SettingDefinition.addSupportedProperty("settable_per_meshgroup", DefinitionPropertyType.Any, default=True,
|
||||||
SettingDefinition.addSupportedProperty("settable_globally", DefinitionPropertyType.Any, default = True, read_only = True)
|
read_only=True)
|
||||||
|
SettingDefinition.addSupportedProperty("settable_globally", DefinitionPropertyType.Any, default=True,
|
||||||
|
read_only=True)
|
||||||
|
|
||||||
# From which stack the setting would inherit if not defined per object (handled in the engine)
|
# From which stack the setting would inherit if not defined per object (handled in the engine)
|
||||||
# AND for settings which are not settable_per_mesh:
|
# AND for settings which are not settable_per_mesh:
|
||||||
# which extruder is the only extruder this setting is obtained from
|
# which extruder is the only extruder this setting is obtained from
|
||||||
SettingDefinition.addSupportedProperty("limit_to_extruder", DefinitionPropertyType.Function, default = "-1", depends_on = "value")
|
SettingDefinition.addSupportedProperty("limit_to_extruder", DefinitionPropertyType.Function, default="-1",
|
||||||
|
depends_on="value")
|
||||||
|
|
||||||
# For settings which are not settable_per_mesh and not settable_per_extruder:
|
# For settings which are not settable_per_mesh and not settable_per_extruder:
|
||||||
# A function which determines the glabel/meshgroup value by looking at the values of the setting in all (used) extruders
|
# A function which determines the glabel/meshgroup value by looking at the values of the setting in all (used) extruders
|
||||||
SettingDefinition.addSupportedProperty("resolve", DefinitionPropertyType.Function, default = None, depends_on = "value")
|
SettingDefinition.addSupportedProperty("resolve", DefinitionPropertyType.Function, default=None,
|
||||||
|
depends_on="value")
|
||||||
|
|
||||||
SettingDefinition.addSettingType("extruder", None, str, Validator)
|
SettingDefinition.addSettingType("extruder", None, str, Validator)
|
||||||
SettingDefinition.addSettingType("optional_extruder", None, str, None)
|
SettingDefinition.addSettingType("optional_extruder", None, str, None)
|
||||||
SettingDefinition.addSettingType("[int]", None, str, None)
|
SettingDefinition.addSettingType("[int]", None, str, None)
|
||||||
|
|
||||||
|
|
||||||
|
# Adds custom property types, settings types, and extra operators (functions) that need to be registered in
|
||||||
|
# SettingDefinition and SettingFunction.
|
||||||
|
def _initializeSettingFunctions(self):
|
||||||
|
self._cura_formula_functions = CuraFormulaFunctions(self)
|
||||||
|
|
||||||
SettingFunction.registerOperator("extruderValue", self._cura_formula_functions.getValueInExtruder)
|
SettingFunction.registerOperator("extruderValue", self._cura_formula_functions.getValueInExtruder)
|
||||||
SettingFunction.registerOperator("extruderValues", self._cura_formula_functions.getValuesInAllExtruders)
|
SettingFunction.registerOperator("extruderValues", self._cura_formula_functions.getValuesInAllExtruders)
|
||||||
SettingFunction.registerOperator("resolveOrValue", self._cura_formula_functions.getResolveOrValue)
|
SettingFunction.registerOperator("resolveOrValue", self._cura_formula_functions.getResolveOrValue)
|
||||||
|
|
|
@ -33,8 +33,7 @@ def collecAllDefinitionIds():
|
||||||
def collectAllSettingIds():
|
def collectAllSettingIds():
|
||||||
VersionUpgradeManager._VersionUpgradeManager__instance = VersionUpgradeManager(MagicMock())
|
VersionUpgradeManager._VersionUpgradeManager__instance = VersionUpgradeManager(MagicMock())
|
||||||
|
|
||||||
application = CuraApplication()
|
CuraApplication._initializeSettingDefinitions()
|
||||||
application._initializeSettingDefinitionsAndFunctions()
|
|
||||||
|
|
||||||
definition_container = DefinitionContainer("whatever")
|
definition_container = DefinitionContainer("whatever")
|
||||||
with open(os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions", "fdmprinter.def.json"), encoding="utf-8") as data:
|
with open(os.path.join(os.path.dirname(__file__), "..", "..", "resources", "definitions", "fdmprinter.def.json"), encoding="utf-8") as data:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue