changeset 635:d9623d453fd9 pyntnclick

Hook up events in StateWidget. (They still do nothing, though.)
author Jeremy Thurgood <firxen@gmail.com>
date Sun, 12 Feb 2012 00:01:03 +0200
parents b4007de091c5
children 2748d3afcae5
files pyntnclick/gamescreen.py
diffstat 1 files changed, 6 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/pyntnclick/gamescreen.py	Sat Feb 11 22:46:48 2012 +0200
+++ b/pyntnclick/gamescreen.py	Sun Feb 12 00:01:03 2012 +0200
@@ -4,6 +4,7 @@
 
 from pygame import Rect, mouse
 from pygame.color import Color
+from pygame.locals import MOUSEBUTTONDOWN, MOUSEMOTION
 
 from pyntnclick.cursor import CursorWidget
 from pyntnclick.engine import Screen
@@ -68,6 +69,8 @@
         self.screen = screen
         self.game = screen.game
         self.detail = DetailWindow(rect, screen)
+        self.add_callback(MOUSEBUTTONDOWN, self.mouse_down)
+        self.add_callback(MOUSEMOTION, self.mouse_move)
 
     def draw(self, surface):
         self.animate()
@@ -77,13 +80,10 @@
         else:
             self.game.current_scene.draw(surface, self)
 
-    def mouse_down(self, event):
-        self.mouse_move(event)
+    def mouse_down(self, event, widget):
+        self.mouse_move(event, widget)
         if event.button != 1:  # We have a right/middle click
             self.game.cancel_doodah(self.screen)
-        elif self.subwidgets:
-            self.clear_detail()
-            self._mouse_move(event.pos)
         else:
             result = self.game.interact(event.pos)
             handle_result(result, self)
@@ -97,10 +97,8 @@
         result = self.game.check_enter_leave(self.screen)
         handle_result(result, self)
 
-    def mouse_move(self, event):
+    def mouse_move(self, event, widget):
         self.game.highlight_override = False
-        if not self.subwidgets:
-            self._mouse_move(event.pos)
 
     def _mouse_move(self, pos):
         self.game.highlight_override = False