- optimizations in GeoEditor
- updated translations
This commit is contained in:
@@ -3536,20 +3536,17 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
||||
if isinstance(self.active_tool, FCSelect):
|
||||
# self.app.log.debug("Replotting after click.")
|
||||
self.replot()
|
||||
|
||||
else:
|
||||
self.app.log.debug("No active tool to respond to click!")
|
||||
|
||||
def on_canvas_move(self, event):
|
||||
"""
|
||||
Called on 'mouse_move' event
|
||||
|
||||
event.pos have canvas screen coordinates
|
||||
|
||||
:param event: Event object dispatched by VisPy SceneCavas
|
||||
:return: None
|
||||
"""
|
||||
|
||||
pos = self.canvas.vispy_canvas.translate_coords(event.pos)
|
||||
event.xdata, event.ydata = pos[0], pos[1]
|
||||
|
||||
@@ -3559,8 +3556,14 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
||||
self.app.ui.popMenu.mouse_is_panning = False
|
||||
|
||||
# if the RMB is clicked and mouse is moving over plot then 'panning_action' is True
|
||||
if event.button == 2 and event.is_dragging == 1:
|
||||
self.app.ui.popMenu.mouse_is_panning = True
|
||||
if event.button == 2:
|
||||
if event.is_dragging:
|
||||
self.app.ui.popMenu.mouse_is_panning = True
|
||||
# return
|
||||
else:
|
||||
self.app.ui.popMenu.mouse_is_panning = False
|
||||
|
||||
if self.active_tool is None:
|
||||
return
|
||||
|
||||
try:
|
||||
@@ -3569,10 +3572,7 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
||||
except TypeError:
|
||||
return
|
||||
|
||||
if self.active_tool is None:
|
||||
return
|
||||
|
||||
# # ## Snap coordinates
|
||||
# ### Snap coordinates ###
|
||||
if self.app.grid_status() == True:
|
||||
x, y = self.snap(x, y)
|
||||
self.app.app_cursor.enabled = True
|
||||
@@ -3597,19 +3597,19 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
||||
self.app.ui.rel_position_label.setText("<b>Dx</b>: %.4f <b>Dy</b>: "
|
||||
"%.4f " % (dx, dy))
|
||||
|
||||
if event.button == 1 and event.is_dragging == 1 and isinstance(self.active_tool, FCEraser):
|
||||
if event.button == 1 and event.is_dragging and isinstance(self.active_tool, FCEraser):
|
||||
pass
|
||||
else:
|
||||
# # ## Utility geometry (animated)
|
||||
# ### Utility geometry (animated) ###
|
||||
geo = self.active_tool.utility_geometry(data=(x, y))
|
||||
if isinstance(geo, DrawToolShape) and geo.geo is not None:
|
||||
# Remove any previous utility shape
|
||||
self.tool_shape.clear(update=True)
|
||||
self.draw_utility_geometry(geo=geo)
|
||||
|
||||
# # ## Selection area on canvas section # ##
|
||||
# ### Selection area on canvas section ###
|
||||
dx = pos[0] - self.pos[0]
|
||||
if event.is_dragging == 1 and event.button == 1:
|
||||
if event.is_dragging and event.button == 1:
|
||||
self.app.delete_selection_shape()
|
||||
if dx < 0:
|
||||
self.app.draw_moving_selection_shape((self.pos[0], self.pos[1]), (x, y),
|
||||
@@ -3633,8 +3633,20 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
||||
# if the released mouse button was RMB then test if it was a panning motion or not, if not it was a context
|
||||
# canvas menu
|
||||
try:
|
||||
if event.button == 2: # right click
|
||||
if self.app.ui.popMenu.mouse_is_panning is False:
|
||||
# if the released mouse button was LMB then test if we had a right-to-left selection or a left-to-right
|
||||
# selection and then select a type of selection ("enclosing" or "touching")
|
||||
if event.button == 1: # left click
|
||||
if self.app.selection_type is not None:
|
||||
self.draw_selection_area_handler(self.pos, pos, self.app.selection_type)
|
||||
self.app.selection_type = None
|
||||
elif isinstance(self.active_tool, FCSelect):
|
||||
# Dispatch event to active_tool
|
||||
# msg = self.active_tool.click(self.snap(event.xdata, event.ydata))
|
||||
self.active_tool.click_release((self.pos[0], self.pos[1]))
|
||||
# self.app.inform.emit(msg)
|
||||
self.replot()
|
||||
elif event.button == 2: # right click
|
||||
if self.app.ui.popMenu.mouse_is_panning == False:
|
||||
if self.in_action is False:
|
||||
try:
|
||||
QtGui.QGuiApplication.restoreOverrideCursor()
|
||||
@@ -3661,25 +3673,6 @@ class FlatCAMGeoEditor(QtCore.QObject):
|
||||
self.on_shape_complete()
|
||||
self.app.inform.emit(_("[success] Done."))
|
||||
self.select_tool(self.active_tool.name)
|
||||
|
||||
except Exception as e:
|
||||
log.warning("Error: %s" % str(e))
|
||||
return
|
||||
|
||||
# if the released mouse button was LMB then test if we had a right-to-left selection or a left-to-right
|
||||
# selection and then select a type of selection ("enclosing" or "touching")
|
||||
try:
|
||||
if event.button == 1: # left click
|
||||
if self.app.selection_type is not None:
|
||||
self.draw_selection_area_handler(self.pos, pos, self.app.selection_type)
|
||||
self.app.selection_type = None
|
||||
elif isinstance(self.active_tool, FCSelect):
|
||||
# Dispatch event to active_tool
|
||||
# msg = self.active_tool.click(self.snap(event.xdata, event.ydata))
|
||||
self.active_tool.click_release((self.pos[0], self.pos[1]))
|
||||
# self.app.inform.emit(msg)
|
||||
self.replot()
|
||||
|
||||
except Exception as e:
|
||||
log.warning("Error: %s" % str(e))
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user