- fixed some issues in the Gerber Editor (Aperture add was double adding an aperture)

- converted Gerber Editor to usage of SpinBoxes
This commit is contained in:
Marius Stanciu 2019-10-28 17:18:23 +02:00
parent b994ee9639
commit a88c64fb84
2 changed files with 41 additions and 20 deletions

View File

@ -13,6 +13,8 @@ CAD program, and create G-Code for Isolation routing.
- in Tools: Paint, NCC and Copper Fill, when using the Area Selection, now the selected aras will stay drawn as markers until the user click RMB
- in legacy2D graphic engine, adding an utility geometry no longer draw the older ones, overwriting them
- fixed some issues in the Gerber Editor (Aperture add was double adding an aperture)
- converted Gerber Editor to usage of SpinBoxes
27.10.2019

View File

@ -18,7 +18,7 @@ from copy import copy, deepcopy
import logging
from camlib import distance, arc, three_point_circle
from flatcamGUI.GUIElements import FCEntry, FCComboBox, FCTable, FCDoubleSpinner, LengthEntry, RadioSet, \
from flatcamGUI.GUIElements import FCEntry, FCComboBox, FCTable, FCDoubleSpinner, FCSpinner, RadioSet, \
EvalEntry2, FCInputDialog, FCButton, OptionalInputSection, FCCheckBox
from FlatCAMTool import FlatCAMTool
import FlatCAMApp
@ -2351,6 +2351,8 @@ class FlatCAMGrbEditor(QtCore.QObject):
self.app = app
self.canvas = self.app.plotcanvas
# number of decimals for the tool diameters to be used in this editor
self.decimals = 4
# Current application units in Upper Case
@ -2441,8 +2443,10 @@ class FlatCAMGrbEditor(QtCore.QObject):
apcode_lbl.setToolTip(_("Code for the new aperture"))
grid1.addWidget(apcode_lbl, 1, 0)
self.apcode_entry = FCEntry()
self.apcode_entry.setValidator(QtGui.QIntValidator(0, 999))
self.apcode_entry = FCSpinner()
self.apcode_entry.set_range(0, 999)
self.apcode_entry.setWrapping(True)
grid1.addWidget(self.apcode_entry, 1, 1)
apsize_lbl = QtWidgets.QLabel('%s:' % _('Aperture Size'))
@ -2455,8 +2459,10 @@ class FlatCAMGrbEditor(QtCore.QObject):
)
grid1.addWidget(apsize_lbl, 2, 0)
self.apsize_entry = FCEntry()
self.apsize_entry.setValidator(QtGui.QDoubleValidator(0.0001, 99.9999, 4))
self.apsize_entry = FCDoubleSpinner()
self.apsize_entry.set_precision(self.decimals)
self.apsize_entry.set_range(0.0, 9999)
grid1.addWidget(self.apsize_entry, 2, 1)
aptype_lbl = QtWidgets.QLabel('%s:' % _('Aperture Type'))
@ -2527,7 +2533,10 @@ class FlatCAMGrbEditor(QtCore.QObject):
self.buffer_tools_box.addLayout(buf_form_layout)
# Buffer distance
self.buffer_distance_entry = FCEntry()
self.buffer_distance_entry = FCDoubleSpinner()
self.buffer_distance_entry.set_precision(self.decimals)
self.buffer_distance_entry.set_range(-9999.9999, 9999.9999)
buf_form_layout.addRow('%s:' % _("Buffer distance"), self.buffer_distance_entry)
self.buffer_corner_lbl = QtWidgets.QLabel('%s:' % _("Buffer corner"))
self.buffer_corner_lbl.setToolTip(
@ -2576,8 +2585,10 @@ class FlatCAMGrbEditor(QtCore.QObject):
_("The factor by which to scale the selected aperture.\n"
"Values can be between 0.0000 and 999.9999")
)
self.scale_factor_entry = FCEntry()
self.scale_factor_entry.setValidator(QtGui.QDoubleValidator(0.0000, 999.9999, 4))
self.scale_factor_entry = FCDoubleSpinner()
self.scale_factor_entry.set_precision(self.decimals)
self.scale_factor_entry.set_range(0.0000, 9999.9999)
scale_form_layout.addRow(self.scale_factor_lbl, self.scale_factor_entry)
# Buttons
@ -2693,7 +2704,9 @@ class FlatCAMGrbEditor(QtCore.QObject):
)
self.pad_array_size_label.setMinimumWidth(100)
self.pad_array_size_entry = LengthEntry()
self.pad_array_size_entry = FCSpinner()
self.pad_array_size_entry.set_range(1, 9999)
self.array_form.addRow(self.pad_array_size_label, self.pad_array_size_entry)
self.array_linear_frame = QtWidgets.QFrame()
@ -2727,7 +2740,11 @@ class FlatCAMGrbEditor(QtCore.QObject):
)
self.pad_pitch_label.setMinimumWidth(100)
self.pad_pitch_entry = LengthEntry()
self.pad_pitch_entry = FCDoubleSpinner()
self.pad_pitch_entry.set_precision(self.decimals)
self.pad_pitch_entry.set_range(0.0000, 9999.9999)
self.pad_pitch_entry.setSingleStep(0.1)
self.linear_form.addRow(self.pad_pitch_label, self.pad_pitch_entry)
self.linear_angle_label = QtWidgets.QLabel('%s:' % _('Angle'))
@ -2740,8 +2757,8 @@ class FlatCAMGrbEditor(QtCore.QObject):
self.linear_angle_label.setMinimumWidth(100)
self.linear_angle_spinner = FCDoubleSpinner()
self.linear_angle_spinner.set_precision(2)
self.linear_angle_spinner.setRange(-359.99, 360.00)
self.linear_angle_spinner.set_precision(self.decimals)
self.linear_angle_spinner.setRange(-360.00, 360.00)
self.linear_form.addRow(self.linear_angle_label, self.linear_angle_spinner)
self.array_circular_frame = QtWidgets.QFrame()
@ -2772,7 +2789,11 @@ class FlatCAMGrbEditor(QtCore.QObject):
)
self.pad_angle_label.setMinimumWidth(100)
self.pad_angle_entry = LengthEntry()
self.pad_angle_entry = FCDoubleSpinner()
self.pad_angle_entry.set_precision(self.decimals)
self.pad_angle_entry.set_range(-360.00, 360.00)
self.pad_angle_entry.setSingleStep(0.1)
self.circular_form.addRow(self.pad_angle_label, self.pad_angle_entry)
self.array_circular_frame.hide()
@ -2958,8 +2979,8 @@ class FlatCAMGrbEditor(QtCore.QObject):
self.aptype_cb.currentIndexChanged[str].connect(self.on_aptype_changed)
self.addaperture_btn.clicked.connect(self.on_aperture_add)
self.apsize_entry.editingFinished.connect(self.on_aperture_add)
self.apdim_entry.editingFinished.connect(self.on_aperture_add)
self.apsize_entry.returnPressed.connect(self.on_aperture_add)
self.apdim_entry.returnPressed.connect(self.on_aperture_add)
self.delaperture_btn.clicked.connect(self.on_aperture_delete)
self.apertures_table.cellPressed.connect(self.on_row_selected)
@ -2993,9 +3014,6 @@ class FlatCAMGrbEditor(QtCore.QObject):
self.conversion_factor = 1
# number of decimals for the tool diameters to be used in this editor
self.decimals = 4
self.set_ui()
log.debug("Initialization of the FlatCAM Gerber Editor is finished ...")
@ -3314,6 +3332,7 @@ class FlatCAMGrbEditor(QtCore.QObject):
self.app.inform.emit('[WARNING_NOTCL]%s' %
_(" Select an aperture in Aperture Table"))
return
for index in self.apertures_table.selectionModel().selectedRows():
row = index.row()
deleted_apcode_list.append(self.apertures_table.item(row, 1).text())
@ -3329,7 +3348,7 @@ class FlatCAMGrbEditor(QtCore.QObject):
# I've added this flag_del variable because dictionary don't like
# having keys deleted while iterating through them
flag_del = []
flag_del = list()
for deleted_tool in self.tool2tooldia:
if self.tool2tooldia[deleted_tool] == deleted_aperture:
flag_del.append(deleted_tool)
@ -3338,12 +3357,12 @@ class FlatCAMGrbEditor(QtCore.QObject):
for aperture_to_be_deleted in flag_del:
# delete the tool
self.tool2tooldia.pop(aperture_to_be_deleted, None)
flag_del = []
self.olddia_newdia.pop(deleted_aperture, None)
self.app.inform.emit('[success] %s: %s' %
(_("Deleted aperture with code"), str(deleted_aperture)))
flag_del.clear()
self.plot_all()
self.build_ui()