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()