Example #1
0
    def spreadSingleAttribute(self, skinAttributes):
        for attrib, value in skinAttributes:
            if attrib == 'step':
                self.step = int(value)
            elif attrib == 'steptime':
                self.steptime = int(value)
            elif attrib == 'position':
                self._position = parsePosition(value, ((1, 1), (1, 1)))
                self.widget_attribs.append((attrib, value))
            elif attrib == 'size':
                self._size = parseSize(value, ((1, 1), (1, 1)))
                self.longtext_attribs.append((attrib, value))
            elif attrib == 'startdelay':
                if value.startswith('config.'):
                    value = int(configfile.getResolvedKey(value)) * 1000
                self.startdelay = int(value)
            elif attrib == 'animation':
                self.animationScreen = True
            elif attrib == 'astartdelay':
                if value.startswith('config.'):
                    value = int(configfile.getResolvedKey(value)) * 1000
                self.astartdelay = int(value)
            elif attrib == 'aposition':
                self.aposition = parsePosition(value, ((1, 1), (1, 1)))
            elif attrib == 'asize':
                self.asize = parseSize(value, ((1, 1), (1, 1)))
            elif attrib == 'autoScroll':
                self.autoScroll = value == '1'
            elif attrib == 'align':
                if 'bottom' in value.split(','):
                    self.valignbottom = True
                self.longtext_attribs.append((attrib, value))
            elif attrib == 'valign':
                if 'bottom' in value.split(','):
                    self.valignbottom = True
                self.longtext_attribs.append((attrib, value))
            elif attrib == 'scrollbarMode':
                self.scrollbarmode = value.lower()
            elif attrib == 'sliderLengthTip':
                self.sliderlengthtip = int(value)
                self.scrollbar_attribs.append((attrib, value))
            elif attrib in ('borderColor', 'borderWidth', 'sliderBackground',
                            'sliderForeground', 'sliderPointer'):
                self.scrollbar_attribs.append((attrib, value))
            elif attrib in ('font', 'transparent', 'foregroundColor',
                            'backgroundColor', 'halign'):
                self.longtext_attribs.append((attrib, value))
            elif attrib == 'css':
                from skin import cascadingStyleSheets
                styles = value.split(',')
                for style in styles:
                    for _attrib in cascadingStyleSheets[style].keys():
                        _value = cascadingStyleSheets[style][_attrib]
                        self.spreadSingleAttribute([(_attrib, _value)])

            else:
                self.widget_attribs.append((attrib, value))
Example #2
0
    def addItem(self, destList, node):
        requires = node.get('requires')
        if requires:
            if requires.startswith('config.'):
                if configfile.getResolvedKey(requires) == 'False':
                    return
            elif requires[0] == '!':
                if SystemInfo.get(requires[1:], False):
                    return
            elif not SystemInfo.get(requires, False):
                return
        item_text = node.get('text', '').encode('UTF-8')
        entryID = node.get('entryID', 'undefined')
        weight = node.get('weight', 50)
        end_text = node.get('endtext', '>').encode('UTF-8')
        for x in node:
            if x.tag == 'screen':
                module = x.get('module')
                screen = x.get('screen')
                if screen is None:
                    screen = module
                print module, screen
                if module:
                    if module.find('.') == -1:
                        module = 'Screens.' + module
                    else:
                        try:
                            exec 'from ' + module + ' import *'
                        except:
                            module = None

                else:
                    module = ''
                args = x.text or ''
                screen += ', ' + args
                if module is not None:
                    destList.append((_(item_text or '??'),
                                     boundFunction(self.runScreen,
                                                   (module, screen)), entryID,
                                     weight, end_text))
                return
            if x.tag == 'code':
                destList.append(
                    (_(item_text
                       or '??'), boundFunction(self.execText, x.text), entryID,
                     weight, end_text))
                return
            if x.tag == 'setup':
                id = x.get('id')
                if item_text == '':
                    item_text = getSetupTitle(id)
                destList.append(
                    (_(item_text), boundFunction(self.openSetup, id), entryID,
                     weight, end_text))
                return

        destList.append(
            (_(item_text), self.nothing, entryID, weight, end_text))
Example #3
0
	def getBoolean(self):
		if self.argerror:
			print("ConfigEntryTest got invalid arguments", self.converter_arguments, "force True!!")
			return True
		if self.checkSourceBoolean and not getattr(self.source, "boolean", False):
			return False
		val = configfile.getResolvedKey(self.configKey)
		ret = val == self.configValue
		return ret ^ self.invert
Example #4
0
	def getBoolean(self):
		if self.argerror:
			print "ConfigEntryTest got invalid arguments", self.converter_arguments, "force True!!"
			return True
		if self.checkSourceBoolean and not self.source.boolean:
			return False
		val = configfile.getResolvedKey(self.configKey)
		ret = val == self.configValue
		return ret ^ self.invert
Example #5
0
 def getBoolean(self):
     if self.argerror:
         print 'ConfigEntryTest got invalid arguments', self.converter_arguments, 'force True!!'
         return True
     if self.checkSourceBoolean and not self.source.boolean:
         return False
     val = configfile.getResolvedKey(self.configKey)
     ret = val == self.configValue
     return ret ^ self.invert
Example #6
0
    def addItem(self, destList, node):
        requires = node.get('requires')
        if requires:
            if requires.startswith('config.'):
                if configfile.getResolvedKey(requires) == 'False':
                    return
            elif requires[0] == '!':
                if SystemInfo.get(requires[1:], False):
                    return
            elif not SystemInfo.get(requires, False):
                return
        item_text = node.get('text', '').encode('UTF-8')
        entryID = node.get('entryID', 'undefined')
        weight = node.get('weight', 50)
        end_text = node.get('endtext', '>').encode('UTF-8')
        for x in node:
            if x.tag == 'screen':
                module = x.get('module')
                screen = x.get('screen')
                if screen is None:
                    screen = module
                print module, screen
                if module:
                    if module.find('.') == -1:
                        module = 'Screens.' + module
                    else:
                        try:
                            exec 'from ' + module + ' import *'
                        except:
                            module = None

                else:
                    module = ''
                args = x.text or ''
                screen += ', ' + args
                if module is not None:
                    destList.append((_(item_text or '??'), boundFunction(self.runScreen, (module, screen)), entryID, weight, end_text))
                return
            if x.tag == 'code':
                destList.append((_(item_text or '??'), boundFunction(self.execText, x.text), entryID, weight, end_text))
                return
            if x.tag == 'setup':
                id = x.get('id')
                if item_text == '':
                    item_text = getSetupTitle(id)
                destList.append((_(item_text), boundFunction(self.openSetup, id), entryID, weight, end_text))
                return

        destList.append((_(item_text), self.nothing, entryID, weight, end_text))
Example #7
0
 def getBoolean(self):
     if self.argError:
         print("[ConfigEntryTest] Got invalid arguments '%s', force True!" %
               self.converter_arguments)
         return True
     if self.checkSourceBoolean and not self.source.boolean:
         return False
     if self.checkInvertSourceBoolean and self.source.boolean:
         return False
     value = configfile.getResolvedKey(
         self.configKey,
         silent=True)  # Invalid/non-existent keys will return None.
     if value is None and not self.ignore:
         print(
             "[ConfigEntryTest] Converter argument '%s' is missing or invalid!"
             % self.configKey)
     retVal = value == self.configValue
     return retVal ^ self.invert
Example #8
0
 def addMenu(self, destList, node):
     requires = node.get('requires')
     if requires:
         if requires.startswith('config.'):
             if configfile.getResolvedKey(requires) == 'False':
                 return
         elif requires[0] == '!':
             if SystemInfo.get(requires[1:], False):
                 return
         elif not SystemInfo.get(requires, False):
             return
     MenuTitle = _(node.get('text', '??').encode('UTF-8'))
     entryID = node.get('entryID', 'undefined')
     weight = node.get('weight', 50)
     end_text = node.get('endtext', '>').encode('UTF-8')
     x = node.get('flushConfigOnClose')
     if x:
         a = boundFunction(self.session.openWithCallback, self.menuClosedWithConfigFlush, Menu, node)
     else:
         a = boundFunction(self.session.openWithCallback, self.menuClosed, Menu, node)
     destList.append((MenuTitle, a, entryID, weight, end_text))
Example #9
0
	def addMenu(self, destList, node):
		requires = node.get('requires')
		if requires:
			if requires.startswith('config.'):
				if configfile.getResolvedKey(requires) == 'False':
					return
			elif requires[0] == '!':
				if SystemInfo.get(requires[1:], False):
					return
			elif not SystemInfo.get(requires, False):
				return
		MenuTitle = _(node.get('text', '??').encode('UTF-8'))
		entryID = node.get('entryID', 'undefined')
		weight = node.get('weight', 50)
		end_text = node.get('endtext', '>').encode('UTF-8')
		x = node.get('flushConfigOnClose')
		if x:
			a = boundFunction(self.session.openWithCallback, self.menuClosedWithConfigFlush, Menu, node)
		else:
			a = boundFunction(self.session.openWithCallback, self.menuClosed, Menu, node)
		destList.append((MenuTitle, a, entryID, weight, end_text))