diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2006-05-01 11:47:04 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2006-05-01 11:47:04 +0000 |
| commit | c0d78035b8c76e719bf7c05ff3812eb5a6ce9fe3 (patch) | |
| tree | 22d7ac7e4f0aaf3b91574d81ac30fd6a9d97fdb7 /lib/python/Components/GUIComponent.py | |
| parent | 9c5ae5bc6ef248b414e3153538936477cccfdd20 (diff) | |
| download | enigma2-c0d78035b8c76e719bf7c05ff3812eb5a6ce9fe3.tar.gz enigma2-c0d78035b8c76e719bf7c05ff3812eb5a6ce9fe3.zip | |
simplify GUIcreate/createWidget, fix base class order
Diffstat (limited to 'lib/python/Components/GUIComponent.py')
| -rw-r--r-- | lib/python/Components/GUIComponent.py | 48 |
1 files changed, 44 insertions, 4 deletions
diff --git a/lib/python/Components/GUIComponent.py b/lib/python/Components/GUIComponent.py index 8f6362fd..afe95266 100644 --- a/lib/python/Components/GUIComponent.py +++ b/lib/python/Components/GUIComponent.py @@ -2,15 +2,15 @@ import skin from enigma import ePoint -class GUIComponent: +class GUIComponent(object): """ GUI component """ SHOWN = 0 HIDDEN = 1 def __init__(self): - self.state = self.SHOWN self.instance = None + self.state = self.SHOWN def execBegin(self): pass @@ -37,11 +37,51 @@ class GUIComponent: self.instance.move(ePoint(int(x), int(y))) def show(self): - self.state = self.SHOWN + self.__state = self.SHOWN if self.instance is not None: self.instance.show() def hide(self): - self.state = self.HIDDEN + self.__state = self.HIDDEN if self.instance is not None: self.instance.hide() + + def getState(self): + return self.__state + + def setState(self, state): + if state == self.SHOWN: + self.show() + elif state == self.HIDDEN: + self.hide() + + state = property(getState, setState) + + def setPosition(self, x, y): + self.instance.move(ePoint(int(x), int(y))) + + def getPosition(self): + p = self.instance.position() + return (p.x(), p.y()) + + position = property(getPosition, setPosition) + + # default implementation for only one widget per component + # feel free to override! + def GUIcreate(self, parent): + self.instance = self.createWidget(parent) + self.postWidgetCreate(self.instance) + + def GUIdelete(self): + self.preWidgetRemove(self.instance) + self.instance = None + + # default for argumentless widget constructor + def createWidget(self, parent): + return self.GUI_WIDGET(parent) + + def postWidgetCreate(self, instance): + pass + + def preWidgetRemove(self, instance): + pass |
