changeset 719:3aa6163f0775 pyntnclick

Correctly pause rect drawer while file chooser is active (avoid spurious empty rectangle)
author Neil Muller <neil@dip.sun.ac.za>
date Mon, 06 Aug 2012 11:24:16 +0200
parents ab489f7e87f8
children 26a971e2278d
files pyntnclick/tools/rect_drawer.py
diffstat 1 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/pyntnclick/tools/rect_drawer.py	Mon Aug 06 11:17:27 2012 +0200
+++ b/pyntnclick/tools/rect_drawer.py	Mon Aug 06 11:24:16 2012 +0200
@@ -354,6 +354,7 @@
         else:
             self.filechooser.refresh()
         self.invalidate()
+        self._parent.paused = True
         self._parent.add(self.filechooser)
 
     def do_load_image(self, filename):
@@ -456,6 +457,9 @@
 
     def mouse_down(self, ev, widget):
         pos = self._conv_pos(ev.pos)
+        if self._parent.paused:
+            # Ignore this if the filechooser is active
+            return False
         if self.mode == 'del':
             cand = None
             # Images are drawn above rectangles, so search those first
@@ -514,6 +518,8 @@
                     self.invalidate()
 
     def mouse_up(self, ev, widget):
+        if self._parent.paused:
+            return False
         if self.mode == 'draw':
             rect = pygame.rect.Rect(self.start_pos[0], self.start_pos[1],
                     self.end_pos[0] - self.start_pos[0],
@@ -592,6 +598,8 @@
             except KeyError:
                 raise RectDrawerError('Invalid detail: %s' % detail)
 
+        self.paused = False
+
         self.image = AppImage(self, gd, state, scene, detail is not None)
         self.add(self.image)
         mode_label = ModeLabel(pygame.Rect((805, 0), (200, 25)),