X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/24dab815808d6be2758f3e63f93b7c171190059e..02172ca65853b9f61d46c0e5e7823ee69f203b83:/lib/python/Components/PerServiceDisplay.py diff --git a/lib/python/Components/PerServiceDisplay.py b/lib/python/Components/PerServiceDisplay.py index 23f6ecce..821f6d16 100644 --- a/lib/python/Components/PerServiceDisplay.py +++ b/lib/python/Components/PerServiceDisplay.py @@ -5,12 +5,9 @@ from VariableValue import * from enigma import iPlayableService from enigma import eLabel, eSlider, eTimer -class PerServiceDisplay(GUIComponent, VariableText): - """Mixin for building components which display something which changes on navigation events, for example "service name" """ - +class PerServiceBase(GUIComponent): def __init__(self, navcore, eventmap): GUIComponent.__init__(self) - VariableText.__init__(self) self.eventmap = eventmap self.navcore = navcore self.navcore.event.append(self.event) @@ -20,17 +17,15 @@ class PerServiceDisplay(GUIComponent, VariableText): # start with stopped state, so simulate that self.event(iPlayableService.evEnd) + def destroy(self): + self.navcore.event.remove(self.event) + def event(self, ev): # loop up if we need to handle this event if self.eventmap.has_key(ev): # call handler self.eventmap[ev]() - def createWidget(self, parent): - # by default, we use a label to display our data. - g = eLabel(parent) - return g - def enablePolling(self, interval=60000): if interval: self.poll_timer.start(interval) @@ -43,7 +38,18 @@ class PerServiceDisplay(GUIComponent, VariableText): def poll(self): pass -class PerServiceDisplayProgress(GUIComponent, VariableValue, PerServiceDisplay): +class PerServiceDisplay(PerServiceBase, VariableText): + """Mixin for building components which display something which changes on navigation events, for example "service name" """ + def __init__(self, navcore, eventmap): + VariableText.__init__(self) + PerServiceBase.__init__(self, navcore, eventmap) + + def createWidget(self, parent): + # by default, we use a label to display our data. + g = eLabel(parent) + return g + +class PerServiceDisplayProgress(GUIComponent, VariableValue, PerServiceBase): def __init__(self, navcore, eventmap): GUIComponent.__init__(self) VariableValue.__init__(self) @@ -54,7 +60,6 @@ class PerServiceDisplayProgress(GUIComponent, VariableValue, PerServiceDisplay): # start with stopped state, so simulate that self.event(iPlayableService.evEnd) - def createWidget(self, parent): # by default, we use a label to display our data. self.g = eSlider(parent)