- minor work in GCode Editor
This commit is contained in:
@@ -7,6 +7,10 @@ CHANGELOG for FlatCAM beta
|
|||||||
|
|
||||||
=================================================
|
=================================================
|
||||||
|
|
||||||
|
31.07.2020
|
||||||
|
|
||||||
|
- minor work in GCode Editor
|
||||||
|
|
||||||
29.07.2020
|
29.07.2020
|
||||||
|
|
||||||
- fixed an exception that was raised in Geometry object when using an Offset
|
- fixed an exception that was raised in Geometry object when using an Offset
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ class AppGCodeEditor(QtCore.QObject):
|
|||||||
|
|
||||||
self.ui = AppGCodeEditorUI(app=self.app)
|
self.ui = AppGCodeEditorUI(app=self.app)
|
||||||
|
|
||||||
|
self.edited_obj_name = ""
|
||||||
|
|
||||||
self.gcode_obj = None
|
self.gcode_obj = None
|
||||||
self.code_edited = ''
|
self.code_edited = ''
|
||||||
|
|
||||||
@@ -81,8 +83,9 @@ class AppGCodeEditor(QtCore.QObject):
|
|||||||
# #################################################################################
|
# #################################################################################
|
||||||
# ################### SIGNALS #####################################################
|
# ################### SIGNALS #####################################################
|
||||||
# #################################################################################
|
# #################################################################################
|
||||||
|
self.ui.name_entry.returnPressed.connect(self.on_name_activate)
|
||||||
self.ui.update_gcode_button.clicked.connect(self.insert_gcode)
|
self.ui.update_gcode_button.clicked.connect(self.insert_gcode)
|
||||||
self.ui.exit_editor_button.clicked.connect(self.update_fcgcode)
|
self.ui.exit_editor_button.clicked.connect(lambda: self.app.editor2object())
|
||||||
|
|
||||||
def build_ui(self):
|
def build_ui(self):
|
||||||
"""
|
"""
|
||||||
@@ -97,6 +100,10 @@ class AppGCodeEditor(QtCore.QObject):
|
|||||||
# Switch notebook to Selected page
|
# Switch notebook to Selected page
|
||||||
self.app.ui.notebook.setCurrentWidget(self.app.ui.selected_tab)
|
self.app.ui.notebook.setCurrentWidget(self.app.ui.selected_tab)
|
||||||
|
|
||||||
|
# make a new name for the new Excellon object (the one with edited content)
|
||||||
|
self.edited_obj_name = self.gcode_obj.options['name']
|
||||||
|
self.ui.name_entry.set_value(self.edited_obj_name)
|
||||||
|
|
||||||
def ui_connect(self):
|
def ui_connect(self):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -154,7 +161,7 @@ class AppGCodeEditor(QtCore.QObject):
|
|||||||
self.ui.gcode_editor_tab.load_text(gcode_text, move_to_start=True, clear_text=True)
|
self.ui.gcode_editor_tab.load_text(gcode_text, move_to_start=True, clear_text=True)
|
||||||
self.app.inform.emit('[success] %s...' % _('Loaded Machine Code into Code Editor'))
|
self.app.inform.emit('[success] %s...' % _('Loaded Machine Code into Code Editor'))
|
||||||
|
|
||||||
def update_fcgcode(self):
|
def update_fcgcode(self, edited_obj):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
:return:
|
:return:
|
||||||
@@ -166,7 +173,7 @@ class AppGCodeEditor(QtCore.QObject):
|
|||||||
self.gcode_obj.source_file = my_gcode
|
self.gcode_obj.source_file = my_gcode
|
||||||
|
|
||||||
self.ui.gcode_editor_tab.buttonSave.setStyleSheet("")
|
self.ui.gcode_editor_tab.buttonSave.setStyleSheet("")
|
||||||
self.ui.gcode_editor_tab.setIcon(QtGui.QIcon(self.app.resource_location + '/save_as.png'))
|
self.ui.gcode_editor_tab.buttonSave.setIcon(QtGui.QIcon(self.app.resource_location + '/save_as.png'))
|
||||||
|
|
||||||
def on_open_gcode(self):
|
def on_open_gcode(self):
|
||||||
"""
|
"""
|
||||||
@@ -188,6 +195,8 @@ class AppGCodeEditor(QtCore.QObject):
|
|||||||
self.ui.gcode_editor_tab.load_text(self.code_edited, move_to_start=True, clear_text=True)
|
self.ui.gcode_editor_tab.load_text(self.code_edited, move_to_start=True, clear_text=True)
|
||||||
file.close()
|
file.close()
|
||||||
|
|
||||||
|
def on_name_activate(self):
|
||||||
|
self.edited_obj_name = self.ui.name_entry.get_value()
|
||||||
|
|
||||||
class AppGCodeEditorUI:
|
class AppGCodeEditorUI:
|
||||||
def __init__(self, app):
|
def __init__(self, app):
|
||||||
|
|||||||
30
app_Main.py
30
app_Main.py
@@ -2298,7 +2298,7 @@ class App(QtCore.QObject):
|
|||||||
self.ui.tool_scroll_area.setWidget(QtWidgets.QWidget())
|
self.ui.tool_scroll_area.setWidget(QtWidgets.QWidget())
|
||||||
self.ui.notebook.setTabText(2, "Tool")
|
self.ui.notebook.setTabText(2, "Tool")
|
||||||
|
|
||||||
if isinstance(edited_obj, GeometryObject):
|
if edited_obj.kind == 'geometry':
|
||||||
obj_type = "Geometry"
|
obj_type = "Geometry"
|
||||||
self.geo_editor.update_fcgeometry(edited_obj)
|
self.geo_editor.update_fcgeometry(edited_obj)
|
||||||
# self.geo_editor.update_options(edited_obj)
|
# self.geo_editor.update_options(edited_obj)
|
||||||
@@ -2322,7 +2322,7 @@ class App(QtCore.QObject):
|
|||||||
edited_obj.plot()
|
edited_obj.plot()
|
||||||
self.inform.emit('[success] %s' % _("Editor exited. Editor content saved."))
|
self.inform.emit('[success] %s' % _("Editor exited. Editor content saved."))
|
||||||
|
|
||||||
elif isinstance(edited_obj, GerberObject):
|
elif edited_obj.kind == 'gerber':
|
||||||
obj_type = "Gerber"
|
obj_type = "Gerber"
|
||||||
self.grb_editor.update_fcgerber()
|
self.grb_editor.update_fcgerber()
|
||||||
# self.grb_editor.update_options(edited_obj)
|
# self.grb_editor.update_options(edited_obj)
|
||||||
@@ -2344,7 +2344,7 @@ class App(QtCore.QObject):
|
|||||||
# Remove anything else in the GUI
|
# Remove anything else in the GUI
|
||||||
self.ui.selected_scroll_area.takeWidget()
|
self.ui.selected_scroll_area.takeWidget()
|
||||||
|
|
||||||
elif isinstance(edited_obj, ExcellonObject):
|
elif edited_obj.kind == 'excellon':
|
||||||
obj_type = "Excellon"
|
obj_type = "Excellon"
|
||||||
self.exc_editor.update_fcexcellon(edited_obj)
|
self.exc_editor.update_fcexcellon(edited_obj)
|
||||||
# self.exc_editor.update_options(edited_obj)
|
# self.exc_editor.update_options(edited_obj)
|
||||||
@@ -2371,12 +2371,24 @@ class App(QtCore.QObject):
|
|||||||
self.collection.delete_by_name(name=old_name)
|
self.collection.delete_by_name(name=old_name)
|
||||||
self.inform.emit('[success] %s' % _("Editor exited. Editor content saved."))
|
self.inform.emit('[success] %s' % _("Editor exited. Editor content saved."))
|
||||||
|
|
||||||
|
elif edited_obj.kind == 'cncjob':
|
||||||
|
obj_type = "CNCJob"
|
||||||
|
self.gcode_editor.update_fcgcode(edited_obj)
|
||||||
|
# self.exc_editor.update_options(edited_obj)
|
||||||
|
|
||||||
|
# restore GUI to the Selected TAB
|
||||||
|
# Remove anything else in the GUI
|
||||||
|
self.ui.tool_scroll_area.takeWidget()
|
||||||
|
|
||||||
|
self.inform.emit('[success] %s' % _("Editor exited. Editor content saved."))
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.inform.emit('[WARNING_NOTCL] %s' %
|
self.inform.emit('[WARNING_NOTCL] %s' %
|
||||||
_("Select a Gerber, Geometry or Excellon Object to update."))
|
_("Select a Gerber, Geometry, Excellon or CNCJobObject to update."))
|
||||||
return
|
return
|
||||||
|
|
||||||
self.inform.emit('[selected] %s %s' % (obj_type, _("is updated, returning to App...")))
|
self.inform.emit('[selected] %s %s' % (obj_type, _("is updated, returning to App...")))
|
||||||
|
|
||||||
elif response == bt_no:
|
elif response == bt_no:
|
||||||
# show the Tools Toolbar
|
# show the Tools Toolbar
|
||||||
tools_tb = self.ui.toolbartools
|
tools_tb = self.ui.toolbartools
|
||||||
@@ -2389,19 +2401,21 @@ class App(QtCore.QObject):
|
|||||||
|
|
||||||
self.inform.emit('[WARNING_NOTCL] %s' % _("Editor exited. Editor content was not saved."))
|
self.inform.emit('[WARNING_NOTCL] %s' % _("Editor exited. Editor content was not saved."))
|
||||||
|
|
||||||
if isinstance(edited_obj, GeometryObject):
|
if edited_obj.kind == 'geometry':
|
||||||
self.geo_editor.deactivate()
|
self.geo_editor.deactivate()
|
||||||
edited_obj.build_ui()
|
edited_obj.build_ui()
|
||||||
edited_obj.plot()
|
edited_obj.plot()
|
||||||
elif isinstance(edited_obj, GerberObject):
|
elif edited_obj.kind == 'gerber':
|
||||||
self.grb_editor.deactivate_grb_editor()
|
self.grb_editor.deactivate_grb_editor()
|
||||||
edited_obj.build_ui()
|
edited_obj.build_ui()
|
||||||
elif isinstance(edited_obj, ExcellonObject):
|
elif edited_obj.kind == 'excellon':
|
||||||
self.exc_editor.deactivate()
|
self.exc_editor.deactivate()
|
||||||
edited_obj.build_ui()
|
edited_obj.build_ui()
|
||||||
|
elif edited_obj.kind == 'cncjob':
|
||||||
|
edited_obj.build_ui()
|
||||||
else:
|
else:
|
||||||
self.inform.emit('[WARNING_NOTCL] %s' %
|
self.inform.emit('[WARNING_NOTCL] %s' %
|
||||||
_("Select a Gerber, Geometry or Excellon Object to update."))
|
_("Select a Gerber, Geometry, Excellon or CNCJobObject to update."))
|
||||||
return
|
return
|
||||||
elif response == bt_cancel:
|
elif response == bt_cancel:
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user