tuikit/button.py
changeset 41 37b7dfc3eae6
parent 40 5faa38c10b67
child 43 369c8ef5070a
--- a/tuikit/button.py	Wed Dec 26 01:00:31 2012 +0100
+++ b/tuikit/button.py	Sat Dec 29 12:16:06 2012 +0100
@@ -1,6 +1,7 @@
 # -*- coding: utf-8 -*-
 
 from tuikit.widget import Widget
+from tuikit.emitter import Event
 
 
 class Button(Widget):
@@ -32,29 +33,29 @@
         self.sizereq.w = w
         self.sizereq.h = h
 
-        self.add_events('click')
+        self.add_events('click', Event)
 
 
-    def _handle_draw(self, screen, x, y):
-        super()._handle_draw(screen, x, y)
+    def _handle_draw(self, ev):
+        super()._handle_draw(ev)
         pad = self.width - len(self.label) - len(self.prefix) - len(self.suffix)
         lpad, rpad = self._divide_padding(pad)
-        screen.pushcolor(self.getcolor())
+        ev.driver.pushcolor(self.getcolor())
         # prefix
-        screen.puts(x, y, self.prefix)
+        ev.driver.puts(ev.x, ev.y, self.prefix)
         pos = len(self.prefix)
         # left pad
-        screen.puts(x + pos, y, ' ' * lpad)
+        ev.driver.puts(ev.x + pos, ev.y, ' ' * lpad)
         pos += lpad
         # label
-        screen.puts(x + pos, y, self.label)
+        ev.driver.puts(ev.x + pos, ev.y, self.label)
         pos += len(self.label)
         # right pad
-        screen.puts(x + pos, y, ' ' * rpad)
+        ev.driver.puts(ev.x + pos, ev.y, ' ' * rpad)
         pos += rpad
         # suffix
-        screen.puts(x + pos, y, self.suffix)
-        screen.popcolor()
+        ev.driver.puts(ev.x + pos, ev.y, self.suffix)
+        ev.driver.popcolor()
 
     def _handle_mousedown(self, ev):
         super()._handle_mousedown(ev)
@@ -69,9 +70,9 @@
         if self.enclose(ev.px, ev.py):
             self.emit('click')
 
-    def _handle_keypress(self, keyname, char):
-        super()._handle_keypress(keyname, char)
-        if keyname == 'enter':
+    def _handle_keypress(self, ev):
+        super()._handle_keypress(ev)
+        if ev.keyname == 'enter':
             self.emit('click')
 
     def getcolor(self):