Uranium
Application Framework
Loading...
Searching...
No Matches
UM.Settings.Models.SettingPropertyProvider.SettingPropertyProvider Class Reference

Inherits QObject.

Public Member Functions

None __init__ (self, parent=None)
 
None setContainerStack (self, Optional[ContainerStack] stack)
 
None setContainerStackId (self, str stack_id)
 
str containerStackId (self)
 
Optional[ContainerInterfacecontainerStack (self)
 
None setRemoveUnusedValue (self, bool remove_unused_value)
 
bool removeUnusedValue (self)
 
None setWatchedProperties (self, List[str] properties)
 
List[str] watchedProperties (self)
 
None setKey (self, str key)
 
def key (self)
 
def properties (self)
 
def forcePropertiesChanged (self)
 
def setStoreIndex (self, index)
 
def storeIndex (self)
 
def stackLevels (self)
 
def setPropertyValue (self, property_name, property_value)
 
Any getPropertyValue (self, str property_name, int stack_level)
 
str getPropertyValueAsString (self, str property_name)
 
None removeFromContainer (self, int index)
 
bool isValueUsed (self)
 

Static Public Attributes

pyqtSignal containerStackIdChanged = pyqtSignal()
 
pyqtSignal containerStackChanged = pyqtSignal()
 
pyqtSignal removeUnusedValueChanged = pyqtSignal()
 
pyqtSignal watchedPropertiesChanged = pyqtSignal()
 
pyqtSignal keyChanged = pyqtSignal()
 
pyqtSignal propertiesChanged = pyqtSignal()
 
pyqtSignal storeIndexChanged = pyqtSignal()
 
pyqtSignal stackLevelChanged = pyqtSignal()
 
pyqtSignal isValueUsedChanged = pyqtSignal()
 

Protected Member Functions

None _onPropertiesChanged (self, str key, List[str] property_names)
 
def _update (self, container=None)
 
None _updateDelayed (self, container=None)
 
def _containersChanged (self, container=None)
 
def _storeIndexChanged (self)
 
None _updateStackLevels (self)
 
def _getPropertyValue (self, property_name)
 

Protected Attributes

 _property_map
 
 _stack
 
 _key
 
 _relations
 
 _watched_properties
 
 _store_index
 
 _value_used
 
 _stack_levels
 
 _remove_unused_value
 
 _validator
 
 _update_timer
 

Detailed Description

This class provides the value and change notifications for the properties of a single setting

Since setting values and other properties are provided by a stack, we need some way to
query the stack from QML to provide us with those values. This class takes care of that.

This class provides the property values through QObject dynamic properties so that they
are available from QML.

Member Function Documentation

◆ _updateStackLevels()

None UM.Settings.Models.SettingPropertyProvider.SettingPropertyProvider._updateStackLevels (   self)
protected
Updates the self._stack_levels field, which indicates at which levels in the stack the property is set.

◆ containerStackId()

str UM.Settings.Models.SettingPropertyProvider.SettingPropertyProvider.containerStackId (   self)
The ID of the container stack we should query for property values.

◆ getPropertyValue()

Any UM.Settings.Models.SettingPropertyProvider.SettingPropertyProvider.getPropertyValue (   self,
str  property_name,
int  stack_level 
)
Manually request the value of a property.
The most notable difference with the properties is that you have more control over at what point in the stack
you want the setting to be retrieved (instead of always taking the top one)

:param property_name: The name of the property to get the value from.
:param stack_level: the index of the container to get the value from.

◆ key()

def UM.Settings.Models.SettingPropertyProvider.SettingPropertyProvider.key (   self)
The key of the setting that we should provide property values for.

◆ setContainerStackId()

None UM.Settings.Models.SettingPropertyProvider.SettingPropertyProvider.setContainerStackId (   self,
str  stack_id 
)
Set the containerStackId property.

◆ setKey()

None UM.Settings.Models.SettingPropertyProvider.SettingPropertyProvider.setKey (   self,
str  key 
)
Set the key property.

◆ setPropertyValue()

def UM.Settings.Models.SettingPropertyProvider.SettingPropertyProvider.setPropertyValue (   self,
  property_name,
  property_value 
)
Set the value of a property.

:param stack_index: At which level in the stack should this property be set?
:param property_name: The name of the property to set.
:param property_value: The value of the property to set.

◆ setWatchedProperties()

None UM.Settings.Models.SettingPropertyProvider.SettingPropertyProvider.setWatchedProperties (   self,
List[str]  properties 
)
Set the watchedProperties property.

◆ stackLevels()

def UM.Settings.Models.SettingPropertyProvider.SettingPropertyProvider.stackLevels (   self)
At what levels in the stack does the value(s) for this setting occur?

◆ watchedProperties()

List[str] UM.Settings.Models.SettingPropertyProvider.SettingPropertyProvider.watchedProperties (   self)
A list of property names that should be watched for changes.

The documentation for this class was generated from the following file: