X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/d279cc40f4a1d927ad00bfe7b0ee3a303e9aed44..da1955116b7e8b8c203e27c7e5994537219a0632:/lib/python/Components/GUIComponent.py diff --git a/lib/python/Components/GUIComponent.py b/lib/python/Components/GUIComponent.py index 41461306..a3b1b9e1 100644 --- a/lib/python/Components/GUIComponent.py +++ b/lib/python/Components/GUIComponent.py @@ -7,7 +7,11 @@ class GUIComponent(object): def __init__(self): self.instance = None + self.onVisibilityChange = [ ] + self.__visible = 0 self.visible = 1 + self.skinAttributes = None + self.deprecationInfo = None def execBegin(self): pass @@ -28,20 +32,43 @@ class GUIComponent(object): def applySkin(self, desktop): if not self.visible: self.instance.hide() + + if self.skinAttributes is None: + return False + skin.applyAllAttributes(self.instance, desktop, self.skinAttributes) + return True - def move(self, x, y): - self.instance.move(ePoint(int(x), int(y))) + def move(self, x, y = None): + # we assume, that x is already an ePoint + if y is None: + self.instance.move(x) + else: + self.instance.move(ePoint(int(x), int(y))) + + def resize(self, size): + self.instance.resize(size) + + def setZPosition(self, z): + self.instance.setZPosition(z) def show(self): + old = self.__visible self.__visible = 1 if self.instance is not None: self.instance.show() + if old != self.__visible: + for fnc in self.onVisibilityChange: + fnc(True) def hide(self): + old = self.__visible self.__visible = 0 if self.instance is not None: self.instance.hide() + if old != self.__visible: + for fnc in self.onVisibilityChange: + fnc(False) def getVisible(self): return self.__visible