- all kwy shortcuts work across the entire application; started to move all the shortcuts definitions in FlatCAMGUI.keyPressEvent()

This commit is contained in:
Marius Stanciu
2019-02-06 16:23:09 +02:00
committed by Marius
parent 67d089832e
commit 8bbb9ba534
6 changed files with 261 additions and 240 deletions

View File

@@ -964,8 +964,7 @@ class App(QtCore.QObject):
self.plotcanvas.vis_connect('mouse_double_click', self.on_double_click_over_plot) self.plotcanvas.vis_connect('mouse_double_click', self.on_double_click_over_plot)
# Keys over plot enabled # Keys over plot enabled
self.plotcanvas.vis_connect('key_press', self.on_key_over_plot) self.plotcanvas.vis_connect('key_press', self.ui.keyPressEvent)
self.plotcanvas.vis_connect('key_release', self.on_key_release_over_plot)
self.ui.splitter.setStretchFactor(1, 2) self.ui.splitter.setStretchFactor(1, 2)
@@ -3934,223 +3933,224 @@ class App(QtCore.QObject):
else: else:
return 0 return 0
def on_key_over_plot(self, event): # def on_key_over_plot(self, event):
""" # """
Callback for the key pressed event when the canvas is focused. Keyboard # Callback for the key pressed event when the canvas is focused. Keyboard
shortcuts are handled here. So far, these are the shortcuts: # shortcuts are handled here. So far, these are the shortcuts:
#
========== ============================================ # ========== ============================================
Key Action # Key Action
========== ============================================ # ========== ============================================
'1' Zoom-fit. Fits the axes limits to the data. # '1' Zoom-fit. Fits the axes limits to the data.
'2' Zoom-out. # '2' Zoom-out.
'3' Zoom-in. # '3' Zoom-in.
'ctrl+m' Toggle on-off the measuring tool. # 'ctrl+m' Toggle on-off the measuring tool.
========== ============================================ # ========== ============================================
#
:param event: Ignored. # :param event: Ignored.
:return: None # :return: None
""" # """
# print(type(event.key), event.key)
self.key_modifiers = QtWidgets.QApplication.keyboardModifiers() # self.key_modifiers = QtWidgets.QApplication.keyboardModifiers()
#
if self.key_modifiers == QtCore.Qt.ControlModifier: # if self.key_modifiers == QtCore.Qt.ControlModifier:
if event.key == 'A': # if event.key == 'A':
self.on_selectall() # self.on_selectall()
#
if event.key == 'C': # if event.key == 'C':
self.on_copy_object() # self.on_copy_object()
#
if event.key == 'E': # if event.key == 'E':
self.on_fileopenexcellon() # self.on_fileopenexcellon()
if event.key == 'G': #
self.on_fileopengerber() # if event.key == 'G':
# self.on_fileopengerber()
if event.key == 'N': #
self.on_file_new_click() # if event.key == 'N':
# self.on_file_new_click()
if event.key == 'M': #
self.measurement_tool.run() # if event.key == 'M':
# self.measurement_tool.run()
if event.key == 'O': #
self.on_file_openproject() # if event.key == 'O':
# self.on_file_openproject()
if event.key == 'S': #
self.on_file_saveproject() # if event.key == 'S':
# self.on_file_saveproject()
# Toggle Plot Area #
if event.key == 'F10': # # Toggle Plot Area
self.on_toggle_plotarea() # if event.key == 'F10':
# self.on_toggle_plotarea()
return #
elif self.key_modifiers == QtCore.Qt.AltModifier: # return
# place holder for further shortcut key # elif self.key_modifiers == QtCore.Qt.AltModifier:
# # place holder for further shortcut key
if event.key == '1': #
self.enable_all_plots() # if event.key == '1':
# self.enable_all_plots()
if event.key == '2': #
self.disable_all_plots() # if event.key == '2':
# self.disable_all_plots()
if event.key == '3': #
self.disable_other_plots() # if event.key == '3':
# self.disable_other_plots()
if event.key == 'C': #
self.calculator_tool.run() # if event.key == 'C':
# self.calculator_tool.run()
if event.key == 'D': #
self.dblsidedtool.run() # if event.key == 'D':
# self.dblsidedtool.run()
if event.key == 'L': #
self.film_tool.run() # if event.key == 'L':
# self.film_tool.run()
if event.key == 'N': #
self.ncclear_tool.run() # if event.key == 'N':
# self.ncclear_tool.run()
if event.key == 'P': #
self.paint_tool.run() # if event.key == 'P':
# self.paint_tool.run()
if event.key == 'R': #
self.transform_tool.run() # if event.key == 'R':
# self.transform_tool.run()
if event.key == 'U': #
self.cutout_tool.run() # if event.key == 'U':
# self.cutout_tool.run()
if event.key == 'Z': #
self.panelize_tool.run() # if event.key == 'Z':
# self.panelize_tool.run()
if event.key == 'F10': #
self.on_fullscreen() # if event.key == 'F10':
# self.on_fullscreen()
return #
elif self.key_modifiers == QtCore.Qt.ShiftModifier: # return
# place holder for further shortcut key # elif self.key_modifiers == QtCore.Qt.ShiftModifier:
# # place holder for further shortcut key
if event.key == 'C': #
self.on_copy_name() # if event.key == 'C':
# self.on_copy_name()
# Toggle axis #
if event.key == 'G': # # Toggle axis
self.on_toggle_axis() # if event.key == 'G':
# self.on_toggle_axis()
# Open Preferences Window #
if event.key == 'P': # # Open Preferences Window
self.on_preferences() # if event.key == 'P':
# self.on_preferences()
# Rotate Object by 90 degree CCW #
if event.key == 'R': # # Rotate Object by 90 degree CCW
self.on_rotate(silent=True, preset=-90) # if event.key == 'R':
# self.on_rotate(silent=True, preset=-90)
# Run a Script #
if event.key == 'S': # # Run a Script
self.on_filerunscript() # if event.key == 'S':
# self.on_filerunscript()
# Toggle Workspace #
if event.key == 'W': # # Toggle Workspace
self.on_workspace_menu() # if event.key == 'W':
# self.on_workspace_menu()
# Skew on X axis #
if event.key == 'X': # # Skew on X axis
self.on_skewx() # if event.key == 'X':
# self.on_skewx()
# Skew on Y axis #
if event.key == 'Y': # # Skew on Y axis
self.on_skewy() # if event.key == 'Y':
# self.on_skewy()
else: #
if event.key == 'F1': # else:
webbrowser.open(self.manual_url) # if event.key == 'F1':
return # webbrowser.open(self.manual_url)
# return
if event.key == 'F2': #
webbrowser.open(self.video_url) # if event.key == 'F2':
return # webbrowser.open(self.video_url)
# return
if event.key == self.defaults['zoom_out_key']: # '-' #
self.plotcanvas.zoom(1 / self.defaults['zoom_ratio'], self.mouse) # if event.key == self.defaults['zoom_out_key']: # '-'
return # self.plotcanvas.zoom(1 / self.defaults['zoom_ratio'], self.mouse)
# return
if event.key == self.defaults['zoom_in_key']: # '=' #
self.plotcanvas.zoom(self.defaults['zoom_ratio'], self.mouse) # if event.key == self.defaults['zoom_in_key']: # '='
return # self.plotcanvas.zoom(self.defaults['zoom_ratio'], self.mouse)
# return
if event.key == 'Delete': #
self.on_delete() # if event.key == 'Delete':
return # self.on_delete()
# return
if event.key == 'Space': #
if self.collection.get_active() is not None: # if event.key == 'Space':
self.collection.get_active().ui.plot_cb.toggle() # if self.collection.get_active() is not None:
self.delete_selection_shape() # self.collection.get_active().ui.plot_cb.toggle()
# self.delete_selection_shape()
if event.key == '1': #
self.on_select_tab('project') # if event.key == '1':
# self.on_select_tab('project')
if event.key == '2': #
self.on_select_tab('selected') # if event.key == '2':
# self.on_select_tab('selected')
if event.key == '3': #
self.on_select_tab('tool') # if event.key == '3':
# self.on_select_tab('tool')
if event.key == 'E': #
self.object2editor() # if event.key == 'E':
# self.object2editor()
if event.key == self.defaults['grid_toggle_key']: # G #
self.ui.grid_snap_btn.trigger() # if event.key == self.defaults['grid_toggle_key']: # G
# self.ui.grid_snap_btn.trigger()
if event.key == 'J': #
self.on_jump_to() # if event.key == 'J':
# self.on_jump_to()
if event.key == 'L': #
self.new_excellon_object() # if event.key == 'L':
# self.new_excellon_object()
if event.key == 'M': #
self.move_tool.toggle() # if event.key == 'M':
return # self.move_tool.toggle()
# return
if event.key == 'N': #
self.on_new_geometry() # if event.key == 'N':
# self.on_new_geometry()
if event.key == 'O': #
self.on_set_origin() # if event.key == 'O':
# self.on_set_origin()
if event.key == 'P': #
self.properties_tool.run() # if event.key == 'P':
# self.properties_tool.run()
if event.key == 'Q': #
self.on_toggle_units_click() # if event.key == 'Q':
# self.on_toggle_units_click()
if event.key == 'R': #
self.on_rotate(silent=True, preset=90) # if event.key == 'R':
# self.on_rotate(silent=True, preset=90)
if event.key == 'S': #
self.on_toggle_shell() # if event.key == 'S':
# self.on_toggle_shell()
if event.key == 'V': #
self.on_zoom_fit(None) # if event.key == 'V':
# self.on_zoom_fit(None)
if event.key == 'X': #
self.on_flipx() # if event.key == 'X':
# self.on_flipx()
if event.key == 'Y': #
self.on_flipy() # if event.key == 'Y':
# self.on_flipy()
if event.key == '`': #
self.on_shortcut_list() # if event.key == '`':
# self.on_shortcut_list()
def on_key_release_over_plot(self, event): #
modifiers = QtWidgets.QApplication.keyboardModifiers() # def on_key_release_over_plot(self, event):
# modifiers = QtWidgets.QApplication.keyboardModifiers()
if modifiers == QtCore.Qt.ControlModifier: #
return # if modifiers == QtCore.Qt.ControlModifier:
elif modifiers == QtCore.Qt.AltModifier: # return
# place holder for further shortcut key # elif modifiers == QtCore.Qt.AltModifier:
return # # place holder for further shortcut key
elif modifiers == QtCore.Qt.ShiftModifier: # return
# place holder for further shortcut key # elif modifiers == QtCore.Qt.ShiftModifier:
return # # place holder for further shortcut key
else: # return
return # else:
# return
def on_shortcut_list(self): def on_shortcut_list(self):
self.report_usage("on_shortcut_list()") self.report_usage("on_shortcut_list()")

View File

@@ -2134,19 +2134,20 @@ class FlatCAMGeoEditor(QtCore.QObject):
# make sure that the shortcuts key and mouse events will no longer be linked to the methods from FlatCAMApp # make sure that the shortcuts key and mouse events will no longer be linked to the methods from FlatCAMApp
# but those from FlatCAMGeoEditor # but those from FlatCAMGeoEditor
self.app.plotcanvas.vis_disconnect('key_press', self.app.on_key_over_plot)
self.app.plotcanvas.vis_disconnect('key_press', self.app.ui.keyPressEvent)
self.app.plotcanvas.vis_disconnect('mouse_press', self.app.on_mouse_click_over_plot) self.app.plotcanvas.vis_disconnect('mouse_press', self.app.on_mouse_click_over_plot)
self.app.plotcanvas.vis_disconnect('mouse_move', self.app.on_mouse_move_over_plot) self.app.plotcanvas.vis_disconnect('mouse_move', self.app.on_mouse_move_over_plot)
self.app.plotcanvas.vis_disconnect('mouse_release', self.app.on_mouse_click_release_over_plot) self.app.plotcanvas.vis_disconnect('mouse_release', self.app.on_mouse_click_release_over_plot)
self.app.plotcanvas.vis_disconnect('mouse_double_click', self.app.on_double_click_over_plot) self.app.plotcanvas.vis_disconnect('mouse_double_click', self.app.on_double_click_over_plot)
self.app.collection.view.keyPressed.disconnect()
self.app.collection.view.clicked.disconnect() self.app.collection.view.clicked.disconnect()
self.canvas.vis_connect('mouse_press', self.on_canvas_click) self.canvas.vis_connect('mouse_press', self.on_canvas_click)
self.canvas.vis_connect('mouse_move', self.on_canvas_move) self.canvas.vis_connect('mouse_move', self.on_canvas_move)
self.canvas.vis_connect('mouse_release', self.on_canvas_click_release) self.canvas.vis_connect('mouse_release', self.on_canvas_click_release)
self.canvas.vis_connect('key_press', self.on_canvas_key) self.canvas.vis_connect('key_press', self.on_canvas_key)
self.canvas.vis_connect('key_release', self.on_canvas_key_release)
def disconnect_canvas_event_handlers(self): def disconnect_canvas_event_handlers(self):
@@ -2154,15 +2155,14 @@ class FlatCAMGeoEditor(QtCore.QObject):
self.canvas.vis_disconnect('mouse_move', self.on_canvas_move) self.canvas.vis_disconnect('mouse_move', self.on_canvas_move)
self.canvas.vis_disconnect('mouse_release', self.on_canvas_click_release) self.canvas.vis_disconnect('mouse_release', self.on_canvas_click_release)
self.canvas.vis_disconnect('key_press', self.on_canvas_key) self.canvas.vis_disconnect('key_press', self.on_canvas_key)
self.canvas.vis_disconnect('key_release', self.on_canvas_key_release)
# we restore the key and mouse control to FlatCAMApp method # we restore the key and mouse control to FlatCAMApp method
self.app.plotcanvas.vis_connect('key_press', self.app.on_key_over_plot) self.app.plotcanvas.vis_connect('key_press', self.app.ui.keyPressEvent)
self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot) self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot)
self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot) self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot)
self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot) self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot)
self.app.plotcanvas.vis_connect('mouse_double_click', self.app.on_double_click_over_plot) self.app.plotcanvas.vis_connect('mouse_double_click', self.app.on_double_click_over_plot)
self.app.collection.view.keyPressed.connect(self.app.collection.on_key)
self.app.collection.view.clicked.connect(self.app.collection.on_mouse_down) self.app.collection.view.clicked.connect(self.app.collection.on_mouse_down)
def add_shape(self, shape): def add_shape(self, shape):
@@ -4277,7 +4277,7 @@ class FlatCAMExcEditor(QtCore.QObject):
# make sure that the shortcuts key and mouse events will no longer be linked to the methods from FlatCAMApp # make sure that the shortcuts key and mouse events will no longer be linked to the methods from FlatCAMApp
# but those from FlatCAMGeoEditor # but those from FlatCAMGeoEditor
self.app.plotcanvas.vis_disconnect('key_press', self.app.on_key_over_plot) self.app.plotcanvas.vis_disconnect('key_press', self.app.ui.keyPressEvent)
self.app.plotcanvas.vis_disconnect('mouse_press', self.app.on_mouse_click_over_plot) self.app.plotcanvas.vis_disconnect('mouse_press', self.app.on_mouse_click_over_plot)
self.app.plotcanvas.vis_disconnect('mouse_move', self.app.on_mouse_move_over_plot) self.app.plotcanvas.vis_disconnect('mouse_move', self.app.on_mouse_move_over_plot)
self.app.plotcanvas.vis_disconnect('mouse_release', self.app.on_mouse_click_release_over_plot) self.app.plotcanvas.vis_disconnect('mouse_release', self.app.on_mouse_click_release_over_plot)
@@ -4289,10 +4289,9 @@ class FlatCAMExcEditor(QtCore.QObject):
self.canvas.vis_connect('mouse_move', self.on_canvas_move) self.canvas.vis_connect('mouse_move', self.on_canvas_move)
self.canvas.vis_connect('mouse_release', self.on_canvas_click_release) self.canvas.vis_connect('mouse_release', self.on_canvas_click_release)
self.canvas.vis_connect('key_press', self.on_canvas_key) self.canvas.vis_connect('key_press', self.on_canvas_key)
self.canvas.vis_connect('key_release', self.on_canvas_key_release)
def disconnect_canvas_event_handlers(self): def disconnect_canvas_event_handlers(self):
self.canvas.vis_disconnect('mouse_press', self.on_canvas_click) self.canvas.vis_disconnect('mouse_press', self.on_canvas_click)
self.canvas.vis_disconnect('mouse_move', self.on_canvas_move) self.canvas.vis_disconnect('mouse_move', self.on_canvas_move)
self.canvas.vis_disconnect('mouse_release', self.on_canvas_click_release) self.canvas.vis_disconnect('mouse_release', self.on_canvas_click_release)
@@ -4300,12 +4299,12 @@ class FlatCAMExcEditor(QtCore.QObject):
self.canvas.vis_disconnect('key_release', self.on_canvas_key_release) self.canvas.vis_disconnect('key_release', self.on_canvas_key_release)
# we restore the key and mouse control to FlatCAMApp method # we restore the key and mouse control to FlatCAMApp method
self.app.plotcanvas.vis_connect('key_press', self.app.on_key_over_plot) self.app.plotcanvas.vis_connect('key_press', self.app.ui.keyPressEvent)
self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot) self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot)
self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot) self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot)
self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot) self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot)
self.app.plotcanvas.vis_connect('mouse_double_click', self.app.on_double_click_over_plot) self.app.plotcanvas.vis_connect('mouse_double_click', self.app.on_double_click_over_plot)
self.app.collection.view.keyPressed.connect(self.app.collection.on_key)
self.app.collection.view.clicked.connect(self.app.collection.on_mouse_down) self.app.collection.view.clicked.connect(self.app.collection.on_mouse_down)
def clear(self): def clear(self):

View File

@@ -1507,8 +1507,11 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
if type(event) is int: if type(event) is int:
key = event key = event
# events from the GUI are of type QKeyEvent # events from the GUI are of type QKeyEvent
else: elif type(event) == QtGui.QKeyEvent:
key = event.key() key = event.key()
# events from Vispy are of type KeyEvent
else:
key = event.key
if modifiers == QtCore.Qt.ControlModifier: if modifiers == QtCore.Qt.ControlModifier:
if key == QtCore.Qt.Key_A: if key == QtCore.Qt.Key_A:
@@ -1528,6 +1531,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
if key == QtCore.Qt.Key_M: if key == QtCore.Qt.Key_M:
self.app.measurement_tool.run() self.app.measurement_tool.run()
if key == QtCore.Qt.Key_O: if key == QtCore.Qt.Key_O:
self.app.on_file_openproject() self.app.on_file_openproject()
@@ -1603,16 +1607,30 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
if key == Qt.Key_3: if key == Qt.Key_3:
self.app.disable_other_plots() self.app.disable_other_plots()
# Calculator Tool
if key == QtCore.Qt.Key_C:
self.app.calculator_tool.run()
# 2-Sided PCB Tool # 2-Sided PCB Tool
if key == QtCore.Qt.Key_D: if key == QtCore.Qt.Key_D:
self.app.dblsidedtool.run() self.app.dblsidedtool.run()
return return
# Film Tool
if key == QtCore.Qt.Key_L:
self.app.film_tool.run()
return
# Non-Copper Clear Tool # Non-Copper Clear Tool
if key == QtCore.Qt.Key_N: if key == QtCore.Qt.Key_N:
self.app.ncclear_tool.run() self.app.ncclear_tool.run()
return return
# Paint Tool
if key == QtCore.Qt.Key_P:
self.app.paint_tool.run()
return
# Transformation Tool # Transformation Tool
if key == QtCore.Qt.Key_R: if key == QtCore.Qt.Key_R:
self.app.transform_tool.run() self.app.transform_tool.run()
@@ -1623,6 +1641,15 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.app.cutout_tool.run() self.app.cutout_tool.run()
return return
# Panelize Tool
if key == QtCore.Qt.Key_Z:
self.app.panelize_tool.run()
return
# Toggle Fullscreen
if key == QtCore.Qt.Key_F10:
self.app.on_fullscreen()
return
else: else:
# Open Manual # Open Manual
if key == QtCore.Qt.Key_F1: if key == QtCore.Qt.Key_F1:

View File

@@ -19,7 +19,7 @@ CAD program, and create G-Code for Isolation routing.
- fixed the name self-insert in save dialog file for GCode; added protection in case the save path is None - fixed the name self-insert in save dialog file for GCode; added protection in case the save path is None
- fixed FlatCAM crash when trying to make drills GCode out of a file that have only slots. - fixed FlatCAM crash when trying to make drills GCode out of a file that have only slots.
- changed the messages for Units Conversion - changed the messages for Units Conversion
- all kwy shortcuts work across the entire application; started to move all the shortcuts definitions in FlatCAMGUI.keyPressEvent() - all key shortcuts work across the entire application; moved all the shortcuts definitions in FlatCAMGUI.keyPressEvent()
5.02.3019 5.02.3019

View File

@@ -184,25 +184,22 @@ class Measurement(FlatCAMTool):
# disconnect the mouse/key events from functions of measurement tool # disconnect the mouse/key events from functions of measurement tool
self.app.plotcanvas.vis_disconnect('mouse_move', self.on_mouse_move_meas) self.app.plotcanvas.vis_disconnect('mouse_move', self.on_mouse_move_meas)
self.app.plotcanvas.vis_disconnect('mouse_press', self.on_click_meas) self.app.plotcanvas.vis_disconnect('mouse_press', self.on_click_meas)
self.app.plotcanvas.vis_disconnect('key_release', self.on_key_release_meas)
# reconnect the mouse/key events to the functions from where the tool was called # reconnect the mouse/key events to the functions from where the tool was called
if self.app.call_source == 'app': if self.app.call_source == 'app':
self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot) self.app.plotcanvas.vis_connect('mouse_move', self.app.on_mouse_move_over_plot)
self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot) self.app.plotcanvas.vis_connect('mouse_press', self.app.on_mouse_click_over_plot)
self.app.plotcanvas.vis_connect('key_press', self.app.on_key_over_plot) self.app.plotcanvas.vis_connect('key_press', self.app.ui.keyPressEvent)
self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot) self.app.plotcanvas.vis_connect('mouse_release', self.app.on_mouse_click_release_over_plot)
elif self.app.call_source == 'geo_editor': elif self.app.call_source == 'geo_editor':
self.app.geo_editor.canvas.vis_connect('mouse_move', self.app.geo_editor.on_canvas_move) self.app.geo_editor.canvas.vis_connect('mouse_move', self.app.geo_editor.on_canvas_move)
self.app.geo_editor.canvas.vis_connect('mouse_press', self.app.geo_editor.on_canvas_click) self.app.geo_editor.canvas.vis_connect('mouse_press', self.app.geo_editor.on_canvas_click)
self.app.geo_editor.canvas.vis_connect('key_press', self.app.geo_editor.on_canvas_key) self.app.geo_editor.canvas.vis_connect('key_press', self.app.geo_editor.on_canvas_key)
self.app.geo_editor.canvas.vis_connect('key_release', self.app.geo_editor.on_canvas_key_release)
self.app.geo_editor.canvas.vis_connect('mouse_release', self.app.geo_editor.on_canvas_click_release) self.app.geo_editor.canvas.vis_connect('mouse_release', self.app.geo_editor.on_canvas_click_release)
elif self.app.call_source == 'exc_editor': elif self.app.call_source == 'exc_editor':
self.app.exc_editor.canvas.vis_connect('mouse_move', self.app.exc_editor.on_canvas_move) self.app.exc_editor.canvas.vis_connect('mouse_move', self.app.exc_editor.on_canvas_move)
self.app.exc_editor.canvas.vis_connect('mouse_press', self.app.exc_editor.on_canvas_click) self.app.exc_editor.canvas.vis_connect('mouse_press', self.app.exc_editor.on_canvas_click)
self.app.exc_editor.canvas.vis_connect('key_press', self.app.exc_editor.on_canvas_key) self.app.exc_editor.canvas.vis_connect('key_press', self.app.exc_editor.on_canvas_key)
self.app.exc_editor.canvas.vis_connect('key_release', self.app.exc_editor.on_canvas_key_release)
self.app.exc_editor.canvas.vis_connect('mouse_release', self.app.exc_editor.on_canvas_click_release) self.app.exc_editor.canvas.vis_connect('mouse_release', self.app.exc_editor.on_canvas_click_release)
self.clicked_meas = 0 self.clicked_meas = 0
@@ -219,19 +216,17 @@ class Measurement(FlatCAMTool):
if self.app.call_source == 'app': if self.app.call_source == 'app':
self.app.plotcanvas.vis_disconnect('mouse_move', self.app.on_mouse_move_over_plot) self.app.plotcanvas.vis_disconnect('mouse_move', self.app.on_mouse_move_over_plot)
self.app.plotcanvas.vis_disconnect('mouse_press', self.app.on_mouse_click_over_plot) self.app.plotcanvas.vis_disconnect('mouse_press', self.app.on_mouse_click_over_plot)
self.app.plotcanvas.vis_disconnect('key_press', self.app.on_key_over_plot) self.app.plotcanvas.vis_disconnect('key_press', self.app.ui.keyPressEvent)
self.app.plotcanvas.vis_disconnect('mouse_release', self.app.on_mouse_click_release_over_plot) self.app.plotcanvas.vis_disconnect('mouse_release', self.app.on_mouse_click_release_over_plot)
elif self.app.call_source == 'geo_editor': elif self.app.call_source == 'geo_editor':
self.app.geo_editor.canvas.vis_disconnect('mouse_move', self.app.geo_editor.on_canvas_move) self.app.geo_editor.canvas.vis_disconnect('mouse_move', self.app.geo_editor.on_canvas_move)
self.app.geo_editor.canvas.vis_disconnect('mouse_press', self.app.geo_editor.on_canvas_click) self.app.geo_editor.canvas.vis_disconnect('mouse_press', self.app.geo_editor.on_canvas_click)
self.app.geo_editor.canvas.vis_disconnect('key_press', self.app.geo_editor.on_canvas_key) self.app.geo_editor.canvas.vis_disconnect('key_press', self.app.geo_editor.on_canvas_key)
self.app.geo_editor.canvas.vis_disconnect('key_release', self.app.geo_editor.on_canvas_key_release)
self.app.geo_editor.canvas.vis_disconnect('mouse_release', self.app.geo_editor.on_canvas_click_release) self.app.geo_editor.canvas.vis_disconnect('mouse_release', self.app.geo_editor.on_canvas_click_release)
elif self.app.call_source == 'exc_editor': elif self.app.call_source == 'exc_editor':
self.app.exc_editor.canvas.vis_disconnect('mouse_move', self.app.exc_editor.on_canvas_move) self.app.exc_editor.canvas.vis_disconnect('mouse_move', self.app.exc_editor.on_canvas_move)
self.app.exc_editor.canvas.vis_disconnect('mouse_press', self.app.exc_editor.on_canvas_click) self.app.exc_editor.canvas.vis_disconnect('mouse_press', self.app.exc_editor.on_canvas_click)
self.app.exc_editor.canvas.vis_disconnect('key_press', self.app.exc_editor.on_canvas_key) self.app.exc_editor.canvas.vis_disconnect('key_press', self.app.exc_editor.on_canvas_key)
self.app.exc_editor.canvas.vis_disconnect('key_release', self.app.exc_editor.on_canvas_key_release)
self.app.exc_editor.canvas.vis_disconnect('mouse_release', self.app.exc_editor.on_canvas_click_release) self.app.exc_editor.canvas.vis_disconnect('mouse_release', self.app.exc_editor.on_canvas_click_release)
# we can safely connect the app mouse events to the measurement tool # we can safely connect the app mouse events to the measurement tool

View File

@@ -47,7 +47,7 @@ class ToolMove(FlatCAMTool):
self.app.plotcanvas.vis_disconnect('mouse_move', self.on_move) self.app.plotcanvas.vis_disconnect('mouse_move', self.on_move)
self.app.plotcanvas.vis_disconnect('mouse_press', self.on_left_click) self.app.plotcanvas.vis_disconnect('mouse_press', self.on_left_click)
self.app.plotcanvas.vis_disconnect('key_release', self.on_key_press) self.app.plotcanvas.vis_disconnect('key_release', self.on_key_press)
self.app.plotcanvas.vis_connect('key_press', self.app.on_key_over_plot) self.app.plotcanvas.vis_connect('key_press', self.app.ui.keyPressEvent)
self.clicked_move = 0 self.clicked_move = 0