def linkToStylesheet(self, _root=None): """Link the settings within this Settings to a stylesheet. _root is an internal parameter as this function is recursive.""" # build up root part of pathname to reference if _root is None: path = [] obj = self while not obj.parent.isWidget(): path.insert(0, obj.name) obj = obj.parent path = ['', 'StyleSheet', obj.parent.typename] + path + [''] _root = '/'.join(path) # iterate over subsettings for name, setn in self.setdict.iteritems(): thispath = _root + name if isinstance(setn, Settings): # call recursively if this is a Settings setn.linkToStylesheet(_root=thispath + '/') else: ref = Reference(thispath) try: # if the reference resolves, then set it ref.resolve(setn) setn.set(ref) setn.default = ref except Reference.ResolveException: pass
def linkToStylesheet(self, _root=None): """Link the settings within this Settings to a stylesheet. _root is an internal parameter as this function is recursive.""" # build up root part of pathname to reference if _root is None: path = [] obj = self while not obj.parent.isWidget(): path.insert(0, obj.name) obj = obj.parent path = ['', 'StyleSheet', obj.parent.typename] + path + [''] _root = '/'.join(path) # iterate over subsettings for name, setn in self.setdict.iteritems(): thispath = _root + name if isinstance(setn, Settings): # call recursively if this is a Settings setn.linkToStylesheet(_root=thispath+'/') else: ref = Reference(thispath) try: # if the reference resolves, then set it ref.resolve(setn) setn.set(ref) setn.default = ref except Reference.ResolveException: pass