Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Odiard <gonzalo@nautilus.localdomain>2010-06-09 18:25:23 (GMT)
committer Gonzalo Odiard <gonzalo@nautilus.localdomain>2010-06-09 18:25:23 (GMT)
commitab4986bd7349ff77f0d2f9f5080fc70d39a1cdd7 (patch)
treed56fd91905e4e4c7af736db68c4f1d6dc9a6e537
parent16424ccf036cce9be9a5472b1d889fc86fee5b72 (diff)
hide brush when leave drawing area
Adds an enter and leave event handler for the drawing area, in order to draw or not draw the outline cursor.
-rw-r--r--Area.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/Area.py b/Area.py
index 0ef5e8d..7b921b8 100644
--- a/Area.py
+++ b/Area.py
@@ -97,6 +97,8 @@ class Area(gtk.DrawingArea):
gtk.gdk.BUTTON_PRESS_MASK |
gtk.gdk.BUTTON_RELEASE_MASK|
gtk.gdk.EXPOSURE_MASK |
+ gtk.gdk.LEAVE_NOTIFY_MASK |
+ gtk.gdk.ENTER_NOTIFY_MASK |
gtk.gdk.KEY_PRESS_MASK)
self.connect("expose_event",self.expose)
@@ -104,6 +106,8 @@ class Area(gtk.DrawingArea):
self.connect("button_press_event", self.mousedown)
self.connect("button_release_event", self.mouseup)
self.connect("key_press_event", self.key_press)
+ self.connect("leave_notify_event", self.mouseleave)
+ self.connect("enter_notify_event", self.mouseenter)
self.set_flags(gtk.CAN_FOCUS)
self.grab_focus()
@@ -550,7 +554,19 @@ class Area(gtk.DrawingArea):
self.enableUndo(widget)
self.drawing = False
self.desenha = False
-
+
+ def mouseleave(self, widget, event):
+ if self.tool['name'] in ['pencil','eraser','brush','rainbow']:
+ self.drawing = True
+ size = self.tool['line size']
+ widget.queue_draw_area(self.x_cursor-size, self.y_cursor-size, size*2, size*2)
+
+ def mouseenter(self, widget, event):
+ if self.tool['name'] in ['pencil','eraser','brush','rainbow']:
+ self.drawing = False
+ size = self.tool['line size']
+ widget.queue_draw_area(self.x_cursor-size, self.y_cursor-size, size*2, size*2)
+
def undo(self):
"""Undo the last drawing change.