1 from GUIComponent import *
2 from VariableText import *
3 from VariableValue import *
5 from enigma import pNavigation
6 from enigma import eLabel, eSlider
8 class PerServiceDisplay(GUIComponent, VariableText):
9 """Mixin for building components which display something which changes on navigation events, for example "service name" """
11 def __init__(self, navcore, eventmap):
12 GUIComponent.__init__(self)
13 VariableText.__init__(self)
14 self.eventmap = eventmap
15 self.navcore = navcore
16 self.navcore.event.append(self.event)
18 # start with stopped state, so simulate that
19 self.event(pNavigation.evStopService)
22 # loop up if we need to handle this event
23 if self.eventmap.has_key(ev):
27 def createWidget(self, parent):
28 # by default, we use a label to display our data.
33 class PerServiceDisplayProgress(GUIComponent, VariableValue, PerServiceDisplay):
34 def __init__(self, navcore, eventmap):
35 GUIComponent.__init__(self)
36 VariableValue.__init__(self)
37 self.eventmap = eventmap
38 self.navcore = navcore
39 self.navcore.event.append(self.event)
41 # start with stopped state, so simulate that
42 self.event(pNavigation.evStopService)
45 def createWidget(self, parent):
46 # by default, we use a label to display our data.
47 self.g = eSlider(parent)