From eb28222f23cc0a1fd3018a49b3a3c50f429f8093 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 27 Jul 2011 16:57:48 -0400 Subject: [PATCH] add initial do_circle_*_click() --- SketchWidget.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/SketchWidget.py b/SketchWidget.py index 31bba54..c719dde 100644 --- a/SketchWidget.py +++ b/SketchWidget.py @@ -225,12 +225,16 @@ class SketchWidget: if event.button == 1: if self.mode == 'line': self.do_line_left_click(event.x, event.y) + elif self.mode == 'circle': + self.do_circle_left_click(event.x, event.y) elif event.button == 2: self.panning = True self.panning_start = (event.x, self.size[1] - event.y) elif event.button == 3: if self.mode == 'line': self.do_line_right_click(event.x, event.y) + elif self.mode == 'circle': + self.do_circle_right_click(event.x, event.y) def button_release_event(self, widget, event, data = None): if event.button == 2: @@ -381,3 +385,14 @@ class SketchWidget: # cancel line currently being drawn self.drawingLine = None self.queue_redraw() + + def do_circle_left_click(self, x, y): + pt = self.screenPtToPt((x, self.size[1] - y)) + if self.drawingCircle is None: + self.drawingCircle = Circle(pt[0], pt[1], 0) + + def do_circle_right_click(self, x, y): + if self.drawingCircle is not None: + # cancel circle currently being drawn + self.drawingCircle = None + self.queue_redraw()