break out 'line' mode actions into separate functions
This commit is contained in:
parent
1564fbbb74
commit
8b89a5975f
@ -224,30 +224,13 @@ class SketchWidget:
|
||||
def button_press_event(self, widget, event, data = None):
|
||||
if event.button == 1:
|
||||
if self.mode == 'line':
|
||||
start = self.screenPtToPt((event.x, self.size[1] - event.y))
|
||||
if self.drawingLine is not None:
|
||||
self.sketch.shapes.append(self.drawingLine)
|
||||
if self.drawingLine.getPt(0)[0] == self.drawingLine.getPt(1)[0]:
|
||||
self.sketch.constraints.append(
|
||||
Vertical(self.drawingLine, 0,
|
||||
self.drawingLine, 1))
|
||||
elif (self.drawingLine.getPt(0)[1]
|
||||
== self.drawingLine.getPt(1)[1]):
|
||||
self.sketch.constraints.append(
|
||||
Horizontal(self.drawingLine, 0,
|
||||
self.drawingLine, 1))
|
||||
start = self.drawingLine.getPt(1)
|
||||
self.drawingLine = Line(start[0], start[1], start[0], start[1])
|
||||
self.queue_redraw()
|
||||
self.do_line_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':
|
||||
if self.drawingLine is not None:
|
||||
# cancel line currently being drawn
|
||||
self.drawingLine = None
|
||||
self.queue_redraw()
|
||||
self.do_line_right_click(event.x, event.y)
|
||||
|
||||
def button_release_event(self, widget, event, data = None):
|
||||
if event.button == 2:
|
||||
@ -373,3 +356,26 @@ class SketchWidget:
|
||||
elif self.mode == 'circle':
|
||||
self.drawingCircle = None
|
||||
self.mode = mode
|
||||
|
||||
def do_line_left_click(self, x, y):
|
||||
start = self.screenPtToPt((x, self.size[1] - y))
|
||||
if self.drawingLine is not None:
|
||||
self.sketch.shapes.append(self.drawingLine)
|
||||
if self.drawingLine.getPt(0)[0] == self.drawingLine.getPt(1)[0]:
|
||||
self.sketch.constraints.append(
|
||||
Vertical(self.drawingLine, 0,
|
||||
self.drawingLine, 1))
|
||||
elif (self.drawingLine.getPt(0)[1]
|
||||
== self.drawingLine.getPt(1)[1]):
|
||||
self.sketch.constraints.append(
|
||||
Horizontal(self.drawingLine, 0,
|
||||
self.drawingLine, 1))
|
||||
start = self.drawingLine.getPt(1)
|
||||
self.drawingLine = Line(start[0], start[1], start[0], start[1])
|
||||
self.queue_redraw()
|
||||
|
||||
def do_line_right_click(self, x, y):
|
||||
if self.drawingLine is not None:
|
||||
# cancel line currently being drawn
|
||||
self.drawingLine = None
|
||||
self.queue_redraw()
|
||||
|
Loading…
x
Reference in New Issue
Block a user