Uranium
Application Framework
UM.Settings.DefinitionContainer.DefinitionContainer Class Reference

A container for SettingDefinition objects. More...

Inheritance diagram for UM.Settings.DefinitionContainer.DefinitionContainer:
UM.PluginObject.PluginObject

Public Member Functions

def __init__
 Constructor. More...
 
def __setattr__
 Reimplement setattr so we can make sure the definition remains unchanged after creation. More...
 
def __getnewargs__ (self)
 For pickle support.
 
def __getstate__ (self)
 For pickle support.
 
def __setstate__
 For pickle support.
 
def getId (self)
 
def getName (self)
 
def isReadOnly (self)
 
def setReadOnly
 
def getPath (self)
 
def setPath
 
def getMetaData (self)
 
def definitions (self)
 
def getInheritedFiles (self)
 Gets all ancestors of this definition container. More...
 
def getAllKeys (self)
 Gets all keys of settings in this container. More...
 
def getMetaDataEntry
 
def getProperty
 
def hasProperty
 
def serialize
 
def getConfigurationTypeFromSerialized
 
def getVersionFromSerialized
 
def addDefinition
 Add a setting definition instance if it doesn't exist yet. More...
 
def deserialize
 
def deserializeMetadata
 Gets the metadata of a definition container from a serialised format. More...
 
def findDefinitions
 Find definitions matching certain criteria. More...
 
def getLoadingPriority (cls)
 
def __str__ (self)
 Simple short string representation for debugging purposes. More...
 
- Public Member Functions inherited from UM.PluginObject.PluginObject
def __init__ (self)
 
def getPluginId (self)
 
def setPluginId (self, plugin_id)
 
def setVersion
 
def getVersion (self)
 

Static Public Attributes

int Version = 2
 
 id = pyqtProperty(str, fget = getId, constant = True)
 
 name = pyqtProperty(str, fget = getName, constant = True)
 
 readOnly = pyqtProperty(bool, fget = isReadOnly, constant = True)
 
 metaData = pyqtProperty("QVariantMap", fget = getMetaData, constant = True)
 
 propertyChanged = Signal()
 This signal is unused since the definition container is immutable, but is provided for API consistency. More...
 
 metaDataChanged = Signal()
 

Detailed Description

A container for SettingDefinition objects.

Constructor & Destructor Documentation

◆ __init__()

def UM.Settings.DefinitionContainer.DefinitionContainer.__init__ (   self,
  container_id 
)

Constructor.

Parameters
container_idA unique, machine readable/writable ID for this container.

Member Function Documentation

◆ __setattr__()

def UM.Settings.DefinitionContainer.DefinitionContainer.__setattr__ (   self,
  name 
)

Reimplement setattr so we can make sure the definition remains unchanged after creation.

◆ __str__()

def UM.Settings.DefinitionContainer.DefinitionContainer.__str__ (   self,
  str 
)

Simple short string representation for debugging purposes.

◆ addDefinition()

def UM.Settings.DefinitionContainer.DefinitionContainer.addDefinition (   self,
  definition 
)

Add a setting definition instance if it doesn't exist yet.

Warning: this might not work when there are relationships higher up in the stack.

◆ deserialize()

def UM.Settings.DefinitionContainer.DefinitionContainer.deserialize (   self,
  serialized 
)

Reimplemented from ContainerInterface

◆ deserializeMetadata()

def UM.Settings.DefinitionContainer.DefinitionContainer.deserializeMetadata (   cls,
  serialized 
)

Gets the metadata of a definition container from a serialised format.

This parses the entire JSON document and only extracts the metadata from it.

Parameters
serializedA JSON document, serialised as a string.
container_idThe ID of the container (as obtained from the file name).
Returns
A dictionary of metadata that was in the JSON document in a singleton list. If anything went wrong, the list will be empty.

◆ findDefinitions()

def UM.Settings.DefinitionContainer.DefinitionContainer.findDefinitions (   self,
  kwargs 
)

Find definitions matching certain criteria.

Parameters
kwargsA dictionary of keyword arguments containing key-value pairs which should match properties of the definition.

◆ getAllKeys()

def UM.Settings.DefinitionContainer.DefinitionContainer.getAllKeys (   self,
  Set,
  str 
)

Gets all keys of settings in this container.

Returns
A set of all keys of settings in this container.

◆ getId()

def UM.Settings.DefinitionContainer.DefinitionContainer.getId (   self,
  str 
)

Reimplemented from ContainerInterface

◆ getInheritedFiles()

def UM.Settings.DefinitionContainer.DefinitionContainer.getInheritedFiles (   self,
  List,
  str 
)

Gets all ancestors of this definition container.

This returns the definition in the "inherits" property of this container, and the definition in its "inherits" property, and so on. The ancestors are returned in order from parent to grand-grand-grand-...-grandparent, normally ending in a "root" container.

Returns
A list of ancestors, in order from near ancestor to the root.

◆ getMetaData()

def UM.Settings.DefinitionContainer.DefinitionContainer.getMetaData (   self,
  Dict,
  str,
  Any 
)

Reimplemented from ContainerInterface

◆ getMetaDataEntry()

def UM.Settings.DefinitionContainer.DefinitionContainer.getMetaDataEntry (   self,
  entry 
)

Reimplemented from ContainerInterface

◆ getName()

def UM.Settings.DefinitionContainer.DefinitionContainer.getName (   self,
  str 
)

Reimplemented from ContainerInterface

◆ getPath()

def UM.Settings.DefinitionContainer.DefinitionContainer.getPath (   self,
  str 
)

Reimplemented from ContainerInterface

◆ getProperty()

def UM.Settings.DefinitionContainer.DefinitionContainer.getProperty (   self,
  key 
)

Reimplemented from ContainerInterface.

◆ hasProperty()

def UM.Settings.DefinitionContainer.DefinitionContainer.hasProperty (   self,
  key 
)

Reimplemented from ContainerInterface

◆ isReadOnly()

def UM.Settings.DefinitionContainer.DefinitionContainer.isReadOnly (   self,
  bool 
)

Reimplemented from ContainerInterface

◆ serialize()

def UM.Settings.DefinitionContainer.DefinitionContainer.serialize (   self,
  ignored_metadata_keys 
)

TODO: This implementation flattens the definition container, since the data about inheritance and overrides was lost when deserialising.

Reimplemented from ContainerInterface

◆ setPath()

def UM.Settings.DefinitionContainer.DefinitionContainer.setPath (   self,
  path 
)

Reimplemented from ContainerInterface

Member Data Documentation

◆ propertyChanged

UM.Settings.DefinitionContainer.DefinitionContainer.propertyChanged = Signal()
static

This signal is unused since the definition container is immutable, but is provided for API consistency.


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