- in Basic mode, the tool type column is no longer hidden as it may create issues when using an painted geometry

- some PEP8 clean-up in FlatCAMGui.py
This commit is contained in:
Marius Stanciu 2019-07-29 00:35:59 +03:00
parent 338f12707d
commit c6e3176ac3
5 changed files with 80 additions and 87 deletions

View File

@ -6141,11 +6141,12 @@ class App(QtCore.QObject):
self.report_usage("on_fileopengerber")
App.log.debug("on_fileopengerber()")
_filter_ = "Gerber Files (*.gbr *.ger *.gtl *.gbl *.gts *.gbs *.gtp *.gbp *.gto *.gbo *.gm1 *.gml *.gm3 *.gko " \
"*.cmp *.sol *.stc *.sts *.plc *.pls *.crc *.crs *.tsm *.bsm *.ly2 *.ly15 *.dim *.mil *.grb" \
_filter_ = "Gerber Files (*.gbr *.ger *.gtl *.gbl *.gts *.gbs *.gtp *.gbp *.gto *.gbo *.gm1 *.gml *.gm3 *" \
".gko *.cmp *.sol *.stc *.sts *.plc *.pls *.crc *.crs *.tsm *.bsm *.ly2 *.ly15 *.dim *.mil *.grb" \
"*.top *.bot *.smt *.smb *.sst *.ssb *.spt *.spb *.pho *.gdo *.art *.gbd *.gb*);;" \
"Protel Files (*.gtl *.gbl *.gts *.gbs *.gto *.gbo *.gtp *.gbp *.gml *.gm1 *.gm3 *.gko);;" \
"Eagle Files (*.cmp *.sol *.stc *.sts *.plc *.pls *.crc *.crs *.tsm *.bsm *.ly2 *.ly15 *.dim *.mil);;" \
"Eagle Files (*.cmp *.sol *.stc *.sts *.plc *.pls *.crc *.crs *.tsm *.bsm *.ly2 *.ly15 *.dim " \
"*.mil);;" \
"OrCAD Files (*.top *.bot *.smt *.smb *.sst *.ssb *.spt *.spb);;" \
"Allegro Files (*.art);;" \
"Mentor Files (*.pho *.gdo);;" \
@ -7680,9 +7681,9 @@ class App(QtCore.QObject):
app_obj.progress.emit(0)
self.log.error(str(err))
return "fail"
except:
msg = _("[ERROR] An internal error has ocurred. See shell.\n")
except Exception as e:
log.debug("App.open_gerber() --> %s" % str(e))
msg = _("[ERROR] An internal error has occurred. See shell.\n")
msg += traceback.format_exc()
app_obj.inform.emit(msg)
return "fail"

View File

@ -3318,7 +3318,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
self.ui.geo_tools_table.setColumnHidden(2, True)
self.ui.geo_tools_table.setColumnHidden(3, True)
self.ui.geo_tools_table.setColumnHidden(4, True)
# self.ui.geo_tools_table.setColumnHidden(4, True)
self.ui.addtool_entry_lbl.hide()
self.ui.addtool_entry.hide()
self.ui.addtool_btn.hide()

View File

@ -13,6 +13,8 @@ CAD program, and create G-Code for Isolation routing.
- fixed issue with not using the current units in the tool tables after unit conversion
- after unit conversion from Preferences, the default values are automatically saved by the app
- in Basic mode, the tool type column is no longer hidden as it may create issues when using an painted geometry
- some PEP8 clean-up in FlatCAMGui.py
20.07.2019

View File

@ -2154,11 +2154,12 @@ class Gerber (Geometry):
# Otherwise leave as is.
else:
# yield cleanline
# yield clean line
yield line
break
self.parse_lines(line_generator())
processed_lines = list(line_generator())
self.parse_lines(processed_lines)
# @profile
def parse_lines(self, glines):
@ -2241,10 +2242,10 @@ class Gerber (Geometry):
gline = gline.strip(' \r\n')
# log.debug("Line=%3s %s" % (line_num, gline))
# ############################################################# ##
# Ignored lines #
# Comments #### ##
# ############################################################# ##
# ###################
# Ignored lines #####
# Comments #####
# ###################
match = self.comm_re.search(gline)
if match:
continue

View File

@ -20,12 +20,13 @@ from flatcamEditors.FlatCAMGeoEditor import FCShapeTool
import gettext
import FlatCAMTranslation as fcTranslate
import builtins
fcTranslate.apply_language('strings')
import builtins
if '_' not in builtins.__dict__:
_ = gettext.gettext
class FlatCAMGUI(QtWidgets.QMainWindow):
# Emitted when persistent window geometry needs to be retained
geom_update = QtCore.pyqtSignal(int, int, int, int, int, name='geomUpdate')
@ -87,8 +88,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
# Open Excellon ...
self.menufileopenexcellon = QtWidgets.QAction(QtGui.QIcon('share/open_excellon32.png'),
_('Open &Excellon ...\tCTRL+E'),
self)
_('Open &Excellon ...\tCTRL+E'), self)
self.menufile_open.addAction(self.menufileopenexcellon)
# Open G-Code ...
@ -115,16 +115,14 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.menufile_scripting = self.menufile.addMenu(QtGui.QIcon('share/script16.png'), _('Scripting'))
self.menufile_scripting.setToolTipsVisible(True)
self.menufilenewscript = QtWidgets.QAction(QtGui.QIcon('share/script_new16.png'), _('New Script ...'),
self)
self.menufileopenscript = QtWidgets.QAction(QtGui.QIcon('share/script_open16.png'), _('Open Script ...'),
self)
self.menufilerunscript = QtWidgets.QAction(QtGui.QIcon('share/script16.png'), _('Run Script ...\tSHIFT+S'),
self)
self.menufilenewscript = QtWidgets.QAction(QtGui.QIcon('share/script_new16.png'), _('New Script ...'), self)
self.menufileopenscript = QtWidgets.QAction(QtGui.QIcon('share/script_open16.png'), _('Open Script ...'), self)
self.menufilerunscript = QtWidgets.QAction(QtGui.QIcon('share/script16.png'),
_('Run Script ...\tSHIFT+S'), self)
self.menufilerunscript.setToolTip(
_( "Will run the opened Tcl Script thus\n"
"enabling the automation of certain\n"
"functions of FlatCAM.")
_("Will run the opened Tcl Script thus\n"
"enabling the automation of certain\n"
"functions of FlatCAM.")
)
self.menufile_scripting.addAction(self.menufilenewscript)
self.menufile_scripting.addAction(self.menufileopenscript)
@ -174,8 +172,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.menufileexport.addSeparator()
self.menufileexportexcellon = QtWidgets.QAction(QtGui.QIcon('share/drill32.png'), _('Export &Excellon ...'),
self)
self.menufileexportexcellon = QtWidgets.QAction(QtGui.QIcon('share/drill32.png'),
_('Export &Excellon ...'), self)
self.menufileexportexcellon.setToolTip(
_("Will export an Excellon Object as Excellon file,\n"
"the coordinates format, the file units and zeros\n"
@ -183,8 +181,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
)
self.menufileexport.addAction(self.menufileexportexcellon)
self.menufileexportgerber = QtWidgets.QAction(QtGui.QIcon('share/flatcam_icon32.png'), _('Export &Gerber ...'),
self)
self.menufileexportgerber = QtWidgets.QAction(QtGui.QIcon('share/flatcam_icon32.png'),
_('Export &Gerber ...'), self)
self.menufileexportgerber.setToolTip(
_("Will export an Gerber Object as Gerber file,\n"
"the coordinates format, the file units and zeros\n"
@ -214,8 +212,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.menufile_save.addAction(self.menufilesaveprojectas)
# Save Project Copy ...
self.menufilesaveprojectcopy = QtWidgets.QAction(QtGui.QIcon('share/floppy16.png'), _('Save Project C&opy ...'),
self)
self.menufilesaveprojectcopy = QtWidgets.QAction(QtGui.QIcon('share/floppy16.png'),
_('Save Project C&opy ...'), self)
self.menufile_save.addAction(self.menufilesaveprojectcopy)
# Separator
@ -253,7 +251,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.menuedit_convertjoinexc = self.menuedit_convert.addAction(
QtGui.QIcon('share/join16.png'), _('Join Excellon(s) -> Excellon'))
self.menuedit_convertjoinexc.setToolTip(
_( "Merge a selection of Excellon objects into a new combo Excellon object.")
_("Merge a selection of Excellon objects into a new combo Excellon object.")
)
self.menuedit_convertjoingrb = self.menuedit_convert.addAction(
QtGui.QIcon('share/join16.png'), _('Join Gerber(s) -> Gerber'))
@ -279,7 +277,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.menueditconvert_any2geo = self.menuedit_convert.addAction(QtGui.QIcon('share/copy_geo.png'),
_('Convert Any to Geo'))
self.menueditconvert_any2gerber = self.menuedit_convert.addAction(QtGui.QIcon('share/copy_geo.png'),
_('Convert Any to Gerber'))
_('Convert Any to Gerber'))
self.menuedit_convert.setToolTipsVisible(True)
# Separator
@ -297,10 +295,9 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
# Separator
self.menuedit.addSeparator()
self.menuedittoggleunits= self.menuedit.addAction(QtGui.QIcon('share/toggle_units16.png'),
_('Toggle Units\tQ'))
self.menueditselectall = self.menuedit.addAction(QtGui.QIcon('share/select_all.png'),
_('&Select All\tCTRL+A'))
self.menuedittoggleunits = self.menuedit.addAction(QtGui.QIcon('share/toggle_units16.png'),
_('Toggle Units\tQ'))
self.menueditselectall = self.menuedit.addAction(QtGui.QIcon('share/select_all.png'), _('&Select All\tCTRL+A'))
# Separator
self.menuedit.addSeparator()
@ -329,7 +326,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.menuoptions_transform_skewx = self.menuoptions.addAction(QtGui.QIcon('share/skewX.png'),
_("&Skew on X axis\tSHIFT+X"))
self.menuoptions_transform_skewy = self.menuoptions.addAction(QtGui.QIcon('share/skewY.png'),
_( "S&kew on Y axis\tSHIFT+Y"))
_("S&kew on Y axis\tSHIFT+Y"))
# Separator
self.menuoptions.addSeparator()
@ -430,13 +427,13 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.geo_editor_menu.addSeparator()
self.geo_move_menuitem = self.geo_editor_menu.addAction(QtGui.QIcon('share/move32.png'), _("Move\tM"))
self.geo_buffer_menuitem = self.geo_editor_menu.addAction(
QtGui.QIcon('share/buffer16.png'),_( "Buffer Tool\tB")
QtGui.QIcon('share/buffer16.png'), _("Buffer Tool\tB")
)
self.geo_paint_menuitem = self.geo_editor_menu.addAction(
QtGui.QIcon('share/paint16.png'), _("Paint Tool\tI")
)
self.geo_transform_menuitem = self.geo_editor_menu.addAction(
QtGui.QIcon('share/transform.png'),_( "Transform Tool\tALT+R")
QtGui.QIcon('share/transform.png'), _("Transform Tool\tALT+R")
)
self.geo_editor_menu.addSeparator()
self.geo_cornersnap_menuitem = self.geo_editor_menu.addAction(
@ -461,50 +458,45 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
)
self.exc_editor_menu.addSeparator()
self.exc_move_drill_menuitem = self.exc_editor_menu.addAction(
QtGui.QIcon('share/move32.png'),_( 'Move Drill(s)\tM'))
self.exc_move_drill_menuitem = self.exc_editor_menu.addAction(QtGui.QIcon('share/move32.png'),
_('Move Drill(s)\tM'))
# ## APPLICATION GERBER EDITOR MENU ###
self.grb_editor_menu = QtWidgets.QMenu(_(">Gerber Editor<"))
self.menu.addMenu(self.grb_editor_menu)
self.grb_add_pad_menuitem = self.grb_editor_menu.addAction(
QtGui.QIcon('share/aperture16.png'), _('Add Pad\tP'))
self.grb_add_pad_array_menuitem = self.grb_editor_menu.addAction(
QtGui.QIcon('share/padarray32.png'), _('Add Pad Array\tA'))
self.grb_add_track_menuitem = self.grb_editor_menu.addAction(
QtGui.QIcon('share/track32.png'), _('Add Track\tT'))
self.grb_add_pad_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/aperture16.png'),
_('Add Pad\tP'))
self.grb_add_pad_array_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/padarray32.png'),
_('Add Pad Array\tA'))
self.grb_add_track_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/track32.png'),
_('Add Track\tT'))
self.grb_add_region_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/rectangle32.png'),
_('Add Region\tN'))
self.grb_editor_menu.addSeparator()
self.grb_convert_poly_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/poligonize32.png'),
_("Poligonize\tALT+N"))
self.grb_convert_poly_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/poligonize32.png'),
_("Poligonize\tALT+N"))
self.grb_add_semidisc_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/semidisc32.png'),
_("Add SemiDisc\tE"))
self.grb_add_disc_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/disc32.png'),
_("Add Disc\tD"))
self.grb_add_disc_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/disc32.png'), _("Add Disc\tD"))
self.grb_add_buffer_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/buffer16-2.png'),
_('Buffer\tB'))
self.grb_add_scale_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/scale32.png'),
_('Scale\tS'))
self.grb_add_scale_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/scale32.png'), _('Scale\tS'))
self.grb_add_markarea_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/markarea32.png'),
_('Mark Area\tALT+A'))
_('Mark Area\tALT+A'))
self.grb_add_eraser_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/eraser26.png'),
_('Eraser\tCTRL+E'))
self.grb_transform_menuitem = self.grb_editor_menu.addAction(
QtGui.QIcon('share/transform.png'),_( "Transform\tALT+R")
)
_('Eraser\tCTRL+E'))
self.grb_transform_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/transform.png'),
_("Transform\tALT+R"))
self.grb_editor_menu.addSeparator()
self.grb_copy_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/copy32.png'), _('Copy\tC'))
self.grb_delete_menuitem = self.grb_editor_menu.addAction(
QtGui.QIcon('share/deleteshape32.png'), _('Delete\tDEL')
)
self.grb_delete_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/deleteshape32.png'),
_('Delete\tDEL'))
self.grb_editor_menu.addSeparator()
self.grb_move_menuitem = self.grb_editor_menu.addAction(
QtGui.QIcon('share/move32.png'),_( 'Move\tM'))
self.grb_move_menuitem = self.grb_editor_menu.addAction(QtGui.QIcon('share/move32.png'), _('Move\tM'))
self.grb_editor_menu.menuAction().setVisible(False)
self.grb_editor_menu.setDisabled(True)
@ -529,7 +521,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.menuprojectedit = self.menuproject.addAction(QtGui.QIcon('share/edit_ok32.png'), _('Edit'))
self.menuprojectcopy = self.menuproject.addAction(QtGui.QIcon('share/copy32.png'), _('Copy'))
self.menuprojectdelete = self.menuproject.addAction(QtGui.QIcon('share/delete32.png'), _('Delete'))
self.menuprojectsave= self.menuproject.addAction(QtGui.QIcon('share/save_as.png'), _('Save'))
self.menuprojectsave = self.menuproject.addAction(QtGui.QIcon('share/save_as.png'), _('Save'))
self.menuproject.addSeparator()
self.menuprojectproperties = self.menuproject.addAction(QtGui.QIcon('share/properties32.png'), _('Properties'))
@ -648,7 +640,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.toolbartools.addSeparator()
self.panelize_btn = self.toolbartools.addAction(QtGui.QIcon('share/panel16.png'), _("Panel Tool"))
self.film_btn = self.toolbartools.addAction(QtGui.QIcon('share/film16.png'),_( "Film Tool"))
self.film_btn = self.toolbartools.addAction(QtGui.QIcon('share/film16.png'), _("Film Tool"))
self.solder_btn = self.toolbartools.addAction(QtGui.QIcon('share/solderpastebis32.png'), _("SolderPaste Tool"))
self.sub_btn = self.toolbartools.addAction(QtGui.QIcon('share/sub32.png'), _("Substract Tool"))
@ -1641,10 +1633,9 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.popmenu_move = self.popMenu.addAction(QtGui.QIcon('share/move32.png'), _("Move"))
self.popmenu_properties = self.popMenu.addAction(QtGui.QIcon('share/properties32.png'), _("Properties"))
################################## ##
# ## Here we build the CNCJob Tab # ##
################################## ##
# ###################################
# ## Here we build the CNCJob Tab ###
# ###################################
self.cncjob_tab = QtWidgets.QWidget()
self.cncjob_tab_layout = QtWidgets.QGridLayout(self.cncjob_tab)
self.cncjob_tab_layout.setContentsMargins(2, 2, 2, 2)
@ -1701,9 +1692,9 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
cnc_tab_lay_4.addWidget(self.buttonSave)
self.cncjob_tab_layout.addLayout(cnc_tab_lay_4, 2, 4, 1, 1)
################################ ##
# ## Build InfoBar is done here # ##
################################ ##
# #################################
# ## Build InfoBar is done here ###
# #################################
self.infobar = self.statusBar()
self.fcinfo = FlatCAMInfoBar()
self.infobar.addWidget(self.fcinfo, stretch=1)
@ -1925,16 +1916,14 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
_('Add Polygon'))
self.geo_edit_toolbar.addSeparator()
self.geo_add_text_btn = self.geo_edit_toolbar.addAction(QtGui.QIcon('share/text32.png'), _('Add Text'))
self.geo_add_buffer_btn = self.geo_edit_toolbar.addAction(QtGui.QIcon('share/buffer16-2.png'),
_('Add Buffer'))
self.geo_add_buffer_btn = self.geo_edit_toolbar.addAction(QtGui.QIcon('share/buffer16-2.png'), _('Add Buffer'))
self.geo_add_paint_btn = self.geo_edit_toolbar.addAction(QtGui.QIcon('share/paint20_1.png'), _('Paint Shape'))
self.geo_eraser_btn = self.geo_edit_toolbar.addAction(QtGui.QIcon('share/eraser26.png'), _('Eraser'))
self.geo_edit_toolbar.addSeparator()
self.geo_union_btn = self.geo_edit_toolbar.addAction(QtGui.QIcon('share/union32.png'), _('Polygon Union'))
self.geo_intersection_btn = self.geo_edit_toolbar.addAction(QtGui.QIcon('share/intersection32.png'),
_('Polygon Intersection'))
_('Polygon Intersection'))
self.geo_subtract_btn = self.geo_edit_toolbar.addAction(QtGui.QIcon('share/subtract32.png'),
_('Polygon Subtraction'))
@ -2378,10 +2367,10 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
if self.app.geo_editor.get_selected() is not None:
self.app.geo_editor.cutpath()
else:
msg = _('Please first select a geometry item to be cutted\n' \
'then select the geometry item that will be cutted\n' \
'out of the first item. In the end press ~X~ key or\n' \
'the toolbar button.')
msg = _('Please first select a geometry item to be cutted\n'
'then select the geometry item that will be cutted\n'
'out of the first item. In the end press ~X~ key or\n'
'the toolbar button.')
messagebox = QtWidgets.QMessageBox()
messagebox.setText(msg)
@ -2517,8 +2506,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
if self.app.geo_editor.get_selected() is not None:
self.app.geo_editor.intersection()
else:
msg = _("Please select geometry items \n" \
"on which to perform Intersection Tool.")
msg = _("Please select geometry items \n"
"on which to perform Intersection Tool.")
messagebox = QtWidgets.QMessageBox()
messagebox.setText(msg)
@ -2597,7 +2586,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
self.app.geo_editor.union()
else:
msg = _("Please select geometry items \n"
"on which to perform union.")
"on which to perform union.")
messagebox = QtWidgets.QMessageBox()
messagebox.setText(msg)
@ -4053,7 +4042,7 @@ class GerberGenPrefGroupUI(OptionsGroupUI):
self.circle_steps_label = QtWidgets.QLabel(_("Circle Steps:"))
self.circle_steps_label.setToolTip(
_("The number of circle steps for Gerber \n"
"circular aperture linear approximation.")
"circular aperture linear approximation.")
)
grid0.addWidget(self.circle_steps_label, 1, 0)
self.circle_steps_entry = IntEntry()
@ -4302,7 +4291,7 @@ class GerberExpPrefGroupUI(OptionsGroupUI):
)
hlay1.addWidget(self.format_whole_entry, QtCore.Qt.AlignLeft)
gerber_separator_label= QtWidgets.QLabel(':')
gerber_separator_label = QtWidgets.QLabel(':')
gerber_separator_label.setFixedWidth(5)
hlay1.addWidget(gerber_separator_label, QtCore.Qt.AlignLeft)
@ -4450,7 +4439,7 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
)
hlay1.addWidget(self.excellon_format_upper_in_entry, QtCore.Qt.AlignLeft)
excellon_separator_in_label= QtWidgets.QLabel(':')
excellon_separator_in_label = QtWidgets.QLabel(':')
excellon_separator_in_label.setFixedWidth(5)
hlay1.addWidget(excellon_separator_in_label, QtCore.Qt.AlignLeft)