- fixed a bug in editing a blank Gerber object

- added handlers for the Gerber Editor context menu
This commit is contained in:
Marius Stanciu
2019-04-12 12:58:10 +03:00
committed by Marius
parent 2297f99502
commit f1b034e50c
4 changed files with 24 additions and 10 deletions

View File

@@ -1365,16 +1365,26 @@ class App(QtCore.QObject):
self.ui.popmenu_new_exc.triggered.connect(self.new_excellon_object) self.ui.popmenu_new_exc.triggered.connect(self.new_excellon_object)
self.ui.popmenu_new_prj.triggered.connect(self.on_file_new) 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_line.triggered.connect(self.geo_editor.draw_tool_path)
self.ui.draw_rect.triggered.connect(self.geo_editor.draw_tool_rectangle) 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_cut.triggered.connect(self.geo_editor.cutpath)
self.ui.draw_move.triggered.connect(self.geo_editor.on_move) 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.triggered.connect(self.exc_editor.exc_add_drill)
self.ui.drill_array.triggered.connect(self.exc_editor.exc_add_drill_array) 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.drill_copy.triggered.connect(self.exc_editor.exc_copy_drills)
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)

View File

@@ -12,7 +12,9 @@ CAD program, and create G-Code for Isolation routing.
12.04.2019 12.04.2019
- Gerber Editor: added support for Oblong type of aperture - 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 11.04.2019

View File

@@ -472,7 +472,6 @@ class FCRegion(FCShapeTool):
temp_points = [x for x in self.points] temp_points = [x for x in self.points]
temp_points.append(data) temp_points.append(data)
return DrawToolUtilityShape(LinearRing(temp_points).buffer(self.buf_val, join_style=1)) return DrawToolUtilityShape(LinearRing(temp_points).buffer(self.buf_val, join_style=1))
return None return None
def make(self): def make(self):
@@ -508,7 +507,6 @@ class FCTrack(FCRegion):
temp_points.append(data) temp_points.append(data)
return DrawToolUtilityShape(LineString(temp_points).buffer(self.buf_val)) return DrawToolUtilityShape(LineString(temp_points).buffer(self.buf_val))
return None return None
def on_key(self, key): def on_key(self, key):
@@ -1257,9 +1255,6 @@ class FlatCAMGrbEditor(QtCore.QObject):
## List of selected shapes. ## List of selected shapes.
self.selected = [] self.selected = []
self.move_timer = QtCore.QTimer()
self.move_timer.setSingleShot(True)
self.key = None # Currently pressed key self.key = None # Currently pressed key
self.modifiers = None self.modifiers = None
self.x = None # Current mouse cursor pos self.x = None # Current mouse cursor pos
@@ -1269,6 +1264,11 @@ class FlatCAMGrbEditor(QtCore.QObject):
self.snap_y = None self.snap_y = None
self.pos = 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 make_callback(thetool):
def f(): def f():
self.on_tool_select(thetool) self.on_tool_select(thetool)

View File

@@ -1453,10 +1453,12 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.draw_move = self.g_editor_cmenu.addAction(QtGui.QIcon('share/move32.png'), _("Move")) 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_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_pad = 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_pad_array = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/padarray32.png'), _("Pad Array"))
self.grb_draw_zone = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/polygon32.png'), _("Region")) 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_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_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")) self.grb_move = self.grb_editor_cmenu.addAction(QtGui.QIcon('share/move32.png'), _("Move"))