Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/scribblewidget.py
diff options
context:
space:
mode:
Diffstat (limited to 'scribblewidget.py')
-rw-r--r--scribblewidget.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/scribblewidget.py b/scribblewidget.py
index 3406890..5932a60 100644
--- a/scribblewidget.py
+++ b/scribblewidget.py
@@ -93,6 +93,8 @@ class ScribbleWidget(goocanvas.Canvas):
self.item = goocanvas.Polyline(parent=self._root, \
points=goocanvas.Points(self.line_points), \
stroke_color_rgba = self._stroke_color, title=self.item_id)
+ elif self.tool == 'eraser':
+ self.item = self.get_item_at(x, y, True)
else:
pass
@@ -121,6 +123,10 @@ class ScribbleWidget(goocanvas.Canvas):
self.item.props.points = goocanvas.Points(self.line_points)
self.item_orig_x = x
self.item_orig_y = y
+ elif self.tool == 'eraser':
+ self.item = self.get_item_at(x, y, True)
+ else:
+ pass
self.prev_time = time
@@ -130,7 +136,7 @@ class ScribbleWidget(goocanvas.Canvas):
def get_cmd_list(self):
return self.cmd_list
- def process_item_finalize(self):
+ def process_item_finalize(self, x, y):
if self.tool == 'circle':
self.cmd = "goocanvas.Ellipse(parent=self._root, center_x=%d, \
center_y=%d, radius_x = %d, radius_y = %d, \
@@ -151,6 +157,13 @@ class ScribbleWidget(goocanvas.Canvas):
points=goocanvas.Points(%s), stroke_color_rgba = %d, \
title = '%s')" % (str(self.line_points), self._stroke_color, \
self.item_id)
+ elif self.tool == 'eraser':
+ if self.item is not None:
+ self.item.remove()
+ # Maybe we can use the item title (uuid) and use it instead
+ self.cmd = "self.get_item_at(%f, %f, True).remove()" % (x, y)
+ else:
+ pass
#print self.cmd
@@ -182,7 +195,7 @@ class ScribbleWidget(goocanvas.Canvas):
def on_button_release(self, canvas, event):
canvas.pointer_ungrab(self.item, event.time)
- self.process_item_finalize()
+ self.process_item_finalize(event.x, event.y)
return True
def on_motion(self, canvas, event):