+class NumberZap(Screen):
+ def quit(self):
+ self.Timer.stop()
+ self.close()
+
+ def keyOK(self):
+ self.Timer.stop()
+ print "do the action here"
+ self.close()
+
+ def keyNumberGlobal(self, number):
+ self.Timer.start(3000) #reset timer
+ self.field = self.field + str(number)
+ self["number"].setText(self.field)
+
+ def __init__(self, session, number):
+ Screen.__init__(self, session)
+ self.field = str(number)
+
+ self["number"] = Label(self.field)
+
+ self["actions"] = NumberActionMap( [ "SetupActions" ],
+ {
+ "cancel": self.quit,
+ "ok": self.keyOK,
+ "1": self.keyNumberGlobal,
+ "2": self.keyNumberGlobal,
+ "3": self.keyNumberGlobal,
+ "4": self.keyNumberGlobal,
+ "5": self.keyNumberGlobal,
+ "6": self.keyNumberGlobal,
+ "7": self.keyNumberGlobal,
+ "8": self.keyNumberGlobal,
+ "9": self.keyNumberGlobal,
+ "0": self.keyNumberGlobal
+ })
+
+ self.Timer = eTimer()
+ self.Timer.timeout.get().append(self.keyOK)
+ self.Timer.start(3000)
+
+