- fixed some issues realted to the usage of the new confirmation message in FlatCAM Tools

- made sure that the FlatCAM Tools UI initialization is done only in set_tool_ui() method and not in the constructor
This commit is contained in:
Marius Stanciu 2020-02-17 14:27:45 +02:00
parent ae22ddb516
commit 7292a30b9e
12 changed files with 55 additions and 50 deletions

View File

@ -927,7 +927,7 @@ class ToolsDB(QtWidgets.QWidget):
spindlespeed_item = FCSpinner()
spindlespeed_item.set_range(0, 1000000)
spindlespeed_item.set_value(int(data['spindlespeed']))
spindlespeed_item.setSingleStep(100)
spindlespeed_item.set_step(100)
widget.setCellWidget(row, 16, spindlespeed_item)
dwell_item = FCCheckBox()

View File

@ -17,6 +17,8 @@ CAD program, and create G-Code for Isolation routing.
- updated all FlatCAM tools to use the new confirmation message that show if the entered value is within range or outside
- updated all FlatCAM tools to use the new confirmation message for QSpinBoxes, too
- in Excellon UI protected the values that are common parameters from change on tool selection change
- fixed some issues realted to the usage of the new confirmation message in FlatCAM Tools
- made sure that the FlatCAM Tools UI initialization is done only in set_tool_ui() method and not in the constructor
16.02.2020

View File

@ -670,7 +670,14 @@ class FCSpinner(QtWidgets.QSpinBox):
return QtGui.QValidator.Acceptable, p_str, p_int
def set_range(self, min_val, max_val):
self.blockSignals(True)
self.setRange(min_val, max_val)
self.blockSignals(False)
def set_step(self, p_int):
self.blockSignals(True)
self.setSingleStep(p_int)
self.blockSignals(False)
# def sizeHint(self):
# default_hint_size = super(FCSpinner, self).sizeHint()

View File

@ -386,6 +386,7 @@ class GerberObjectUI(ObjectUI):
passlabel.setMinimumWidth(90)
self.iso_width_entry = FCSpinner(callback=self.confirmation_message_int)
self.iso_width_entry.set_range(1, 999)
grid1.addWidget(passlabel, 5, 0)
grid1.addWidget(self.iso_width_entry, 5, 1, 1, 2)
@ -1054,7 +1055,7 @@ class ExcellonObjectUI(ObjectUI):
self.spindlespeed_entry = FCSpinner(callback=self.confirmation_message_int)
self.spindlespeed_entry.set_range(0, 1000000)
self.spindlespeed_entry.setSingleStep(100)
self.spindlespeed_entry.set_step(100)
self.spindlespeed_entry.setObjectName("e_spindlespeed")
self.grid3.addWidget(self.spindle_label, 19, 0)
@ -1823,7 +1824,7 @@ class GeometryObjectUI(ObjectUI):
)
self.cncspindlespeed_entry = FCSpinner(callback=self.confirmation_message_int)
self.cncspindlespeed_entry.set_range(0, 1000000)
self.cncspindlespeed_entry.setSingleStep(100)
self.cncspindlespeed_entry.set_step(100)
self.grid3.addWidget(self.spindle_label, 14, 0)
self.grid3.addWidget(self.cncspindlespeed_entry, 14, 1)

View File

@ -1133,7 +1133,7 @@ class GeneralAPPSetGroupUI(OptionsGroupUI):
)
self.notebook_font_size_spinner = FCSpinner()
self.notebook_font_size_spinner.setRange(8, 40)
self.notebook_font_size_spinner.set_range(8, 40)
self.notebook_font_size_spinner.setWrapping(True)
settings = QSettings("Open Source", "FlatCAM")
@ -1152,7 +1152,7 @@ class GeneralAPPSetGroupUI(OptionsGroupUI):
)
self.axis_font_size_spinner = FCSpinner()
self.axis_font_size_spinner.setRange(0, 40)
self.axis_font_size_spinner.set_range(0, 40)
self.axis_font_size_spinner.setWrapping(True)
settings = QSettings("Open Source", "FlatCAM")
@ -1172,7 +1172,7 @@ class GeneralAPPSetGroupUI(OptionsGroupUI):
)
self.textbox_font_size_spinner = FCSpinner()
self.textbox_font_size_spinner.setRange(8, 40)
self.textbox_font_size_spinner.set_range(8, 40)
self.textbox_font_size_spinner.setWrapping(True)
settings = QSettings("Open Source", "FlatCAM")
@ -1342,6 +1342,7 @@ class GeneralAPPSetGroupUI(OptionsGroupUI):
# Bookmarks Limit in the Help Menu
self.bm_limit_spinner = FCSpinner()
self.bm_limit_spinner.set_range(0, 9999)
self.bm_limit_label = QtWidgets.QLabel('%s:' % _('Bookmarks limit'))
self.bm_limit_label.setToolTip(
_("The maximum number of bookmarks that may be installed in the menu.\n"
@ -2040,7 +2041,7 @@ class GerberOptPrefGroupUI(OptionsGroupUI):
"number (integer) of tool widths.")
)
self.iso_width_entry = FCSpinner()
self.iso_width_entry.setRange(1, 999)
self.iso_width_entry.set_range(1, 999)
grid0.addWidget(passlabel, 1, 0)
grid0.addWidget(self.iso_width_entry, 1, 1)
@ -2247,7 +2248,7 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
)
self.tipangle_spinner = FCSpinner()
self.tipangle_spinner.set_range(1, 180)
self.tipangle_spinner.setSingleStep(5)
self.tipangle_spinner.set_step(5)
self.tipangle_spinner.setWrapping(True)
grid0.addWidget(self.tipanglelabel, 5, 0)
grid0.addWidget(self.tipangle_spinner, 5, 1, 1, 2)
@ -2379,7 +2380,7 @@ class GerberExpPrefGroupUI(OptionsGroupUI):
self.format_whole_entry = FCSpinner()
self.format_whole_entry.set_range(0, 9)
self.format_whole_entry.setSingleStep(1)
self.format_whole_entry.set_step(1)
self.format_whole_entry.setWrapping(True)
self.format_whole_entry.setMinimumWidth(30)
@ -2395,7 +2396,7 @@ class GerberExpPrefGroupUI(OptionsGroupUI):
self.format_dec_entry = FCSpinner()
self.format_dec_entry.set_range(0, 9)
self.format_dec_entry.setSingleStep(1)
self.format_dec_entry.set_step(1)
self.format_dec_entry.setWrapping(True)
self.format_dec_entry.setMinimumWidth(30)
@ -3252,7 +3253,7 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
self.spindlespeed_entry = FCSpinner()
self.spindlespeed_entry.set_range(0, 1000000)
self.spindlespeed_entry.setSingleStep(100)
self.spindlespeed_entry.set_step(100)
grid2.addWidget(spdlabel, 10, 0)
grid2.addWidget(self.spindlespeed_entry, 10, 1)
@ -4207,7 +4208,7 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
grid1.addWidget(spdlabel, 9, 0)
self.cncspindlespeed_entry = FCSpinner()
self.cncspindlespeed_entry.set_range(0, 1000000)
self.cncspindlespeed_entry.setSingleStep(100)
self.cncspindlespeed_entry.set_step(100)
grid1.addWidget(self.cncspindlespeed_entry, 9, 1)
@ -6258,7 +6259,7 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI):
# ## Columns
self.pcolumns = FCSpinner()
self.pcolumns.set_range(1, 1000)
self.pcolumns.setSingleStep(1)
self.pcolumns.set_step(1)
self.columns_label = QtWidgets.QLabel('%s:' % _("Columns"))
self.columns_label.setToolTip(
@ -6270,7 +6271,7 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI):
# ## Rows
self.prows = FCSpinner()
self.prows.set_range(1, 1000)
self.prows.setSingleStep(1)
self.prows.set_step(1)
self.rows_label = QtWidgets.QLabel('%s:' % _("Rows"))
self.rows_label.setToolTip(
@ -6848,7 +6849,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
# Spindle Speed Forward
self.speedfwd_entry = FCSpinner()
self.speedfwd_entry.set_range(0, 99999)
self.speedfwd_entry.setSingleStep(1000)
self.speedfwd_entry.set_step(1000)
self.speedfwd_label = QtWidgets.QLabel('%s:' % _("Spindle Speed FWD"))
self.speedfwd_label.setToolTip(
@ -6874,7 +6875,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
# Spindle Speed Reverse
self.speedrev_entry = FCSpinner()
self.speedrev_entry.set_range(0, 999999)
self.speedrev_entry.setSingleStep(1000)
self.speedrev_entry.set_step(1000)
self.speedrev_label = QtWidgets.QLabel('%s:' % _("Spindle Speed REV"))
self.speedrev_label.setToolTip(
@ -7180,7 +7181,7 @@ class Tools2OptimalPrefGroupUI(OptionsGroupUI):
self.precision_sp = FCSpinner()
self.precision_sp.set_range(2, 10)
self.precision_sp.setSingleStep(1)
self.precision_sp.set_step(1)
self.precision_sp.setWrapping(True)
self.precision_lbl = QtWidgets.QLabel('%s:' % _("Precision"))

View File

@ -105,7 +105,7 @@ class ToolCalculator(FlatCAMTool):
self.tipAngle_label = QtWidgets.QLabel('%s:' % _("Tip Angle"))
self.tipAngle_entry = FCSpinner(callback=self.confirmation_message_int)
self.tipAngle_entry.set_range(0,180)
self.tipAngle_entry.setSingleStep(5)
self.tipAngle_entry.set_step(5)
# self.tipAngle_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.tipAngle_label.setToolTip(_("This is the angle of the tip of the tool.\n"

View File

@ -263,8 +263,6 @@ class ToolCalibration(FlatCAMTool):
self.bottom_left_coordy_found = EvalEntry()
self.points_table.setCellWidget(row, 3, self.bottom_left_coordy_found)
self.bottom_left_coordx_found.set_value(_("Origin"))
self.bottom_left_coordy_found.set_value(_("Origin"))
self.bottom_left_coordx_found.setDisabled(True)
self.bottom_left_coordy_found.setDisabled(True)
row += 1
@ -770,6 +768,9 @@ class ToolCalibration(FlatCAMTool):
if self.local_connected is True:
self.disconnect_cal_events()
self.bottom_left_coordx_found.set_value(_("Origin"))
self.bottom_left_coordy_found.set_value(_("Origin"))
self.reset_calibration_points()
self.cal_source_radio.set_value(self.app.defaults['tools_cal_calsource'])

View File

@ -128,15 +128,6 @@ class DistanceMin(FlatCAMTool):
form_layout.addRow(self.total_distance_label, self.total_distance_entry)
form_layout.addRow(self.half_point_label, self.half_point_entry)
# initial view of the layout
self.start_entry.set_value('(0, 0)')
self.stop_entry.set_value('(0, 0)')
self.distance_x_entry.set_value('0.0')
self.distance_y_entry.set_value('0.0')
self.angle_entry.set_value('0.0')
self.total_distance_entry.set_value('0.0')
self.half_point_entry.set_value('(0, 0)')
self.layout.addStretch()
self.h_point = (0, 0)

View File

@ -282,9 +282,6 @@ class ToolOptimal(FlatCAMTool):
def run(self, toggle=True):
self.app.report_usage("ToolOptimal()")
self.result_entry.set_value(0.0)
self.freq_entry.set_value('0')
if toggle:
# if the splitter is hidden, display it, else hide it but only if the current widget is the same
if self.app.ui.splitter.sizes()[0] == 0:
@ -310,6 +307,9 @@ class ToolOptimal(FlatCAMTool):
self.app.ui.notebook.setTabText(2, _("Optimal Tool"))
def set_tool_ui(self):
self.result_entry.set_value(0.0)
self.freq_entry.set_value('0')
self.precision_spinner.set_value(int(self.app.defaults["tools_opt_precision"]))
self.locations_textb.clear()
# new cursor - select all document

View File

@ -153,7 +153,6 @@ class QRCode(FlatCAMTool):
self.border_size_entry = FCSpinner(callback=self.confirmation_message_int)
self.border_size_entry.set_range(1, 9999)
self.border_size_entry.setWrapping(True)
self.border_size_entry.set_value(4)
grid_lay.addWidget(self.border_size_label, 4, 0)
grid_lay.addWidget(self.border_size_entry, 4, 1)
@ -386,6 +385,8 @@ class QRCode(FlatCAMTool):
def set_tool_ui(self):
self.units = self.app.defaults['units']
self.border_size_entry.set_value(4)
self.version_entry.set_value(int(self.app.defaults["tools_qrcode_version"]))
self.error_radio.set_value(self.app.defaults["tools_qrcode_error"])
self.bsize_entry.set_value(int(self.app.defaults["tools_qrcode_box_size"]))

View File

@ -284,7 +284,7 @@ class SolderPaste(FlatCAMTool):
# Spindle Speed Forward
self.speedfwd_entry = FCSpinner(callback=self.confirmation_message_int)
self.speedfwd_entry.set_range(0, 999999)
self.speedfwd_entry.setSingleStep(1000)
self.speedfwd_entry.set_step(1000)
self.speedfwd_label = QtWidgets.QLabel('%s:' % _("Spindle Speed FWD"))
self.speedfwd_label.setToolTip(
@ -308,7 +308,7 @@ class SolderPaste(FlatCAMTool):
# Spindle Speed Reverse
self.speedrev_entry = FCSpinner(callback=self.confirmation_message_int)
self.speedrev_entry.set_range(0, 999999)
self.speedrev_entry.setSingleStep(1000)
self.speedrev_entry.set_step(1000)
self.speedrev_label = QtWidgets.QLabel('%s:' % _("Spindle Speed REV"))
self.speedrev_label.setToolTip(

View File

@ -77,7 +77,6 @@ class ToolTransform(FlatCAMTool):
# self.rotate_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.rotate_button = FCButton()
self.rotate_button.set_value(_("Rotate"))
self.rotate_button.setToolTip(
_("Rotate the selected object(s).\n"
"The point of reference is the middle of\n"
@ -109,7 +108,6 @@ class ToolTransform(FlatCAMTool):
self.skewx_entry.set_range(-360, 360)
self.skewx_button = FCButton()
self.skewx_button.set_value(_("Skew X"))
self.skewx_button.setToolTip(
_("Skew/shear the selected object(s).\n"
"The point of reference is the middle of\n"
@ -131,7 +129,6 @@ class ToolTransform(FlatCAMTool):
self.skewy_entry.set_range(-360, 360)
self.skewy_button = FCButton()
self.skewy_button.set_value(_("Skew Y"))
self.skewy_button.setToolTip(
_("Skew/shear the selected object(s).\n"
"The point of reference is the middle of\n"
@ -161,7 +158,6 @@ class ToolTransform(FlatCAMTool):
self.scalex_entry.setMinimum(-1e6)
self.scalex_button = FCButton()
self.scalex_button.set_value(_("Scale X"))
self.scalex_button.setToolTip(
_("Scale the selected object(s).\n"
"The point of reference depends on \n"
@ -182,7 +178,6 @@ class ToolTransform(FlatCAMTool):
self.scaley_entry.setMinimum(-1e6)
self.scaley_button = FCButton()
self.scaley_button.set_value(_("Scale Y"))
self.scaley_button.setToolTip(
_("Scale the selected object(s).\n"
"The point of reference depends on \n"
@ -194,7 +189,6 @@ class ToolTransform(FlatCAMTool):
grid0.addWidget(self.scaley_button, 9, 2)
self.scale_link_cb = FCCheckBox()
self.scale_link_cb.set_value(True)
self.scale_link_cb.setText(_("Link"))
self.scale_link_cb.setToolTip(
_("Scale the selected object(s)\n"
@ -202,7 +196,6 @@ class ToolTransform(FlatCAMTool):
)
self.scale_zero_ref_cb = FCCheckBox()
self.scale_zero_ref_cb.set_value(True)
self.scale_zero_ref_cb.setText('%s' % _("Scale Reference"))
self.scale_zero_ref_cb.setToolTip(
_("Scale the selected object(s)\n"
@ -234,7 +227,6 @@ class ToolTransform(FlatCAMTool):
self.offx_entry.setMinimum(-1e6)
self.offx_button = FCButton()
self.offx_button.set_value(_("Offset X"))
self.offx_button.setToolTip(
_("Offset the selected object(s).\n"
"The point of reference is the middle of\n"
@ -255,7 +247,6 @@ class ToolTransform(FlatCAMTool):
self.offy_entry.setMinimum(-1e6)
self.offy_button = FCButton()
self.offy_button.set_value(_("Offset Y"))
self.offy_button.setToolTip(
_("Offset the selected object(s).\n"
"The point of reference is the middle of\n"
@ -276,13 +267,11 @@ class ToolTransform(FlatCAMTool):
grid0.addWidget(flip_title_label, 16, 0, 1, 3)
self.flipx_button = FCButton()
self.flipx_button.set_value(_("Flip on X"))
self.flipx_button.setToolTip(
_("Flip the selected object(s) over the X axis.")
)
self.flipy_button = FCButton()
self.flipy_button.set_value(_("Flip on Y"))
self.flipy_button.setToolTip(
_("Flip the selected object(s) over the X axis.")
)
@ -294,7 +283,6 @@ class ToolTransform(FlatCAMTool):
hlay0.addWidget(self.flipy_button)
self.flip_ref_cb = FCCheckBox()
self.flip_ref_cb.set_value(True)
self.flip_ref_cb.setText('%s' % _("Mirror Reference"))
self.flip_ref_cb.setToolTip(
_("Flip the selected object(s)\n"
@ -320,7 +308,6 @@ class ToolTransform(FlatCAMTool):
# self.flip_ref_entry.setFixedWidth(70)
self.flip_ref_button = FCButton()
self.flip_ref_button.set_value(_("Add"))
self.flip_ref_button.setToolTip(
_("The point coordinates can be captured by\n"
"left click on canvas together with pressing\n"
@ -360,7 +347,6 @@ class ToolTransform(FlatCAMTool):
self.buffer_entry.set_range(-9999.9999, 9999.9999)
self.buffer_button = FCButton()
self.buffer_button.set_value(_("Buffer D"))
self.buffer_button.setToolTip(
_("Create the buffer effect on each geometry,\n"
"element from the selected object, using the distance.")
@ -387,7 +373,6 @@ class ToolTransform(FlatCAMTool):
self.buffer_factor_entry.setSingleStep(1)
self.buffer_factor_button = FCButton()
self.buffer_factor_button.set_value(_("Buffer F"))
self.buffer_factor_button.setToolTip(
_("Create the buffer effect on each geometry,\n"
"element from the selected object, using the factor.")
@ -481,6 +466,22 @@ class ToolTransform(FlatCAMTool):
FlatCAMTool.install(self, icon, separator, shortcut='ALT+T', **kwargs)
def set_tool_ui(self):
self.rotate_button.set_value(_("Rotate"))
self.skewx_button.set_value(_("Skew X"))
self.skewy_button.set_value(_("Skew Y"))
self.scalex_button.set_value(_("Scale X"))
self.scaley_button.set_value(_("Scale Y"))
self.scale_link_cb.set_value(True)
self.scale_zero_ref_cb.set_value(True)
self.offx_button.set_value(_("Offset X"))
self.offy_button.set_value(_("Offset Y"))
self.flipx_button.set_value(_("Flip on X"))
self.flipy_button.set_value(_("Flip on Y"))
self.flip_ref_cb.set_value(True)
self.flip_ref_button.set_value(_("Add"))
self.buffer_button.set_value(_("Buffer D"))
self.buffer_factor_button.set_value(_("Buffer F"))
# ## Initialize form
if self.app.defaults["tools_transform_rotate"]:
self.rotate_entry.set_value(self.app.defaults["tools_transform_rotate"])