X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/98c4b5bb004e9297bffa8e1c3572572741fda933..9a0d02d2e74c24dcc7b8bfe6df937e92c8af1d0d:/lib/python/Components/GUIComponent.py diff --git a/lib/python/Components/GUIComponent.py b/lib/python/Components/GUIComponent.py index fee9341c..8f6362fd 100644 --- a/lib/python/Components/GUIComponent.py +++ b/lib/python/Components/GUIComponent.py @@ -1,10 +1,16 @@ 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 @@ -12,6 +18,30 @@ class GUIComponent: def execEnd(self): pass + def onShow(self): + pass + + def onHide(self): + pass + + def destroy(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()