diff --git a/CHANGELOG.md b/CHANGELOG.md index 75254f8a..330fc93d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ CHANGELOG for FlatCAM beta - upgraded all the plugins such that at each launch the Plugin UI is reinitialized reducing the chances to get errors like "wrapped up C++ object deleted" with the side effect that the performance might be slightly reduced - minor logging changes +- created a new category in Preferences where only the Engraving Related preferences are located +- added a new set of options in the Preferences for the Milling Plugin by taking them out of the Geometry section 22.03.2021 diff --git a/appGUI/MainGUI.py b/appGUI/MainGUI.py index cbdae3de..38620f9e 100644 --- a/appGUI/MainGUI.py +++ b/appGUI/MainGUI.py @@ -26,8 +26,10 @@ from matplotlib.backend_bases import KeyEvent as mpl_key_event import webbrowser -from appGUI.preferences.tools.Tools2PreferencesUI import Tools2PreferencesUI -from appGUI.preferences.tools.ToolsPreferencesUI import ToolsPreferencesUI +from appGUI.preferences.tools.PluginsPreferencesUI import PluginsPreferencesUI +from appGUI.preferences.tools.Plugins2PreferencesUI import Plugins2PreferencesUI +from appGUI.preferences.tools.PluginsEngravingPreferencesUI import PluginsEngravingPreferencesUI + from appGUI.preferences.utilities.UtilPreferencesUI import UtilPreferencesUI from appObjects.ObjectCollection import KeySensitiveListView @@ -1539,8 +1541,17 @@ class MainGUI(QtWidgets.QMainWindow): self.cncjob_scroll_area = QtWidgets.QScrollArea() self.cncjob_tab_lay.addWidget(self.cncjob_scroll_area) + self.plugins_eng_tab = QtWidgets.QWidget() + self.pref_tab_area.addTab(self.plugins_eng_tab, '%s' % _("Engraving").upper()) + self.plugins_eng_tab_lay = QtWidgets.QVBoxLayout() + self.plugins_eng_tab_lay.setContentsMargins(2, 2, 2, 2) + self.plugins_eng_tab.setLayout(self.plugins_eng_tab_lay) + + self.plugins_engraving_scroll_area = QtWidgets.QScrollArea() + self.plugins_eng_tab_lay.addWidget(self.plugins_engraving_scroll_area) + self.tools_tab = QtWidgets.QWidget() - self.pref_tab_area.addTab(self.tools_tab, '%s' % _("Plugins").upper()) + self.pref_tab_area.addTab(self.tools_tab, '%s' % _("Processing").upper()) self.tools_tab_lay = QtWidgets.QVBoxLayout() self.tools_tab_lay.setContentsMargins(2, 2, 2, 2) self.tools_tab.setLayout(self.tools_tab_lay) @@ -1549,7 +1560,7 @@ class MainGUI(QtWidgets.QMainWindow): self.tools_tab_lay.addWidget(self.tools_scroll_area) self.tools2_tab = QtWidgets.QWidget() - self.pref_tab_area.addTab(self.tools2_tab, '%s %s' % (_("Plugins").upper(), str(2))) + self.pref_tab_area.addTab(self.tools2_tab, '%s' % _("Extra Plugins").upper()) self.tools2_tab_lay = QtWidgets.QVBoxLayout() self.tools2_tab_lay.setContentsMargins(2, 2, 2, 2) self.tools2_tab.setLayout(self.tools2_tab_lay) @@ -1855,14 +1866,16 @@ class MainGUI(QtWidgets.QMainWindow): # ######################################################################## # ######################## BUILD PREFERENCES ############################# # ######################################################################## - self.general_defaults_form = GeneralPreferencesUI(decimals=self.decimals) - self.gerber_defaults_form = GerberPreferencesUI(decimals=self.decimals) - self.excellon_defaults_form = ExcellonPreferencesUI(decimals=self.decimals) - self.geometry_defaults_form = GeometryPreferencesUI(decimals=self.decimals) - self.cncjob_defaults_form = CNCJobPreferencesUI(decimals=self.decimals) - self.tools_defaults_form = ToolsPreferencesUI(decimals=self.decimals) - self.tools2_defaults_form = Tools2PreferencesUI(decimals=self.decimals) - self.util_defaults_form = UtilPreferencesUI(decimals=self.decimals) + self.general_pref_form = GeneralPreferencesUI(decimals=self.decimals) + self.gerber_pref_form = GerberPreferencesUI(decimals=self.decimals) + self.excellon_pref_form = ExcellonPreferencesUI(decimals=self.decimals) + self.geo_pref_form = GeometryPreferencesUI(decimals=self.decimals) + self.cncjob_pref_form = CNCJobPreferencesUI(decimals=self.decimals) + self.plugin_pref_form = PluginsPreferencesUI(decimals=self.decimals) + self.plugin2_pref_form = Plugins2PreferencesUI(decimals=self.decimals) + self.plugin_eng_pref_form = PluginsEngravingPreferencesUI(decimals=self.decimals) + + self.util_pref_form = UtilPreferencesUI(decimals=self.decimals) QtCore.QCoreApplication.instance().installEventFilter(self) @@ -2989,9 +3002,9 @@ class MainGUI(QtWidgets.QMainWindow): # Change Units if key == QtCore.Qt.Key_Q: # if self.app.defaults["units"] == 'MM': - # self.app.ui.general_defaults_form.general_app_group.units_radio.set_value("IN") + # self.app.ui.general_pref_form.general_app_group.units_radio.set_value("IN") # else: - # self.app.ui.general_defaults_form.general_app_group.units_radio.set_value("MM") + # self.app.ui.general_pref_form.general_app_group.units_radio.set_value("MM") # self.app.on_toggle_units(no_pref=True) self.app.on_toggle_units_click() @@ -3765,7 +3778,7 @@ class MainGUI(QtWidgets.QMainWindow): if key == QtCore.Qt.Key_T or key == 'T': self.app.exc_editor.launched_from_shortcuts = True # ## Current application units in Upper Case - self.units = self.general_defaults_form.general_app_group.units_radio.get_value().upper() + self.units = self.general_pref_form.general_app_group.units_radio.get_value().upper() tool_add_popup = FCInputDoubleSpinner(title='%s ...' % _("New Tool"), text='%s:' % _('Enter a Tool Diameter'), min=0.0000, max=99.9999, decimals=self.decimals) diff --git a/appGUI/preferences/PreferencesUIManager.py b/appGUI/preferences/PreferencesUIManager.py index c24cbdce..34f1243b 100644 --- a/appGUI/preferences/PreferencesUIManager.py +++ b/appGUI/preferences/PreferencesUIManager.py @@ -42,651 +42,657 @@ class PreferencesUIManager: # def app_obj.new_object(self, kind, name, initialize, active=True, fit=True, plot=True) self.defaults_form_fields = { # General App - "decimals_inch": self.ui.general_defaults_form.general_app_group.precision_inch_entry, - "decimals_metric": self.ui.general_defaults_form.general_app_group.precision_metric_entry, - "units": self.ui.general_defaults_form.general_app_group.units_radio, - "global_graphic_engine": self.ui.general_defaults_form.general_app_group.ge_radio, - "global_app_level": self.ui.general_defaults_form.general_app_group.app_level_radio, - "global_log_verbose": self.ui.general_defaults_form.general_app_group.verbose_cb, - "global_portable": self.ui.general_defaults_form.general_app_group.portability_cb, + "decimals_inch": self.ui.general_pref_form.general_app_group.precision_inch_entry, + "decimals_metric": self.ui.general_pref_form.general_app_group.precision_metric_entry, + "units": self.ui.general_pref_form.general_app_group.units_radio, + "global_graphic_engine": self.ui.general_pref_form.general_app_group.ge_radio, + "global_app_level": self.ui.general_pref_form.general_app_group.app_level_radio, + "global_log_verbose": self.ui.general_pref_form.general_app_group.verbose_cb, + "global_portable": self.ui.general_pref_form.general_app_group.portability_cb, - "global_language": self.ui.general_defaults_form.general_app_group.language_cb, + "global_language": self.ui.general_pref_form.general_app_group.language_cb, - "global_systray_icon": self.ui.general_defaults_form.general_app_group.systray_cb, - "global_shell_at_startup": self.ui.general_defaults_form.general_app_group.shell_startup_cb, - "global_project_at_startup": self.ui.general_defaults_form.general_app_group.project_startup_cb, - "global_version_check": self.ui.general_defaults_form.general_app_group.version_check_cb, - "global_send_stats": self.ui.general_defaults_form.general_app_group.send_stats_cb, + "global_systray_icon": self.ui.general_pref_form.general_app_group.systray_cb, + "global_shell_at_startup": self.ui.general_pref_form.general_app_group.shell_startup_cb, + "global_project_at_startup": self.ui.general_pref_form.general_app_group.project_startup_cb, + "global_version_check": self.ui.general_pref_form.general_app_group.version_check_cb, + "global_send_stats": self.ui.general_pref_form.general_app_group.send_stats_cb, - "global_worker_number": self.ui.general_defaults_form.general_app_group.worker_number_sb, - "global_tolerance": self.ui.general_defaults_form.general_app_group.tol_entry, + "global_worker_number": self.ui.general_pref_form.general_app_group.worker_number_sb, + "global_tolerance": self.ui.general_pref_form.general_app_group.tol_entry, - "global_compression_level": self.ui.general_defaults_form.general_app_group.compress_spinner, - "global_save_compressed": self.ui.general_defaults_form.general_app_group.save_type_cb, - "global_autosave": self.ui.general_defaults_form.general_app_group.autosave_cb, - "global_autosave_timeout": self.ui.general_defaults_form.general_app_group.autosave_entry, + "global_compression_level": self.ui.general_pref_form.general_app_group.compress_spinner, + "global_save_compressed": self.ui.general_pref_form.general_app_group.save_type_cb, + "global_autosave": self.ui.general_pref_form.general_app_group.autosave_cb, + "global_autosave_timeout": self.ui.general_pref_form.general_app_group.autosave_entry, - "global_tpdf_tmargin": self.ui.general_defaults_form.general_app_group.tmargin_entry, - "global_tpdf_bmargin": self.ui.general_defaults_form.general_app_group.bmargin_entry, - "global_tpdf_lmargin": self.ui.general_defaults_form.general_app_group.lmargin_entry, - "global_tpdf_rmargin": self.ui.general_defaults_form.general_app_group.rmargin_entry, + "global_tpdf_tmargin": self.ui.general_pref_form.general_app_group.tmargin_entry, + "global_tpdf_bmargin": self.ui.general_pref_form.general_app_group.bmargin_entry, + "global_tpdf_lmargin": self.ui.general_pref_form.general_app_group.lmargin_entry, + "global_tpdf_rmargin": self.ui.general_pref_form.general_app_group.rmargin_entry, # General GUI Preferences - "global_theme": self.ui.general_defaults_form.general_gui_group.theme_radio, - "global_gray_icons": self.ui.general_defaults_form.general_gui_group.gray_icons_cb, - "global_layout": self.ui.general_defaults_form.general_gui_group.layout_combo, - "global_hover_shape": self.ui.general_defaults_form.general_gui_group.hover_cb, - "global_selection_shape": self.ui.general_defaults_form.general_gui_group.selection_cb, + "global_theme": self.ui.general_pref_form.general_gui_group.theme_radio, + "global_gray_icons": self.ui.general_pref_form.general_gui_group.gray_icons_cb, + "global_layout": self.ui.general_pref_form.general_gui_group.layout_combo, + "global_hover_shape": self.ui.general_pref_form.general_gui_group.hover_cb, + "global_selection_shape": self.ui.general_pref_form.general_gui_group.selection_cb, - "global_sel_fill": self.ui.general_defaults_form.general_gui_group.sf_color_entry, - "global_sel_line": self.ui.general_defaults_form.general_gui_group.sl_color_entry, - "global_alt_sel_fill": self.ui.general_defaults_form.general_gui_group.alt_sf_color_entry, - "global_alt_sel_line": self.ui.general_defaults_form.general_gui_group.alt_sl_color_entry, - "global_draw_color": self.ui.general_defaults_form.general_gui_group.draw_color_entry, - "global_sel_draw_color": self.ui.general_defaults_form.general_gui_group.sel_draw_color_entry, + "global_sel_fill": self.ui.general_pref_form.general_gui_group.sf_color_entry, + "global_sel_line": self.ui.general_pref_form.general_gui_group.sl_color_entry, + "global_alt_sel_fill": self.ui.general_pref_form.general_gui_group.alt_sf_color_entry, + "global_alt_sel_line": self.ui.general_pref_form.general_gui_group.alt_sl_color_entry, + "global_draw_color": self.ui.general_pref_form.general_gui_group.draw_color_entry, + "global_sel_draw_color": self.ui.general_pref_form.general_gui_group.sel_draw_color_entry, - "global_proj_item_color": self.ui.general_defaults_form.general_gui_group.proj_color_entry, - "global_proj_item_dis_color": self.ui.general_defaults_form.general_gui_group.proj_color_dis_entry, - "global_project_autohide": self.ui.general_defaults_form.general_gui_group.project_autohide_cb, + "global_proj_item_color": self.ui.general_pref_form.general_gui_group.proj_color_entry, + "global_proj_item_dis_color": self.ui.general_pref_form.general_gui_group.proj_color_dis_entry, + "global_project_autohide": self.ui.general_pref_form.general_gui_group.project_autohide_cb, # General APP Settings - "global_gridx": self.ui.general_defaults_form.general_app_set_group.gridx_entry, - "global_gridy": self.ui.general_defaults_form.general_app_set_group.gridy_entry, - "global_snap_max": self.ui.general_defaults_form.general_app_set_group.snap_max_dist_entry, - "global_workspace": self.ui.general_defaults_form.general_app_set_group.workspace_cb, - "global_workspaceT": self.ui.general_defaults_form.general_app_set_group.wk_cb, - "global_workspace_orientation": self.ui.general_defaults_form.general_app_set_group.wk_orientation_radio, + "global_gridx": self.ui.general_pref_form.general_app_set_group.gridx_entry, + "global_gridy": self.ui.general_pref_form.general_app_set_group.gridy_entry, + "global_snap_max": self.ui.general_pref_form.general_app_set_group.snap_max_dist_entry, + "global_workspace": self.ui.general_pref_form.general_app_set_group.workspace_cb, + "global_workspaceT": self.ui.general_pref_form.general_app_set_group.wk_cb, + "global_workspace_orientation": self.ui.general_pref_form.general_app_set_group.wk_orientation_radio, - "global_axis_color": self.ui.general_defaults_form.general_app_set_group.axis_color_entry, + "global_axis_color": self.ui.general_pref_form.general_app_set_group.axis_color_entry, - "global_cursor_type": self.ui.general_defaults_form.general_app_set_group.cursor_radio, - "global_cursor_size": self.ui.general_defaults_form.general_app_set_group.cursor_size_entry, - "global_cursor_width": self.ui.general_defaults_form.general_app_set_group.cursor_width_entry, - "global_cursor_color_enabled": self.ui.general_defaults_form.general_app_set_group.mouse_cursor_color_cb, - "global_cursor_color": self.ui.general_defaults_form.general_app_set_group.mouse_cursor_entry, - "global_pan_button": self.ui.general_defaults_form.general_app_set_group.pan_button_radio, - "global_mselect_key": self.ui.general_defaults_form.general_app_set_group.mselect_radio, - "global_delete_confirmation": self.ui.general_defaults_form.general_app_set_group.delete_conf_cb, - "global_allow_edit_in_project_tab": self.ui.general_defaults_form.general_app_set_group.allow_edit_cb, - "global_open_style": self.ui.general_defaults_form.general_app_set_group.open_style_cb, - "global_toggle_tooltips": self.ui.general_defaults_form.general_app_set_group.toggle_tooltips_cb, + "global_cursor_type": self.ui.general_pref_form.general_app_set_group.cursor_radio, + "global_cursor_size": self.ui.general_pref_form.general_app_set_group.cursor_size_entry, + "global_cursor_width": self.ui.general_pref_form.general_app_set_group.cursor_width_entry, + "global_cursor_color_enabled": self.ui.general_pref_form.general_app_set_group.mouse_cursor_color_cb, + "global_cursor_color": self.ui.general_pref_form.general_app_set_group.mouse_cursor_entry, + "global_pan_button": self.ui.general_pref_form.general_app_set_group.pan_button_radio, + "global_mselect_key": self.ui.general_pref_form.general_app_set_group.mselect_radio, + "global_delete_confirmation": self.ui.general_pref_form.general_app_set_group.delete_conf_cb, + "global_allow_edit_in_project_tab": self.ui.general_pref_form.general_app_set_group.allow_edit_cb, + "global_open_style": self.ui.general_pref_form.general_app_set_group.open_style_cb, + "global_toggle_tooltips": self.ui.general_pref_form.general_app_set_group.toggle_tooltips_cb, - "global_bookmarks_limit": self.ui.general_defaults_form.general_app_set_group.bm_limit_spinner, - "global_activity_icon": self.ui.general_defaults_form.general_app_set_group.activity_combo, + "global_bookmarks_limit": self.ui.general_pref_form.general_app_set_group.bm_limit_spinner, + "global_activity_icon": self.ui.general_pref_form.general_app_set_group.activity_combo, # Gerber General - "gerber_plot": self.ui.gerber_defaults_form.gerber_gen_group.plot_cb, - "gerber_solid": self.ui.gerber_defaults_form.gerber_gen_group.solid_cb, - "gerber_multicolored": self.ui.gerber_defaults_form.gerber_gen_group.multicolored_cb, - "gerber_store_color_list": self.ui.gerber_defaults_form.gerber_gen_group.store_colors_cb, - "gerber_circle_steps": self.ui.gerber_defaults_form.gerber_gen_group.circle_steps_entry, - "gerber_def_units": self.ui.gerber_defaults_form.gerber_gen_group.gerber_units_radio, - "gerber_def_zeros": self.ui.gerber_defaults_form.gerber_gen_group.gerber_zeros_radio, - "gerber_clean_apertures": self.ui.gerber_defaults_form.gerber_gen_group.gerber_clean_cb, - "gerber_extra_buffering": self.ui.gerber_defaults_form.gerber_gen_group.gerber_extra_buffering, - "gerber_plot_fill": self.ui.gerber_defaults_form.gerber_gen_group.fill_color_entry, - "gerber_plot_line": self.ui.gerber_defaults_form.gerber_gen_group.line_color_entry, + "gerber_plot": self.ui.gerber_pref_form.gerber_gen_group.plot_cb, + "gerber_solid": self.ui.gerber_pref_form.gerber_gen_group.solid_cb, + "gerber_multicolored": self.ui.gerber_pref_form.gerber_gen_group.multicolored_cb, + "gerber_store_color_list": self.ui.gerber_pref_form.gerber_gen_group.store_colors_cb, + "gerber_circle_steps": self.ui.gerber_pref_form.gerber_gen_group.circle_steps_entry, + "gerber_def_units": self.ui.gerber_pref_form.gerber_gen_group.gerber_units_radio, + "gerber_def_zeros": self.ui.gerber_pref_form.gerber_gen_group.gerber_zeros_radio, + "gerber_clean_apertures": self.ui.gerber_pref_form.gerber_gen_group.gerber_clean_cb, + "gerber_extra_buffering": self.ui.gerber_pref_form.gerber_gen_group.gerber_extra_buffering, + "gerber_plot_fill": self.ui.gerber_pref_form.gerber_gen_group.fill_color_entry, + "gerber_plot_line": self.ui.gerber_pref_form.gerber_gen_group.line_color_entry, # Gerber Options - "gerber_noncoppermargin": self.ui.gerber_defaults_form.gerber_opt_group.noncopper_margin_entry, - "gerber_noncopperrounded": self.ui.gerber_defaults_form.gerber_opt_group.noncopper_rounded_cb, - "gerber_bboxmargin": self.ui.gerber_defaults_form.gerber_opt_group.bbmargin_entry, - "gerber_bboxrounded": self.ui.gerber_defaults_form.gerber_opt_group.bbrounded_cb, + "gerber_noncoppermargin": self.ui.gerber_pref_form.gerber_opt_group.noncopper_margin_entry, + "gerber_noncopperrounded": self.ui.gerber_pref_form.gerber_opt_group.noncopper_rounded_cb, + "gerber_bboxmargin": self.ui.gerber_pref_form.gerber_opt_group.bbmargin_entry, + "gerber_bboxrounded": self.ui.gerber_pref_form.gerber_opt_group.bbrounded_cb, # Gerber Advanced Options - "gerber_aperture_display": self.ui.gerber_defaults_form.gerber_adv_opt_group.aperture_table_visibility_cb, - # "gerber_aperture_scale_factor": self.ui.gerber_defaults_form.gerber_adv_opt_group.scale_aperture_entry, - # "gerber_aperture_buffer_factor": self.ui.gerber_defaults_form.gerber_adv_opt_group.buffer_aperture_entry, - "gerber_follow": self.ui.gerber_defaults_form.gerber_adv_opt_group.follow_cb, - "gerber_buffering": self.ui.gerber_defaults_form.gerber_adv_opt_group.buffering_radio, - "gerber_delayed_buffering": self.ui.gerber_defaults_form.gerber_adv_opt_group.delayed_buffer_cb, - "gerber_simplification": self.ui.gerber_defaults_form.gerber_adv_opt_group.simplify_cb, - "gerber_simp_tolerance": self.ui.gerber_defaults_form.gerber_adv_opt_group.simplification_tol_spinner, + "gerber_aperture_display": self.ui.gerber_pref_form.gerber_adv_opt_group.aperture_table_visibility_cb, + # "gerber_aperture_scale_factor": self.ui.gerber_pref_form.gerber_adv_opt_group.scale_aperture_entry, + # "gerber_aperture_buffer_factor": self.ui.gerber_pref_form.gerber_adv_opt_group.buffer_aperture_entry, + "gerber_follow": self.ui.gerber_pref_form.gerber_adv_opt_group.follow_cb, + "gerber_buffering": self.ui.gerber_pref_form.gerber_adv_opt_group.buffering_radio, + "gerber_delayed_buffering": self.ui.gerber_pref_form.gerber_adv_opt_group.delayed_buffer_cb, + "gerber_simplification": self.ui.gerber_pref_form.gerber_adv_opt_group.simplify_cb, + "gerber_simp_tolerance": self.ui.gerber_pref_form.gerber_adv_opt_group.simplification_tol_spinner, # Gerber Export - "gerber_exp_units": self.ui.gerber_defaults_form.gerber_exp_group.gerber_units_radio, - "gerber_exp_integer": self.ui.gerber_defaults_form.gerber_exp_group.format_whole_entry, - "gerber_exp_decimals": self.ui.gerber_defaults_form.gerber_exp_group.format_dec_entry, - "gerber_exp_zeros": self.ui.gerber_defaults_form.gerber_exp_group.zeros_radio, + "gerber_exp_units": self.ui.gerber_pref_form.gerber_exp_group.gerber_units_radio, + "gerber_exp_integer": self.ui.gerber_pref_form.gerber_exp_group.format_whole_entry, + "gerber_exp_decimals": self.ui.gerber_pref_form.gerber_exp_group.format_dec_entry, + "gerber_exp_zeros": self.ui.gerber_pref_form.gerber_exp_group.zeros_radio, # Gerber Editor - "gerber_editor_sel_limit": self.ui.gerber_defaults_form.gerber_editor_group.sel_limit_entry, - "gerber_editor_newcode": self.ui.gerber_defaults_form.gerber_editor_group.addcode_entry, - "gerber_editor_newsize": self.ui.gerber_defaults_form.gerber_editor_group.addsize_entry, - "gerber_editor_newtype": self.ui.gerber_defaults_form.gerber_editor_group.addtype_combo, - "gerber_editor_newdim": self.ui.gerber_defaults_form.gerber_editor_group.adddim_entry, - "gerber_editor_array_size": self.ui.gerber_defaults_form.gerber_editor_group.grb_array_size_entry, - "gerber_editor_lin_axis": self.ui.gerber_defaults_form.gerber_editor_group.grb_axis_radio, - "gerber_editor_lin_pitch": self.ui.gerber_defaults_form.gerber_editor_group.grb_pitch_entry, - "gerber_editor_lin_angle": self.ui.gerber_defaults_form.gerber_editor_group.grb_angle_entry, - "gerber_editor_circ_dir": self.ui.gerber_defaults_form.gerber_editor_group.grb_circular_dir_radio, + "gerber_editor_sel_limit": self.ui.gerber_pref_form.gerber_editor_group.sel_limit_entry, + "gerber_editor_newcode": self.ui.gerber_pref_form.gerber_editor_group.addcode_entry, + "gerber_editor_newsize": self.ui.gerber_pref_form.gerber_editor_group.addsize_entry, + "gerber_editor_newtype": self.ui.gerber_pref_form.gerber_editor_group.addtype_combo, + "gerber_editor_newdim": self.ui.gerber_pref_form.gerber_editor_group.adddim_entry, + "gerber_editor_array_size": self.ui.gerber_pref_form.gerber_editor_group.grb_array_size_entry, + "gerber_editor_lin_axis": self.ui.gerber_pref_form.gerber_editor_group.grb_axis_radio, + "gerber_editor_lin_pitch": self.ui.gerber_pref_form.gerber_editor_group.grb_pitch_entry, + "gerber_editor_lin_angle": self.ui.gerber_pref_form.gerber_editor_group.grb_angle_entry, + "gerber_editor_circ_dir": self.ui.gerber_pref_form.gerber_editor_group.grb_circular_dir_radio, "gerber_editor_circ_angle": - self.ui.gerber_defaults_form.gerber_editor_group.grb_circular_angle_entry, - "gerber_editor_scale_f": self.ui.gerber_defaults_form.gerber_editor_group.grb_scale_entry, - "gerber_editor_buff_f": self.ui.gerber_defaults_form.gerber_editor_group.grb_buff_entry, - "gerber_editor_ma_low": self.ui.gerber_defaults_form.gerber_editor_group.grb_ma_low_entry, - "gerber_editor_ma_high": self.ui.gerber_defaults_form.gerber_editor_group.grb_ma_high_entry, + self.ui.gerber_pref_form.gerber_editor_group.grb_circular_angle_entry, + "gerber_editor_scale_f": self.ui.gerber_pref_form.gerber_editor_group.grb_scale_entry, + "gerber_editor_buff_f": self.ui.gerber_pref_form.gerber_editor_group.grb_buff_entry, + "gerber_editor_ma_low": self.ui.gerber_pref_form.gerber_editor_group.grb_ma_low_entry, + "gerber_editor_ma_high": self.ui.gerber_pref_form.gerber_editor_group.grb_ma_high_entry, # Excellon General - "excellon_plot": self.ui.excellon_defaults_form.excellon_gen_group.plot_cb, - "excellon_solid": self.ui.excellon_defaults_form.excellon_gen_group.solid_cb, - "excellon_multicolored": self.ui.excellon_defaults_form.excellon_gen_group.multicolored_cb, - "excellon_merge_fuse_tools": self.ui.excellon_defaults_form.excellon_gen_group.fuse_tools_cb, + "excellon_plot": self.ui.excellon_pref_form.excellon_gen_group.plot_cb, + "excellon_solid": self.ui.excellon_pref_form.excellon_gen_group.solid_cb, + "excellon_multicolored": self.ui.excellon_pref_form.excellon_gen_group.multicolored_cb, + "excellon_merge_fuse_tools": self.ui.excellon_pref_form.excellon_gen_group.fuse_tools_cb, "excellon_format_upper_in": - self.ui.excellon_defaults_form.excellon_gen_group.excellon_format_upper_in_entry, + self.ui.excellon_pref_form.excellon_gen_group.excellon_format_upper_in_entry, "excellon_format_lower_in": - self.ui.excellon_defaults_form.excellon_gen_group.excellon_format_lower_in_entry, + self.ui.excellon_pref_form.excellon_gen_group.excellon_format_lower_in_entry, "excellon_format_upper_mm": - self.ui.excellon_defaults_form.excellon_gen_group.excellon_format_upper_mm_entry, + self.ui.excellon_pref_form.excellon_gen_group.excellon_format_upper_mm_entry, "excellon_format_lower_mm": - self.ui.excellon_defaults_form.excellon_gen_group.excellon_format_lower_mm_entry, - "excellon_zeros": self.ui.excellon_defaults_form.excellon_gen_group.excellon_zeros_radio, - "excellon_units": self.ui.excellon_defaults_form.excellon_gen_group.excellon_units_radio, - "excellon_update": self.ui.excellon_defaults_form.excellon_gen_group.update_excellon_cb, - "excellon_optimization_type": self.ui.excellon_defaults_form.excellon_gen_group.excellon_optimization_radio, - "excellon_search_time": self.ui.excellon_defaults_form.excellon_gen_group.optimization_time_entry, - "excellon_plot_fill": self.ui.excellon_defaults_form.excellon_gen_group.fill_color_entry, - "excellon_plot_line": self.ui.excellon_defaults_form.excellon_gen_group.line_color_entry, + self.ui.excellon_pref_form.excellon_gen_group.excellon_format_lower_mm_entry, + "excellon_zeros": self.ui.excellon_pref_form.excellon_gen_group.excellon_zeros_radio, + "excellon_units": self.ui.excellon_pref_form.excellon_gen_group.excellon_units_radio, + "excellon_update": self.ui.excellon_pref_form.excellon_gen_group.update_excellon_cb, + "excellon_optimization_type": self.ui.excellon_pref_form.excellon_gen_group.excellon_optimization_radio, + "excellon_search_time": self.ui.excellon_pref_form.excellon_gen_group.optimization_time_entry, + "excellon_plot_fill": self.ui.excellon_pref_form.excellon_gen_group.fill_color_entry, + "excellon_plot_line": self.ui.excellon_pref_form.excellon_gen_group.line_color_entry, # Excellon Options - "excellon_drill_tooldia": self.ui.excellon_defaults_form.excellon_opt_group.tooldia_entry, - "excellon_slot_tooldia": self.ui.excellon_defaults_form.excellon_opt_group.slot_tooldia_entry, + "excellon_drill_tooldia": self.ui.excellon_pref_form.excellon_opt_group.tooldia_entry, + "excellon_slot_tooldia": self.ui.excellon_pref_form.excellon_opt_group.slot_tooldia_entry, # Excellon Advanced Options - "excellon_tools_table_display": self.ui.excellon_defaults_form.excellon_adv_opt_group.table_visibility_cb, - "excellon_autoload_db": self.ui.excellon_defaults_form.excellon_adv_opt_group.autoload_db_cb, + "excellon_tools_table_display": self.ui.excellon_pref_form.excellon_adv_opt_group.table_visibility_cb, + "excellon_autoload_db": self.ui.excellon_pref_form.excellon_adv_opt_group.autoload_db_cb, # Excellon Export - "excellon_exp_units": self.ui.excellon_defaults_form.excellon_exp_group.excellon_units_radio, - "excellon_exp_format": self.ui.excellon_defaults_form.excellon_exp_group.format_radio, - "excellon_exp_integer": self.ui.excellon_defaults_form.excellon_exp_group.format_whole_entry, - "excellon_exp_decimals": self.ui.excellon_defaults_form.excellon_exp_group.format_dec_entry, - "excellon_exp_zeros": self.ui.excellon_defaults_form.excellon_exp_group.zeros_radio, - "excellon_exp_slot_type": self.ui.excellon_defaults_form.excellon_exp_group.slot_type_radio, + "excellon_exp_units": self.ui.excellon_pref_form.excellon_exp_group.excellon_units_radio, + "excellon_exp_format": self.ui.excellon_pref_form.excellon_exp_group.format_radio, + "excellon_exp_integer": self.ui.excellon_pref_form.excellon_exp_group.format_whole_entry, + "excellon_exp_decimals": self.ui.excellon_pref_form.excellon_exp_group.format_dec_entry, + "excellon_exp_zeros": self.ui.excellon_pref_form.excellon_exp_group.zeros_radio, + "excellon_exp_slot_type": self.ui.excellon_pref_form.excellon_exp_group.slot_type_radio, # Excellon Editor - "excellon_editor_sel_limit": self.ui.excellon_defaults_form.excellon_editor_group.sel_limit_entry, - "excellon_editor_newdia": self.ui.excellon_defaults_form.excellon_editor_group.addtool_entry, - "excellon_editor_array_size": self.ui.excellon_defaults_form.excellon_editor_group.drill_array_size_entry, - "excellon_editor_lin_dir": self.ui.excellon_defaults_form.excellon_editor_group.drill_axis_radio, - "excellon_editor_lin_pitch": self.ui.excellon_defaults_form.excellon_editor_group.drill_pitch_entry, - "excellon_editor_lin_angle": self.ui.excellon_defaults_form.excellon_editor_group.drill_angle_entry, - "excellon_editor_circ_dir": self.ui.excellon_defaults_form.excellon_editor_group.drill_circular_dir_radio, + "excellon_editor_sel_limit": self.ui.excellon_pref_form.excellon_editor_group.sel_limit_entry, + "excellon_editor_newdia": self.ui.excellon_pref_form.excellon_editor_group.addtool_entry, + "excellon_editor_array_size": self.ui.excellon_pref_form.excellon_editor_group.drill_array_size_entry, + "excellon_editor_lin_dir": self.ui.excellon_pref_form.excellon_editor_group.drill_axis_radio, + "excellon_editor_lin_pitch": self.ui.excellon_pref_form.excellon_editor_group.drill_pitch_entry, + "excellon_editor_lin_angle": self.ui.excellon_pref_form.excellon_editor_group.drill_angle_entry, + "excellon_editor_circ_dir": self.ui.excellon_pref_form.excellon_editor_group.drill_circular_dir_radio, "excellon_editor_circ_angle": - self.ui.excellon_defaults_form.excellon_editor_group.drill_circular_angle_entry, + self.ui.excellon_pref_form.excellon_editor_group.drill_circular_angle_entry, # Excellon Slots "excellon_editor_slot_direction": - self.ui.excellon_defaults_form.excellon_editor_group.slot_axis_radio, + self.ui.excellon_pref_form.excellon_editor_group.slot_axis_radio, "excellon_editor_slot_angle": - self.ui.excellon_defaults_form.excellon_editor_group.slot_angle_spinner, + self.ui.excellon_pref_form.excellon_editor_group.slot_angle_spinner, "excellon_editor_slot_length": - self.ui.excellon_defaults_form.excellon_editor_group.slot_length_entry, + self.ui.excellon_pref_form.excellon_editor_group.slot_length_entry, # Excellon Slots "excellon_editor_slot_array_size": - self.ui.excellon_defaults_form.excellon_editor_group.slot_array_size_entry, - "excellon_editor_slot_lin_dir": self.ui.excellon_defaults_form.excellon_editor_group.slot_array_axis_radio, + self.ui.excellon_pref_form.excellon_editor_group.slot_array_size_entry, + "excellon_editor_slot_lin_dir": self.ui.excellon_pref_form.excellon_editor_group.slot_array_axis_radio, "excellon_editor_slot_lin_pitch": - self.ui.excellon_defaults_form.excellon_editor_group.slot_array_pitch_entry, + self.ui.excellon_pref_form.excellon_editor_group.slot_array_pitch_entry, "excellon_editor_slot_lin_angle": - self.ui.excellon_defaults_form.excellon_editor_group.slot_array_angle_entry, + self.ui.excellon_pref_form.excellon_editor_group.slot_array_angle_entry, "excellon_editor_slot_circ_dir": - self.ui.excellon_defaults_form.excellon_editor_group.slot_array_circular_dir_radio, + self.ui.excellon_pref_form.excellon_editor_group.slot_array_circular_dir_radio, "excellon_editor_slot_circ_angle": - self.ui.excellon_defaults_form.excellon_editor_group.slot_array_circular_angle_entry, + self.ui.excellon_pref_form.excellon_editor_group.slot_array_circular_angle_entry, # Geometry General - "geometry_plot": self.ui.geometry_defaults_form.geometry_gen_group.plot_cb, - "geometry_multicolored": self.ui.geometry_defaults_form.geometry_gen_group.multicolored_cb, - "geometry_circle_steps": self.ui.geometry_defaults_form.geometry_gen_group.circle_steps_entry, - "geometry_merge_fuse_tools": self.ui.geometry_defaults_form.geometry_gen_group.fuse_tools_cb, - "geometry_plot_line": self.ui.geometry_defaults_form.geometry_gen_group.line_color_entry, + "geometry_plot": self.ui.geo_pref_form.geometry_gen_group.plot_cb, + "geometry_multicolored": self.ui.geo_pref_form.geometry_gen_group.multicolored_cb, + "geometry_circle_steps": self.ui.geo_pref_form.geometry_gen_group.circle_steps_entry, + "geometry_merge_fuse_tools": self.ui.geo_pref_form.geometry_gen_group.fuse_tools_cb, + "geometry_plot_line": self.ui.geo_pref_form.geometry_gen_group.line_color_entry, # Geometry Options - "geometry_segx": self.ui.geometry_defaults_form.geometry_adv_opt_group.segx_entry, - "geometry_segy": self.ui.geometry_defaults_form.geometry_adv_opt_group.segy_entry, + "geometry_segx": self.ui.geo_pref_form.geometry_adv_opt_group.segx_entry, + "geometry_segy": self.ui.geo_pref_form.geometry_adv_opt_group.segy_entry, # Geometry Export - "geometry_dxf_format": self.ui.geometry_defaults_form.geometry_exp_group.dxf_format_combo, + "geometry_dxf_format": self.ui.geo_pref_form.geometry_exp_group.dxf_format_combo, - # Geometry Options - "tools_mill_tooldia": self.ui.geometry_defaults_form.geometry_gen_group.cnctooldia_entry, + # Geometry Editor + "geometry_editor_sel_limit": self.ui.geo_pref_form.geometry_editor_group.sel_limit_entry, + "geometry_editor_milling_type": self.ui.geo_pref_form.geometry_editor_group.milling_type_radio, + + # CNCJob General + "cncjob_plot": self.ui.cncjob_pref_form.cncjob_gen_group.plot_cb, + + "cncjob_tooldia": self.ui.cncjob_pref_form.cncjob_gen_group.tooldia_entry, + "cncjob_coords_type": self.ui.cncjob_pref_form.cncjob_gen_group.coords_type_radio, + "cncjob_coords_decimals": self.ui.cncjob_pref_form.cncjob_gen_group.coords_dec_entry, + "cncjob_fr_decimals": self.ui.cncjob_pref_form.cncjob_gen_group.fr_dec_entry, + "cncjob_steps_per_circle": self.ui.cncjob_pref_form.cncjob_gen_group.steps_per_circle_entry, + "cncjob_line_ending": self.ui.cncjob_pref_form.cncjob_gen_group.line_ending_cb, + "cncjob_plot_line": self.ui.cncjob_pref_form.cncjob_gen_group.line_color_entry, + "cncjob_plot_fill": self.ui.cncjob_pref_form.cncjob_gen_group.fill_color_entry, + "cncjob_travel_line": self.ui.cncjob_pref_form.cncjob_gen_group.tline_color_entry, + "cncjob_travel_fill": self.ui.cncjob_pref_form.cncjob_gen_group.tfill_color_entry, + + # CNC Job Options + "cncjob_plot_kind": self.ui.cncjob_pref_form.cncjob_opt_group.cncplot_method_radio, + "cncjob_annotation": self.ui.cncjob_pref_form.cncjob_opt_group.annotation_cb, + + # CNC Job Advanced Options + "cncjob_annotation_fontsize": self.ui.cncjob_pref_form.cncjob_adv_opt_group.annotation_fontsize_sp, + "cncjob_annotation_fontcolor": self.ui.cncjob_pref_form.cncjob_adv_opt_group.annotation_fontcolor_entry, + + # CNC Job (GCode) Editor + "cncjob_prepend": self.ui.cncjob_pref_form.cncjob_editor_group.prepend_text, + "cncjob_append": self.ui.cncjob_pref_form.cncjob_editor_group.append_text, + + # Isolation Routing Tool + "tools_iso_tooldia": self.ui.plugin_eng_pref_form.tools_iso_group.tool_dia_entry, + "tools_iso_order": self.ui.plugin_eng_pref_form.tools_iso_group.order_radio, + "tools_iso_tool_type": self.ui.plugin_eng_pref_form.tools_iso_group.tool_type_radio, + "tools_iso_tool_vtipdia": self.ui.plugin_eng_pref_form.tools_iso_group.tipdia_entry, + "tools_iso_tool_vtipangle": self.ui.plugin_eng_pref_form.tools_iso_group.tipangle_entry, + "tools_iso_tool_cutz": self.ui.plugin_eng_pref_form.tools_iso_group.cutz_entry, + "tools_iso_newdia": self.ui.plugin_eng_pref_form.tools_iso_group.newdia_entry, + + "tools_iso_passes": self.ui.plugin_eng_pref_form.tools_iso_group.passes_entry, + "tools_iso_overlap": self.ui.plugin_eng_pref_form.tools_iso_group.overlap_entry, + "tools_iso_milling_type": self.ui.plugin_eng_pref_form.tools_iso_group.milling_type_radio, + "tools_iso_isotype": self.ui.plugin_eng_pref_form.tools_iso_group.iso_type_radio, + + "tools_iso_rest": self.ui.plugin_eng_pref_form.tools_iso_group.rest_cb, + "tools_iso_combine_passes": self.ui.plugin_eng_pref_form.tools_iso_group.combine_passes_cb, + "tools_iso_check_valid": self.ui.plugin_eng_pref_form.tools_iso_group.valid_cb, + "tools_iso_isoexcept": self.ui.plugin_eng_pref_form.tools_iso_group.except_cb, + "tools_iso_selection": self.ui.plugin_eng_pref_form.tools_iso_group.select_combo, + "tools_iso_poly_ints": self.ui.plugin_eng_pref_form.tools_iso_group.poly_int_cb, + "tools_iso_force": self.ui.plugin_eng_pref_form.tools_iso_group.force_iso_cb, + "tools_iso_area_shape": self.ui.plugin_eng_pref_form.tools_iso_group.area_shape_radio, + "tools_iso_plotting": self.ui.plugin_eng_pref_form.tools_iso_group.plotting_radio, + + # ######################################################################################################### + # ######################################################################################################### + # Milling Tool + # ######################################################################################################### + # ######################################################################################################### + + # "tools_mill_milling_type": 'both', + # Milling Plugin Options + "tools_mill_tooldia": self.ui.plugin_pref_form.tools_mill_group.cnctooldia_entry, # "tools_mill_offset_type": 0, # _('Path') # "tools_mill_offset": 0.0, # "tools_mill_job_type": 0, # 'Rough' # "tools_mill_vtipdia": 0.1, # "tools_mill_vtipangle": 30, - "tools_mill_cutz": self.ui.geometry_defaults_form.geometry_opt_group.cutz_entry, - "tools_mill_travelz": self.ui.geometry_defaults_form.geometry_opt_group.travelz_entry, - "tools_mill_feedrate": self.ui.geometry_defaults_form.geometry_opt_group.cncfeedrate_entry, - "tools_mill_feedrate_z": self.ui.geometry_defaults_form.geometry_opt_group.feedrate_z_entry, - "tools_mill_spindlespeed": self.ui.geometry_defaults_form.geometry_opt_group.cncspindlespeed_entry, - "tools_mill_dwell": self.ui.geometry_defaults_form.geometry_opt_group.dwell_cb, - "tools_mill_dwelltime": self.ui.geometry_defaults_form.geometry_opt_group.dwelltime_entry, - "tools_mill_ppname_g": self.ui.geometry_defaults_form.geometry_opt_group.pp_geometry_name_cb, - "tools_mill_toolchange": self.ui.geometry_defaults_form.geometry_opt_group.toolchange_cb, - "tools_mill_toolchangez": self.ui.geometry_defaults_form.geometry_opt_group.toolchangez_entry, - "tools_mill_endz": self.ui.geometry_defaults_form.geometry_opt_group.endz_entry, - "tools_mill_endxy": self.ui.geometry_defaults_form.geometry_opt_group.endxy_entry, - "tools_mill_depthperpass": self.ui.geometry_defaults_form.geometry_opt_group.depthperpass_entry, - "tools_mill_multidepth": self.ui.geometry_defaults_form.geometry_opt_group.multidepth_cb, + "tools_mill_cutz": self.ui.plugin_pref_form.tools_mill_group.cutz_entry, + "tools_mill_travelz": self.ui.plugin_pref_form.tools_mill_group.travelz_entry, + "tools_mill_feedrate": self.ui.plugin_pref_form.tools_mill_group.cncfeedrate_entry, + "tools_mill_feedrate_z": self.ui.plugin_pref_form.tools_mill_group.feedrate_z_entry, + "tools_mill_spindlespeed": self.ui.plugin_pref_form.tools_mill_group.cncspindlespeed_entry, + "tools_mill_dwell": self.ui.plugin_pref_form.tools_mill_group.dwell_cb, + "tools_mill_dwelltime": self.ui.plugin_pref_form.tools_mill_group.dwelltime_entry, + "tools_mill_ppname_g": self.ui.plugin_pref_form.tools_mill_group.pp_geometry_name_cb, + "tools_mill_toolchange": self.ui.plugin_pref_form.tools_mill_group.toolchange_cb, + "tools_mill_toolchangez": self.ui.plugin_pref_form.tools_mill_group.toolchangez_entry, + "tools_mill_endz": self.ui.plugin_pref_form.tools_mill_group.endz_entry, + "tools_mill_endxy": self.ui.plugin_pref_form.tools_mill_group.endxy_entry, + "tools_mill_depthperpass": self.ui.plugin_pref_form.tools_mill_group.depthperpass_entry, + "tools_mill_multidepth": self.ui.plugin_pref_form.tools_mill_group.multidepth_cb, - # Geometry Advanced Options - "tools_mill_toolchangexy": self.ui.geometry_defaults_form.geometry_adv_opt_group.toolchangexy_entry, - "tools_mill_startz": self.ui.geometry_defaults_form.geometry_adv_opt_group.gstartz_entry, - "tools_mill_feedrate_rapid": self.ui.geometry_defaults_form.geometry_adv_opt_group.feedrate_rapid_entry, - "tools_mill_extracut": self.ui.geometry_defaults_form.geometry_adv_opt_group.extracut_cb, - "tools_mill_extracut_length": self.ui.geometry_defaults_form.geometry_adv_opt_group.e_cut_entry, - "tools_mill_z_pdepth": self.ui.geometry_defaults_form.geometry_adv_opt_group.pdepth_entry, - "tools_mill_feedrate_probe": self.ui.geometry_defaults_form.geometry_adv_opt_group.feedrate_probe_entry, - "tools_mill_spindledir": self.ui.geometry_defaults_form.geometry_adv_opt_group.spindledir_radio, - "tools_mill_f_plunge": self.ui.geometry_defaults_form.geometry_adv_opt_group.fplunge_cb, + # Miiling Plugin Advanced Options + "tools_mill_toolchangexy": self.ui.plugin_pref_form.tools_mill_group.toolchangexy_entry, + "tools_mill_startz": self.ui.plugin_pref_form.tools_mill_group.gstartz_entry, + "tools_mill_feedrate_rapid": self.ui.plugin_pref_form.tools_mill_group.feedrate_rapid_entry, + "tools_mill_extracut": self.ui.plugin_pref_form.tools_mill_group.extracut_cb, + "tools_mill_extracut_length": self.ui.plugin_pref_form.tools_mill_group.e_cut_entry, + "tools_mill_z_pdepth": self.ui.plugin_pref_form.tools_mill_group.pdepth_entry, + "tools_mill_feedrate_probe": self.ui.plugin_pref_form.tools_mill_group.feedrate_probe_entry, + "tools_mill_spindledir": self.ui.plugin_pref_form.tools_mill_group.spindledir_radio, + "tools_mill_f_plunge": self.ui.plugin_pref_form.tools_mill_group.fplunge_cb, - "tools_mill_area_exclusion": self.ui.geometry_defaults_form.geometry_adv_opt_group.exclusion_cb, - "tools_mill_area_shape": self.ui.geometry_defaults_form.geometry_adv_opt_group.area_shape_radio, - "tools_mill_area_strategy": self.ui.geometry_defaults_form.geometry_adv_opt_group.strategy_radio, - "tools_mill_area_overz": self.ui.geometry_defaults_form.geometry_adv_opt_group.over_z_entry, + "tools_mill_area_exclusion": self.ui.plugin_pref_form.tools_mill_group.exclusion_cb, + "tools_mill_area_shape": self.ui.plugin_pref_form.tools_mill_group.area_shape_radio, + "tools_mill_area_strategy": self.ui.plugin_pref_form.tools_mill_group.strategy_radio, + "tools_mill_area_overz": self.ui.plugin_pref_form.tools_mill_group.over_z_entry, # Polish - "tools_mill_polish": self.ui.geometry_defaults_form.geometry_adv_opt_group.polish_cb, - "geometry_polish_dia": self.ui.geometry_defaults_form.geometry_adv_opt_group.polish_dia_entry, - "geometry_polish_pressure": self.ui.geometry_defaults_form.geometry_adv_opt_group.polish_pressure_entry, - "geometry_polish_travelz": self.ui.geometry_defaults_form.geometry_adv_opt_group.polish_travelz_entry, - "tools_mill_polish_margin": self.ui.geometry_defaults_form.geometry_adv_opt_group.polish_margin_entry, - "tools_mill_polish_overlap": self.ui.geometry_defaults_form.geometry_adv_opt_group.polish_over_entry, - "tools_mill_polish_method": self.ui.geometry_defaults_form.geometry_adv_opt_group.polish_method_combo, - "tools_mill_optimization_type": self.ui.geometry_defaults_form.geometry_gen_group.opt_algorithm_radio, - "tools_mill_search_time": self.ui.geometry_defaults_form.geometry_gen_group.optimization_time_entry, + "tools_mill_polish": self.ui.plugin_pref_form.tools_mill_group.polish_cb, + "geometry_polish_dia": self.ui.plugin_pref_form.tools_mill_group.polish_dia_entry, + "geometry_polish_pressure": self.ui.plugin_pref_form.tools_mill_group.polish_pressure_entry, + "geometry_polish_travelz": self.ui.plugin_pref_form.tools_mill_group.polish_travelz_entry, + "tools_mill_polish_margin": self.ui.plugin_pref_form.tools_mill_group.polish_margin_entry, + "tools_mill_polish_overlap": self.ui.plugin_pref_form.tools_mill_group.polish_over_entry, + "tools_mill_polish_method": self.ui.plugin_pref_form.tools_mill_group.polish_method_combo, - # Geometry Editor - "geometry_editor_sel_limit": self.ui.geometry_defaults_form.geometry_editor_group.sel_limit_entry, - "geometry_editor_milling_type": self.ui.geometry_defaults_form.geometry_editor_group.milling_type_radio, - - # CNCJob General - "cncjob_plot": self.ui.cncjob_defaults_form.cncjob_gen_group.plot_cb, - - "cncjob_tooldia": self.ui.cncjob_defaults_form.cncjob_gen_group.tooldia_entry, - "cncjob_coords_type": self.ui.cncjob_defaults_form.cncjob_gen_group.coords_type_radio, - "cncjob_coords_decimals": self.ui.cncjob_defaults_form.cncjob_gen_group.coords_dec_entry, - "cncjob_fr_decimals": self.ui.cncjob_defaults_form.cncjob_gen_group.fr_dec_entry, - "cncjob_steps_per_circle": self.ui.cncjob_defaults_form.cncjob_gen_group.steps_per_circle_entry, - "cncjob_line_ending": self.ui.cncjob_defaults_form.cncjob_gen_group.line_ending_cb, - "cncjob_plot_line": self.ui.cncjob_defaults_form.cncjob_gen_group.line_color_entry, - "cncjob_plot_fill": self.ui.cncjob_defaults_form.cncjob_gen_group.fill_color_entry, - "cncjob_travel_line": self.ui.cncjob_defaults_form.cncjob_gen_group.tline_color_entry, - "cncjob_travel_fill": self.ui.cncjob_defaults_form.cncjob_gen_group.tfill_color_entry, - - # CNC Job Options - "cncjob_plot_kind": self.ui.cncjob_defaults_form.cncjob_opt_group.cncplot_method_radio, - "cncjob_annotation": self.ui.cncjob_defaults_form.cncjob_opt_group.annotation_cb, - - # CNC Job Advanced Options - "cncjob_annotation_fontsize": self.ui.cncjob_defaults_form.cncjob_adv_opt_group.annotation_fontsize_sp, - "cncjob_annotation_fontcolor": self.ui.cncjob_defaults_form.cncjob_adv_opt_group.annotation_fontcolor_entry, - - # CNC Job (GCode) Editor - "cncjob_prepend": self.ui.cncjob_defaults_form.cncjob_editor_group.prepend_text, - "cncjob_append": self.ui.cncjob_defaults_form.cncjob_editor_group.append_text, - - # Isolation Routing Tool - "tools_iso_tooldia": self.ui.tools_defaults_form.tools_iso_group.tool_dia_entry, - "tools_iso_order": self.ui.tools_defaults_form.tools_iso_group.order_radio, - "tools_iso_tool_type": self.ui.tools_defaults_form.tools_iso_group.tool_type_radio, - "tools_iso_tool_vtipdia": self.ui.tools_defaults_form.tools_iso_group.tipdia_entry, - "tools_iso_tool_vtipangle": self.ui.tools_defaults_form.tools_iso_group.tipangle_entry, - "tools_iso_tool_cutz": self.ui.tools_defaults_form.tools_iso_group.cutz_entry, - "tools_iso_newdia": self.ui.tools_defaults_form.tools_iso_group.newdia_entry, - - "tools_iso_passes": self.ui.tools_defaults_form.tools_iso_group.passes_entry, - "tools_iso_overlap": self.ui.tools_defaults_form.tools_iso_group.overlap_entry, - "tools_iso_milling_type": self.ui.tools_defaults_form.tools_iso_group.milling_type_radio, - "tools_iso_isotype": self.ui.tools_defaults_form.tools_iso_group.iso_type_radio, - - "tools_iso_rest": self.ui.tools_defaults_form.tools_iso_group.rest_cb, - "tools_iso_combine_passes": self.ui.tools_defaults_form.tools_iso_group.combine_passes_cb, - "tools_iso_check_valid": self.ui.tools_defaults_form.tools_iso_group.valid_cb, - "tools_iso_isoexcept": self.ui.tools_defaults_form.tools_iso_group.except_cb, - "tools_iso_selection": self.ui.tools_defaults_form.tools_iso_group.select_combo, - "tools_iso_poly_ints": self.ui.tools_defaults_form.tools_iso_group.poly_int_cb, - "tools_iso_force": self.ui.tools_defaults_form.tools_iso_group.force_iso_cb, - "tools_iso_area_shape": self.ui.tools_defaults_form.tools_iso_group.area_shape_radio, - "tools_iso_plotting": self.ui.tools_defaults_form.tools_iso_group.plotting_radio, - - # Milling Tool - # "tools_mill_milling_type": 'both', + # those are still in the Geometry Preferences Form + "tools_mill_optimization_type": self.ui.geo_pref_form.geometry_gen_group.opt_algorithm_radio, + "tools_mill_search_time": self.ui.geo_pref_form.geometry_gen_group.optimization_time_entry, # Autolevelling Tool - "tools_al_mode": self.ui.tools_defaults_form.tools_level_group.al_mode_radio, - "tools_al_method": self.ui.tools_defaults_form.tools_level_group.al_method_radio, - "tools_al_rows": self.ui.tools_defaults_form.tools_level_group.al_rows_entry, - "tools_al_columns": self.ui.tools_defaults_form.tools_level_group.al_columns_entry, - "tools_al_travelz": self.ui.tools_defaults_form.tools_level_group.ptravelz_entry, - "tools_al_probe_depth": self.ui.tools_defaults_form.tools_level_group.pdepth_entry, - "tools_al_probe_fr": self.ui.tools_defaults_form.tools_level_group.feedrate_probe_entry, - "tools_al_controller": self.ui.tools_defaults_form.tools_level_group.al_controller_combo, - "tools_al_grbl_jog_step": self.ui.tools_defaults_form.tools_level_group.jog_step_entry, - "tools_al_grbl_jog_fr": self.ui.tools_defaults_form.tools_level_group.jog_fr_entry, - "tools_al_grbl_travelz": self.ui.tools_defaults_form.tools_level_group.jog_travelz_entry, + "tools_al_mode": self.ui.plugin_eng_pref_form.tools_level_group.al_mode_radio, + "tools_al_method": self.ui.plugin_eng_pref_form.tools_level_group.al_method_radio, + "tools_al_rows": self.ui.plugin_eng_pref_form.tools_level_group.al_rows_entry, + "tools_al_columns": self.ui.plugin_eng_pref_form.tools_level_group.al_columns_entry, + "tools_al_travelz": self.ui.plugin_eng_pref_form.tools_level_group.ptravelz_entry, + "tools_al_probe_depth": self.ui.plugin_eng_pref_form.tools_level_group.pdepth_entry, + "tools_al_probe_fr": self.ui.plugin_eng_pref_form.tools_level_group.feedrate_probe_entry, + "tools_al_controller": self.ui.plugin_eng_pref_form.tools_level_group.al_controller_combo, + "tools_al_grbl_jog_step": self.ui.plugin_eng_pref_form.tools_level_group.jog_step_entry, + "tools_al_grbl_jog_fr": self.ui.plugin_eng_pref_form.tools_level_group.jog_fr_entry, + "tools_al_grbl_travelz": self.ui.plugin_eng_pref_form.tools_level_group.jog_travelz_entry, # Drilling Tool - "tools_drill_tool_order": self.ui.tools_defaults_form.tools_drill_group.order_radio, - "tools_drill_cutz": self.ui.tools_defaults_form.tools_drill_group.cutz_entry, - "tools_drill_multidepth": self.ui.tools_defaults_form.tools_drill_group.mpass_cb, - "tools_drill_depthperpass": self.ui.tools_defaults_form.tools_drill_group.maxdepth_entry, - "tools_drill_travelz": self.ui.tools_defaults_form.tools_drill_group.travelz_entry, - "tools_drill_endz": self.ui.tools_defaults_form.tools_drill_group.endz_entry, - "tools_drill_endxy": self.ui.tools_defaults_form.tools_drill_group.endxy_entry, + "tools_drill_tool_order": self.ui.plugin_pref_form.tools_drill_group.order_radio, + "tools_drill_cutz": self.ui.plugin_pref_form.tools_drill_group.cutz_entry, + "tools_drill_multidepth": self.ui.plugin_pref_form.tools_drill_group.mpass_cb, + "tools_drill_depthperpass": self.ui.plugin_pref_form.tools_drill_group.maxdepth_entry, + "tools_drill_travelz": self.ui.plugin_pref_form.tools_drill_group.travelz_entry, + "tools_drill_endz": self.ui.plugin_pref_form.tools_drill_group.endz_entry, + "tools_drill_endxy": self.ui.plugin_pref_form.tools_drill_group.endxy_entry, - "tools_drill_feedrate_z": self.ui.tools_defaults_form.tools_drill_group.feedrate_z_entry, - "tools_drill_spindlespeed": self.ui.tools_defaults_form.tools_drill_group.spindlespeed_entry, - "tools_drill_dwell": self.ui.tools_defaults_form.tools_drill_group.dwell_cb, - "tools_drill_dwelltime": self.ui.tools_defaults_form.tools_drill_group.dwelltime_entry, - "tools_drill_toolchange": self.ui.tools_defaults_form.tools_drill_group.toolchange_cb, - "tools_drill_toolchangez": self.ui.tools_defaults_form.tools_drill_group.toolchangez_entry, - "tools_drill_ppname_e": self.ui.tools_defaults_form.tools_drill_group.pp_excellon_name_cb, + "tools_drill_feedrate_z": self.ui.plugin_pref_form.tools_drill_group.feedrate_z_entry, + "tools_drill_spindlespeed": self.ui.plugin_pref_form.tools_drill_group.spindlespeed_entry, + "tools_drill_dwell": self.ui.plugin_pref_form.tools_drill_group.dwell_cb, + "tools_drill_dwelltime": self.ui.plugin_pref_form.tools_drill_group.dwelltime_entry, + "tools_drill_toolchange": self.ui.plugin_pref_form.tools_drill_group.toolchange_cb, + "tools_drill_toolchangez": self.ui.plugin_pref_form.tools_drill_group.toolchangez_entry, + "tools_drill_ppname_e": self.ui.plugin_pref_form.tools_drill_group.pp_excellon_name_cb, - "tools_drill_drill_slots": self.ui.tools_defaults_form.tools_drill_group.drill_slots_cb, - "tools_drill_drill_overlap": self.ui.tools_defaults_form.tools_drill_group.drill_overlap_entry, - "tools_drill_last_drill": self.ui.tools_defaults_form.tools_drill_group.last_drill_cb, + "tools_drill_drill_slots": self.ui.plugin_pref_form.tools_drill_group.drill_slots_cb, + "tools_drill_drill_overlap": self.ui.plugin_pref_form.tools_drill_group.drill_overlap_entry, + "tools_drill_last_drill": self.ui.plugin_pref_form.tools_drill_group.last_drill_cb, # Advanced Options - "tools_drill_offset": self.ui.tools_defaults_form.tools_drill_group.offset_entry, - "tools_drill_toolchangexy": self.ui.tools_defaults_form.tools_drill_group.toolchangexy_entry, - "tools_drill_startz": self.ui.tools_defaults_form.tools_drill_group.estartz_entry, - "tools_drill_feedrate_rapid": self.ui.tools_defaults_form.tools_drill_group.feedrate_rapid_entry, - "tools_drill_z_pdepth": self.ui.tools_defaults_form.tools_drill_group.pdepth_entry, - "tools_drill_feedrate_probe": self.ui.tools_defaults_form.tools_drill_group.feedrate_probe_entry, - "tools_drill_spindledir": self.ui.tools_defaults_form.tools_drill_group.spindledir_radio, - "tools_drill_f_plunge": self.ui.tools_defaults_form.tools_drill_group.fplunge_cb, - "tools_drill_f_retract": self.ui.tools_defaults_form.tools_drill_group.fretract_cb, + "tools_drill_offset": self.ui.plugin_pref_form.tools_drill_group.offset_entry, + "tools_drill_toolchangexy": self.ui.plugin_pref_form.tools_drill_group.toolchangexy_entry, + "tools_drill_startz": self.ui.plugin_pref_form.tools_drill_group.estartz_entry, + "tools_drill_feedrate_rapid": self.ui.plugin_pref_form.tools_drill_group.feedrate_rapid_entry, + "tools_drill_z_pdepth": self.ui.plugin_pref_form.tools_drill_group.pdepth_entry, + "tools_drill_feedrate_probe": self.ui.plugin_pref_form.tools_drill_group.feedrate_probe_entry, + "tools_drill_spindledir": self.ui.plugin_pref_form.tools_drill_group.spindledir_radio, + "tools_drill_f_plunge": self.ui.plugin_pref_form.tools_drill_group.fplunge_cb, + "tools_drill_f_retract": self.ui.plugin_pref_form.tools_drill_group.fretract_cb, # Area Exclusion - "tools_drill_area_exclusion": self.ui.tools_defaults_form.tools_drill_group.exclusion_cb, - "tools_drill_area_shape": self.ui.tools_defaults_form.tools_drill_group.area_shape_radio, - "tools_drill_area_strategy": self.ui.tools_defaults_form.tools_drill_group.strategy_radio, - "tools_drill_area_overz": self.ui.tools_defaults_form.tools_drill_group.over_z_entry, + "tools_drill_area_exclusion": self.ui.plugin_pref_form.tools_drill_group.exclusion_cb, + "tools_drill_area_shape": self.ui.plugin_pref_form.tools_drill_group.area_shape_radio, + "tools_drill_area_strategy": self.ui.plugin_pref_form.tools_drill_group.strategy_radio, + "tools_drill_area_overz": self.ui.plugin_pref_form.tools_drill_group.over_z_entry, # NCC Tool - "tools_ncc_tools": self.ui.tools_defaults_form.tools_ncc_group.ncc_tool_dia_entry, - "tools_ncc_order": self.ui.tools_defaults_form.tools_ncc_group.ncc_order_radio, - "tools_ncc_overlap": self.ui.tools_defaults_form.tools_ncc_group.ncc_overlap_entry, - "tools_ncc_margin": self.ui.tools_defaults_form.tools_ncc_group.ncc_margin_entry, - "tools_ncc_method": self.ui.tools_defaults_form.tools_ncc_group.ncc_method_combo, - "tools_ncc_connect": self.ui.tools_defaults_form.tools_ncc_group.ncc_connect_cb, - "tools_ncc_contour": self.ui.tools_defaults_form.tools_ncc_group.ncc_contour_cb, - "tools_ncc_rest": self.ui.tools_defaults_form.tools_ncc_group.ncc_rest_cb, - "tools_ncc_offset_choice": self.ui.tools_defaults_form.tools_ncc_group.ncc_choice_offset_cb, - "tools_ncc_offset_value": self.ui.tools_defaults_form.tools_ncc_group.ncc_offset_spinner, - "tools_ncc_ref": self.ui.tools_defaults_form.tools_ncc_group.select_combo, - "tools_ncc_area_shape": self.ui.tools_defaults_form.tools_ncc_group.area_shape_radio, - "tools_ncc_milling_type": self.ui.tools_defaults_form.tools_ncc_group.milling_type_radio, - "tools_ncc_tool_type": self.ui.tools_defaults_form.tools_ncc_group.tool_type_radio, - "tools_ncc_cutz": self.ui.tools_defaults_form.tools_ncc_group.cutz_entry, - "tools_ncc_tipdia": self.ui.tools_defaults_form.tools_ncc_group.tipdia_entry, - "tools_ncc_tipangle": self.ui.tools_defaults_form.tools_ncc_group.tipangle_entry, - "tools_ncc_newdia": self.ui.tools_defaults_form.tools_ncc_group.newdia_entry, - "tools_ncc_plotting": self.ui.tools_defaults_form.tools_ncc_group.plotting_radio, - "tools_ncc_check_valid": self.ui.tools_defaults_form.tools_ncc_group.valid_cb, + "tools_ncc_tools": self.ui.plugin_eng_pref_form.tools_ncc_group.ncc_tool_dia_entry, + "tools_ncc_order": self.ui.plugin_eng_pref_form.tools_ncc_group.ncc_order_radio, + "tools_ncc_overlap": self.ui.plugin_eng_pref_form.tools_ncc_group.ncc_overlap_entry, + "tools_ncc_margin": self.ui.plugin_eng_pref_form.tools_ncc_group.ncc_margin_entry, + "tools_ncc_method": self.ui.plugin_eng_pref_form.tools_ncc_group.ncc_method_combo, + "tools_ncc_connect": self.ui.plugin_eng_pref_form.tools_ncc_group.ncc_connect_cb, + "tools_ncc_contour": self.ui.plugin_eng_pref_form.tools_ncc_group.ncc_contour_cb, + "tools_ncc_rest": self.ui.plugin_eng_pref_form.tools_ncc_group.ncc_rest_cb, + "tools_ncc_offset_choice": self.ui.plugin_eng_pref_form.tools_ncc_group.ncc_choice_offset_cb, + "tools_ncc_offset_value": self.ui.plugin_eng_pref_form.tools_ncc_group.ncc_offset_spinner, + "tools_ncc_ref": self.ui.plugin_eng_pref_form.tools_ncc_group.select_combo, + "tools_ncc_area_shape": self.ui.plugin_eng_pref_form.tools_ncc_group.area_shape_radio, + "tools_ncc_milling_type": self.ui.plugin_eng_pref_form.tools_ncc_group.milling_type_radio, + "tools_ncc_tool_type": self.ui.plugin_eng_pref_form.tools_ncc_group.tool_type_radio, + "tools_ncc_cutz": self.ui.plugin_eng_pref_form.tools_ncc_group.cutz_entry, + "tools_ncc_tipdia": self.ui.plugin_eng_pref_form.tools_ncc_group.tipdia_entry, + "tools_ncc_tipangle": self.ui.plugin_eng_pref_form.tools_ncc_group.tipangle_entry, + "tools_ncc_newdia": self.ui.plugin_eng_pref_form.tools_ncc_group.newdia_entry, + "tools_ncc_plotting": self.ui.plugin_eng_pref_form.tools_ncc_group.plotting_radio, + "tools_ncc_check_valid": self.ui.plugin_eng_pref_form.tools_ncc_group.valid_cb, # CutOut Tool - "tools_cutout_tooldia": self.ui.tools_defaults_form.tools_cutout_group.cutout_tooldia_entry, - "tools_cutout_kind": self.ui.tools_defaults_form.tools_cutout_group.obj_kind_combo, - "tools_cutout_margin": self.ui.tools_defaults_form.tools_cutout_group.cutout_margin_entry, - "tools_cutout_z": self.ui.tools_defaults_form.tools_cutout_group.cutz_entry, - "tools_cutout_depthperpass": self.ui.tools_defaults_form.tools_cutout_group.maxdepth_entry, - "tools_cutout_mdepth": self.ui.tools_defaults_form.tools_cutout_group.mpass_cb, - "tools_cutout_gapsize": self.ui.tools_defaults_form.tools_cutout_group.cutout_gap_entry, - "tools_cutout_gaps_ff": self.ui.tools_defaults_form.tools_cutout_group.gaps_combo, - "tools_cutout_convexshape": self.ui.tools_defaults_form.tools_cutout_group.convex_box, - "tools_cutout_big_cursor": self.ui.tools_defaults_form.tools_cutout_group.big_cursor_cb, + "tools_cutout_tooldia": self.ui.plugin_pref_form.tools_cutout_group.cutout_tooldia_entry, + "tools_cutout_kind": self.ui.plugin_pref_form.tools_cutout_group.obj_kind_combo, + "tools_cutout_margin": self.ui.plugin_pref_form.tools_cutout_group.cutout_margin_entry, + "tools_cutout_z": self.ui.plugin_pref_form.tools_cutout_group.cutz_entry, + "tools_cutout_depthperpass": self.ui.plugin_pref_form.tools_cutout_group.maxdepth_entry, + "tools_cutout_mdepth": self.ui.plugin_pref_form.tools_cutout_group.mpass_cb, + "tools_cutout_gapsize": self.ui.plugin_pref_form.tools_cutout_group.cutout_gap_entry, + "tools_cutout_gaps_ff": self.ui.plugin_pref_form.tools_cutout_group.gaps_combo, + "tools_cutout_convexshape": self.ui.plugin_pref_form.tools_cutout_group.convex_box, + "tools_cutout_big_cursor": self.ui.plugin_pref_form.tools_cutout_group.big_cursor_cb, - "tools_cutout_gap_type": self.ui.tools_defaults_form.tools_cutout_group.gaptype_radio, - "tools_cutout_gap_depth": self.ui.tools_defaults_form.tools_cutout_group.thin_depth_entry, - "tools_cutout_mb_dia": self.ui.tools_defaults_form.tools_cutout_group.mb_dia_entry, - "tools_cutout_mb_spacing": self.ui.tools_defaults_form.tools_cutout_group.mb_spacing_entry, + "tools_cutout_gap_type": self.ui.plugin_pref_form.tools_cutout_group.gaptype_radio, + "tools_cutout_gap_depth": self.ui.plugin_pref_form.tools_cutout_group.thin_depth_entry, + "tools_cutout_mb_dia": self.ui.plugin_pref_form.tools_cutout_group.mb_dia_entry, + "tools_cutout_mb_spacing": self.ui.plugin_pref_form.tools_cutout_group.mb_spacing_entry, - "tools_cutout_drill_dia": self.ui.tools_defaults_form.tools_cutout_group.drill_dia_entry, - "tools_cutout_drill_pitch": self.ui.tools_defaults_form.tools_cutout_group.drill_pitch_entry, - "tools_cutout_drill_margin": self.ui.tools_defaults_form.tools_cutout_group.drill_margin_entry, + "tools_cutout_drill_dia": self.ui.plugin_pref_form.tools_cutout_group.drill_dia_entry, + "tools_cutout_drill_pitch": self.ui.plugin_pref_form.tools_cutout_group.drill_pitch_entry, + "tools_cutout_drill_margin": self.ui.plugin_pref_form.tools_cutout_group.drill_margin_entry, # Paint Area Tool - "tools_paint_tooldia": self.ui.tools_defaults_form.tools_paint_group.painttooldia_entry, - "tools_paint_order": self.ui.tools_defaults_form.tools_paint_group.paint_order_radio, - "tools_paint_overlap": self.ui.tools_defaults_form.tools_paint_group.paintoverlap_entry, - "tools_paint_offset": self.ui.tools_defaults_form.tools_paint_group.paintmargin_entry, - "tools_paint_method": self.ui.tools_defaults_form.tools_paint_group.paintmethod_combo, - "tools_paint_selectmethod": self.ui.tools_defaults_form.tools_paint_group.selectmethod_combo, - "tools_paint_area_shape": self.ui.tools_defaults_form.tools_paint_group.area_shape_radio, - "tools_paint_connect": self.ui.tools_defaults_form.tools_paint_group.pathconnect_cb, - "tools_paint_contour": self.ui.tools_defaults_form.tools_paint_group.contour_cb, - "tools_paint_plotting": self.ui.tools_defaults_form.tools_paint_group.paint_plotting_radio, + "tools_paint_tooldia": self.ui.plugin_eng_pref_form.tools_paint_group.painttooldia_entry, + "tools_paint_order": self.ui.plugin_eng_pref_form.tools_paint_group.paint_order_radio, + "tools_paint_overlap": self.ui.plugin_eng_pref_form.tools_paint_group.paintoverlap_entry, + "tools_paint_offset": self.ui.plugin_eng_pref_form.tools_paint_group.paintmargin_entry, + "tools_paint_method": self.ui.plugin_eng_pref_form.tools_paint_group.paintmethod_combo, + "tools_paint_selectmethod": self.ui.plugin_eng_pref_form.tools_paint_group.selectmethod_combo, + "tools_paint_area_shape": self.ui.plugin_eng_pref_form.tools_paint_group.area_shape_radio, + "tools_paint_connect": self.ui.plugin_eng_pref_form.tools_paint_group.pathconnect_cb, + "tools_paint_contour": self.ui.plugin_eng_pref_form.tools_paint_group.contour_cb, + "tools_paint_plotting": self.ui.plugin_eng_pref_form.tools_paint_group.paint_plotting_radio, - "tools_paint_rest": self.ui.tools_defaults_form.tools_paint_group.rest_cb, - "tools_paint_tool_type": self.ui.tools_defaults_form.tools_paint_group.tool_type_radio, - "tools_paint_cutz": self.ui.tools_defaults_form.tools_paint_group.cutz_entry, - "tools_paint_tipdia": self.ui.tools_defaults_form.tools_paint_group.tipdia_entry, - "tools_paint_tipangle": self.ui.tools_defaults_form.tools_paint_group.tipangle_entry, - "tools_paint_newdia": self.ui.tools_defaults_form.tools_paint_group.newdia_entry, + "tools_paint_rest": self.ui.plugin_eng_pref_form.tools_paint_group.rest_cb, + "tools_paint_tool_type": self.ui.plugin_eng_pref_form.tools_paint_group.tool_type_radio, + "tools_paint_cutz": self.ui.plugin_eng_pref_form.tools_paint_group.cutz_entry, + "tools_paint_tipdia": self.ui.plugin_eng_pref_form.tools_paint_group.tipdia_entry, + "tools_paint_tipangle": self.ui.plugin_eng_pref_form.tools_paint_group.tipangle_entry, + "tools_paint_newdia": self.ui.plugin_eng_pref_form.tools_paint_group.newdia_entry, # 2-sided Tool - "tools_2sided_mirror_axis": self.ui.tools_defaults_form.tools_2sided_group.mirror_axis_radio, - "tools_2sided_axis_loc": self.ui.tools_defaults_form.tools_2sided_group.axis_location_radio, - "tools_2sided_drilldia": self.ui.tools_defaults_form.tools_2sided_group.drill_dia_entry, - "tools_2sided_allign_axis": self.ui.tools_defaults_form.tools_2sided_group.align_axis_radio, + "tools_2sided_mirror_axis": self.ui.plugin_eng_pref_form.tools_2sided_group.mirror_axis_radio, + "tools_2sided_axis_loc": self.ui.plugin_eng_pref_form.tools_2sided_group.axis_location_radio, + "tools_2sided_drilldia": self.ui.plugin_eng_pref_form.tools_2sided_group.drill_dia_entry, + "tools_2sided_allign_axis": self.ui.plugin_eng_pref_form.tools_2sided_group.align_axis_radio, # Film Tool - "tools_film_type": self.ui.tools_defaults_form.tools_film_group.film_type_radio, - "tools_film_boundary": self.ui.tools_defaults_form.tools_film_group.film_boundary_entry, - "tools_film_scale_stroke": self.ui.tools_defaults_form.tools_film_group.film_scale_stroke_entry, - "tools_film_color": self.ui.tools_defaults_form.tools_film_group.film_color_entry, - "tools_film_scale_cb": self.ui.tools_defaults_form.tools_film_group.film_scale_cb, - "tools_film_scale_x_entry": self.ui.tools_defaults_form.tools_film_group.film_scalex_entry, - "tools_film_scale_y_entry": self.ui.tools_defaults_form.tools_film_group.film_scaley_entry, - "tools_film_skew_cb": self.ui.tools_defaults_form.tools_film_group.film_skew_cb, - "tools_film_skew_x_entry": self.ui.tools_defaults_form.tools_film_group.film_skewx_entry, - "tools_film_skew_y_entry": self.ui.tools_defaults_form.tools_film_group.film_skewy_entry, - "tools_film_ref_radio": self.ui.tools_defaults_form.tools_film_group.film_reference, - "tools_film_mirror_cb": self.ui.tools_defaults_form.tools_film_group.film_mirror_cb, - "tools_film_mirror_axis_radio": self.ui.tools_defaults_form.tools_film_group.film_mirror_axis, - "tools_film_file_type_radio": self.ui.tools_defaults_form.tools_film_group.file_type_radio, - "tools_film_orientation": self.ui.tools_defaults_form.tools_film_group.orientation_radio, - "tools_film_pagesize": self.ui.tools_defaults_form.tools_film_group.pagesize_combo, - "tools_film_png_dpi": self.ui.tools_defaults_form.tools_film_group.png_dpi_spinner, + "tools_film_type": self.ui.plugin_pref_form.tools_film_group.film_type_radio, + "tools_film_boundary": self.ui.plugin_pref_form.tools_film_group.film_boundary_entry, + "tools_film_scale_stroke": self.ui.plugin_pref_form.tools_film_group.film_scale_stroke_entry, + "tools_film_color": self.ui.plugin_pref_form.tools_film_group.film_color_entry, + "tools_film_scale_cb": self.ui.plugin_pref_form.tools_film_group.film_scale_cb, + "tools_film_scale_x_entry": self.ui.plugin_pref_form.tools_film_group.film_scalex_entry, + "tools_film_scale_y_entry": self.ui.plugin_pref_form.tools_film_group.film_scaley_entry, + "tools_film_skew_cb": self.ui.plugin_pref_form.tools_film_group.film_skew_cb, + "tools_film_skew_x_entry": self.ui.plugin_pref_form.tools_film_group.film_skewx_entry, + "tools_film_skew_y_entry": self.ui.plugin_pref_form.tools_film_group.film_skewy_entry, + "tools_film_ref_radio": self.ui.plugin_pref_form.tools_film_group.film_reference, + "tools_film_mirror_cb": self.ui.plugin_pref_form.tools_film_group.film_mirror_cb, + "tools_film_mirror_axis_radio": self.ui.plugin_pref_form.tools_film_group.film_mirror_axis, + "tools_film_file_type_radio": self.ui.plugin_pref_form.tools_film_group.file_type_radio, + "tools_film_orientation": self.ui.plugin_pref_form.tools_film_group.orientation_radio, + "tools_film_pagesize": self.ui.plugin_pref_form.tools_film_group.pagesize_combo, + "tools_film_png_dpi": self.ui.plugin_pref_form.tools_film_group.png_dpi_spinner, # Panelize Tool - "tools_panelize_spacing_columns": self.ui.tools_defaults_form.tools_panelize_group.pspacing_columns, - "tools_panelize_spacing_rows": self.ui.tools_defaults_form.tools_panelize_group.pspacing_rows, - "tools_panelize_columns": self.ui.tools_defaults_form.tools_panelize_group.pcolumns, - "tools_panelize_rows": self.ui.tools_defaults_form.tools_panelize_group.prows, - "tools_panelize_optimization": self.ui.tools_defaults_form.tools_panelize_group.poptimization_cb, - "tools_panelize_constrain": self.ui.tools_defaults_form.tools_panelize_group.pconstrain_cb, - "tools_panelize_constrainx": self.ui.tools_defaults_form.tools_panelize_group.px_width_entry, - "tools_panelize_constrainy": self.ui.tools_defaults_form.tools_panelize_group.py_height_entry, - "tools_panelize_panel_type": self.ui.tools_defaults_form.tools_panelize_group.panel_type_radio, + "tools_panelize_spacing_columns": self.ui.plugin_pref_form.tools_panelize_group.pspacing_columns, + "tools_panelize_spacing_rows": self.ui.plugin_pref_form.tools_panelize_group.pspacing_rows, + "tools_panelize_columns": self.ui.plugin_pref_form.tools_panelize_group.pcolumns, + "tools_panelize_rows": self.ui.plugin_pref_form.tools_panelize_group.prows, + "tools_panelize_optimization": self.ui.plugin_pref_form.tools_panelize_group.poptimization_cb, + "tools_panelize_constrain": self.ui.plugin_pref_form.tools_panelize_group.pconstrain_cb, + "tools_panelize_constrainx": self.ui.plugin_pref_form.tools_panelize_group.px_width_entry, + "tools_panelize_constrainy": self.ui.plugin_pref_form.tools_panelize_group.py_height_entry, + "tools_panelize_panel_type": self.ui.plugin_pref_form.tools_panelize_group.panel_type_radio, # Calculators Tool - "tools_calc_vshape_tip_dia": self.ui.tools_defaults_form.tools_calculators_group.tip_dia_entry, - "tools_calc_vshape_tip_angle": self.ui.tools_defaults_form.tools_calculators_group.tip_angle_entry, - "tools_calc_vshape_cut_z": self.ui.tools_defaults_form.tools_calculators_group.cut_z_entry, - "tools_calc_electro_length": self.ui.tools_defaults_form.tools_calculators_group.pcblength_entry, - "tools_calc_electro_width": self.ui.tools_defaults_form.tools_calculators_group.pcbwidth_entry, - "tools_calc_electro_area": self.ui.tools_defaults_form.tools_calculators_group.area_entry, - "tools_calc_electro_cdensity": self.ui.tools_defaults_form.tools_calculators_group.cdensity_entry, - "tools_calc_electro_growth": self.ui.tools_defaults_form.tools_calculators_group.growth_entry, + "tools_calc_vshape_tip_dia": self.ui.plugin_pref_form.tools_calculators_group.tip_dia_entry, + "tools_calc_vshape_tip_angle": self.ui.plugin_pref_form.tools_calculators_group.tip_angle_entry, + "tools_calc_vshape_cut_z": self.ui.plugin_pref_form.tools_calculators_group.cut_z_entry, + "tools_calc_electro_length": self.ui.plugin_pref_form.tools_calculators_group.pcblength_entry, + "tools_calc_electro_width": self.ui.plugin_pref_form.tools_calculators_group.pcbwidth_entry, + "tools_calc_electro_area": self.ui.plugin_pref_form.tools_calculators_group.area_entry, + "tools_calc_electro_cdensity": self.ui.plugin_pref_form.tools_calculators_group.cdensity_entry, + "tools_calc_electro_growth": self.ui.plugin_pref_form.tools_calculators_group.growth_entry, # Transformations Tool - "tools_transform_reference": self.ui.tools_defaults_form.tools_transform_group.ref_combo, - "tools_transform_ref_object": self.ui.tools_defaults_form.tools_transform_group.type_obj_combo, - "tools_transform_ref_point": self.ui.tools_defaults_form.tools_transform_group.point_entry, + "tools_transform_reference": self.ui.plugin_pref_form.tools_transform_group.ref_combo, + "tools_transform_ref_object": self.ui.plugin_pref_form.tools_transform_group.type_obj_combo, + "tools_transform_ref_point": self.ui.plugin_pref_form.tools_transform_group.point_entry, - "tools_transform_rotate": self.ui.tools_defaults_form.tools_transform_group.rotate_entry, + "tools_transform_rotate": self.ui.plugin_pref_form.tools_transform_group.rotate_entry, - "tools_transform_skew_x": self.ui.tools_defaults_form.tools_transform_group.skewx_entry, - "tools_transform_skew_y": self.ui.tools_defaults_form.tools_transform_group.skewy_entry, - "tools_transform_skew_link": self.ui.tools_defaults_form.tools_transform_group.skew_link_cb, + "tools_transform_skew_x": self.ui.plugin_pref_form.tools_transform_group.skewx_entry, + "tools_transform_skew_y": self.ui.plugin_pref_form.tools_transform_group.skewy_entry, + "tools_transform_skew_link": self.ui.plugin_pref_form.tools_transform_group.skew_link_cb, - "tools_transform_scale_x": self.ui.tools_defaults_form.tools_transform_group.scalex_entry, - "tools_transform_scale_y": self.ui.tools_defaults_form.tools_transform_group.scaley_entry, - "tools_transform_scale_link": self.ui.tools_defaults_form.tools_transform_group.scale_link_cb, + "tools_transform_scale_x": self.ui.plugin_pref_form.tools_transform_group.scalex_entry, + "tools_transform_scale_y": self.ui.plugin_pref_form.tools_transform_group.scaley_entry, + "tools_transform_scale_link": self.ui.plugin_pref_form.tools_transform_group.scale_link_cb, - "tools_transform_offset_x": self.ui.tools_defaults_form.tools_transform_group.offx_entry, - "tools_transform_offset_y": self.ui.tools_defaults_form.tools_transform_group.offy_entry, + "tools_transform_offset_x": self.ui.plugin_pref_form.tools_transform_group.offx_entry, + "tools_transform_offset_y": self.ui.plugin_pref_form.tools_transform_group.offy_entry, - "tools_transform_buffer_dis": self.ui.tools_defaults_form.tools_transform_group.buffer_entry, - "tools_transform_buffer_factor": self.ui.tools_defaults_form.tools_transform_group.buffer_factor_entry, - "tools_transform_buffer_corner": self.ui.tools_defaults_form.tools_transform_group.buffer_rounded_cb, + "tools_transform_buffer_dis": self.ui.plugin_pref_form.tools_transform_group.buffer_entry, + "tools_transform_buffer_factor": self.ui.plugin_pref_form.tools_transform_group.buffer_factor_entry, + "tools_transform_buffer_corner": self.ui.plugin_pref_form.tools_transform_group.buffer_rounded_cb, # SolderPaste Dispensing Tool - "tools_solderpaste_tools": self.ui.tools_defaults_form.tools_solderpaste_group.nozzle_tool_dia_entry, - "tools_solderpaste_new": self.ui.tools_defaults_form.tools_solderpaste_group.addtool_entry, - "tools_solderpaste_z_start": self.ui.tools_defaults_form.tools_solderpaste_group.z_start_entry, - "tools_solderpaste_z_dispense": self.ui.tools_defaults_form.tools_solderpaste_group.z_dispense_entry, - "tools_solderpaste_z_stop": self.ui.tools_defaults_form.tools_solderpaste_group.z_stop_entry, - "tools_solderpaste_z_travel": self.ui.tools_defaults_form.tools_solderpaste_group.z_travel_entry, - "tools_solderpaste_z_toolchange": self.ui.tools_defaults_form.tools_solderpaste_group.z_toolchange_entry, - "tools_solderpaste_xy_toolchange": self.ui.tools_defaults_form.tools_solderpaste_group.xy_toolchange_entry, - "tools_solderpaste_frxy": self.ui.tools_defaults_form.tools_solderpaste_group.frxy_entry, - "tools_solderpaste_frz": self.ui.tools_defaults_form.tools_solderpaste_group.frz_entry, - "tools_solderpaste_frz_dispense": self.ui.tools_defaults_form.tools_solderpaste_group.frz_dispense_entry, - "tools_solderpaste_speedfwd": self.ui.tools_defaults_form.tools_solderpaste_group.speedfwd_entry, - "tools_solderpaste_dwellfwd": self.ui.tools_defaults_form.tools_solderpaste_group.dwellfwd_entry, - "tools_solderpaste_speedrev": self.ui.tools_defaults_form.tools_solderpaste_group.speedrev_entry, - "tools_solderpaste_dwellrev": self.ui.tools_defaults_form.tools_solderpaste_group.dwellrev_entry, - "tools_solderpaste_pp": self.ui.tools_defaults_form.tools_solderpaste_group.pp_combo, + "tools_solderpaste_tools": self.ui.plugin_pref_form.tools_solderpaste_group.nozzle_tool_dia_entry, + "tools_solderpaste_new": self.ui.plugin_pref_form.tools_solderpaste_group.addtool_entry, + "tools_solderpaste_z_start": self.ui.plugin_pref_form.tools_solderpaste_group.z_start_entry, + "tools_solderpaste_z_dispense": self.ui.plugin_pref_form.tools_solderpaste_group.z_dispense_entry, + "tools_solderpaste_z_stop": self.ui.plugin_pref_form.tools_solderpaste_group.z_stop_entry, + "tools_solderpaste_z_travel": self.ui.plugin_pref_form.tools_solderpaste_group.z_travel_entry, + "tools_solderpaste_z_toolchange": self.ui.plugin_pref_form.tools_solderpaste_group.z_toolchange_entry, + "tools_solderpaste_xy_toolchange": self.ui.plugin_pref_form.tools_solderpaste_group.xy_toolchange_entry, + "tools_solderpaste_frxy": self.ui.plugin_pref_form.tools_solderpaste_group.frxy_entry, + "tools_solderpaste_frz": self.ui.plugin_pref_form.tools_solderpaste_group.frz_entry, + "tools_solderpaste_frz_dispense": self.ui.plugin_pref_form.tools_solderpaste_group.frz_dispense_entry, + "tools_solderpaste_speedfwd": self.ui.plugin_pref_form.tools_solderpaste_group.speedfwd_entry, + "tools_solderpaste_dwellfwd": self.ui.plugin_pref_form.tools_solderpaste_group.dwellfwd_entry, + "tools_solderpaste_speedrev": self.ui.plugin_pref_form.tools_solderpaste_group.speedrev_entry, + "tools_solderpaste_dwellrev": self.ui.plugin_pref_form.tools_solderpaste_group.dwellrev_entry, + "tools_solderpaste_pp": self.ui.plugin_pref_form.tools_solderpaste_group.pp_combo, # Subtractor Tool - "tools_sub_close_paths": self.ui.tools_defaults_form.tools_sub_group.close_paths_cb, - "tools_sub_delete_sources": self.ui.tools_defaults_form.tools_sub_group.delete_sources_cb, + "tools_sub_close_paths": self.ui.plugin_pref_form.tools_sub_group.close_paths_cb, + "tools_sub_delete_sources": self.ui.plugin_pref_form.tools_sub_group.delete_sources_cb, # Corner Markers Tool - "tools_corners_type": self.ui.tools_defaults_form.tools_corners_group.type_radio, - "tools_corners_thickness": self.ui.tools_defaults_form.tools_corners_group.thick_entry, - "tools_corners_length": self.ui.tools_defaults_form.tools_corners_group.l_entry, - "tools_corners_margin": self.ui.tools_defaults_form.tools_corners_group.margin_entry, - "tools_corners_drill_dia": self.ui.tools_defaults_form.tools_corners_group.drill_dia_entry, + "tools_corners_type": self.ui.plugin_pref_form.tools_corners_group.type_radio, + "tools_corners_thickness": self.ui.plugin_pref_form.tools_corners_group.thick_entry, + "tools_corners_length": self.ui.plugin_pref_form.tools_corners_group.l_entry, + "tools_corners_margin": self.ui.plugin_pref_form.tools_corners_group.margin_entry, + "tools_corners_drill_dia": self.ui.plugin_pref_form.tools_corners_group.drill_dia_entry, # ####################################################################################################### # ########################################## PLUGINS 2 ################################################## # ####################################################################################################### # Optimal Tool - "tools_opt_precision": self.ui.tools2_defaults_form.tools2_optimal_group.precision_sp, + "tools_opt_precision": self.ui.plugin2_pref_form.tools2_optimal_group.precision_sp, # Check Rules Tool - "tools_cr_trace_size": self.ui.tools2_defaults_form.tools2_checkrules_group.trace_size_cb, - "tools_cr_trace_size_val": self.ui.tools2_defaults_form.tools2_checkrules_group.trace_size_entry, - "tools_cr_c2c": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_copper2copper_cb, - "tools_cr_c2c_val": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_copper2copper_entry, - "tools_cr_c2o": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_copper2ol_cb, - "tools_cr_c2o_val": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_copper2ol_entry, - "tools_cr_s2s": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_silk2silk_cb, - "tools_cr_s2s_val": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_silk2silk_entry, - "tools_cr_s2sm": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_silk2sm_cb, - "tools_cr_s2sm_val": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_silk2sm_entry, - "tools_cr_s2o": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_silk2ol_cb, - "tools_cr_s2o_val": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_silk2ol_entry, - "tools_cr_sm2sm": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_sm2sm_cb, - "tools_cr_sm2sm_val": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_sm2sm_entry, - "tools_cr_ri": self.ui.tools2_defaults_form.tools2_checkrules_group.ring_integrity_cb, - "tools_cr_ri_val": self.ui.tools2_defaults_form.tools2_checkrules_group.ring_integrity_entry, - "tools_cr_h2h": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_d2d_cb, - "tools_cr_h2h_val": self.ui.tools2_defaults_form.tools2_checkrules_group.clearance_d2d_entry, - "tools_cr_dh": self.ui.tools2_defaults_form.tools2_checkrules_group.drill_size_cb, - "tools_cr_dh_val": self.ui.tools2_defaults_form.tools2_checkrules_group.drill_size_entry, + "tools_cr_trace_size": self.ui.plugin2_pref_form.tools2_checkrules_group.trace_size_cb, + "tools_cr_trace_size_val": self.ui.plugin2_pref_form.tools2_checkrules_group.trace_size_entry, + "tools_cr_c2c": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_copper2copper_cb, + "tools_cr_c2c_val": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_copper2copper_entry, + "tools_cr_c2o": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_copper2ol_cb, + "tools_cr_c2o_val": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_copper2ol_entry, + "tools_cr_s2s": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_silk2silk_cb, + "tools_cr_s2s_val": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_silk2silk_entry, + "tools_cr_s2sm": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_silk2sm_cb, + "tools_cr_s2sm_val": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_silk2sm_entry, + "tools_cr_s2o": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_silk2ol_cb, + "tools_cr_s2o_val": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_silk2ol_entry, + "tools_cr_sm2sm": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_sm2sm_cb, + "tools_cr_sm2sm_val": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_sm2sm_entry, + "tools_cr_ri": self.ui.plugin2_pref_form.tools2_checkrules_group.ring_integrity_cb, + "tools_cr_ri_val": self.ui.plugin2_pref_form.tools2_checkrules_group.ring_integrity_entry, + "tools_cr_h2h": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_d2d_cb, + "tools_cr_h2h_val": self.ui.plugin2_pref_form.tools2_checkrules_group.clearance_d2d_entry, + "tools_cr_dh": self.ui.plugin2_pref_form.tools2_checkrules_group.drill_size_cb, + "tools_cr_dh_val": self.ui.plugin2_pref_form.tools2_checkrules_group.drill_size_entry, # QRCode Tool - "tools_qrcode_version": self.ui.tools2_defaults_form.tools2_qrcode_group.version_entry, - "tools_qrcode_error": self.ui.tools2_defaults_form.tools2_qrcode_group.error_radio, - "tools_qrcode_box_size": self.ui.tools2_defaults_form.tools2_qrcode_group.bsize_entry, - "tools_qrcode_border_size": self.ui.tools2_defaults_form.tools2_qrcode_group.border_size_entry, - "tools_qrcode_qrdata": self.ui.tools2_defaults_form.tools2_qrcode_group.text_data, - "tools_qrcode_polarity": self.ui.tools2_defaults_form.tools2_qrcode_group.pol_radio, - "tools_qrcode_rounded": self.ui.tools2_defaults_form.tools2_qrcode_group.bb_radio, - "tools_qrcode_fill_color": self.ui.tools2_defaults_form.tools2_qrcode_group.fill_color_entry, - "tools_qrcode_back_color": self.ui.tools2_defaults_form.tools2_qrcode_group.back_color_entry, - "tools_qrcode_sel_limit": self.ui.tools2_defaults_form.tools2_qrcode_group.sel_limit_entry, + "tools_qrcode_version": self.ui.plugin2_pref_form.tools2_qrcode_group.version_entry, + "tools_qrcode_error": self.ui.plugin2_pref_form.tools2_qrcode_group.error_radio, + "tools_qrcode_box_size": self.ui.plugin2_pref_form.tools2_qrcode_group.bsize_entry, + "tools_qrcode_border_size": self.ui.plugin2_pref_form.tools2_qrcode_group.border_size_entry, + "tools_qrcode_qrdata": self.ui.plugin2_pref_form.tools2_qrcode_group.text_data, + "tools_qrcode_polarity": self.ui.plugin2_pref_form.tools2_qrcode_group.pol_radio, + "tools_qrcode_rounded": self.ui.plugin2_pref_form.tools2_qrcode_group.bb_radio, + "tools_qrcode_fill_color": self.ui.plugin2_pref_form.tools2_qrcode_group.fill_color_entry, + "tools_qrcode_back_color": self.ui.plugin2_pref_form.tools2_qrcode_group.back_color_entry, + "tools_qrcode_sel_limit": self.ui.plugin2_pref_form.tools2_qrcode_group.sel_limit_entry, # Copper Thieving Tool - "tools_copper_thieving_clearance": self.ui.tools2_defaults_form.tools2_cfill_group.clearance_entry, - "tools_copper_thieving_margin": self.ui.tools2_defaults_form.tools2_cfill_group.margin_entry, - "tools_copper_thieving_area": self.ui.tools2_defaults_form.tools2_cfill_group.area_entry, - "tools_copper_thieving_reference": self.ui.tools2_defaults_form.tools2_cfill_group.reference_radio, - "tools_copper_thieving_box_type": self.ui.tools2_defaults_form.tools2_cfill_group.bbox_type_radio, - "tools_copper_thieving_circle_steps": self.ui.tools2_defaults_form.tools2_cfill_group.circlesteps_entry, - "tools_copper_thieving_fill_type": self.ui.tools2_defaults_form.tools2_cfill_group.fill_type_radio, - "tools_copper_thieving_dots_dia": self.ui.tools2_defaults_form.tools2_cfill_group.dot_dia_entry, - "tools_copper_thieving_dots_spacing": self.ui.tools2_defaults_form.tools2_cfill_group.dot_spacing_entry, - "tools_copper_thieving_squares_size": self.ui.tools2_defaults_form.tools2_cfill_group.square_size_entry, + "tools_copper_thieving_clearance": self.ui.plugin2_pref_form.tools2_cfill_group.clearance_entry, + "tools_copper_thieving_margin": self.ui.plugin2_pref_form.tools2_cfill_group.margin_entry, + "tools_copper_thieving_area": self.ui.plugin2_pref_form.tools2_cfill_group.area_entry, + "tools_copper_thieving_reference": self.ui.plugin2_pref_form.tools2_cfill_group.reference_radio, + "tools_copper_thieving_box_type": self.ui.plugin2_pref_form.tools2_cfill_group.bbox_type_radio, + "tools_copper_thieving_circle_steps": self.ui.plugin2_pref_form.tools2_cfill_group.circlesteps_entry, + "tools_copper_thieving_fill_type": self.ui.plugin2_pref_form.tools2_cfill_group.fill_type_radio, + "tools_copper_thieving_dots_dia": self.ui.plugin2_pref_form.tools2_cfill_group.dot_dia_entry, + "tools_copper_thieving_dots_spacing": self.ui.plugin2_pref_form.tools2_cfill_group.dot_spacing_entry, + "tools_copper_thieving_squares_size": self.ui.plugin2_pref_form.tools2_cfill_group.square_size_entry, "tools_copper_thieving_squares_spacing": - self.ui.tools2_defaults_form.tools2_cfill_group.squares_spacing_entry, - "tools_copper_thieving_lines_size": self.ui.tools2_defaults_form.tools2_cfill_group.line_size_entry, - "tools_copper_thieving_lines_spacing": self.ui.tools2_defaults_form.tools2_cfill_group.lines_spacing_entry, - "tools_copper_thieving_rb_margin": self.ui.tools2_defaults_form.tools2_cfill_group.rb_margin_entry, - "tools_copper_thieving_rb_thickness": self.ui.tools2_defaults_form.tools2_cfill_group.rb_thickness_entry, - "tools_copper_thieving_only_apds": self.ui.tools2_defaults_form.tools2_cfill_group.only_pads_cb, - "tools_copper_thieving_mask_clearance": self.ui.tools2_defaults_form.tools2_cfill_group.clearance_ppm_entry, - "tools_copper_thieving_geo_choice": self.ui.tools2_defaults_form.tools2_cfill_group.ppm_choice_radio, + self.ui.plugin2_pref_form.tools2_cfill_group.squares_spacing_entry, + "tools_copper_thieving_lines_size": self.ui.plugin2_pref_form.tools2_cfill_group.line_size_entry, + "tools_copper_thieving_lines_spacing": self.ui.plugin2_pref_form.tools2_cfill_group.lines_spacing_entry, + "tools_copper_thieving_rb_margin": self.ui.plugin2_pref_form.tools2_cfill_group.rb_margin_entry, + "tools_copper_thieving_rb_thickness": self.ui.plugin2_pref_form.tools2_cfill_group.rb_thickness_entry, + "tools_copper_thieving_only_apds": self.ui.plugin2_pref_form.tools2_cfill_group.only_pads_cb, + "tools_copper_thieving_mask_clearance": self.ui.plugin2_pref_form.tools2_cfill_group.clearance_ppm_entry, + "tools_copper_thieving_geo_choice": self.ui.plugin2_pref_form.tools2_cfill_group.ppm_choice_radio, # Fiducials Tool - "tools_fiducials_dia": self.ui.tools2_defaults_form.tools2_fiducials_group.dia_entry, - "tools_fiducials_margin": self.ui.tools2_defaults_form.tools2_fiducials_group.margin_entry, - "tools_fiducials_mode": self.ui.tools2_defaults_form.tools2_fiducials_group.mode_radio, - "tools_fiducials_second_pos": self.ui.tools2_defaults_form.tools2_fiducials_group.pos_radio, - "tools_fiducials_type": self.ui.tools2_defaults_form.tools2_fiducials_group.fid_type_radio, - "tools_fiducials_line_thickness": self.ui.tools2_defaults_form.tools2_fiducials_group.line_thickness_entry, + "tools_fiducials_dia": self.ui.plugin2_pref_form.tools2_fiducials_group.dia_entry, + "tools_fiducials_margin": self.ui.plugin2_pref_form.tools2_fiducials_group.margin_entry, + "tools_fiducials_mode": self.ui.plugin2_pref_form.tools2_fiducials_group.mode_radio, + "tools_fiducials_second_pos": self.ui.plugin2_pref_form.tools2_fiducials_group.pos_radio, + "tools_fiducials_type": self.ui.plugin2_pref_form.tools2_fiducials_group.fid_type_radio, + "tools_fiducials_line_thickness": self.ui.plugin2_pref_form.tools2_fiducials_group.line_thickness_entry, # Calibration Tool - "tools_cal_calsource": self.ui.tools2_defaults_form.tools2_cal_group.cal_source_radio, - "tools_cal_travelz": self.ui.tools2_defaults_form.tools2_cal_group.travelz_entry, - "tools_cal_verz": self.ui.tools2_defaults_form.tools2_cal_group.verz_entry, - "tools_cal_zeroz": self.ui.tools2_defaults_form.tools2_cal_group.zeroz_cb, - "tools_cal_toolchangez": self.ui.tools2_defaults_form.tools2_cal_group.toolchangez_entry, - "tools_cal_toolchange_xy": self.ui.tools2_defaults_form.tools2_cal_group.toolchange_xy_entry, - "tools_cal_sec_point": self.ui.tools2_defaults_form.tools2_cal_group.second_point_radio, + "tools_cal_calsource": self.ui.plugin2_pref_form.tools2_cal_group.cal_source_radio, + "tools_cal_travelz": self.ui.plugin2_pref_form.tools2_cal_group.travelz_entry, + "tools_cal_verz": self.ui.plugin2_pref_form.tools2_cal_group.verz_entry, + "tools_cal_zeroz": self.ui.plugin2_pref_form.tools2_cal_group.zeroz_cb, + "tools_cal_toolchangez": self.ui.plugin2_pref_form.tools2_cal_group.toolchangez_entry, + "tools_cal_toolchange_xy": self.ui.plugin2_pref_form.tools2_cal_group.toolchange_xy_entry, + "tools_cal_sec_point": self.ui.plugin2_pref_form.tools2_cal_group.second_point_radio, # Extract Drills Tool - "tools_extract_hole_type": self.ui.tools2_defaults_form.tools2_edrills_group.method_radio, - "tools_extract_hole_fixed_dia": self.ui.tools2_defaults_form.tools2_edrills_group.dia_entry, - "tools_extract_hole_prop_factor": self.ui.tools2_defaults_form.tools2_edrills_group.factor_entry, - "tools_extract_circular_ring": self.ui.tools2_defaults_form.tools2_edrills_group.circular_ring_entry, - "tools_extract_oblong_ring": self.ui.tools2_defaults_form.tools2_edrills_group.oblong_ring_entry, - "tools_extract_square_ring": self.ui.tools2_defaults_form.tools2_edrills_group.square_ring_entry, - "tools_extract_rectangular_ring": self.ui.tools2_defaults_form.tools2_edrills_group.rectangular_ring_entry, - "tools_extract_others_ring": self.ui.tools2_defaults_form.tools2_edrills_group.other_ring_entry, - "tools_extract_circular": self.ui.tools2_defaults_form.tools2_edrills_group.circular_cb, - "tools_extract_oblong": self.ui.tools2_defaults_form.tools2_edrills_group.oblong_cb, - "tools_extract_square": self.ui.tools2_defaults_form.tools2_edrills_group.square_cb, - "tools_extract_rectangular": self.ui.tools2_defaults_form.tools2_edrills_group.rectangular_cb, - "tools_extract_others": self.ui.tools2_defaults_form.tools2_edrills_group.other_cb, - "tools_extract_sm_clearance": self.ui.tools2_defaults_form.tools2_edrills_group.clearance_entry, - "tools_extract_cut_margin": self.ui.tools2_defaults_form.tools2_edrills_group.margin_cut_entry, - "tools_extract_cut_thickness": self.ui.tools2_defaults_form.tools2_edrills_group.thick_cut_entry, + "tools_extract_hole_type": self.ui.plugin2_pref_form.tools2_edrills_group.method_radio, + "tools_extract_hole_fixed_dia": self.ui.plugin2_pref_form.tools2_edrills_group.dia_entry, + "tools_extract_hole_prop_factor": self.ui.plugin2_pref_form.tools2_edrills_group.factor_entry, + "tools_extract_circular_ring": self.ui.plugin2_pref_form.tools2_edrills_group.circular_ring_entry, + "tools_extract_oblong_ring": self.ui.plugin2_pref_form.tools2_edrills_group.oblong_ring_entry, + "tools_extract_square_ring": self.ui.plugin2_pref_form.tools2_edrills_group.square_ring_entry, + "tools_extract_rectangular_ring": self.ui.plugin2_pref_form.tools2_edrills_group.rectangular_ring_entry, + "tools_extract_others_ring": self.ui.plugin2_pref_form.tools2_edrills_group.other_ring_entry, + "tools_extract_circular": self.ui.plugin2_pref_form.tools2_edrills_group.circular_cb, + "tools_extract_oblong": self.ui.plugin2_pref_form.tools2_edrills_group.oblong_cb, + "tools_extract_square": self.ui.plugin2_pref_form.tools2_edrills_group.square_cb, + "tools_extract_rectangular": self.ui.plugin2_pref_form.tools2_edrills_group.rectangular_cb, + "tools_extract_others": self.ui.plugin2_pref_form.tools2_edrills_group.other_cb, + "tools_extract_sm_clearance": self.ui.plugin2_pref_form.tools2_edrills_group.clearance_entry, + "tools_extract_cut_margin": self.ui.plugin2_pref_form.tools2_edrills_group.margin_cut_entry, + "tools_extract_cut_thickness": self.ui.plugin2_pref_form.tools2_edrills_group.thick_cut_entry, # Punch Gerber Tool - "tools_punch_hole_type": self.ui.tools2_defaults_form.tools2_punch_group.hole_size_radio, - "tools_punch_hole_fixed_dia": self.ui.tools2_defaults_form.tools2_punch_group.dia_entry, - "tools_punch_hole_prop_factor": self.ui.tools2_defaults_form.tools2_punch_group.factor_entry, - "tools_punch_circular_ring": self.ui.tools2_defaults_form.tools2_punch_group.circular_ring_entry, - "tools_punch_oblong_ring": self.ui.tools2_defaults_form.tools2_punch_group.oblong_ring_entry, - "tools_punch_square_ring": self.ui.tools2_defaults_form.tools2_punch_group.square_ring_entry, - "tools_punch_rectangular_ring": self.ui.tools2_defaults_form.tools2_punch_group.rectangular_ring_entry, - "tools_punch_others_ring": self.ui.tools2_defaults_form.tools2_punch_group.other_ring_entry, - "tools_punch_circular": self.ui.tools2_defaults_form.tools2_punch_group.circular_cb, - "tools_punch_oblong": self.ui.tools2_defaults_form.tools2_punch_group.oblong_cb, - "tools_punch_square": self.ui.tools2_defaults_form.tools2_punch_group.square_cb, - "tools_punch_rectangular": self.ui.tools2_defaults_form.tools2_punch_group.rectangular_cb, - "tools_punch_others": self.ui.tools2_defaults_form.tools2_punch_group.other_cb, + "tools_punch_hole_type": self.ui.plugin2_pref_form.tools2_punch_group.hole_size_radio, + "tools_punch_hole_fixed_dia": self.ui.plugin2_pref_form.tools2_punch_group.dia_entry, + "tools_punch_hole_prop_factor": self.ui.plugin2_pref_form.tools2_punch_group.factor_entry, + "tools_punch_circular_ring": self.ui.plugin2_pref_form.tools2_punch_group.circular_ring_entry, + "tools_punch_oblong_ring": self.ui.plugin2_pref_form.tools2_punch_group.oblong_ring_entry, + "tools_punch_square_ring": self.ui.plugin2_pref_form.tools2_punch_group.square_ring_entry, + "tools_punch_rectangular_ring": self.ui.plugin2_pref_form.tools2_punch_group.rectangular_ring_entry, + "tools_punch_others_ring": self.ui.plugin2_pref_form.tools2_punch_group.other_ring_entry, + "tools_punch_circular": self.ui.plugin2_pref_form.tools2_punch_group.circular_cb, + "tools_punch_oblong": self.ui.plugin2_pref_form.tools2_punch_group.oblong_cb, + "tools_punch_square": self.ui.plugin2_pref_form.tools2_punch_group.square_cb, + "tools_punch_rectangular": self.ui.plugin2_pref_form.tools2_punch_group.rectangular_cb, + "tools_punch_others": self.ui.plugin2_pref_form.tools2_punch_group.other_cb, # Invert Gerber Tool - "tools_invert_margin": self.ui.tools2_defaults_form.tools2_invert_group.margin_entry, - "tools_invert_join_style": self.ui.tools2_defaults_form.tools2_invert_group.join_radio, + "tools_invert_margin": self.ui.plugin2_pref_form.tools2_invert_group.margin_entry, + "tools_invert_join_style": self.ui.plugin2_pref_form.tools2_invert_group.join_radio, # Utilities # File associations - "fa_excellon": self.ui.util_defaults_form.fa_excellon_group.exc_list_text, - "fa_gcode": self.ui.util_defaults_form.fa_gcode_group.gco_list_text, - # "fa_geometry": self.ui.util_defaults_form.fa_geometry_group.close_paths_cb, - "fa_gerber": self.ui.util_defaults_form.fa_gerber_group.grb_list_text, - "util_autocomplete_keywords": self.ui.util_defaults_form.kw_group.kw_list_text, + "fa_excellon": self.ui.util_pref_form.fa_excellon_group.exc_list_text, + "fa_gcode": self.ui.util_pref_form.fa_gcode_group.gco_list_text, + # "fa_geometry": self.ui.util_pref_form.fa_geometry_group.close_paths_cb, + "fa_gerber": self.ui.util_pref_form.fa_gerber_group.grb_list_text, + "util_autocomplete_keywords": self.ui.util_pref_form.kw_group.kw_list_text, } @@ -758,7 +764,7 @@ class PreferencesUIManager: :return: None """ - gen_form = self.ui.general_defaults_form + gen_form = self.ui.general_pref_form try: self.ui.general_scroll_area.takeWidget() except Exception: @@ -766,7 +772,7 @@ class PreferencesUIManager: self.ui.general_scroll_area.setWidget(gen_form) gen_form.show() - ger_form = self.ui.gerber_defaults_form + ger_form = self.ui.gerber_pref_form try: self.ui.gerber_scroll_area.takeWidget() except Exception: @@ -774,7 +780,7 @@ class PreferencesUIManager: self.ui.gerber_scroll_area.setWidget(ger_form) ger_form.show() - exc_form = self.ui.excellon_defaults_form + exc_form = self.ui.excellon_pref_form try: self.ui.excellon_scroll_area.takeWidget() except Exception: @@ -782,7 +788,7 @@ class PreferencesUIManager: self.ui.excellon_scroll_area.setWidget(exc_form) exc_form.show() - geo_form = self.ui.geometry_defaults_form + geo_form = self.ui.geo_pref_form try: self.ui.geometry_scroll_area.takeWidget() except Exception: @@ -790,7 +796,7 @@ class PreferencesUIManager: self.ui.geometry_scroll_area.setWidget(geo_form) geo_form.show() - cnc_form = self.ui.cncjob_defaults_form + cnc_form = self.ui.cncjob_pref_form try: self.ui.cncjob_scroll_area.takeWidget() except Exception: @@ -798,23 +804,31 @@ class PreferencesUIManager: self.ui.cncjob_scroll_area.setWidget(cnc_form) cnc_form.show() - tools_form = self.ui.tools_defaults_form + plugins_engraving_form = self.ui.plugin_eng_pref_form + try: + self.ui.plugins_engraving_scroll_area.takeWidget() + except Exception: + log.debug("Nothing to remove") + self.ui.plugins_engraving_scroll_area.setWidget(plugins_engraving_form) + plugins_engraving_form.show() + + plugins_form = self.ui.plugin_pref_form try: self.ui.tools_scroll_area.takeWidget() except Exception: log.debug("Nothing to remove") - self.ui.tools_scroll_area.setWidget(tools_form) - tools_form.show() + self.ui.tools_scroll_area.setWidget(plugins_form) + plugins_form.show() - tools2_form = self.ui.tools2_defaults_form + plugins2_form = self.ui.plugin2_pref_form try: self.ui.tools2_scroll_area.takeWidget() except Exception: log.debug("Nothing to remove") - self.ui.tools2_scroll_area.setWidget(tools2_form) - tools2_form.show() + self.ui.tools2_scroll_area.setWidget(plugins2_form) + plugins2_form.show() - fa_form = self.ui.util_defaults_form + fa_form = self.ui.util_pref_form try: self.ui.fa_scroll_area.takeWidget() except Exception: @@ -835,89 +849,89 @@ class PreferencesUIManager: def __init_color_pickers(self): # Init Gerber Plot Colors - self.ui.gerber_defaults_form.gerber_gen_group.fill_color_entry.set_value(self.defaults['gerber_plot_fill']) - self.ui.gerber_defaults_form.gerber_gen_group.line_color_entry.set_value(self.defaults['gerber_plot_line']) + self.ui.gerber_pref_form.gerber_gen_group.fill_color_entry.set_value(self.defaults['gerber_plot_fill']) + self.ui.gerber_pref_form.gerber_gen_group.line_color_entry.set_value(self.defaults['gerber_plot_line']) - self.ui.gerber_defaults_form.gerber_gen_group.gerber_alpha_entry.set_value( + self.ui.gerber_pref_form.gerber_gen_group.gerber_alpha_entry.set_value( int(self.defaults['gerber_plot_fill'][7:9], 16)) # alpha # Init Excellon Plot Colors - self.ui.excellon_defaults_form.excellon_gen_group.fill_color_entry.set_value( + self.ui.excellon_pref_form.excellon_gen_group.fill_color_entry.set_value( self.defaults['excellon_plot_fill']) - self.ui.excellon_defaults_form.excellon_gen_group.line_color_entry.set_value( + self.ui.excellon_pref_form.excellon_gen_group.line_color_entry.set_value( self.defaults['excellon_plot_line']) - self.ui.excellon_defaults_form.excellon_gen_group.excellon_alpha_entry.set_value( + self.ui.excellon_pref_form.excellon_gen_group.excellon_alpha_entry.set_value( int(self.defaults['excellon_plot_fill'][7:9], 16)) # Init Geometry Plot Colors - self.ui.geometry_defaults_form.geometry_gen_group.line_color_entry.set_value( + self.ui.geo_pref_form.geometry_gen_group.line_color_entry.set_value( self.defaults['geometry_plot_line']) # Init CNCJob Travel Line Colors - self.ui.cncjob_defaults_form.cncjob_gen_group.tfill_color_entry.set_value( + self.ui.cncjob_pref_form.cncjob_gen_group.tfill_color_entry.set_value( self.defaults['cncjob_travel_fill']) - self.ui.cncjob_defaults_form.cncjob_gen_group.tline_color_entry.set_value( + self.ui.cncjob_pref_form.cncjob_gen_group.tline_color_entry.set_value( self.defaults['cncjob_travel_line']) - self.ui.cncjob_defaults_form.cncjob_gen_group.cncjob_alpha_entry.set_value( + self.ui.cncjob_pref_form.cncjob_gen_group.cncjob_alpha_entry.set_value( int(self.defaults['cncjob_travel_fill'][7:9], 16)) # alpha # Init CNCJob Plot Colors - self.ui.cncjob_defaults_form.cncjob_gen_group.fill_color_entry.set_value( + self.ui.cncjob_pref_form.cncjob_gen_group.fill_color_entry.set_value( self.defaults['cncjob_plot_fill']) - self.ui.cncjob_defaults_form.cncjob_gen_group.line_color_entry.set_value( + self.ui.cncjob_pref_form.cncjob_gen_group.line_color_entry.set_value( self.defaults['cncjob_plot_line']) # Init Left-Right Selection colors - self.ui.general_defaults_form.general_gui_group.sf_color_entry.set_value(self.defaults['global_sel_fill']) - self.ui.general_defaults_form.general_gui_group.sl_color_entry.set_value(self.defaults['global_sel_line']) + self.ui.general_pref_form.general_gui_group.sf_color_entry.set_value(self.defaults['global_sel_fill']) + self.ui.general_pref_form.general_gui_group.sl_color_entry.set_value(self.defaults['global_sel_line']) - self.ui.general_defaults_form.general_gui_group.left_right_alpha_entry.set_value( + self.ui.general_pref_form.general_gui_group.left_right_alpha_entry.set_value( int(self.defaults['global_sel_fill'][7:9], 16)) # Init Right-Left Selection colors - self.ui.general_defaults_form.general_gui_group.alt_sf_color_entry.set_value( + self.ui.general_pref_form.general_gui_group.alt_sf_color_entry.set_value( self.defaults['global_alt_sel_fill']) - self.ui.general_defaults_form.general_gui_group.alt_sl_color_entry.set_value( + self.ui.general_pref_form.general_gui_group.alt_sl_color_entry.set_value( self.defaults['global_alt_sel_line']) - self.ui.general_defaults_form.general_gui_group.right_left_alpha_entry.set_value( + self.ui.general_pref_form.general_gui_group.right_left_alpha_entry.set_value( int(self.defaults['global_sel_fill'][7:9], 16)) # Init Draw color and Selection Draw Color - self.ui.general_defaults_form.general_gui_group.draw_color_entry.set_value( + self.ui.general_pref_form.general_gui_group.draw_color_entry.set_value( self.defaults['global_draw_color']) - self.ui.general_defaults_form.general_gui_group.sel_draw_color_entry.set_value( + self.ui.general_pref_form.general_gui_group.sel_draw_color_entry.set_value( self.defaults['global_sel_draw_color']) # Init Project Items color - self.ui.general_defaults_form.general_gui_group.proj_color_entry.set_value( + self.ui.general_pref_form.general_gui_group.proj_color_entry.set_value( self.defaults['global_proj_item_color']) # Init Project Disabled Items color - self.ui.general_defaults_form.general_gui_group.proj_color_dis_entry.set_value( + self.ui.general_pref_form.general_gui_group.proj_color_dis_entry.set_value( self.defaults['global_proj_item_dis_color']) # Init Mouse Cursor color - self.ui.general_defaults_form.general_app_set_group.mouse_cursor_entry.set_value( + self.ui.general_pref_form.general_app_set_group.mouse_cursor_entry.set_value( self.defaults['global_cursor_color']) # Init the Annotation CNC Job color - self.ui.cncjob_defaults_form.cncjob_adv_opt_group.annotation_fontcolor_entry.set_value( + self.ui.cncjob_pref_form.cncjob_adv_opt_group.annotation_fontcolor_entry.set_value( self.defaults['cncjob_annotation_fontcolor']) # Init the Tool Film color - self.ui.tools_defaults_form.tools_film_group.film_color_entry.set_value( + self.ui.plugin_pref_form.tools_film_group.film_color_entry.set_value( self.defaults['tools_film_color']) # Init the Tool QRCode colors - self.ui.tools2_defaults_form.tools2_qrcode_group.fill_color_entry.set_value( + self.ui.plugin2_pref_form.tools2_qrcode_group.fill_color_entry.set_value( self.defaults['tools_qrcode_fill_color']) - self.ui.tools2_defaults_form.tools2_qrcode_group.back_color_entry.set_value( + self.ui.plugin2_pref_form.tools2_qrcode_group.back_color_entry.set_value( self.defaults['tools_qrcode_back_color']) def on_save_button(self, save_to_file=True): @@ -948,10 +962,10 @@ class PreferencesUIManager: theme = 'white' should_restart = False - theme_new_val = self.ui.general_defaults_form.general_gui_group.theme_radio.get_value() + theme_new_val = self.ui.general_pref_form.general_gui_group.theme_radio.get_value() ge = self.defaults["global_graphic_engine"] - ge_val = self.ui.general_defaults_form.general_app_group.ge_radio.get_value() + ge_val = self.ui.general_pref_form.general_app_group.ge_radio.get_value() if theme_new_val != theme or ge != ge_val: msgbox = QtWidgets.QMessageBox() @@ -976,13 +990,13 @@ class PreferencesUIManager: should_restart = True else: - self.ui.general_defaults_form.general_gui_group.theme_radio.set_value(theme) + self.ui.general_pref_form.general_gui_group.theme_radio.set_value(theme) else: if response == bt_yes: self.defaults["global_graphic_engine"] = ge_val should_restart = True else: - self.ui.general_defaults_form.general_app_group.ge_radio.set_value(ge) + self.ui.general_pref_form.general_app_group.ge_radio.set_value(ge) if save_to_file or should_restart is True: # Re-fresh project options @@ -995,19 +1009,19 @@ class PreferencesUIManager: settgs = QSettings("Open Source", "FlatCAM") # save the notebook font size - fsize = self.ui.general_defaults_form.general_app_set_group.notebook_font_size_spinner.get_value() + fsize = self.ui.general_pref_form.general_app_set_group.notebook_font_size_spinner.get_value() settgs.setValue('notebook_font_size', fsize) # save the axis font size - g_fsize = self.ui.general_defaults_form.general_app_set_group.axis_font_size_spinner.get_value() + g_fsize = self.ui.general_pref_form.general_app_set_group.axis_font_size_spinner.get_value() settgs.setValue('axis_font_size', g_fsize) # save the textbox font size - tb_fsize = self.ui.general_defaults_form.general_app_set_group.textbox_font_size_spinner.get_value() + tb_fsize = self.ui.general_pref_form.general_app_set_group.textbox_font_size_spinner.get_value() settgs.setValue('textbox_font_size', tb_fsize) # save the HUD font size - hud_fsize = self.ui.general_defaults_form.general_app_set_group.hud_font_size_spinner.get_value() + hud_fsize = self.ui.general_pref_form.general_app_set_group.hud_font_size_spinner.get_value() settgs.setValue('hud_font_size', hud_fsize) # This will write the setting to the platform specific storage. @@ -1033,12 +1047,12 @@ class PreferencesUIManager: self.ui.pref_status_label.setStyleSheet("") try: - self.ui.general_defaults_form.general_app_group.units_radio.activated_custom.disconnect() + self.ui.general_pref_form.general_app_group.units_radio.activated_custom.disconnect() except (TypeError, AttributeError): pass self.defaults_write_form(source_dict=self.defaults.current_defaults) - self.ui.general_defaults_form.general_app_group.units_radio.activated_custom.connect( + self.ui.general_pref_form.general_app_group.units_radio.activated_custom.connect( lambda: self.ui.app.on_toggle_units(no_pref=False)) self.defaults.update(self.defaults.current_defaults) diff --git a/appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py b/appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py index e6c04c5a..52f8bb07 100644 --- a/appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py +++ b/appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py @@ -435,14 +435,14 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): :return: None """ if self.excellon_units_radio.get_value().upper() == 'METRIC': - self.app.ui.excellon_defaults_form.excellon_exp_group.format_whole_entry.set_value( + self.app.ui.excellon_pref_form.excellon_exp_group.format_whole_entry.set_value( self.excellon_format_upper_mm_entry.get_value()) - self.app.ui.excellon_defaults_form.excellon_exp_group.format_dec_entry.set_value( + self.app.ui.excellon_pref_form.excellon_exp_group.format_dec_entry.set_value( self.excellon_format_lower_mm_entry.get_value()) else: - self.app.ui.excellon_defaults_form.excellon_exp_group.format_whole_entry.set_value( + self.app.ui.excellon_pref_form.excellon_exp_group.format_whole_entry.set_value( self.excellon_format_upper_in_entry.get_value()) - self.app.ui.excellon_defaults_form.excellon_exp_group.format_dec_entry.set_value( + self.app.ui.excellon_pref_form.excellon_exp_group.format_dec_entry.set_value( self.excellon_format_lower_in_entry.get_value()) def on_excellon_zeros_changed(self, val): @@ -450,12 +450,12 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI): Slot activated when the user changes the Excellon zeros values in Preferences -> Excellon -> Excellon General :return: None """ - self.app.ui.excellon_defaults_form.excellon_exp_group.zeros_radio.set_value(val + 'Z') + self.app.ui.excellon_pref_form.excellon_exp_group.zeros_radio.set_value(val + 'Z') def on_excellon_units_changed(self, val): """ Slot activated when the user changes the Excellon unit values in Preferences -> Excellon -> Excellon General :return: None """ - self.app.ui.excellon_defaults_form.excellon_exp_group.excellon_units_radio.set_value(val) + self.app.ui.excellon_pref_form.excellon_exp_group.excellon_units_radio.set_value(val) self.on_excellon_format_changed() diff --git a/appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py b/appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py index fcbe17dc..3bc739f3 100644 --- a/appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py +++ b/appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py @@ -35,121 +35,6 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): grid1 = QtWidgets.QGridLayout() self.layout.addLayout(grid1) - # Toolchange X,Y - toolchange_xy_label = FCLabel('%s:' % _('Toolchange X-Y')) - toolchange_xy_label.setToolTip( - _("Toolchange X,Y position.") - ) - self.toolchangexy_entry = NumericalEvalTupleEntry(border_color='#0069A9') - - grid1.addWidget(toolchange_xy_label, 1, 0) - grid1.addWidget(self.toolchangexy_entry, 1, 1) - - # Start move Z - startzlabel = FCLabel('%s:' % _('Start Z')) - startzlabel.setToolTip( - _("Height of the tool just after starting the work.\n" - "Delete the value if you don't need this feature.") - ) - self.gstartz_entry = NumericalEvalEntry(border_color='#0069A9') - - grid1.addWidget(startzlabel, 2, 0) - grid1.addWidget(self.gstartz_entry, 2, 1) - - # Feedrate rapids - fr_rapid_label = FCLabel('%s:' % _('Feedrate Rapids')) - fr_rapid_label.setToolTip( - _("Cutting speed in the XY plane\n" - "(in units per minute).\n" - "This is for the rapid move G00.\n" - "It is useful only for Marlin,\n" - "ignore for any other cases.") - ) - self.feedrate_rapid_entry = FCDoubleSpinner() - self.feedrate_rapid_entry.set_range(0, 910000.0000) - self.feedrate_rapid_entry.set_precision(self.decimals) - self.feedrate_rapid_entry.setSingleStep(0.1) - self.feedrate_rapid_entry.setWrapping(True) - - grid1.addWidget(fr_rapid_label, 4, 0) - grid1.addWidget(self.feedrate_rapid_entry, 4, 1) - - # End move extra cut - self.extracut_cb = FCCheckBox('%s' % _('Re-cut')) - self.extracut_cb.setToolTip( - _("In order to remove possible\n" - "copper leftovers where first cut\n" - "meet with last cut, we generate an\n" - "extended cut over the first cut section.") - ) - - self.e_cut_entry = FCDoubleSpinner() - self.e_cut_entry.set_range(0, 99999) - self.e_cut_entry.set_precision(self.decimals) - self.e_cut_entry.setSingleStep(0.1) - self.e_cut_entry.setWrapping(True) - self.e_cut_entry.setToolTip( - _("In order to remove possible\n" - "copper leftovers where first cut\n" - "meet with last cut, we generate an\n" - "extended cut over the first cut section.") - ) - grid1.addWidget(self.extracut_cb, 5, 0) - grid1.addWidget(self.e_cut_entry, 5, 1) - - # Probe depth - self.pdepth_label = FCLabel('%s:' % _("Probe Z depth")) - self.pdepth_label.setToolTip( - _("The maximum depth that the probe is allowed\n" - "to probe. Negative value, in current units.") - ) - self.pdepth_entry = FCDoubleSpinner() - self.pdepth_entry.set_range(-99999, 0.0000) - self.pdepth_entry.set_precision(self.decimals) - self.pdepth_entry.setSingleStep(0.1) - self.pdepth_entry.setWrapping(True) - - grid1.addWidget(self.pdepth_label, 6, 0) - grid1.addWidget(self.pdepth_entry, 6, 1) - - # Probe feedrate - self.feedrate_probe_label = FCLabel('%s:' % _("Feedrate Probe")) - self.feedrate_probe_label.setToolTip( - _("The feedrate used while the probe is probing.") - ) - self.feedrate_probe_entry = FCDoubleSpinner() - self.feedrate_probe_entry.set_range(0, 910000.0000) - self.feedrate_probe_entry.set_precision(self.decimals) - self.feedrate_probe_entry.setSingleStep(0.1) - self.feedrate_probe_entry.setWrapping(True) - - grid1.addWidget(self.feedrate_probe_label, 7, 0) - grid1.addWidget(self.feedrate_probe_entry, 7, 1) - - # Spindle direction - spindle_dir_label = FCLabel('%s:' % _('Spindle direction')) - spindle_dir_label.setToolTip( - _("This sets the direction that the spindle is rotating.\n" - "It can be either:\n" - "- CW = clockwise or\n" - "- CCW = counter clockwise") - ) - - self.spindledir_radio = RadioSet([{'label': _('CW'), 'value': 'CW'}, - {'label': _('CCW'), 'value': 'CCW'}]) - grid1.addWidget(spindle_dir_label, 8, 0) - grid1.addWidget(self.spindledir_radio, 8, 1) - - # Fast Move from Z Toolchange - self.fplunge_cb = FCCheckBox('%s' % _('Fast Plunge')) - self.fplunge_cb.setToolTip( - _("By checking this, the vertical move from\n" - "Z_Toolchange to Z_move is done with G0,\n" - "meaning the fastest speed available.\n" - "WARNING: the move is done at Toolchange X,Y coords.") - ) - grid1.addWidget(self.fplunge_cb, 9, 0, 1, 2) - # Size of trace segment on X axis segx_label = FCLabel('%s:' % _("Segment X size")) segx_label.setToolTip( @@ -163,8 +48,8 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): self.segx_entry.setSingleStep(0.1) self.segx_entry.setWrapping(True) - grid1.addWidget(segx_label, 10, 0) - grid1.addWidget(self.segx_entry, 10, 1) + grid1.addWidget(segx_label, 0, 0) + grid1.addWidget(self.segx_entry, 0, 1) # Size of trace segment on Y axis segy_label = FCLabel('%s:' % _("Segment Y size")) @@ -179,164 +64,8 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI): self.segy_entry.setSingleStep(0.1) self.segy_entry.setWrapping(True) - grid1.addWidget(segy_label, 11, 0) - grid1.addWidget(self.segy_entry, 11, 1) + grid1.addWidget(segy_label, 2, 0) + grid1.addWidget(self.segy_entry, 2, 1) - separator_line = QtWidgets.QFrame() - separator_line.setFrameShape(QtWidgets.QFrame.HLine) - separator_line.setFrameShadow(QtWidgets.QFrame.Sunken) - grid1.addWidget(separator_line, 12, 0, 1, 2) - - # ----------------------------- - # --- Area Exclusion ---------- - # ----------------------------- - self.area_exc_label = FCLabel('%s:' % _('Area Exclusion')) - self.area_exc_label.setToolTip( - _("Area exclusion parameters.") - ) - grid1.addWidget(self.area_exc_label, 13, 0, 1, 2) - - # Exclusion Area CB - self.exclusion_cb = FCCheckBox('%s' % _("Exclusion areas")) - self.exclusion_cb.setToolTip( - _( - "Include exclusion areas.\n" - "In those areas the travel of the tools\n" - "is forbidden." - ) - ) - grid1.addWidget(self.exclusion_cb, 14, 0, 1, 2) - - # Area Selection shape - self.area_shape_label = FCLabel('%s:' % _("Shape")) - self.area_shape_label.setToolTip( - _("The kind of selection shape used for area selection.") - ) - - self.area_shape_radio = RadioSet([{'label': _("Square"), 'value': 'square'}, - {'label': _("Polygon"), 'value': 'polygon'}]) - - grid1.addWidget(self.area_shape_label, 15, 0) - grid1.addWidget(self.area_shape_radio, 15, 1) - - # Chose Strategy - self.strategy_label = FCLabel('%s:' % _("Strategy")) - self.strategy_label.setToolTip(_("The strategy followed when encountering an exclusion area.\n" - "Can be:\n" - "- Over -> when encountering the area, the tool will go to a set height\n" - "- Around -> will avoid the exclusion area by going around the area")) - self.strategy_radio = RadioSet([{'label': _('Over'), 'value': 'over'}, - {'label': _('Around'), 'value': 'around'}]) - - grid1.addWidget(self.strategy_label, 16, 0) - grid1.addWidget(self.strategy_radio, 16, 1) - - # Over Z - self.over_z_label = FCLabel('%s:' % _("Over Z")) - self.over_z_label.setToolTip(_("The height Z to which the tool will rise in order to avoid\n" - "an interdiction area.")) - self.over_z_entry = FCDoubleSpinner() - self.over_z_entry.set_range(-10000.000, 10000.0000) - self.over_z_entry.set_precision(self.decimals) - - grid1.addWidget(self.over_z_label, 18, 0) - grid1.addWidget(self.over_z_entry, 18, 1) - - separator_line = QtWidgets.QFrame() - separator_line.setFrameShape(QtWidgets.QFrame.HLine) - separator_line.setFrameShadow(QtWidgets.QFrame.Sunken) - grid1.addWidget(separator_line, 20, 0, 1, 2) - - # ----------------------------- - # --- Area POLISH ---------- - # ----------------------------- - # Add Polish - self.polish_cb = FCCheckBox(label=_('Add Polish')) - self.polish_cb.setToolTip(_( - "Will add a Paint section at the end of the GCode.\n" - "A metallic brush will clean the material after milling.")) - grid1.addWidget(self.polish_cb, 22, 0, 1, 2) - - # Polish Tool Diameter - self.polish_dia_lbl = FCLabel('%s:' % _('Tool Dia')) - self.polish_dia_lbl.setToolTip( - _("Diameter for the polishing tool.") - ) - self.polish_dia_entry = FCDoubleSpinner() - self.polish_dia_entry.set_precision(self.decimals) - self.polish_dia_entry.set_range(-10000.000, 10000.0000) - - grid1.addWidget(self.polish_dia_lbl, 24, 0) - grid1.addWidget(self.polish_dia_entry, 24, 1) - - # Polish Travel Z - self.polish_travelz_lbl = FCLabel('%s:' % _('Travel Z')) - self.polish_travelz_lbl.setToolTip( - _("Height of the tool when\n" - "moving without cutting.") - ) - self.polish_travelz_entry = FCDoubleSpinner() - self.polish_travelz_entry.set_precision(self.decimals) - self.polish_travelz_entry.set_range(0.00000, 10000.00000) - self.polish_travelz_entry.setSingleStep(0.1) - - grid1.addWidget(self.polish_travelz_lbl, 26, 0) - grid1.addWidget(self.polish_travelz_entry, 26, 1) - - # Polish Pressure - self.polish_pressure_lbl = FCLabel('%s:' % _('Pressure')) - self.polish_pressure_lbl.setToolTip( - _("Negative value. The higher the absolute value\n" - "the stronger the pressure of the brush on the material.") - ) - self.polish_pressure_entry = FCDoubleSpinner() - self.polish_pressure_entry.set_precision(self.decimals) - self.polish_pressure_entry.set_range(-10000.0000, 10000.0000) - - grid1.addWidget(self.polish_pressure_lbl, 28, 0) - grid1.addWidget(self.polish_pressure_entry, 28, 1) - - # Polish Margin - self.polish_margin_lbl = FCLabel('%s:' % _('Margin')) - self.polish_margin_lbl.setToolTip( - _("Bounding box margin.") - ) - self.polish_margin_entry = FCDoubleSpinner() - self.polish_margin_entry.set_precision(self.decimals) - self.polish_margin_entry.set_range(-10000.0000, 10000.0000) - - grid1.addWidget(self.polish_margin_lbl, 30, 0) - grid1.addWidget(self.polish_margin_entry, 30, 1) - - # Polish Overlap - self.polish_over_lbl = FCLabel('%s:' % _('Overlap')) - self.polish_over_lbl.setToolTip( - _("How much (percentage) of the tool width to overlap each tool pass.") - ) - self.polish_over_entry = FCDoubleSpinner(suffix='%') - self.polish_over_entry.set_precision(self.decimals) - self.polish_over_entry.setWrapping(True) - self.polish_over_entry.set_range(0.0000, 99.9999) - self.polish_over_entry.setSingleStep(0.1) - - grid1.addWidget(self.polish_over_lbl, 32, 0) - grid1.addWidget(self.polish_over_entry, 32, 1) - - # Polish Method - self.polish_method_lbl = FCLabel('%s:' % _('Method')) - self.polish_method_lbl.setToolTip( - _("Algorithm for polishing:\n" - "- Standard: Fixed step inwards.\n" - "- Seed-based: Outwards from seed.\n" - "- Line-based: Parallel lines.") - ) - - self.polish_method_combo = FCComboBox2() - self.polish_method_combo.addItems( - [_("Standard"), _("Seed"), _("Lines")] - ) - - grid1.addWidget(self.polish_method_lbl, 34, 0) - grid1.addWidget(self.polish_method_combo, 34, 1) self.layout.addStretch() diff --git a/appGUI/preferences/geometry/GeometryGenPrefGroupUI.py b/appGUI/preferences/geometry/GeometryGenPrefGroupUI.py index 8edfc72d..983afab4 100644 --- a/appGUI/preferences/geometry/GeometryGenPrefGroupUI.py +++ b/appGUI/preferences/geometry/GeometryGenPrefGroupUI.py @@ -60,22 +60,6 @@ class GeometryGenPrefGroupUI(OptionsGroupUI): grid0.addWidget(self.circle_steps_label, 1, 0) grid0.addWidget(self.circle_steps_entry, 1, 1) - # Tools - self.tools_label = FCLabel("%s:" % _("Tools")) - grid0.addWidget(self.tools_label, 2, 0, 1, 2) - - # Tooldia - tdlabel = FCLabel('%s:' % _('Tools Dia')) - tdlabel.setToolTip( - _("Diameters of the tools, separated by comma.\n" - "The value of the diameter has to use the dot decimals separator.\n" - "Valid values: 0.3, 1.0") - ) - self.cnctooldia_entry = FCEntry() - - grid0.addWidget(tdlabel, 3, 0) - grid0.addWidget(self.cnctooldia_entry, 3, 1) - separator_line = QtWidgets.QFrame() separator_line.setFrameShape(QtWidgets.QFrame.HLine) separator_line.setFrameShadow(QtWidgets.QFrame.Sunken) diff --git a/appGUI/preferences/geometry/GeometryOptPrefGroupUI.py b/appGUI/preferences/geometry/GeometryOptPrefGroupUI.py index 106397f6..59c8aec8 100644 --- a/appGUI/preferences/geometry/GeometryOptPrefGroupUI.py +++ b/appGUI/preferences/geometry/GeometryOptPrefGroupUI.py @@ -54,191 +54,4 @@ class GeometryOptPrefGroupUI(OptionsGroupUI): grid1.addWidget(cutzlabel, 0, 0) grid1.addWidget(self.cutz_entry, 0, 1) - # Multidepth CheckBox - self.multidepth_cb = FCCheckBox(label=_('Multi-Depth')) - self.multidepth_cb.setToolTip( - _( - "Use multiple passes to limit\n" - "the cut depth in each pass. Will\n" - "cut multiple times until Cut Z is\n" - "reached." - ) - ) - grid1.addWidget(self.multidepth_cb, 1, 0) - - # Depth/pass - dplabel = FCLabel('%s:' % _('Depth/Pass')) - dplabel.setToolTip( - _("The depth to cut on each pass,\n" - "when multidepth is enabled.\n" - "It has positive value although\n" - "it is a fraction from the depth\n" - "which has negative value.") - ) - - self.depthperpass_entry = FCDoubleSpinner() - self.depthperpass_entry.set_range(0, 99999) - self.depthperpass_entry.set_precision(self.decimals) - self.depthperpass_entry.setSingleStep(0.1) - self.depthperpass_entry.setWrapping(True) - - grid1.addWidget(dplabel, 2, 0) - grid1.addWidget(self.depthperpass_entry, 2, 1) - - self.ois_multidepth = OptionalInputSection(self.multidepth_cb, [self.depthperpass_entry]) - - # Travel Z - travelzlabel = FCLabel('%s:' % _('Travel Z')) - travelzlabel.setToolTip( - _("Height of the tool when\n" - "moving without cutting.") - ) - self.travelz_entry = FCDoubleSpinner() - self.travelz_entry.set_range(-10000.0000, 10000.0000) - - self.travelz_entry.set_precision(self.decimals) - self.travelz_entry.setSingleStep(0.1) - self.travelz_entry.setWrapping(True) - - grid1.addWidget(travelzlabel, 3, 0) - grid1.addWidget(self.travelz_entry, 3, 1) - - # Tool change: - self.toolchange_cb = FCCheckBox('%s' % _("Tool change")) - self.toolchange_cb.setToolTip( - _( - "Include tool-change sequence\n" - "in the Machine Code (Pause for tool change)." - ) - ) - grid1.addWidget(self.toolchange_cb, 4, 0, 1, 2) - - # Toolchange Z - toolchangezlabel = FCLabel('%s:' % _('Toolchange Z')) - toolchangezlabel.setToolTip( - _( - "Z-axis position (height) for\n" - "tool change." - ) - ) - self.toolchangez_entry = FCDoubleSpinner() - self.toolchangez_entry.set_range(-10000.0000, 10000.0000) - - self.toolchangez_entry.set_precision(self.decimals) - self.toolchangez_entry.setSingleStep(0.1) - self.toolchangez_entry.setWrapping(True) - - grid1.addWidget(toolchangezlabel, 5, 0) - grid1.addWidget(self.toolchangez_entry, 5, 1) - - # End move Z - endz_label = FCLabel('%s:' % _('End move Z')) - endz_label.setToolTip( - _("Height of the tool after\n" - "the last move at the end of the job.") - ) - self.endz_entry = FCDoubleSpinner() - self.endz_entry.set_range(-10000.0000, 10000.0000) - - self.endz_entry.set_precision(self.decimals) - self.endz_entry.setSingleStep(0.1) - self.endz_entry.setWrapping(True) - - grid1.addWidget(endz_label, 6, 0) - grid1.addWidget(self.endz_entry, 6, 1) - - # End Move X,Y - endmove_xy_label = FCLabel('%s:' % _('End move X,Y')) - endmove_xy_label.setToolTip( - _("End move X,Y position. In format (x,y).\n" - "If no value is entered then there is no move\n" - "on X,Y plane at the end of the job.") - ) - self.endxy_entry = NumericalEvalTupleEntry(border_color='#0069A9') - - grid1.addWidget(endmove_xy_label, 7, 0) - grid1.addWidget(self.endxy_entry, 7, 1) - - # Feedrate X-Y - frlabel = FCLabel('%s:' % _('Feedrate X-Y')) - frlabel.setToolTip( - _("Cutting speed in the XY\n" - "plane in units per minute") - ) - self.cncfeedrate_entry = FCDoubleSpinner() - self.cncfeedrate_entry.set_range(0, 910000.0000) - self.cncfeedrate_entry.set_precision(self.decimals) - self.cncfeedrate_entry.setSingleStep(0.1) - self.cncfeedrate_entry.setWrapping(True) - - grid1.addWidget(frlabel, 8, 0) - grid1.addWidget(self.cncfeedrate_entry, 8, 1) - - # Feedrate Z (Plunge) - frz_label = FCLabel('%s:' % _('Feedrate Z')) - frz_label.setToolTip( - _("Cutting speed in the XY\n" - "plane in units per minute.\n" - "It is called also Plunge.") - ) - self.feedrate_z_entry = FCDoubleSpinner() - self.feedrate_z_entry.set_range(0, 910000.0000) - self.feedrate_z_entry.set_precision(self.decimals) - self.feedrate_z_entry.setSingleStep(0.1) - self.feedrate_z_entry.setWrapping(True) - - grid1.addWidget(frz_label, 9, 0) - grid1.addWidget(self.feedrate_z_entry, 9, 1) - - # Spindle Speed - spdlabel = FCLabel('%s:' % _('Spindle speed')) - spdlabel.setToolTip( - _( - "Speed of the spindle in RPM (optional).\n" - "If LASER preprocessor is used,\n" - "this value is the power of laser." - ) - ) - self.cncspindlespeed_entry = FCSpinner() - self.cncspindlespeed_entry.set_range(0, 1000000) - self.cncspindlespeed_entry.set_step(100) - - grid1.addWidget(spdlabel, 10, 0) - grid1.addWidget(self.cncspindlespeed_entry, 10, 1) - - # Dwell - self.dwell_cb = FCCheckBox(label='%s' % _('Enable Dwell')) - self.dwell_cb.setToolTip( - _("Pause to allow the spindle to reach its\n" - "speed before cutting.") - ) - dwelltime = FCLabel('%s:' % _('Duration')) - dwelltime.setToolTip( - _("Number of time units for spindle to dwell.") - ) - self.dwelltime_entry = FCDoubleSpinner() - self.dwelltime_entry.set_range(0, 99999) - self.dwelltime_entry.set_precision(self.decimals) - self.dwelltime_entry.setSingleStep(0.1) - self.dwelltime_entry.setWrapping(True) - - grid1.addWidget(self.dwell_cb, 11, 0) - grid1.addWidget(dwelltime, 12, 0) - grid1.addWidget(self.dwelltime_entry, 12, 1) - - self.ois_dwell = OptionalInputSection(self.dwell_cb, [self.dwelltime_entry]) - - # preprocessor selection - pp_label = FCLabel('%s:' % _("Preprocessor")) - pp_label.setToolTip( - _("The Preprocessor file that dictates\n" - "the Machine Code (like GCode, RML, HPGL) output.") - ) - self.pp_geometry_name_cb = FCComboBox() - self.pp_geometry_name_cb.setFocusPolicy(Qt.StrongFocus) - self.pp_geometry_name_cb.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred) - - grid1.addWidget(pp_label, 13, 0) - grid1.addWidget(self.pp_geometry_name_cb, 13, 1) - self.layout.addStretch() diff --git a/appGUI/preferences/tools/Tools2PreferencesUI.py b/appGUI/preferences/tools/Plugins2PreferencesUI.py similarity index 98% rename from appGUI/preferences/tools/Tools2PreferencesUI.py rename to appGUI/preferences/tools/Plugins2PreferencesUI.py index c9199a34..e28f98b8 100644 --- a/appGUI/preferences/tools/Tools2PreferencesUI.py +++ b/appGUI/preferences/tools/Plugins2PreferencesUI.py @@ -18,7 +18,7 @@ fcTranslate.apply_language('strings') if '_' not in builtins.__dict__: _ = gettext.gettext -class Tools2PreferencesUI(QtWidgets.QWidget): +class Plugins2PreferencesUI(QtWidgets.QWidget): def __init__(self, decimals, parent=None): QtWidgets.QWidget.__init__(self, parent=parent) diff --git a/appGUI/preferences/tools/PluginsEngravingPreferencesUI.py b/appGUI/preferences/tools/PluginsEngravingPreferencesUI.py new file mode 100644 index 00000000..a90608a4 --- /dev/null +++ b/appGUI/preferences/tools/PluginsEngravingPreferencesUI.py @@ -0,0 +1,60 @@ +from PyQt5 import QtWidgets + +from appGUI.preferences.tools.Tools2sidedPrefGroupUI import Tools2sidedPrefGroupUI +from appGUI.preferences.tools.ToolsLevelPrefGroupUI import ToolsLevelPrefGroupUI + +from appGUI.preferences.tools.ToolsNCCPrefGroupUI import ToolsNCCPrefGroupUI +from appGUI.preferences.tools.ToolsPaintPrefGroupUI import ToolsPaintPrefGroupUI +from appGUI.preferences.tools.ToolsISOPrefGroupUI import ToolsISOPrefGroupUI + +import gettext +import appTranslation as fcTranslate +import builtins + +fcTranslate.apply_language('strings') +if '_' not in builtins.__dict__: + _ = gettext.gettext + + +class PluginsEngravingPreferencesUI(QtWidgets.QWidget): + + def __init__(self, decimals, parent=None): + QtWidgets.QWidget.__init__(self, parent=parent) + self.layout = QtWidgets.QHBoxLayout() + self.setLayout(self.layout) + self.decimals = decimals + + self.tools_iso_group = ToolsISOPrefGroupUI(decimals=self.decimals) + self.tools_iso_group.setMinimumWidth(220) + + self.tools_ncc_group = ToolsNCCPrefGroupUI(decimals=self.decimals) + self.tools_ncc_group.setMinimumWidth(220) + + self.tools_paint_group = ToolsPaintPrefGroupUI(decimals=self.decimals) + self.tools_paint_group.setMinimumWidth(220) + + self.tools_2sided_group = Tools2sidedPrefGroupUI(decimals=self.decimals) + self.tools_2sided_group.setMinimumWidth(220) + + self.tools_level_group = ToolsLevelPrefGroupUI(decimals=self.decimals) + self.tools_level_group.setMinimumWidth(220) + + self.vlay = QtWidgets.QVBoxLayout() + self.vlay.addWidget(self.tools_iso_group) + + self.vlay1 = QtWidgets.QVBoxLayout() + self.vlay1.addWidget(self.tools_ncc_group) + + self.vlay2 = QtWidgets.QVBoxLayout() + self.vlay2.addWidget(self.tools_paint_group) + + self.vlay3 = QtWidgets.QVBoxLayout() + self.vlay3.addWidget(self.tools_2sided_group) + self.vlay3.addWidget(self.tools_level_group) + + self.layout.addLayout(self.vlay) + self.layout.addLayout(self.vlay1) + self.layout.addLayout(self.vlay2) + self.layout.addLayout(self.vlay3) + + self.layout.addStretch() diff --git a/appGUI/preferences/tools/ToolsPreferencesUI.py b/appGUI/preferences/tools/PluginsPreferencesUI.py similarity index 68% rename from appGUI/preferences/tools/ToolsPreferencesUI.py rename to appGUI/preferences/tools/PluginsPreferencesUI.py index 4956556a..ff9a20b8 100644 --- a/appGUI/preferences/tools/ToolsPreferencesUI.py +++ b/appGUI/preferences/tools/PluginsPreferencesUI.py @@ -3,20 +3,16 @@ from PyQt5 import QtWidgets from appGUI.preferences.tools.ToolsSubPrefGroupUI import ToolsSubPrefGroupUI from appGUI.preferences.tools.ToolsSolderpastePrefGroupUI import ToolsSolderpastePrefGroupUI from appGUI.preferences.tools.ToolsCornersPrefGroupUI import ToolsCornersPrefGroupUI + from appGUI.preferences.tools.ToolsTransformPrefGroupUI import ToolsTransformPrefGroupUI from appGUI.preferences.tools.ToolsCalculatorsPrefGroupUI import ToolsCalculatorsPrefGroupUI + from appGUI.preferences.tools.ToolsPanelizePrefGroupUI import ToolsPanelizePrefGroupUI from appGUI.preferences.tools.ToolsFilmPrefGroupUI import ToolsFilmPrefGroupUI -from appGUI.preferences.tools.Tools2sidedPrefGroupUI import Tools2sidedPrefGroupUI - -from appGUI.preferences.tools.ToolsLevelPrefGroupUI import ToolsLevelPrefGroupUI from appGUI.preferences.tools.ToolsCutoutPrefGroupUI import ToolsCutoutPrefGroupUI -from appGUI.preferences.tools.ToolsNCCPrefGroupUI import ToolsNCCPrefGroupUI -from appGUI.preferences.tools.ToolsPaintPrefGroupUI import ToolsPaintPrefGroupUI -from appGUI.preferences.tools.ToolsISOPrefGroupUI import ToolsISOPrefGroupUI from appGUI.preferences.tools.ToolsDrillPrefGroupUI import ToolsDrillPrefGroupUI - +from appGUI.preferences.tools.ToolsMillPrefGroupUI import ToolsMillPrefGroupUI import gettext import appTranslation as fcTranslate import builtins @@ -26,7 +22,7 @@ if '_' not in builtins.__dict__: _ = gettext.gettext -class ToolsPreferencesUI(QtWidgets.QWidget): +class PluginsPreferencesUI(QtWidgets.QWidget): def __init__(self, decimals, parent=None): QtWidgets.QWidget.__init__(self, parent=parent) @@ -34,27 +30,15 @@ class ToolsPreferencesUI(QtWidgets.QWidget): self.setLayout(self.layout) self.decimals = decimals - self.tools_iso_group = ToolsISOPrefGroupUI(decimals=self.decimals) - self.tools_iso_group.setMinimumWidth(220) - self.tools_drill_group = ToolsDrillPrefGroupUI(decimals=self.decimals) self.tools_drill_group.setMinimumWidth(220) - self.tools_ncc_group = ToolsNCCPrefGroupUI(decimals=self.decimals) - self.tools_ncc_group.setMinimumWidth(220) - - self.tools_paint_group = ToolsPaintPrefGroupUI(decimals=self.decimals) - self.tools_paint_group.setMinimumWidth(220) + self.tools_mill_group = ToolsMillPrefGroupUI(decimals=self.decimals) + self.tools_mill_group.setMinimumWidth(220) self.tools_cutout_group = ToolsCutoutPrefGroupUI(decimals=self.decimals) self.tools_cutout_group.setMinimumWidth(220) - self.tools_2sided_group = Tools2sidedPrefGroupUI(decimals=self.decimals) - self.tools_2sided_group.setMinimumWidth(220) - - self.tools_level_group = ToolsLevelPrefGroupUI(decimals=self.decimals) - self.tools_level_group.setMinimumWidth(220) - self.tools_film_group = ToolsFilmPrefGroupUI(decimals=self.decimals) self.tools_film_group.setMinimumWidth(220) @@ -77,19 +61,14 @@ class ToolsPreferencesUI(QtWidgets.QWidget): self.tools_sub_group.setMinimumWidth(200) self.vlay = QtWidgets.QVBoxLayout() - - self.vlay.addWidget(self.tools_iso_group) - self.vlay.addWidget(self.tools_level_group) - self.vlay.addWidget(self.tools_cutout_group) + self.vlay.addWidget(self.tools_drill_group) self.vlay1 = QtWidgets.QVBoxLayout() - self.vlay1.addWidget(self.tools_drill_group) - self.vlay1.addWidget(self.tools_panelize_group) + self.vlay1.addWidget(self.tools_mill_group) self.vlay2 = QtWidgets.QVBoxLayout() - self.vlay2.addWidget(self.tools_ncc_group) - self.vlay2.addWidget(self.tools_paint_group) - self.vlay2.addWidget(self.tools_2sided_group) + self.vlay2.addWidget(self.tools_cutout_group) + self.vlay2.addWidget(self.tools_panelize_group) self.vlay3 = QtWidgets.QVBoxLayout() self.vlay3.addWidget(self.tools_film_group) diff --git a/appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py b/appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py index 11c51919..14a96087 100644 --- a/appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py +++ b/appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py @@ -17,7 +17,7 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI): super(Tools2CThievingPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Copper Thieving Tool Options"))) + self.setTitle(str(_("Copper Thieving Plugin"))) self.decimals = decimals # ## Grid Layout diff --git a/appGUI/preferences/tools/Tools2CalPrefGroupUI.py b/appGUI/preferences/tools/Tools2CalPrefGroupUI.py index a3034757..25e0469d 100644 --- a/appGUI/preferences/tools/Tools2CalPrefGroupUI.py +++ b/appGUI/preferences/tools/Tools2CalPrefGroupUI.py @@ -17,7 +17,7 @@ class Tools2CalPrefGroupUI(OptionsGroupUI): super(Tools2CalPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Calibration Tool Options"))) + self.setTitle(str(_("Calibration Plugin"))) self.decimals = decimals # ## Grid Layout diff --git a/appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py b/appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py index 4511a078..72b20789 100644 --- a/appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py +++ b/appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py @@ -17,7 +17,7 @@ class Tools2FiducialsPrefGroupUI(OptionsGroupUI): super(Tools2FiducialsPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Fiducials Tool Options"))) + self.setTitle(str(_("Fiducials Plugin"))) self.decimals = decimals # ## Grid Layout diff --git a/appGUI/preferences/tools/Tools2InvertPrefGroupUI.py b/appGUI/preferences/tools/Tools2InvertPrefGroupUI.py index 17c51a52..685387f1 100644 --- a/appGUI/preferences/tools/Tools2InvertPrefGroupUI.py +++ b/appGUI/preferences/tools/Tools2InvertPrefGroupUI.py @@ -17,7 +17,7 @@ class Tools2InvertPrefGroupUI(OptionsGroupUI): super(Tools2InvertPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Invert Gerber Tool Options"))) + self.setTitle(str(_("Invert Gerber Plugin"))) self.decimals = decimals # ## Subtractor Tool Parameters diff --git a/appGUI/preferences/tools/Tools2OptimalPrefGroupUI.py b/appGUI/preferences/tools/Tools2OptimalPrefGroupUI.py index e4f94bc5..b93d5cbc 100644 --- a/appGUI/preferences/tools/Tools2OptimalPrefGroupUI.py +++ b/appGUI/preferences/tools/Tools2OptimalPrefGroupUI.py @@ -17,7 +17,7 @@ class Tools2OptimalPrefGroupUI(OptionsGroupUI): super(Tools2OptimalPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Optimal Tool Options"))) + self.setTitle(str(_("Optimal Plugin"))) self.decimals = decimals # ## Parameters diff --git a/appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py b/appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py index 61abe167..5911c116 100644 --- a/appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py +++ b/appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py @@ -17,7 +17,7 @@ class Tools2QRCodePrefGroupUI(OptionsGroupUI): super(Tools2QRCodePrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("QRCode Tool Options"))) + self.setTitle(str(_("QRCode Plugin"))) self.decimals = decimals # ## Parameters diff --git a/appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py b/appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py index 20a2cb96..86a862e7 100644 --- a/appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py +++ b/appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py @@ -17,7 +17,7 @@ class Tools2RulesCheckPrefGroupUI(OptionsGroupUI): super(Tools2RulesCheckPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Check Rules Tool Options"))) + self.setTitle(str(_("Check Rules Plugin"))) self.decimals = decimals self.crlabel = FCLabel("%s:" % _("Parameters")) diff --git a/appGUI/preferences/tools/Tools2sidedPrefGroupUI.py b/appGUI/preferences/tools/Tools2sidedPrefGroupUI.py index aa960978..5d8dde59 100644 --- a/appGUI/preferences/tools/Tools2sidedPrefGroupUI.py +++ b/appGUI/preferences/tools/Tools2sidedPrefGroupUI.py @@ -14,10 +14,10 @@ if '_' not in builtins.__dict__: class Tools2sidedPrefGroupUI(OptionsGroupUI): def __init__(self, decimals=4, parent=None): - # OptionsGroupUI.__init__(self, "2sided Tool Options", parent=parent) + # OptionsGroupUI.__init__(self, "2sided Plugin", parent=parent) super(Tools2sidedPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("2-Sided Tool Options"))) + self.setTitle(str(_("2-Sided Plugin"))) self.decimals = decimals # ## Board cuttout diff --git a/appGUI/preferences/tools/ToolsCalculatorsPrefGroupUI.py b/appGUI/preferences/tools/ToolsCalculatorsPrefGroupUI.py index 70132cb4..9b7643dd 100644 --- a/appGUI/preferences/tools/ToolsCalculatorsPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsCalculatorsPrefGroupUI.py @@ -14,10 +14,10 @@ if '_' not in builtins.__dict__: class ToolsCalculatorsPrefGroupUI(OptionsGroupUI): def __init__(self, decimals=4, parent=None): - # OptionsGroupUI.__init__(self, "Calculators Tool Options", parent=parent) + # OptionsGroupUI.__init__(self, "Calculators Plugin", parent=parent) super(ToolsCalculatorsPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Calculators Tool Options"))) + self.setTitle(str(_("Calculators Plugin"))) self.decimals = decimals # ## V-shape Calculator Tool diff --git a/appGUI/preferences/tools/ToolsCornersPrefGroupUI.py b/appGUI/preferences/tools/ToolsCornersPrefGroupUI.py index c2bb7ed9..e31c796a 100644 --- a/appGUI/preferences/tools/ToolsCornersPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsCornersPrefGroupUI.py @@ -14,7 +14,7 @@ if '_' not in builtins.__dict__: class ToolsCornersPrefGroupUI(OptionsGroupUI): def __init__(self, decimals=4, parent=None): - # OptionsGroupUI.__init__(self, "Calculators Tool Options", parent=parent) + # OptionsGroupUI.__init__(self, "Calculators Plugin", parent=parent) super(ToolsCornersPrefGroupUI, self).__init__(self, parent=parent) self.setTitle(str(_("Corner Markers Options"))) diff --git a/appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py b/appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py index 2295d0b5..4d1d628f 100644 --- a/appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py @@ -14,10 +14,10 @@ if '_' not in builtins.__dict__: class ToolsCutoutPrefGroupUI(OptionsGroupUI): def __init__(self, decimals=4, parent=None): - # OptionsGroupUI.__init__(self, "Cutout Tool Options", parent=parent) + # OptionsGroupUI.__init__(self, "Cutout Plugin", parent=parent) super(ToolsCutoutPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Cutout Tool Options"))) + self.setTitle(str(_("Cutout Plugin"))) self.decimals = decimals # ## Board cutout diff --git a/appGUI/preferences/tools/ToolsDrillPrefGroupUI.py b/appGUI/preferences/tools/ToolsDrillPrefGroupUI.py index 1003e047..84a17203 100644 --- a/appGUI/preferences/tools/ToolsDrillPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsDrillPrefGroupUI.py @@ -18,7 +18,7 @@ class ToolsDrillPrefGroupUI(OptionsGroupUI): def __init__(self, decimals=4, parent=None): super(ToolsDrillPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Drilling Tool Options"))) + self.setTitle(str(_("Drilling Plugin"))) self.decimals = decimals # ## Clear non-copper regions diff --git a/appGUI/preferences/tools/ToolsFilmPrefGroupUI.py b/appGUI/preferences/tools/ToolsFilmPrefGroupUI.py index 84ae46bd..0a013cd4 100644 --- a/appGUI/preferences/tools/ToolsFilmPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsFilmPrefGroupUI.py @@ -14,10 +14,10 @@ if '_' not in builtins.__dict__: class ToolsFilmPrefGroupUI(OptionsGroupUI): def __init__(self, decimals=4, parent=None): - # OptionsGroupUI.__init__(self, "Cutout Tool Options", parent=parent) + # OptionsGroupUI.__init__(self, "Cutout Plugin", parent=parent) super(ToolsFilmPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Film Tool Options"))) + self.setTitle(str(_("Film Plugin"))) self.decimals = decimals # ## Parameters diff --git a/appGUI/preferences/tools/ToolsISOPrefGroupUI.py b/appGUI/preferences/tools/ToolsISOPrefGroupUI.py index b8b777b8..df9a11ae 100644 --- a/appGUI/preferences/tools/ToolsISOPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsISOPrefGroupUI.py @@ -17,7 +17,7 @@ class ToolsISOPrefGroupUI(OptionsGroupUI): def __init__(self, decimals=4, parent=None): super(ToolsISOPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Isolation Tool Options"))) + self.setTitle(str(_("Isolation Plugin"))) self.decimals = decimals # ## Clear non-copper regions diff --git a/appGUI/preferences/tools/ToolsLevelPrefGroupUI.py b/appGUI/preferences/tools/ToolsLevelPrefGroupUI.py index 580985df..1cafd245 100644 --- a/appGUI/preferences/tools/ToolsLevelPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsLevelPrefGroupUI.py @@ -14,10 +14,10 @@ if '_' not in builtins.__dict__: class ToolsLevelPrefGroupUI(OptionsGroupUI): def __init__(self, decimals=4, parent=None): - # OptionsGroupUI.__init__(self, "Cutout Tool Options", parent=parent) + # OptionsGroupUI.__init__(self, "Cutout Plugin", parent=parent) super(ToolsLevelPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Levelling Tool Options"))) + self.setTitle(str(_("Levelling Plugin"))) self.decimals = decimals # ## Board cuttout diff --git a/appGUI/preferences/tools/ToolsMillPrefGroupUI.py b/appGUI/preferences/tools/ToolsMillPrefGroupUI.py new file mode 100644 index 00000000..cebcc5eb --- /dev/null +++ b/appGUI/preferences/tools/ToolsMillPrefGroupUI.py @@ -0,0 +1,526 @@ +from PyQt5 import QtWidgets +from PyQt5.QtCore import Qt + +from appGUI.GUIElements import RadioSet, FCDoubleSpinner, FCComboBox, FCCheckBox, FCSpinner, NumericalEvalTupleEntry, \ + OptionalInputSection, NumericalEvalEntry, FCLabel, FCComboBox2, FCEntry +from appGUI.preferences.OptionsGroupUI import OptionsGroupUI + +import gettext +import appTranslation as fcTranslate +import builtins + +fcTranslate.apply_language('strings') +if '_' not in builtins.__dict__: + _ = gettext.gettext + + +class ToolsMillPrefGroupUI(OptionsGroupUI): + def __init__(self, decimals=4, parent=None): + super(ToolsMillPrefGroupUI, self).__init__(self, parent=parent) + + self.setTitle(str(_("Milling Plugin"))) + self.decimals = decimals + + # ## Clear non-copper regions + self.mill_label = FCLabel("%s:" % _("Parameters")) + self.mill_label.setToolTip( + _("Create CNCJob with toolpaths for milling either Geometry or drill holes.") + ) + self.layout.addWidget(self.mill_label) + + grid0 = QtWidgets.QGridLayout() + self.layout.addLayout(grid0) + + # Tooldia + tdlabel = FCLabel('%s:' % _('Tools Dia')) + tdlabel.setToolTip( + _("Diameters of the tools, separated by comma.\n" + "The value of the diameter has to use the dot decimals separator.\n" + "Valid values: 0.3, 1.0") + ) + self.cnctooldia_entry = FCEntry() + + grid0.addWidget(tdlabel, 0, 0) + grid0.addWidget(self.cnctooldia_entry, 0, 1) + + # Cut Z + cutzlabel = FCLabel('%s:' % _('Cut Z')) + cutzlabel.setToolTip( + _("Cutting depth (negative)\n" + "below the copper surface.") + ) + self.cutz_entry = FCDoubleSpinner() + self.cutz_entry.set_range(-10000.0000, 10000.0000) + + self.cutz_entry.set_precision(self.decimals) + self.cutz_entry.setSingleStep(0.1) + self.cutz_entry.setWrapping(True) + + grid0.addWidget(cutzlabel, 1, 0) + grid0.addWidget(self.cutz_entry, 1, 1) + + # Multidepth CheckBox + self.multidepth_cb = FCCheckBox(label=_('Multi-Depth')) + self.multidepth_cb.setToolTip( + _( + "Use multiple passes to limit\n" + "the cut depth in each pass. Will\n" + "cut multiple times until Cut Z is\n" + "reached." + ) + ) + grid0.addWidget(self.multidepth_cb, 2, 0) + + # Depth/pass + dplabel = FCLabel('%s:' % _('Depth/Pass')) + dplabel.setToolTip( + _("The depth to cut on each pass,\n" + "when multidepth is enabled.\n" + "It has positive value although\n" + "it is a fraction from the depth\n" + "which has negative value.") + ) + + self.depthperpass_entry = FCDoubleSpinner() + self.depthperpass_entry.set_range(0, 99999) + self.depthperpass_entry.set_precision(self.decimals) + self.depthperpass_entry.setSingleStep(0.1) + self.depthperpass_entry.setWrapping(True) + + grid0.addWidget(dplabel, 4, 0) + grid0.addWidget(self.depthperpass_entry, 4, 1) + + self.ois_multidepth = OptionalInputSection(self.multidepth_cb, [self.depthperpass_entry]) + + # Travel Z + travelzlabel = FCLabel('%s:' % _('Travel Z')) + travelzlabel.setToolTip( + _("Height of the tool when\n" + "moving without cutting.") + ) + self.travelz_entry = FCDoubleSpinner() + self.travelz_entry.set_range(-10000.0000, 10000.0000) + + self.travelz_entry.set_precision(self.decimals) + self.travelz_entry.setSingleStep(0.1) + self.travelz_entry.setWrapping(True) + + grid0.addWidget(travelzlabel, 6, 0) + grid0.addWidget(self.travelz_entry, 6, 1) + + # Tool change: + self.toolchange_cb = FCCheckBox('%s' % _("Tool change")) + self.toolchange_cb.setToolTip( + _( + "Include tool-change sequence\n" + "in the Machine Code (Pause for tool change)." + ) + ) + grid0.addWidget(self.toolchange_cb, 8, 0, 1, 2) + + # Toolchange Z + toolchangezlabel = FCLabel('%s:' % _('Toolchange Z')) + toolchangezlabel.setToolTip( + _( + "Z-axis position (height) for\n" + "tool change." + ) + ) + self.toolchangez_entry = FCDoubleSpinner() + self.toolchangez_entry.set_range(-10000.0000, 10000.0000) + + self.toolchangez_entry.set_precision(self.decimals) + self.toolchangez_entry.setSingleStep(0.1) + self.toolchangez_entry.setWrapping(True) + + grid0.addWidget(toolchangezlabel, 10, 0) + grid0.addWidget(self.toolchangez_entry, 10, 1) + + # End move Z + endz_label = FCLabel('%s:' % _('End move Z')) + endz_label.setToolTip( + _("Height of the tool after\n" + "the last move at the end of the job.") + ) + self.endz_entry = FCDoubleSpinner() + self.endz_entry.set_range(-10000.0000, 10000.0000) + + self.endz_entry.set_precision(self.decimals) + self.endz_entry.setSingleStep(0.1) + self.endz_entry.setWrapping(True) + + grid0.addWidget(endz_label, 12, 0) + grid0.addWidget(self.endz_entry, 12, 1) + + # End Move X,Y + endmove_xy_label = FCLabel('%s:' % _('End move X,Y')) + endmove_xy_label.setToolTip( + _("End move X,Y position. In format (x,y).\n" + "If no value is entered then there is no move\n" + "on X,Y plane at the end of the job.") + ) + self.endxy_entry = NumericalEvalTupleEntry(border_color='#0069A9') + + grid0.addWidget(endmove_xy_label, 14, 0) + grid0.addWidget(self.endxy_entry, 14, 1) + + # Feedrate X-Y + frlabel = FCLabel('%s:' % _('Feedrate X-Y')) + frlabel.setToolTip( + _("Cutting speed in the XY\n" + "plane in units per minute") + ) + self.cncfeedrate_entry = FCDoubleSpinner() + self.cncfeedrate_entry.set_range(0, 910000.0000) + self.cncfeedrate_entry.set_precision(self.decimals) + self.cncfeedrate_entry.setSingleStep(0.1) + self.cncfeedrate_entry.setWrapping(True) + + grid0.addWidget(frlabel, 16, 0) + grid0.addWidget(self.cncfeedrate_entry, 16, 1) + + # Feedrate Z (Plunge) + frz_label = FCLabel('%s:' % _('Feedrate Z')) + frz_label.setToolTip( + _("Cutting speed in the XY\n" + "plane in units per minute.\n" + "It is called also Plunge.") + ) + self.feedrate_z_entry = FCDoubleSpinner() + self.feedrate_z_entry.set_range(0, 910000.0000) + self.feedrate_z_entry.set_precision(self.decimals) + self.feedrate_z_entry.setSingleStep(0.1) + self.feedrate_z_entry.setWrapping(True) + + grid0.addWidget(frz_label, 18, 0) + grid0.addWidget(self.feedrate_z_entry, 18, 1) + + # Spindle Speed + spdlabel = FCLabel('%s:' % _('Spindle speed')) + spdlabel.setToolTip( + _( + "Speed of the spindle in RPM (optional).\n" + "If LASER preprocessor is used,\n" + "this value is the power of laser." + ) + ) + self.cncspindlespeed_entry = FCSpinner() + self.cncspindlespeed_entry.set_range(0, 1000000) + self.cncspindlespeed_entry.set_step(100) + + grid0.addWidget(spdlabel, 20, 0) + grid0.addWidget(self.cncspindlespeed_entry, 20, 1) + + # Dwell + self.dwell_cb = FCCheckBox(label='%s' % _('Enable Dwell')) + self.dwell_cb.setToolTip( + _("Pause to allow the spindle to reach its\n" + "speed before cutting.") + ) + dwelltime = FCLabel('%s:' % _('Duration')) + dwelltime.setToolTip( + _("Number of time units for spindle to dwell.") + ) + self.dwelltime_entry = FCDoubleSpinner() + self.dwelltime_entry.set_range(0, 99999) + self.dwelltime_entry.set_precision(self.decimals) + self.dwelltime_entry.setSingleStep(0.1) + self.dwelltime_entry.setWrapping(True) + + grid0.addWidget(self.dwell_cb, 22, 0) + grid0.addWidget(dwelltime, 24, 0) + grid0.addWidget(self.dwelltime_entry, 24, 1) + + self.ois_dwell = OptionalInputSection(self.dwell_cb, [self.dwelltime_entry]) + + # preprocessor selection + pp_label = FCLabel('%s:' % _("Preprocessor")) + pp_label.setToolTip( + _("The Preprocessor file that dictates\n" + "the Machine Code (like GCode, RML, HPGL) output.") + ) + self.pp_geometry_name_cb = FCComboBox() + self.pp_geometry_name_cb.setFocusPolicy(Qt.StrongFocus) + self.pp_geometry_name_cb.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred) + + grid0.addWidget(pp_label, 26, 0) + grid0.addWidget(self.pp_geometry_name_cb, 26, 1) + + separator_line = QtWidgets.QFrame() + separator_line.setFrameShape(QtWidgets.QFrame.HLine) + separator_line.setFrameShadow(QtWidgets.QFrame.Sunken) + grid0.addWidget(separator_line, 28, 0, 1, 2) + + # Toolchange X,Y + toolchange_xy_label = FCLabel('%s:' % _('Toolchange X-Y')) + toolchange_xy_label.setToolTip( + _("Toolchange X,Y position.") + ) + self.toolchangexy_entry = NumericalEvalTupleEntry(border_color='#0069A9') + + grid0.addWidget(toolchange_xy_label, 30, 0) + grid0.addWidget(self.toolchangexy_entry, 30, 1) + + # Start move Z + startzlabel = FCLabel('%s:' % _('Start Z')) + startzlabel.setToolTip( + _("Height of the tool just after starting the work.\n" + "Delete the value if you don't need this feature.") + ) + self.gstartz_entry = NumericalEvalEntry(border_color='#0069A9') + + grid0.addWidget(startzlabel, 32, 0) + grid0.addWidget(self.gstartz_entry, 32, 1) + + # Feedrate rapids + fr_rapid_label = FCLabel('%s:' % _('Feedrate Rapids')) + fr_rapid_label.setToolTip( + _("Cutting speed in the XY plane\n" + "(in units per minute).\n" + "This is for the rapid move G00.\n" + "It is useful only for Marlin,\n" + "ignore for any other cases.") + ) + self.feedrate_rapid_entry = FCDoubleSpinner() + self.feedrate_rapid_entry.set_range(0, 910000.0000) + self.feedrate_rapid_entry.set_precision(self.decimals) + self.feedrate_rapid_entry.setSingleStep(0.1) + self.feedrate_rapid_entry.setWrapping(True) + + grid0.addWidget(fr_rapid_label, 34, 0) + grid0.addWidget(self.feedrate_rapid_entry, 34, 1) + + # End move extra cut + self.extracut_cb = FCCheckBox('%s' % _('Re-cut')) + self.extracut_cb.setToolTip( + _("In order to remove possible\n" + "copper leftovers where first cut\n" + "meet with last cut, we generate an\n" + "extended cut over the first cut section.") + ) + + self.e_cut_entry = FCDoubleSpinner() + self.e_cut_entry.set_range(0, 99999) + self.e_cut_entry.set_precision(self.decimals) + self.e_cut_entry.setSingleStep(0.1) + self.e_cut_entry.setWrapping(True) + self.e_cut_entry.setToolTip( + _("In order to remove possible\n" + "copper leftovers where first cut\n" + "meet with last cut, we generate an\n" + "extended cut over the first cut section.") + ) + grid0.addWidget(self.extracut_cb, 36, 0) + grid0.addWidget(self.e_cut_entry, 36, 1) + + # Probe depth + self.pdepth_label = FCLabel('%s:' % _("Probe Z depth")) + self.pdepth_label.setToolTip( + _("The maximum depth that the probe is allowed\n" + "to probe. Negative value, in current units.") + ) + self.pdepth_entry = FCDoubleSpinner() + self.pdepth_entry.set_range(-99999, 0.0000) + self.pdepth_entry.set_precision(self.decimals) + self.pdepth_entry.setSingleStep(0.1) + self.pdepth_entry.setWrapping(True) + + grid0.addWidget(self.pdepth_label, 38, 0) + grid0.addWidget(self.pdepth_entry, 38, 1) + + # Probe feedrate + self.feedrate_probe_label = FCLabel('%s:' % _("Feedrate Probe")) + self.feedrate_probe_label.setToolTip( + _("The feedrate used while the probe is probing.") + ) + self.feedrate_probe_entry = FCDoubleSpinner() + self.feedrate_probe_entry.set_range(0, 910000.0000) + self.feedrate_probe_entry.set_precision(self.decimals) + self.feedrate_probe_entry.setSingleStep(0.1) + self.feedrate_probe_entry.setWrapping(True) + + grid0.addWidget(self.feedrate_probe_label, 40, 0) + grid0.addWidget(self.feedrate_probe_entry, 40, 1) + + # Spindle direction + spindle_dir_label = FCLabel('%s:' % _('Spindle direction')) + spindle_dir_label.setToolTip( + _("This sets the direction that the spindle is rotating.\n" + "It can be either:\n" + "- CW = clockwise or\n" + "- CCW = counter clockwise") + ) + + self.spindledir_radio = RadioSet([{'label': _('CW'), 'value': 'CW'}, + {'label': _('CCW'), 'value': 'CCW'}]) + grid0.addWidget(spindle_dir_label, 42, 0) + grid0.addWidget(self.spindledir_radio, 42, 1) + + # Fast Move from Z Toolchange + self.fplunge_cb = FCCheckBox('%s' % _('Fast Plunge')) + self.fplunge_cb.setToolTip( + _("By checking this, the vertical move from\n" + "Z_Toolchange to Z_move is done with G0,\n" + "meaning the fastest speed available.\n" + "WARNING: the move is done at Toolchange X,Y coords.") + ) + grid0.addWidget(self.fplunge_cb, 44, 0, 1, 2) + + separator_line = QtWidgets.QFrame() + separator_line.setFrameShape(QtWidgets.QFrame.HLine) + separator_line.setFrameShadow(QtWidgets.QFrame.Sunken) + grid0.addWidget(separator_line, 50, 0, 1, 2) + + # ----------------------------- + # --- Area Exclusion ---------- + # ----------------------------- + self.area_exc_label = FCLabel('%s:' % _('Area Exclusion')) + self.area_exc_label.setToolTip( + _("Area exclusion parameters.") + ) + grid0.addWidget(self.area_exc_label, 52, 0, 1, 2) + + # Exclusion Area CB + self.exclusion_cb = FCCheckBox('%s' % _("Exclusion areas")) + self.exclusion_cb.setToolTip( + _( + "Include exclusion areas.\n" + "In those areas the travel of the tools\n" + "is forbidden." + ) + ) + grid0.addWidget(self.exclusion_cb, 54, 0, 1, 2) + + # Area Selection shape + self.area_shape_label = FCLabel('%s:' % _("Shape")) + self.area_shape_label.setToolTip( + _("The kind of selection shape used for area selection.") + ) + + self.area_shape_radio = RadioSet([{'label': _("Square"), 'value': 'square'}, + {'label': _("Polygon"), 'value': 'polygon'}]) + + grid0.addWidget(self.area_shape_label, 56, 0) + grid0.addWidget(self.area_shape_radio, 56, 1) + + # Chose Strategy + self.strategy_label = FCLabel('%s:' % _("Strategy")) + self.strategy_label.setToolTip(_("The strategy followed when encountering an exclusion area.\n" + "Can be:\n" + "- Over -> when encountering the area, the tool will go to a set height\n" + "- Around -> will avoid the exclusion area by going around the area")) + self.strategy_radio = RadioSet([{'label': _('Over'), 'value': 'over'}, + {'label': _('Around'), 'value': 'around'}]) + + grid0.addWidget(self.strategy_label, 58, 0) + grid0.addWidget(self.strategy_radio, 58, 1) + + # Over Z + self.over_z_label = FCLabel('%s:' % _("Over Z")) + self.over_z_label.setToolTip(_("The height Z to which the tool will rise in order to avoid\n" + "an interdiction area.")) + self.over_z_entry = FCDoubleSpinner() + self.over_z_entry.set_range(-10000.000, 10000.0000) + self.over_z_entry.set_precision(self.decimals) + + grid0.addWidget(self.over_z_label, 60, 0) + grid0.addWidget(self.over_z_entry, 60, 1) + + separator_line = QtWidgets.QFrame() + separator_line.setFrameShape(QtWidgets.QFrame.HLine) + separator_line.setFrameShadow(QtWidgets.QFrame.Sunken) + grid0.addWidget(separator_line, 62, 0, 1, 2) + + # ----------------------------- + # --- Area POLISH ---------- + # ----------------------------- + # Add Polish + self.polish_cb = FCCheckBox(label=_('Add Polish')) + self.polish_cb.setToolTip(_( + "Will add a Paint section at the end of the GCode.\n" + "A metallic brush will clean the material after milling.")) + grid0.addWidget(self.polish_cb, 64, 0, 1, 2) + + # Polish Tool Diameter + self.polish_dia_lbl = FCLabel('%s:' % _('Tool Dia')) + self.polish_dia_lbl.setToolTip( + _("Diameter for the polishing tool.") + ) + self.polish_dia_entry = FCDoubleSpinner() + self.polish_dia_entry.set_precision(self.decimals) + self.polish_dia_entry.set_range(-10000.000, 10000.0000) + + grid0.addWidget(self.polish_dia_lbl, 66, 0) + grid0.addWidget(self.polish_dia_entry, 66, 1) + + # Polish Travel Z + self.polish_travelz_lbl = FCLabel('%s:' % _('Travel Z')) + self.polish_travelz_lbl.setToolTip( + _("Height of the tool when\n" + "moving without cutting.") + ) + self.polish_travelz_entry = FCDoubleSpinner() + self.polish_travelz_entry.set_precision(self.decimals) + self.polish_travelz_entry.set_range(0.00000, 10000.00000) + self.polish_travelz_entry.setSingleStep(0.1) + + grid0.addWidget(self.polish_travelz_lbl, 68, 0) + grid0.addWidget(self.polish_travelz_entry, 68, 1) + + # Polish Pressure + self.polish_pressure_lbl = FCLabel('%s:' % _('Pressure')) + self.polish_pressure_lbl.setToolTip( + _("Negative value. The higher the absolute value\n" + "the stronger the pressure of the brush on the material.") + ) + self.polish_pressure_entry = FCDoubleSpinner() + self.polish_pressure_entry.set_precision(self.decimals) + self.polish_pressure_entry.set_range(-10000.0000, 10000.0000) + + grid0.addWidget(self.polish_pressure_lbl, 70, 0) + grid0.addWidget(self.polish_pressure_entry, 70, 1) + + # Polish Margin + self.polish_margin_lbl = FCLabel('%s:' % _('Margin')) + self.polish_margin_lbl.setToolTip( + _("Bounding box margin.") + ) + self.polish_margin_entry = FCDoubleSpinner() + self.polish_margin_entry.set_precision(self.decimals) + self.polish_margin_entry.set_range(-10000.0000, 10000.0000) + + grid0.addWidget(self.polish_margin_lbl, 72, 0) + grid0.addWidget(self.polish_margin_entry, 72, 1) + + # Polish Overlap + self.polish_over_lbl = FCLabel('%s:' % _('Overlap')) + self.polish_over_lbl.setToolTip( + _("How much (percentage) of the tool width to overlap each tool pass.") + ) + self.polish_over_entry = FCDoubleSpinner(suffix='%') + self.polish_over_entry.set_precision(self.decimals) + self.polish_over_entry.setWrapping(True) + self.polish_over_entry.set_range(0.0000, 99.9999) + self.polish_over_entry.setSingleStep(0.1) + + grid0.addWidget(self.polish_over_lbl, 74, 0) + grid0.addWidget(self.polish_over_entry, 74, 1) + + # Polish Method + self.polish_method_lbl = FCLabel('%s:' % _('Method')) + self.polish_method_lbl.setToolTip( + _("Algorithm for polishing:\n" + "- Standard: Fixed step inwards.\n" + "- Seed-based: Outwards from seed.\n" + "- Line-based: Parallel lines.") + ) + + self.polish_method_combo = FCComboBox2() + self.polish_method_combo.addItems( + [_("Standard"), _("Seed"), _("Lines")] + ) + + grid0.addWidget(self.polish_method_lbl, 76, 0) + grid0.addWidget(self.polish_method_combo, 76, 1) + + self.layout.addStretch() diff --git a/appGUI/preferences/tools/ToolsNCCPrefGroupUI.py b/appGUI/preferences/tools/ToolsNCCPrefGroupUI.py index db95048a..bfa1c2a0 100644 --- a/appGUI/preferences/tools/ToolsNCCPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsNCCPrefGroupUI.py @@ -14,10 +14,10 @@ if '_' not in builtins.__dict__: class ToolsNCCPrefGroupUI(OptionsGroupUI): def __init__(self, decimals=4, parent=None): - # OptionsGroupUI.__init__(self, "NCC Tool Options", parent=parent) + # OptionsGroupUI.__init__(self, "NCC Plugin", parent=parent) super(ToolsNCCPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("NCC Tool Options"))) + self.setTitle(str(_("NCC Plugin"))) self.decimals = decimals # ## Clear non-copper regions diff --git a/appGUI/preferences/tools/ToolsPaintPrefGroupUI.py b/appGUI/preferences/tools/ToolsPaintPrefGroupUI.py index 21713613..2d361769 100644 --- a/appGUI/preferences/tools/ToolsPaintPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsPaintPrefGroupUI.py @@ -14,10 +14,10 @@ if '_' not in builtins.__dict__: class ToolsPaintPrefGroupUI(OptionsGroupUI): def __init__(self, decimals=4, parent=None): - # OptionsGroupUI.__init__(self, "Paint Area Tool Options", parent=parent) + # OptionsGroupUI.__init__(self, "Paint Area Plugin", parent=parent) super(ToolsPaintPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Paint Tool Options"))) + self.setTitle(str(_("Paint Plugin"))) self.decimals = decimals # ------------------------------ diff --git a/appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py b/appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py index 31de34c5..d09b066a 100644 --- a/appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py @@ -14,10 +14,10 @@ if '_' not in builtins.__dict__: class ToolsPanelizePrefGroupUI(OptionsGroupUI): def __init__(self, decimals=4, parent=None): - # OptionsGroupUI.__init__(self, "Cutout Tool Options", parent=parent) + # OptionsGroupUI.__init__(self, "Cutout Plugin", parent=parent) super(ToolsPanelizePrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Panelize Tool Options"))) + self.setTitle(str(_("Panelize Plugin"))) self.decimals = decimals # ## Board cuttout diff --git a/appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py b/appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py index 33571264..2ee47e7d 100644 --- a/appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py @@ -17,7 +17,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI): super(ToolsSolderpastePrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("SolderPaste Tool Options"))) + self.setTitle(str(_("SolderPaste Plugin"))) self.decimals = decimals # ## Solder Paste Dispensing diff --git a/appGUI/preferences/tools/ToolsSubPrefGroupUI.py b/appGUI/preferences/tools/ToolsSubPrefGroupUI.py index e1ce8118..86b2b955 100644 --- a/appGUI/preferences/tools/ToolsSubPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsSubPrefGroupUI.py @@ -14,7 +14,7 @@ class ToolsSubPrefGroupUI(OptionsGroupUI): super(ToolsSubPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Substractor Tool Options"))) + self.setTitle(str(_("Substractor Plugin"))) self.decimals = decimals # ## Subtractor Tool Parameters diff --git a/appGUI/preferences/tools/ToolsTransformPrefGroupUI.py b/appGUI/preferences/tools/ToolsTransformPrefGroupUI.py index 232b1166..f951af93 100644 --- a/appGUI/preferences/tools/ToolsTransformPrefGroupUI.py +++ b/appGUI/preferences/tools/ToolsTransformPrefGroupUI.py @@ -17,7 +17,7 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI): super(ToolsTransformPrefGroupUI, self).__init__(self, parent=parent) - self.setTitle(str(_("Transform Tool Options"))) + self.setTitle(str(_("Transform Plugin"))) self.decimals = decimals # ## Transformations diff --git a/appTranslation.py b/appTranslation.py index 95d7bbb8..e6840162 100644 --- a/appTranslation.py +++ b/appTranslation.py @@ -79,7 +79,7 @@ def on_language_apply_click(app, restart=False): :return: """ - name = app.ui.general_defaults_form.general_app_group.language_cb.currentText() + name = app.ui.general_pref_form.general_app_group.language_cb.currentText() theme_settings = QSettings("Open Source", "FlatCAM") if theme_settings.contains("theme"): diff --git a/app_Main.py b/app_Main.py index 129adb99..7eeb6a45 100644 --- a/app_Main.py +++ b/app_Main.py @@ -987,27 +987,29 @@ class App(QtCore.QObject): for name in list(self.preprocessors.keys()): # 'Paste' preprocessors are to be used only in the Solder Paste Dispensing Tool if name.partition('_')[0] == 'Paste': - self.ui.tools_defaults_form.tools_solderpaste_group.pp_combo.addItem(name) + self.ui.plugin_pref_form.tools_solderpaste_group.pp_combo.addItem(name) continue - self.ui.geometry_defaults_form.geometry_opt_group.pp_geometry_name_cb.addItem(name) + self.ui.plugin_pref_form.tools_mill_group.pp_geometry_name_cb.addItem(name) # HPGL preprocessor is only for Geometry objects therefore it should not be in the Excellon Preferences if name == 'hpgl': continue - self.ui.tools_defaults_form.tools_drill_group.pp_excellon_name_cb.addItem(name) + self.ui.plugin_pref_form.tools_drill_group.pp_excellon_name_cb.addItem(name) # add ToolTips for the Preprocessor ComboBoxes in Preferences - for it in range(self.ui.tools_defaults_form.tools_solderpaste_group.pp_combo.count()): - self.ui.tools_defaults_form.tools_solderpaste_group.pp_combo.setItemData( - it, self.ui.tools_defaults_form.tools_solderpaste_group.pp_combo.itemText(it), QtCore.Qt.ToolTipRole) - for it in range(self.ui.geometry_defaults_form.geometry_opt_group.pp_geometry_name_cb.count()): - self.ui.geometry_defaults_form.geometry_opt_group.pp_geometry_name_cb.setItemData( - it, self.ui.geometry_defaults_form.geometry_opt_group.pp_geometry_name_cb.itemText(it), + for it in range(self.ui.plugin_pref_form.tools_solderpaste_group.pp_combo.count()): + self.ui.plugin_pref_form.tools_solderpaste_group.pp_combo.setItemData( + it, self.ui.plugin_pref_form.tools_solderpaste_group.pp_combo.itemText(it), QtCore.Qt.ToolTipRole) + + for it in range(self.ui.plugin_pref_form.tools_mill_group.pp_geometry_name_cb.count()): + self.ui.plugin_pref_form.tools_mill_group.pp_geometry_name_cb.setItemData( + it, self.ui.plugin_pref_form.tools_mill_group.pp_geometry_name_cb.itemText(it), QtCore.Qt.ToolTipRole) - for it in range(self.ui.tools_defaults_form.tools_drill_group.pp_excellon_name_cb.count()): - self.ui.tools_defaults_form.tools_drill_group.pp_excellon_name_cb.setItemData( - it, self.ui.tools_defaults_form.tools_drill_group.pp_excellon_name_cb.itemText(it), + + for it in range(self.ui.plugin_pref_form.tools_drill_group.pp_excellon_name_cb.count()): + self.ui.plugin_pref_form.tools_drill_group.pp_excellon_name_cb.setItemData( + it, self.ui.plugin_pref_form.tools_drill_group.pp_excellon_name_cb.itemText(it), QtCore.Qt.ToolTipRole) # ########################################################################################################### @@ -1023,7 +1025,7 @@ class App(QtCore.QObject): self.defaults.set_change_callback(self.on_defaults_dict_change) # set the value used in the Windows Title - self.engine = self.ui.general_defaults_form.general_app_group.ge_radio.get_value() + self.engine = self.ui.general_pref_form.general_app_group.ge_radio.get_value() # ########################################################################################################### # ########################################## LOAD LANGUAGES ################################################ @@ -1031,7 +1033,7 @@ class App(QtCore.QObject): self.languages = fcTranslate.load_languages() for name in sorted(self.languages.values()): - self.ui.general_defaults_form.general_app_group.language_cb.addItem(name) + self.ui.general_pref_form.general_app_group.language_cb.addItem(name) # ########################################################################################################### # ####################################### APPLY APP LANGUAGE ################################################ @@ -1044,7 +1046,7 @@ class App(QtCore.QObject): self.log.debug("Could not find the Language files. The App strings are missing.") else: # make the current language the current selection on the language combobox - self.ui.general_defaults_form.general_app_group.language_cb.setCurrentText(ret_val) + self.ui.general_pref_form.general_app_group.language_cb.setCurrentText(ret_val) self.log.debug("App.__init__() --> Applied %s language." % str(ret_val).capitalize()) # ########################################################################################################### @@ -1267,7 +1269,7 @@ class App(QtCore.QObject): # Separate thread (Not worker) # Check for updates on startup but only if the user consent and the app is not in Beta version if (self.beta is False or self.beta is None) and \ - self.ui.general_defaults_form.general_app_group.version_check_cb.get_value() is True: + self.ui.general_pref_form.general_app_group.version_check_cb.get_value() is True: self.log.info("Checking for updates in backgroud (this is version %s)." % str(self.version)) # self.thr2 = QtCore.QThread() @@ -1319,11 +1321,11 @@ class App(QtCore.QObject): # set Excellon path optimizations algorithm to TSA if the app is run on a 32bit platform # modes 'M' or 'B' are not allowed when the app is running in 32bit platform if self.defaults['excellon_optimization_type'] in ['M', 'B']: - self.ui.excellon_defaults_form.excellon_gen_group.excellon_optimization_radio.set_value('T') + self.ui.excellon_pref_form.excellon_gen_group.excellon_optimization_radio.set_value('T') # set Geometry path optimizations algorithm to Rtree if the app is run on a 32bit platform # modes 'M' or 'B' are not allowed when the app is running in 32bit platform if self.defaults['geometry_optimization_type'] in ['M', 'B']: - self.ui.geometry_defaults_form.geometry_gen_group.opt_algorithm_radio.set_value('R') + self.ui.geo_pref_form.geometry_gen_group.opt_algorithm_radio.set_value('R') # ########################################################################################################### # ########################################### EXCLUSION AREAS ############################################### @@ -1351,8 +1353,8 @@ class App(QtCore.QObject): self.on_layout(lay=initial_lay, connect_signals=False) # Set the combobox in Preferences to the current layout - idx = self.ui.general_defaults_form.general_gui_group.layout_combo.findText(initial_lay) - self.ui.general_defaults_form.general_gui_group.layout_combo.setCurrentIndex(idx) + idx = self.ui.general_pref_form.general_gui_group.layout_combo.findText(initial_lay) + self.ui.general_pref_form.general_gui_group.layout_combo.setCurrentIndex(idx) # after the first run, this object should be False self.defaults["first_run"] = False @@ -1448,27 +1450,27 @@ class App(QtCore.QObject): # #################################### GUI PREFERENCES SIGNALS ############################################## # ########################################################################################################### - self.ui.general_defaults_form.general_app_group.units_radio.activated_custom.connect( + self.ui.general_pref_form.general_app_group.units_radio.activated_custom.connect( lambda: self.on_toggle_units(no_pref=False)) # ##################################### Workspace Setting Signals ########################################### - self.ui.general_defaults_form.general_app_set_group.wk_cb.currentIndexChanged.connect( + self.ui.general_pref_form.general_app_set_group.wk_cb.currentIndexChanged.connect( self.on_workspace_modified) - self.ui.general_defaults_form.general_app_set_group.wk_orientation_radio.activated_custom.connect( + self.ui.general_pref_form.general_app_set_group.wk_orientation_radio.activated_custom.connect( self.on_workspace_modified ) - self.ui.general_defaults_form.general_app_set_group.workspace_cb.stateChanged.connect(self.on_workspace) + self.ui.general_pref_form.general_app_set_group.workspace_cb.stateChanged.connect(self.on_workspace) # ########################################################################################################### # ######################################## GUI SETTINGS SIGNALS ############################################# # ########################################################################################################### - self.ui.general_defaults_form.general_app_set_group.cursor_radio.activated_custom.connect(self.on_cursor_type) + self.ui.general_pref_form.general_app_set_group.cursor_radio.activated_custom.connect(self.on_cursor_type) # ######################################## Tools related signals ############################################ # portability changed signal - self.ui.general_defaults_form.general_app_group.portability_cb.stateChanged.connect(self.on_portable_checked) + self.ui.general_pref_form.general_app_group.portability_cb.stateChanged.connect(self.on_portable_checked) # Object list self.object_status_changed.connect(self.collection.on_collection_updated) @@ -1480,52 +1482,52 @@ class App(QtCore.QObject): # ####################################### FILE ASSOCIATIONS SIGNALS ######################################### # ########################################################################################################### - self.ui.util_defaults_form.fa_excellon_group.restore_btn.clicked.connect( + self.ui.util_pref_form.fa_excellon_group.restore_btn.clicked.connect( lambda: self.restore_extensions(ext_type='excellon')) - self.ui.util_defaults_form.fa_gcode_group.restore_btn.clicked.connect( + self.ui.util_pref_form.fa_gcode_group.restore_btn.clicked.connect( lambda: self.restore_extensions(ext_type='gcode')) - self.ui.util_defaults_form.fa_gerber_group.restore_btn.clicked.connect( + self.ui.util_pref_form.fa_gerber_group.restore_btn.clicked.connect( lambda: self.restore_extensions(ext_type='gerber')) - self.ui.util_defaults_form.fa_excellon_group.del_all_btn.clicked.connect( + self.ui.util_pref_form.fa_excellon_group.del_all_btn.clicked.connect( lambda: self.delete_all_extensions(ext_type='excellon')) - self.ui.util_defaults_form.fa_gcode_group.del_all_btn.clicked.connect( + self.ui.util_pref_form.fa_gcode_group.del_all_btn.clicked.connect( lambda: self.delete_all_extensions(ext_type='gcode')) - self.ui.util_defaults_form.fa_gerber_group.del_all_btn.clicked.connect( + self.ui.util_pref_form.fa_gerber_group.del_all_btn.clicked.connect( lambda: self.delete_all_extensions(ext_type='gerber')) - self.ui.util_defaults_form.fa_excellon_group.add_btn.clicked.connect( + self.ui.util_pref_form.fa_excellon_group.add_btn.clicked.connect( lambda: self.add_extension(ext_type='excellon')) - self.ui.util_defaults_form.fa_gcode_group.add_btn.clicked.connect( + self.ui.util_pref_form.fa_gcode_group.add_btn.clicked.connect( lambda: self.add_extension(ext_type='gcode')) - self.ui.util_defaults_form.fa_gerber_group.add_btn.clicked.connect( + self.ui.util_pref_form.fa_gerber_group.add_btn.clicked.connect( lambda: self.add_extension(ext_type='gerber')) - self.ui.util_defaults_form.fa_excellon_group.del_btn.clicked.connect( + self.ui.util_pref_form.fa_excellon_group.del_btn.clicked.connect( lambda: self.del_extension(ext_type='excellon')) - self.ui.util_defaults_form.fa_gcode_group.del_btn.clicked.connect( + self.ui.util_pref_form.fa_gcode_group.del_btn.clicked.connect( lambda: self.del_extension(ext_type='gcode')) - self.ui.util_defaults_form.fa_gerber_group.del_btn.clicked.connect( + self.ui.util_pref_form.fa_gerber_group.del_btn.clicked.connect( lambda: self.del_extension(ext_type='gerber')) # connect the 'Apply' buttons from the Preferences/File Associations - self.ui.util_defaults_form.fa_excellon_group.exc_list_btn.clicked.connect( + self.ui.util_pref_form.fa_excellon_group.exc_list_btn.clicked.connect( lambda: self.on_register_files(obj_type='excellon')) - self.ui.util_defaults_form.fa_gcode_group.gco_list_btn.clicked.connect( + self.ui.util_pref_form.fa_gcode_group.gco_list_btn.clicked.connect( lambda: self.on_register_files(obj_type='gcode')) - self.ui.util_defaults_form.fa_gerber_group.grb_list_btn.clicked.connect( + self.ui.util_pref_form.fa_gerber_group.grb_list_btn.clicked.connect( lambda: self.on_register_files(obj_type='gerber')) # ########################################################################################################### # ########################################### KEYWORDS SIGNALS ############################################## # ########################################################################################################### - self.ui.util_defaults_form.kw_group.restore_btn.clicked.connect( + self.ui.util_pref_form.kw_group.restore_btn.clicked.connect( lambda: self.restore_extensions(ext_type='keyword')) - self.ui.util_defaults_form.kw_group.del_all_btn.clicked.connect( + self.ui.util_pref_form.kw_group.del_all_btn.clicked.connect( lambda: self.delete_all_extensions(ext_type='keyword')) - self.ui.util_defaults_form.kw_group.add_btn.clicked.connect( + self.ui.util_pref_form.kw_group.add_btn.clicked.connect( lambda: self.add_extension(ext_type='keyword')) - self.ui.util_defaults_form.kw_group.del_btn.clicked.connect( + self.ui.util_pref_form.kw_group.del_btn.clicked.connect( lambda: self.del_extension(ext_type='keyword')) # ########################################################################################################### @@ -1745,7 +1747,7 @@ class App(QtCore.QObject): self.log.debug("App.on_startup_args() --> Save event. App Defaults saved.") self.preferencesUiManager.save_defaults() else: - exc_list = self.ui.util_defaults_form.fa_excellon_group.exc_list_text.get_value().split(',') + exc_list = self.ui.util_pref_form.fa_excellon_group.exc_list_text.get_value().split(',') proc_arg = argument.lower() for ext in exc_list: proc_ext = ext.replace(' ', '') @@ -1759,7 +1761,7 @@ class App(QtCore.QObject): self.f_handlers.on_fileopenexcellon(name=file_name, signal=None) return - gco_list = self.ui.util_defaults_form.fa_gcode_group.gco_list_text.get_value().split(',') + gco_list = self.ui.util_pref_form.fa_gcode_group.gco_list_text.get_value().split(',') for ext in gco_list: proc_ext = ext.replace(' ', '') proc_ext = '.%s' % proc_ext @@ -1772,7 +1774,7 @@ class App(QtCore.QObject): self.f_handlers.on_fileopengcode(name=file_name, signal=None) return - grb_list = self.ui.util_defaults_form.fa_gerber_group.grb_list_text.get_value().split(',') + grb_list = self.ui.util_pref_form.fa_gerber_group.grb_list_text.get_value().split(',') for ext in grb_list: proc_ext = ext.replace(' ', '') proc_ext = '.%s' % proc_ext @@ -2319,7 +2321,7 @@ class App(QtCore.QObject): if lay: current_layout = lay else: - current_layout = self.ui.general_defaults_form.general_gui_group.layout_combo.get_value() + current_layout = self.ui.general_pref_form.general_gui_group.layout_combo.get_value() lay_settings = QSettings("Open Source", "FlatCAM") lay_settings.setValue('layout', current_layout) @@ -3810,23 +3812,23 @@ class App(QtCore.QObject): stgs.setValue('maximized_gui', self.ui.isMaximized()) stgs.setValue( 'language', - self.ui.general_defaults_form.general_app_group.language_cb.get_value() + self.ui.general_pref_form.general_app_group.language_cb.get_value() ) stgs.setValue( 'notebook_font_size', - self.ui.general_defaults_form.general_app_set_group.notebook_font_size_spinner.get_value() + self.ui.general_pref_form.general_app_set_group.notebook_font_size_spinner.get_value() ) stgs.setValue( 'axis_font_size', - self.ui.general_defaults_form.general_app_set_group.axis_font_size_spinner.get_value() + self.ui.general_pref_form.general_app_set_group.axis_font_size_spinner.get_value() ) stgs.setValue( 'textbox_font_size', - self.ui.general_defaults_form.general_app_set_group.textbox_font_size_spinner.get_value() + self.ui.general_pref_form.general_app_set_group.textbox_font_size_spinner.get_value() ) stgs.setValue( 'hud_font_size', - self.ui.general_defaults_form.general_app_set_group.hud_font_size_spinner.get_value() + self.ui.general_pref_form.general_app_set_group.hud_font_size_spinner.get_value() ) stgs.setValue('toolbar_lock', self.ui.lock_action.isChecked()) @@ -4004,7 +4006,7 @@ class App(QtCore.QObject): if obj_type is None or obj_type == 'excellon': exc_list = \ - self.ui.util_defaults_form.fa_excellon_group.exc_list_text.get_value().replace(' ', '').split(',') + self.ui.util_pref_form.fa_excellon_group.exc_list_text.get_value().replace(' ', '').split(',') exc_list = [x for x in exc_list if x != ''] # register all keys in the Preferences window @@ -4025,7 +4027,7 @@ class App(QtCore.QObject): self.inform.emit('[success] %s' % _("Selected Excellon file extensions registered with FlatCAM.")) if obj_type is None or obj_type == 'gcode': - gco_list = self.ui.util_defaults_form.fa_gcode_group.gco_list_text.get_value().replace(' ', '').split(',') + gco_list = self.ui.util_pref_form.fa_gcode_group.gco_list_text.get_value().replace(' ', '').split(',') gco_list = [x for x in gco_list if x != ''] # register all keys in the Preferences window @@ -4042,7 +4044,7 @@ class App(QtCore.QObject): _("Selected GCode file extensions registered with FlatCAM.")) if obj_type is None or obj_type == 'gerber': - grb_list = self.ui.util_defaults_form.fa_gerber_group.grb_list_text.get_value().replace(' ', '').split(',') + grb_list = self.ui.util_pref_form.fa_gerber_group.grb_list_text.get_value().replace(' ', '').split(',') grb_list = [x for x in grb_list if x != ''] # register all keys in the Preferences window @@ -4066,53 +4068,53 @@ class App(QtCore.QObject): """ if ext_type == 'excellon': - new_ext = self.ui.util_defaults_form.fa_excellon_group.ext_entry.get_value() + new_ext = self.ui.util_pref_form.fa_excellon_group.ext_entry.get_value() if new_ext == '': return - old_val = self.ui.util_defaults_form.fa_excellon_group.exc_list_text.get_value().replace(' ', '').split(',') + old_val = self.ui.util_pref_form.fa_excellon_group.exc_list_text.get_value().replace(' ', '').split(',') if new_ext in old_val: return old_val.append(new_ext) old_val.sort() - self.ui.util_defaults_form.fa_excellon_group.exc_list_text.set_value(', '.join(old_val)) + self.ui.util_pref_form.fa_excellon_group.exc_list_text.set_value(', '.join(old_val)) if ext_type == 'gcode': - new_ext = self.ui.util_defaults_form.fa_gcode_group.ext_entry.get_value() + new_ext = self.ui.util_pref_form.fa_gcode_group.ext_entry.get_value() if new_ext == '': return - old_val = self.ui.util_defaults_form.fa_gcode_group.gco_list_text.get_value().replace(' ', '').split(',') + old_val = self.ui.util_pref_form.fa_gcode_group.gco_list_text.get_value().replace(' ', '').split(',') if new_ext in old_val: return old_val.append(new_ext) old_val.sort() - self.ui.util_defaults_form.fa_gcode_group.gco_list_text.set_value(', '.join(old_val)) + self.ui.util_pref_form.fa_gcode_group.gco_list_text.set_value(', '.join(old_val)) if ext_type == 'gerber': - new_ext = self.ui.util_defaults_form.fa_gerber_group.ext_entry.get_value() + new_ext = self.ui.util_pref_form.fa_gerber_group.ext_entry.get_value() if new_ext == '': return - old_val = self.ui.util_defaults_form.fa_gerber_group.grb_list_text.get_value().replace(' ', '').split(',') + old_val = self.ui.util_pref_form.fa_gerber_group.grb_list_text.get_value().replace(' ', '').split(',') if new_ext in old_val: return old_val.append(new_ext) old_val.sort() - self.ui.util_defaults_form.fa_gerber_group.grb_list_text.set_value(', '.join(old_val)) + self.ui.util_pref_form.fa_gerber_group.grb_list_text.set_value(', '.join(old_val)) if ext_type == 'keyword': - new_kw = self.ui.util_defaults_form.kw_group.kw_entry.get_value() + new_kw = self.ui.util_pref_form.kw_group.kw_entry.get_value() if new_kw == '': return - old_val = self.ui.util_defaults_form.kw_group.kw_list_text.get_value().replace(' ', '').split(',') + old_val = self.ui.util_pref_form.kw_group.kw_list_text.get_value().replace(' ', '').split(',') if new_kw in old_val: return old_val.append(new_kw) old_val.sort() - self.ui.util_defaults_form.kw_group.kw_list_text.set_value(', '.join(old_val)) + self.ui.util_pref_form.kw_group.kw_list_text.set_value(', '.join(old_val)) # update the self.myKeywords so the model is updated self.autocomplete_kw_list = \ - self.ui.util_defaults_form.kw_group.kw_list_text.get_value().replace(' ', '').split(',') + self.ui.util_pref_form.kw_group.kw_list_text.get_value().replace(' ', '').split(',') self.myKeywords = self.tcl_commands_list + self.autocomplete_kw_list + self.tcl_keywords self.shell.command_line().set_model_data(self.myKeywords) @@ -4124,53 +4126,53 @@ class App(QtCore.QObject): :return: """ if ext_type == 'excellon': - new_ext = self.ui.util_defaults_form.fa_excellon_group.ext_entry.get_value() + new_ext = self.ui.util_pref_form.fa_excellon_group.ext_entry.get_value() if new_ext == '': return - old_val = self.ui.util_defaults_form.fa_excellon_group.exc_list_text.get_value().replace(' ', '').split(',') + old_val = self.ui.util_pref_form.fa_excellon_group.exc_list_text.get_value().replace(' ', '').split(',') if new_ext not in old_val: return old_val.remove(new_ext) old_val.sort() - self.ui.util_defaults_form.fa_excellon_group.exc_list_text.set_value(', '.join(old_val)) + self.ui.util_pref_form.fa_excellon_group.exc_list_text.set_value(', '.join(old_val)) if ext_type == 'gcode': - new_ext = self.ui.util_defaults_form.fa_gcode_group.ext_entry.get_value() + new_ext = self.ui.util_pref_form.fa_gcode_group.ext_entry.get_value() if new_ext == '': return - old_val = self.ui.util_defaults_form.fa_gcode_group.gco_list_text.get_value().replace(' ', '').split(',') + old_val = self.ui.util_pref_form.fa_gcode_group.gco_list_text.get_value().replace(' ', '').split(',') if new_ext not in old_val: return old_val.remove(new_ext) old_val.sort() - self.ui.util_defaults_form.fa_gcode_group.gco_list_text.set_value(', '.join(old_val)) + self.ui.util_pref_form.fa_gcode_group.gco_list_text.set_value(', '.join(old_val)) if ext_type == 'gerber': - new_ext = self.ui.util_defaults_form.fa_gerber_group.ext_entry.get_value() + new_ext = self.ui.util_pref_form.fa_gerber_group.ext_entry.get_value() if new_ext == '': return - old_val = self.ui.util_defaults_form.fa_gerber_group.grb_list_text.get_value().replace(' ', '').split(',') + old_val = self.ui.util_pref_form.fa_gerber_group.grb_list_text.get_value().replace(' ', '').split(',') if new_ext not in old_val: return old_val.remove(new_ext) old_val.sort() - self.ui.util_defaults_form.fa_gerber_group.grb_list_text.set_value(', '.join(old_val)) + self.ui.util_pref_form.fa_gerber_group.grb_list_text.set_value(', '.join(old_val)) if ext_type == 'keyword': - new_kw = self.ui.util_defaults_form.kw_group.kw_entry.get_value() + new_kw = self.ui.util_pref_form.kw_group.kw_entry.get_value() if new_kw == '': return - old_val = self.ui.util_defaults_form.kw_group.kw_list_text.get_value().replace(' ', '').split(',') + old_val = self.ui.util_pref_form.kw_group.kw_list_text.get_value().replace(' ', '').split(',') if new_kw not in old_val: return old_val.remove(new_kw) old_val.sort() - self.ui.util_defaults_form.kw_group.kw_list_text.set_value(', '.join(old_val)) + self.ui.util_pref_form.kw_group.kw_list_text.set_value(', '.join(old_val)) # update the self.myKeywords so the model is updated self.autocomplete_kw_list = \ - self.ui.util_defaults_form.kw_group.kw_list_text.get_value().replace(' ', '').split(',') + self.ui.util_pref_form.kw_group.kw_list_text.get_value().replace(' ', '').split(',') self.myKeywords = self.tcl_commands_list + self.autocomplete_kw_list + self.tcl_keywords self.shell.command_line().set_model_data(self.myKeywords) @@ -4191,13 +4193,13 @@ class App(QtCore.QObject): new_exc_list.remove('txt') except ValueError: pass - self.ui.util_defaults_form.fa_excellon_group.exc_list_text.set_value(', '.join(new_exc_list)) + self.ui.util_pref_form.fa_excellon_group.exc_list_text.set_value(', '.join(new_exc_list)) if ext_type == 'gcode': - self.ui.util_defaults_form.fa_gcode_group.gco_list_text.set_value(', '.join(self.gcode_list)) + self.ui.util_pref_form.fa_gcode_group.gco_list_text.set_value(', '.join(self.gcode_list)) if ext_type == 'gerber': - self.ui.util_defaults_form.fa_gerber_group.grb_list_text.set_value(', '.join(self.grb_list)) + self.ui.util_pref_form.fa_gerber_group.grb_list_text.set_value(', '.join(self.grb_list)) if ext_type == 'keyword': - self.ui.util_defaults_form.kw_group.kw_list_text.set_value(', '.join(self.default_keywords)) + self.ui.util_pref_form.kw_group.kw_list_text.set_value(', '.join(self.default_keywords)) # update the self.myKeywords so the model is updated self.autocomplete_kw_list = self.default_keywords @@ -4213,13 +4215,13 @@ class App(QtCore.QObject): """ if ext_type == 'excellon': - self.ui.util_defaults_form.fa_excellon_group.exc_list_text.set_value('') + self.ui.util_pref_form.fa_excellon_group.exc_list_text.set_value('') if ext_type == 'gcode': - self.ui.util_defaults_form.fa_gcode_group.gco_list_text.set_value('') + self.ui.util_pref_form.fa_gcode_group.gco_list_text.set_value('') if ext_type == 'gerber': - self.ui.util_defaults_form.fa_gerber_group.grb_list_text.set_value('') + self.ui.util_pref_form.fa_gerber_group.grb_list_text.set_value('') if ext_type == 'keyword': - self.ui.util_defaults_form.kw_group.kw_list_text.set_value('') + self.ui.util_pref_form.kw_group.kw_list_text.set_value('') # update the self.myKeywords so the model is updated self.myKeywords = self.tcl_commands_list + self.tcl_keywords @@ -4439,18 +4441,18 @@ class App(QtCore.QObject): def on_toggle_units_click(self): try: - self.ui.general_defaults_form.general_app_group.units_radio.activated_custom.disconnect() + self.ui.general_pref_form.general_app_group.units_radio.activated_custom.disconnect() except (TypeError, AttributeError): pass if self.defaults["units"] == 'MM': - self.ui.general_defaults_form.general_app_group.units_radio.set_value("IN") + self.ui.general_pref_form.general_app_group.units_radio.set_value("IN") else: - self.ui.general_defaults_form.general_app_group.units_radio.set_value("MM") + self.ui.general_pref_form.general_app_group.units_radio.set_value("MM") self.on_toggle_units(no_pref=True) - self.ui.general_defaults_form.general_app_group.units_radio.activated_custom.connect( + self.ui.general_pref_form.general_app_group.units_radio.activated_custom.connect( lambda: self.on_toggle_units(no_pref=False)) def scale_defaults(self, sfactor, dimensions): @@ -4523,7 +4525,7 @@ class App(QtCore.QObject): if self.toggle_units_ignore: return - new_units = self.ui.general_defaults_form.general_app_group.units_radio.get_value().upper() + new_units = self.ui.general_pref_form.general_app_group.units_radio.get_value().upper() # If option is the same, then ignore if new_units == self.defaults["units"].upper(): @@ -4708,9 +4710,9 @@ class App(QtCore.QObject): # Undo toggling self.toggle_units_ignore = True if self.defaults['units'].upper() == 'MM': - self.ui.general_defaults_form.general_app_group.units_radio.set_value('IN') + self.ui.general_pref_form.general_app_group.units_radio.set_value('IN') else: - self.ui.general_defaults_form.general_app_group.units_radio.set_value('MM') + self.ui.general_pref_form.general_app_group.units_radio.set_value('MM') self.toggle_units_ignore = False # store the grid values so they are not changed in the next step @@ -4741,7 +4743,7 @@ class App(QtCore.QObject): self.plotcanvas.draw_workspace(workspace_size=self.defaults['global_workspaceT']) def on_workspace(self): - if self.ui.general_defaults_form.general_app_set_group.workspace_cb.get_value(): + if self.ui.general_pref_form.general_app_set_group.workspace_cb.get_value(): self.plotcanvas.draw_workspace(workspace_size=self.defaults['global_workspaceT']) self.inform[str, bool].emit(_("Workspace enabled."), False) else: @@ -4751,14 +4753,14 @@ class App(QtCore.QObject): # self.save_defaults(silent=True) def on_workspace_toggle(self): - state = False if self.ui.general_defaults_form.general_app_set_group.workspace_cb.get_value() else True + state = False if self.ui.general_pref_form.general_app_set_group.workspace_cb.get_value() else True try: - self.ui.general_defaults_form.general_app_set_group.workspace_cb.stateChanged.disconnect(self.on_workspace) + self.ui.general_pref_form.general_app_set_group.workspace_cb.stateChanged.disconnect(self.on_workspace) except TypeError: pass - self.ui.general_defaults_form.general_app_set_group.workspace_cb.set_value(state) - self.ui.general_defaults_form.general_app_set_group.workspace_cb.stateChanged.connect(self.on_workspace) + self.ui.general_pref_form.general_app_set_group.workspace_cb.set_value(state) + self.ui.general_pref_form.general_app_set_group.workspace_cb.stateChanged.connect(self.on_workspace) self.on_workspace() def on_cursor_type(self, val): @@ -4770,12 +4772,12 @@ class App(QtCore.QObject): self.app_cursor.enabled = False if val == 'small': - self.ui.general_defaults_form.general_app_set_group.cursor_size_entry.setDisabled(False) - self.ui.general_defaults_form.general_app_set_group.cursor_size_lbl.setDisabled(False) + self.ui.general_pref_form.general_app_set_group.cursor_size_entry.setDisabled(False) + self.ui.general_pref_form.general_app_set_group.cursor_size_lbl.setDisabled(False) self.app_cursor = self.plotcanvas.new_cursor() else: - self.ui.general_defaults_form.general_app_set_group.cursor_size_entry.setDisabled(True) - self.ui.general_defaults_form.general_app_set_group.cursor_size_lbl.setDisabled(True) + self.ui.general_pref_form.general_app_set_group.cursor_size_entry.setDisabled(True) + self.ui.general_pref_form.general_app_set_group.cursor_size_lbl.setDisabled(True) self.app_cursor = self.plotcanvas.new_cursor(big=True) if self.ui.grid_snap_btn.isChecked(): @@ -8161,7 +8163,7 @@ class App(QtCore.QObject): self.log.debug("version_check()") - if self.ui.general_defaults_form.general_app_group.send_stats_cb.get_value() is True: + if self.ui.general_pref_form.general_app_group.send_stats_cb.get_value() is True: full_url = "%s?s=%s&v=%s&os=%s&%s" % ( App.version_url, str(self.defaults['global_serial']), @@ -8506,9 +8508,9 @@ class App(QtCore.QObject): for sel_obj in sel_obj_list: if sel_obj.kind == 'excellon': alpha_level = str(hex( - self.ui.excellon_defaults_form.excellon_gen_group.excellon_alpha_entry.get_value())[2:]) + self.ui.excellon_pref_form.excellon_gen_group.excellon_alpha_entry.get_value())[2:]) elif sel_obj.kind == 'gerber': - alpha_level = str(hex(self.ui.gerber_defaults_form.gerber_gen_group.gerber_alpha_entry.get_value())[2:]) + alpha_level = str(hex(self.ui.gerber_pref_form.gerber_gen_group.gerber_alpha_entry.get_value())[2:]) elif sel_obj.kind == 'geometry': alpha_level = 'FF' else: diff --git a/camlib.py b/camlib.py index 1d705150..561b12fb 100644 --- a/camlib.py +++ b/camlib.py @@ -6770,7 +6770,7 @@ class CNCjob(Geometry): :return: None :rtype: """ - # units = self.app.ui.general_defaults_form.general_app_group.units_radio.get_value().upper() + # units = self.app.ui.general_pref_form.general_app_group.units_radio.get_value().upper() if color is None: color = {