+ GUI_WIDGET = eLabel
+
+ def getSize(self):
+ s = self.instance.calculateSize()
+ return (s.width(), s.height())
+
+class LabelConditional(Label, ConditionalWidget):
+ def __init__(self, text = "", withTimer = True):
+ ConditionalWidget.__init__(self, withTimer = withTimer)
+ Label.__init__(self, text = text)
+
+class BlinkingLabel(Label, BlinkingWidget):
+ def __init__(self, text = ""):
+ Label.__init__(text = text)
+ BlinkingWidget.__init__()
+
+class BlinkingLabelConditional(BlinkingWidgetConditional, LabelConditional):
+ def __init__(self, text = ""):
+ LabelConditional.__init__(self, text = text)
+ BlinkingWidgetConditional.__init__(self)
+
+class MultiColorLabel(Label):
+ def __init__(self, text=""):
+ Label.__init__(self,text)
+ self.foreColors = []
+ self.backColors = []
+
+ def applySkin(self, desktop, screen):
+ if self.skinAttributes is not None:
+ foregroundColor = None
+ backgroundColor = None
+ attribs = [ ]
+ for (attrib, value) in self.skinAttributes:
+ if attrib == "foregroundColors":
+ colors = value.split(',')
+ for color in colors:
+ self.foreColors.append(parseColor(color))
+ if not foregroundColor:
+ foregroundColor = colors[0]
+ elif attrib == "backgroundColors":
+ colors = value.split(',')
+ for color in colors:
+ self.backColors.append(parseColor(color))
+ if not backgroundColor:
+ backgroundColor = colors[0]
+ elif attrib == "backgroundColor":
+ backgroundColor = value
+ elif attrib == "foregroundColor":
+ foregroundColor = value
+ else:
+ attribs.append((attrib,value))
+ if foregroundColor:
+ attribs.append(("foregroundColor",foregroundColor))
+ if backgroundColor:
+ attribs.append(("backgroundColor",backgroundColor))
+ self.skinAttributes = attribs
+ return GUIComponent.applySkin(self, desktop, screen)