X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a092316126c54b280949644cd40691aaa591910f..1889fbce45ea5471d15f95c04594d9aa2a429120:/lib/python/Components/PerServiceDisplay.py diff --git a/lib/python/Components/PerServiceDisplay.py b/lib/python/Components/PerServiceDisplay.py index 55ef3d18..500538c3 100644 --- a/lib/python/Components/PerServiceDisplay.py +++ b/lib/python/Components/PerServiceDisplay.py @@ -5,9 +5,8 @@ from VariableValue import * from enigma import iPlayableService from enigma import eLabel, eSlider, eTimer -class PerServiceBase(GUIComponent): +class PerServiceBase(object): def __init__(self, navcore, eventmap): - GUIComponent.__init__(self) self.eventmap = eventmap self.navcore = navcore self.navcore.event.append(self.event) @@ -17,6 +16,9 @@ class PerServiceBase(GUIComponent): # 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): @@ -35,18 +37,16 @@ class PerServiceBase(GUIComponent): def poll(self): pass -class PerServiceDisplay(PerServiceBase, VariableText): +class PerServiceDisplay(PerServiceBase, VariableText, GUIComponent): """Mixin for building components which display something which changes on navigation events, for example "service name" """ def __init__(self, navcore, eventmap): + GUIComponent.__init__(self) 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 + GUI_WIDGET = eLabel -class PerServiceDisplayProgress(GUIComponent, VariableValue, PerServiceBase): +class PerServiceDisplayProgress(PerServiceBase, VariableValue, GUIComponent): def __init__(self, navcore, eventmap): GUIComponent.__init__(self) VariableValue.__init__(self) @@ -57,7 +57,4 @@ class PerServiceDisplayProgress(GUIComponent, VariableValue, PerServiceBase): # 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) - return self.g + GUI_WIDGET = eSlider