- added icons to the Project Tab context menu

- added new entries to the Canvas context menu (Copy, Delete, Edit/Save, Move, New Excellon, New Geometry, New Project)
This commit is contained in:
Marius Stanciu 2019-01-26 00:12:40 +02:00 committed by Marius S
parent d1b1a097c1
commit 41d7ef9e2c
3 changed files with 59 additions and 16 deletions

View File

@ -983,6 +983,10 @@ class App(QtCore.QObject):
self.ui.shell_btn.triggered.connect(self.on_toggle_shell) self.ui.shell_btn.triggered.connect(self.on_toggle_shell)
# Context Menu # Context Menu
self.ui.popmenu_new_geo.triggered.connect(lambda: self.new_object('geometry', 'new_g', lambda x, y: None))
self.ui.popmenu_new_exc.triggered.connect(self.new_excellon_object)
self.ui.popmenu_new_prj.triggered.connect(self.on_file_new)
self.ui.gridmenu_1.triggered.connect(lambda: self.ui.grid_gap_x_entry.setText("0.05")) self.ui.gridmenu_1.triggered.connect(lambda: self.ui.grid_gap_x_entry.setText("0.05"))
self.ui.gridmenu_2.triggered.connect(lambda: self.ui.grid_gap_x_entry.setText("0.1")) self.ui.gridmenu_2.triggered.connect(lambda: self.ui.grid_gap_x_entry.setText("0.1"))
self.ui.gridmenu_3.triggered.connect(lambda: self.ui.grid_gap_x_entry.setText("0.2")) self.ui.gridmenu_3.triggered.connect(lambda: self.ui.grid_gap_x_entry.setText("0.2"))
@ -999,6 +1003,13 @@ class App(QtCore.QObject):
self.ui.zoomfit.triggered.connect(self.on_zoom_fit) self.ui.zoomfit.triggered.connect(self.on_zoom_fit)
self.ui.clearplot.triggered.connect(self.clear_plots) self.ui.clearplot.triggered.connect(self.clear_plots)
self.ui.replot.triggered.connect(self.plot_all) self.ui.replot.triggered.connect(self.plot_all)
self.ui.popmenu_copy.triggered.connect(self.on_copy_object)
self.ui.popmenu_delete.triggered.connect(self.on_delete)
self.ui.popmenu_edit.triggered.connect(self.object2editor)
self.ui.popmenu_save.triggered.connect(self.editor2object)
self.ui.popmenu_move.triggered.connect(self.obj_move)
self.ui.popmenu_properties.triggered.connect(self.obj_properties) self.ui.popmenu_properties.triggered.connect(self.obj_properties)
# Preferences Plot Area TAB # Preferences Plot Area TAB
@ -1373,6 +1384,10 @@ class App(QtCore.QObject):
:return: None :return: None
""" """
# adjust the visibility of some of the canvas context menu
self.ui.popmenu_edit.setVisible(False)
self.ui.popmenu_save.setVisible(True)
if isinstance(self.collection.get_active(), FlatCAMGeometry): if isinstance(self.collection.get_active(), FlatCAMGeometry):
edited_object = self.collection.get_active() edited_object = self.collection.get_active()
# for now, if the Geometry is MultiGeo do not allow the editing # for now, if the Geometry is MultiGeo do not allow the editing
@ -1415,6 +1430,11 @@ class App(QtCore.QObject):
:return: None :return: None
""" """
# adjust the visibility of some of the canvas context menu
self.ui.popmenu_edit.setVisible(True)
self.ui.popmenu_save.setVisible(False)
edited_obj = self.collection.get_active() edited_obj = self.collection.get_active()
obj_type = "" obj_type = ""
@ -4124,6 +4144,9 @@ class App(QtCore.QObject):
def obj_properties(self): def obj_properties(self):
self.properties_tool.run() self.properties_tool.run()
def obj_move(self):
self.move_tool.run()
def on_fileopengerber(self): def on_fileopengerber(self):
""" """
File menu callback for opening a Gerber. File menu callback for opening a Gerber.

View File

@ -313,21 +313,21 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.menuhelp_shortcut_list = self.menuhelp.addAction(QtGui.QIcon('share/shortcuts24.png'), 'Shortcuts List') self.menuhelp_shortcut_list = self.menuhelp.addAction(QtGui.QIcon('share/shortcuts24.png'), 'Shortcuts List')
self.menuhelp_videohelp = self.menuhelp.addAction(QtGui.QIcon('share/videohelp24.png'), 'See on YouTube') self.menuhelp_videohelp = self.menuhelp.addAction(QtGui.QIcon('share/videohelp24.png'), 'See on YouTube')
#################### ################################
### Context menu ### ### Project Tab Context menu ###
#################### ################################
self.menuproject = QtWidgets.QMenu() self.menuproject = QtWidgets.QMenu()
self.menuprojectenable = self.menuproject.addAction('Enable') self.menuprojectenable = self.menuproject.addAction(QtGui.QIcon('share/replot32.png'), 'Enable')
self.menuprojectdisable = self.menuproject.addAction('Disable') self.menuprojectdisable = self.menuproject.addAction(QtGui.QIcon('share/clear_plot32.png'), 'Disable')
self.menuproject.addSeparator() self.menuproject.addSeparator()
self.menuprojectgeneratecnc = self.menuproject.addAction('Generate CNC') self.menuprojectgeneratecnc = self.menuproject.addAction(QtGui.QIcon('share/cnc32.png'), 'Generate CNC')
self.menuproject.addSeparator() self.menuproject.addSeparator()
self.menuprojectcopy = self.menuproject.addAction('Copy') self.menuprojectcopy = self.menuproject.addAction(QtGui.QIcon('share/copy32.png'), 'Copy')
self.menuprojectedit = self.menuproject.addAction('Edit') self.menuprojectedit = self.menuproject.addAction(QtGui.QIcon('share/edit_ok32.png'), 'Edit')
self.menuprojectdelete = self.menuproject.addAction('Delete') self.menuprojectdelete = self.menuproject.addAction(QtGui.QIcon('share/delete32.png'), 'Delete')
self.menuproject.addSeparator() self.menuproject.addSeparator()
self.menuprojectproperties = self.menuproject.addAction('Properties') self.menuprojectproperties = self.menuproject.addAction(QtGui.QIcon('share/properties32.png'), 'Properties')
############### ###############
### Toolbar ### ### Toolbar ###
@ -625,11 +625,19 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
"which is the file storing the working default preferences.") "which is the file storing the working default preferences.")
self.pref_tab_bottom_layout_2.addWidget(self.pref_save_button) self.pref_tab_bottom_layout_2.addWidget(self.pref_save_button)
########################################
##############################################################
### HERE WE BUILD THE CONTEXT MENU FOR RMB CLICK ON CANVAS ### ### HERE WE BUILD THE CONTEXT MENU FOR RMB CLICK ON CANVAS ###
######################################## ##############################################################
self.popMenu = QtWidgets.QMenu() self.popMenu = QtWidgets.QMenu()
self.cmenu_newmenu = self.popMenu.addMenu(QtGui.QIcon('share/file32.png'), "New")
self.popmenu_new_geo = self.cmenu_newmenu.addAction(QtGui.QIcon('share/new_geo32_bis.png'), "Geo Obj")
self.popmenu_new_exc = self.cmenu_newmenu.addAction(QtGui.QIcon('share/new_exc32.png'), "Exc. Obj")
self.cmenu_newmenu.addSeparator()
self.popmenu_new_prj = self.cmenu_newmenu.addAction(QtGui.QIcon('share/file16.png'), "Project")
self.popMenu.addSeparator()
self.cmenu_gridmenu = self.popMenu.addMenu(QtGui.QIcon('share/grid32_menu.png'), "Grids") self.cmenu_gridmenu = self.popMenu.addMenu(QtGui.QIcon('share/grid32_menu.png'), "Grids")
self.gridmenu_1 = self.cmenu_gridmenu.addAction(QtGui.QIcon('share/grid32_menu.png'), "0.05") self.gridmenu_1 = self.cmenu_gridmenu.addAction(QtGui.QIcon('share/grid32_menu.png'), "0.05")
self.gridmenu_2 = self.cmenu_gridmenu.addAction(QtGui.QIcon('share/grid32_menu.png'), "0.10") self.gridmenu_2 = self.cmenu_gridmenu.addAction(QtGui.QIcon('share/grid32_menu.png'), "0.10")
@ -637,6 +645,12 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.gridmenu_4 = self.cmenu_gridmenu.addAction(QtGui.QIcon('share/grid32_menu.png'), "0.50") self.gridmenu_4 = self.cmenu_gridmenu.addAction(QtGui.QIcon('share/grid32_menu.png'), "0.50")
self.gridmenu_5 = self.cmenu_gridmenu.addAction(QtGui.QIcon('share/grid32_menu.png'), "1.00") self.gridmenu_5 = self.cmenu_gridmenu.addAction(QtGui.QIcon('share/grid32_menu.png'), "1.00")
self.cmenu_viewmenu = self.popMenu.addMenu(QtGui.QIcon('share/view64.png'), "View")
self.zoomfit = self.cmenu_viewmenu.addAction(QtGui.QIcon('share/zoom_fit32.png'), "Zoom Fit")
self.clearplot = self.cmenu_viewmenu.addAction(QtGui.QIcon('share/clear_plot32.png'), "Clear Plot")
self.replot = self.cmenu_viewmenu.addAction(QtGui.QIcon('share/replot32.png'), "Replot")
self.popMenu.addSeparator()
self.g_editor_cmenu = self.popMenu.addMenu(QtGui.QIcon('share/draw32.png'), "Geo Editor") self.g_editor_cmenu = self.popMenu.addMenu(QtGui.QIcon('share/draw32.png'), "Geo Editor")
self.draw_line = self.g_editor_cmenu.addAction(QtGui.QIcon('share/path32.png'), "Line") self.draw_line = self.g_editor_cmenu.addAction(QtGui.QIcon('share/path32.png'), "Line")
self.draw_rect = self.g_editor_cmenu.addAction(QtGui.QIcon('share/rectangle32.png'), "Rectangle") self.draw_rect = self.g_editor_cmenu.addAction(QtGui.QIcon('share/rectangle32.png'), "Rectangle")
@ -647,11 +661,15 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.drill_array = self.e_editor_cmenu.addAction(QtGui.QIcon('share/addarray32.png'), "Add Drill Array") self.drill_array = self.e_editor_cmenu.addAction(QtGui.QIcon('share/addarray32.png'), "Add Drill Array")
self.drill_copy = self.e_editor_cmenu.addAction(QtGui.QIcon('share/copy32.png'), "Copy Drill(s)") self.drill_copy = self.e_editor_cmenu.addAction(QtGui.QIcon('share/copy32.png'), "Copy Drill(s)")
self.cmenu_viewmenu = self.popMenu.addMenu(QtGui.QIcon('share/view64.png'), "View") self.popMenu.addSeparator()
self.zoomfit = self.cmenu_viewmenu.addAction(QtGui.QIcon('share/zoom_fit32.png'), "Zoom Fit") self.popmenu_copy = self.popMenu.addAction(QtGui.QIcon('share/copy32.png'), "Copy")
self.clearplot = self.cmenu_viewmenu.addAction(QtGui.QIcon('share/clear_plot32.png'), "Clear Plot") self.popmenu_delete = self.popMenu.addAction(QtGui.QIcon('share/delete32.png'), "Delete")
self.replot = self.cmenu_viewmenu.addAction(QtGui.QIcon('share/replot32.png'), "Replot") self.popmenu_edit = self.popMenu.addAction(QtGui.QIcon('share/edit32.png'), "Edit")
self.popmenu_save = self.popMenu.addAction(QtGui.QIcon('share/floppy32.png'), "Save && Close Edit")
self.popmenu_save.setVisible(False)
self.popMenu.addSeparator()
self.popmenu_move = self.popMenu.addAction(QtGui.QIcon('share/move32.png'), "Move")
self.popmenu_properties = self.popMenu.addAction(QtGui.QIcon('share/properties32.png'), "Properties") self.popmenu_properties = self.popMenu.addAction(QtGui.QIcon('share/properties32.png'), "Properties")

View File

@ -12,6 +12,8 @@ CAD program, and create G-Code for Isolation routing.
26.01.2019 26.01.2019
- fixed grbl_11 postprocessor in linear_code() function - fixed grbl_11 postprocessor in linear_code() function
- added icons to the Project Tab context menu
- added new entries to the Canvas context menu (Copy, Delete, Edit/Save, Move, New Excellon, New Geometry, New Project)
25.01.2019 25.01.2019