STATE_SHOWN = 3
def __init__(self):
+ print "INFOBARSHOWHIDE init"
self["ShowHideActions"] = ActionMap( ["InfobarShowHideActions"] ,
{
"toggleShow": self.toggleShow,
self.state = self.STATE_SHOWN
+ self.onExecBegin.append(self.show)
self.onClose.append(self.delHideTimer)
self.hideTimer = eTimer()
self.hideTimer.timeout.get().append(self.doTimerHide)
- self.hideTimer.start(1000)
+ self.hideTimer.start(5000)
def delHideTimer(self):
del self.hideTimer
def hide(self):
self.instance.hide()
+
+ def show(self):
+ self.state = self.STATE_SHOWN
+ self.hideTimer.start(5000)
def doTimerHide(self):
+ self.hideTimer.stop()
if self.state == self.STATE_SHOWN:
self.instance.hide()
self.state = self.STATE_HIDDEN
self.instance.hide()
#pls check animation support, sorry
# self.startHide()
+ self.hideTimer.stop()
self.state = self.STATE_HIDDEN
- else:
+ elif self.state == self.STATE_HIDDEN:
self.instance.show()
-# self.startShow()
- self.state = self.STATE_SHOWN
- #TODO: make it customizable
- self.hideTimer.start(5000)
-
+ self.show()
+
def startShow(self):
self.instance.m_animation.startMoveAnimation(ePoint(0, 600), ePoint(0, 380), 100)
self.state = self.STATE_SHOWN
GUISkin.__init__(self)
self.onClose = [ ]
+ self.onExecBegin = [ ]
# in order to support screens *without* a help,
# we need the list in every screen. how ironic.
self.helpList = [ ]
def execBegin(self):
+ for x in self.onExecBegin:
+ x()
# assert self.session == None, "a screen can only exec one per time"
# self.session = session
for (name, val) in self.items():