diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 5309db8c..42d0bc45 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -1365,16 +1365,26 @@ class App(QtCore.QObject): self.ui.popmenu_new_exc.triggered.connect(self.new_excellon_object) self.ui.popmenu_new_prj.triggered.connect(self.on_file_new) + # Geometry Editor self.ui.draw_line.triggered.connect(self.geo_editor.draw_tool_path) self.ui.draw_rect.triggered.connect(self.geo_editor.draw_tool_rectangle) self.ui.draw_cut.triggered.connect(self.geo_editor.cutpath) self.ui.draw_move.triggered.connect(self.geo_editor.on_move) + # Gerber Editor + self.ui.grb_draw_pad.triggered.connect(self.grb_editor.on_pad_add) + self.ui.grb_draw_pad_array.triggered.connect(self.grb_editor.on_pad_add_array) + self.ui.grb_draw_track.triggered.connect(self.grb_editor.on_track_add) + self.ui.grb_draw_region.triggered.connect(self.grb_editor.on_region_add) + self.ui.grb_copy.triggered.connect(self.grb_editor.on_copy_button) + self.ui.grb_delete.triggered.connect(self.grb_editor.on_delete_btn) + self.ui.grb_move.triggered.connect(self.grb_editor.on_move_button) + + # Excellon Editor self.ui.drill.triggered.connect(self.exc_editor.exc_add_drill) self.ui.drill_array.triggered.connect(self.exc_editor.exc_add_drill_array) self.ui.drill_copy.triggered.connect(self.exc_editor.exc_copy_drills) - self.ui.zoomfit.triggered.connect(self.on_zoom_fit) self.ui.clearplot.triggered.connect(self.clear_plots) self.ui.replot.triggered.connect(self.plot_all) diff --git a/README.md b/README.md index 7203970d..5296785e 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,9 @@ CAD program, and create G-Code for Isolation routing. 12.04.2019 - Gerber Editor: added support for Oblong type of aperture -- fixed an issue with automatically filled in aperture size when the edited Gerber file has no apertures; established an default with value 10 (according to Gerber specifications) +- fixed an issue with automatically filled in aperture code when the edited Gerber file has no apertures; established an default with value 10 (according to Gerber specifications) +- fixed a bug in editing a blank Gerber object +- added handlers for the Gerber Editor context menu 11.04.2019 diff --git a/flatcamEditors/FlatCAMGrbEditor.py b/flatcamEditors/FlatCAMGrbEditor.py index d47baef1..316b1006 100644 --- a/flatcamEditors/FlatCAMGrbEditor.py +++ b/flatcamEditors/FlatCAMGrbEditor.py @@ -472,7 +472,6 @@ class FCRegion(FCShapeTool): temp_points = [x for x in self.points] temp_points.append(data) return DrawToolUtilityShape(LinearRing(temp_points).buffer(self.buf_val, join_style=1)) - return None def make(self): @@ -508,7 +507,6 @@ class FCTrack(FCRegion): temp_points.append(data) return DrawToolUtilityShape(LineString(temp_points).buffer(self.buf_val)) - return None def on_key(self, key): @@ -1257,9 +1255,6 @@ class FlatCAMGrbEditor(QtCore.QObject): ## List of selected shapes. self.selected = [] - self.move_timer = QtCore.QTimer() - self.move_timer.setSingleShot(True) - self.key = None # Currently pressed key self.modifiers = None self.x = None # Current mouse cursor pos @@ -1269,6 +1264,11 @@ class FlatCAMGrbEditor(QtCore.QObject): self.snap_y = None self.pos = None + # signal that there is an action active like polygon or path + self.in_action = False + # this will flag if the Editor "tools" are launched from key shortcuts (True) or from menu toolbar (False) + self.launched_from_shortcuts = False + def make_callback(thetool): def f(): self.on_tool_select(thetool) diff --git a/flatcamGUI/FlatCAMGUI.py b/flatcamGUI/FlatCAMGUI.py index e44166f6..fb41357c 100644 --- a/flatcamGUI/FlatCAMGUI.py +++ b/flatcamGUI/FlatCAMGUI.py @@ -1453,10 +1453,12 @@ class FlatCAMGUI(QtWidgets.QMainWindow): self.draw_move = self.g_editor_cmenu.addAction(QtGui.QIcon('share/move32.png'), _("Move")) self.grb_editor_cmenu = self.popMenu.addMenu(QtGui.QIcon('share/draw32.png'), _("Gerber Editor")) - self.grb_draw_track = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/aperture32.png'), _("Pad")) - self.grb_draw_track = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/path32.png'), _("Track")) - self.grb_draw_zone = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/polygon32.png'), _("Region")) + self.grb_draw_pad = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/aperture32.png'), _("Pad")) + self.grb_draw_pad_array = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/padarray32.png'), _("Pad Array")) + self.grb_draw_track = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/track32.png'), _("Track")) + self.grb_draw_region = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/polygon32.png'), _("Region")) self.grb_editor_cmenu.addSeparator() + self.grb_copy = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/copy.png'), _("Copy")) self.grb_delete = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/trash32.png'), _("Delete")) self.grb_move = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/move32.png'), _("Move"))