X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/aa3e781f31a04223416f0a34b25ab95fc0bef429..9f6a10b46af262567a5add9312927887c86531b8:/lib/python/Components/GUIComponent.py diff --git a/lib/python/Components/GUIComponent.py b/lib/python/Components/GUIComponent.py index bcd99d24..493df681 100644 --- a/lib/python/Components/GUIComponent.py +++ b/lib/python/Components/GUIComponent.py @@ -1,12 +1,44 @@ +import skin + +from enigma import ePoint + class GUIComponent: """ GUI component """ - + + SHOWN = 0 + HIDDEN = 1 + def __init__(self): - pass - + self.state = self.SHOWN + self.instance = None + def execBegin(self): pass def execEnd(self): pass + + def onShow(self): + pass + + def onHide(self): + pass + + # this works only with normal widgets - if you don't have self.instance, override this. + def applySkin(self, desktop): + if self.state == self.HIDDEN: + self.instance.hide() + skin.applyAllAttributes(self.instance, desktop, self.skinAttributes) + + def move(self, x, y): + self.instance.move(ePoint(int(x), int(y))) + + def show(self): + self.state = self.SHOWN + if self.instance is not None: + self.instance.show() + def hide(self): + self.state = self.HIDDEN + if self.instance is not None: + self.instance.hide()