diff --git a/SketchWidget.py b/SketchWidget.py index 83f6104..122cd53 100644 --- a/SketchWidget.py +++ b/SketchWidget.py @@ -353,10 +353,7 @@ class SketchWidget: def do_line_left_click(self, x, y): start = self.screenPtToPt((x, self.size[1] - y)) if self.drawingShape is not None: - self.sketch.shapes.append(self.drawingShape) - for c in self.drawingConstraints: - self.sketch.constraints.append(c) - self.drawingConstraints = [] + self.merge_in_drawing_shape() start = self.drawingShape.getPt(1) # start at last snap point self.drawingShape = Line(start[0], start[1], start[0], start[1]) self.queue_redraw() @@ -404,3 +401,9 @@ class SketchWidget: # cancel circle currently being drawn self.drawingShape = None self.queue_redraw() + + def merge_in_drawing_shape(self): + self.sketch.shapes.append(self.drawingShape) + for c in self.drawingConstraints: + self.sketch.constraints.append(c) + self.drawingConstraints = []