diff --git a/CHANGELOG.md b/CHANGELOG.md index 8accb8b2..a5cebee2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ CHANGELOG for FlatCAM beta - Isolation Tool - remade the UI - Isolation Tool - modified the add new tool method to search first in Tools Database for a suitable tool - Isolation Tool - added ability to find the tool diameter that will guarantee total isolation of the currently selected Gerber object +- NCC Tool - UI change: if the operation is Isolation then some of the tool parameters are disabled 25.08.2020 diff --git a/appTools/ToolNCC.py b/appTools/ToolNCC.py index 1b13aa41..45a80c07 100644 --- a/appTools/ToolNCC.py +++ b/appTools/ToolNCC.py @@ -232,12 +232,7 @@ class NonCopperClear(AppTool, Gerber): }[self.ui.type_obj_radio.get_value()] def on_operation_change(self, val): - if val == 'iso': - self.ui.milling_type_label.setEnabled(True) - self.ui.milling_type_radio.setEnabled(True) - else: - self.ui.milling_type_label.setEnabled(False) - self.ui.milling_type_radio.setEnabled(False) + self.ui.parameters_ui(val=val) current_row = self.ui.tools_table.currentRow() try: @@ -3942,8 +3937,8 @@ class NccUI: self.grid3.addWidget(self.milling_type_radio, 14, 1) # Overlap Entry - nccoverlabel = QtWidgets.QLabel('%s:' % _('Overlap')) - nccoverlabel.setToolTip( + self.nccoverlabel = QtWidgets.QLabel('%s:' % _('Overlap')) + self.nccoverlabel.setToolTip( _("How much (percentage) of the tool width to overlap each tool pass.\n" "Adjust the value starting with lower values\n" "and increasing it if areas that should be cleared are still \n" @@ -3959,12 +3954,12 @@ class NccUI: self.ncc_overlap_entry.setSingleStep(0.1) self.ncc_overlap_entry.setObjectName("n_overlap") - self.grid3.addWidget(nccoverlabel, 15, 0) + self.grid3.addWidget(self.nccoverlabel, 15, 0) self.grid3.addWidget(self.ncc_overlap_entry, 15, 1) # Method - methodlabel = QtWidgets.QLabel('%s:' % _('Method')) - methodlabel.setToolTip( + self.methodlabel = QtWidgets.QLabel('%s:' % _('Method')) + self.methodlabel.setToolTip( _("Algorithm for copper clearing:\n" "- Standard: Fixed step inwards.\n" "- Seed-based: Outwards from seed.\n" @@ -3982,7 +3977,7 @@ class NccUI: ) self.ncc_method_combo.setObjectName("n_method") - self.grid3.addWidget(methodlabel, 16, 0) + self.grid3.addWidget(self.methodlabel, 16, 0) self.grid3.addWidget(self.ncc_method_combo, 16, 1) # Margin @@ -4243,7 +4238,37 @@ class NccUI: self.tools_box.addWidget(self.reset_button) # ############################ FINSIHED GUI ################################### # ############################################################################# - + + def parameters_ui(self, val): + if val == 'iso': + self.milling_type_label.setEnabled(True) + self.milling_type_radio.setEnabled(True) + + self.nccoverlabel.setEnabled(False) + self.ncc_overlap_entry.setEnabled(False) + self.methodlabel.setEnabled(False) + self.ncc_method_combo.setEnabled(False) + self.nccmarginlabel.setEnabled(False) + self.ncc_margin_entry.setEnabled(False) + self.ncc_connect_cb.setEnabled(False) + self.ncc_contour_cb.setEnabled(False) + self.ncc_choice_offset_cb.setEnabled(False) + self.ncc_offset_spinner.setEnabled(False) + else: + self.milling_type_label.setEnabled(False) + self.milling_type_radio.setEnabled(False) + + self.nccoverlabel.setEnabled(True) + self.ncc_overlap_entry.setEnabled(True) + self.methodlabel.setEnabled(True) + self.ncc_method_combo.setEnabled(True) + self.nccmarginlabel.setEnabled(True) + self.ncc_margin_entry.setEnabled(True) + self.ncc_connect_cb.setEnabled(True) + self.ncc_contour_cb.setEnabled(True) + self.ncc_choice_offset_cb.setEnabled(True) + self.ncc_offset_spinner.setEnabled(True) + def confirmation_message(self, accepted, minval, maxval): if accepted is False: self.app.inform[str, bool].emit('[WARNING_NOTCL] %s: [%.*f, %.*f]' % (_("Edited value is out of range"),