+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)
+
+ def setForegroundColorNum(self, x):
+ if self.instance:
+ if len(self.foreColors) > x:
+ self.instance.setForegroundColor(self.foreColors[x])
+ else:
+ print "setForegroundColorNum(%d) failed! defined colors:" %(x), self.foreColors
+
+ def setBackgroundColorNum(self, x):
+ if self.instance:
+ if len(self.backColors) > x:
+ self.instance.setBackgroundColor(self.backColors[x])
+ else:
+ print "setBackgroundColorNum(%d) failed! defined colors:" %(x), self.backColors
+