- in Gerber Editor - modified the UI

- in Gerber Editor - added new parameters for selected polygons: is_valid and area
This commit is contained in:
Marius Stanciu
2020-12-03 15:31:07 +02:00
parent 01f5a37bee
commit ebdcbcb1bf
2 changed files with 62 additions and 16 deletions

View File

@@ -2800,8 +2800,8 @@ class AppGerberEditor(QtCore.QObject):
# #############################################################################################################
# ######################### Init appGUI #######################################################################
# #############################################################################################################
self.ui.apdim_lbl.hide()
self.ui.apdim_entry.hide()
self.ui.apdim_lbl.setDisabled(True)
self.ui.apdim_entry.setDisabled(True)
self.gerber_obj = None
self.gerber_obj_options = {}
@@ -3594,6 +3594,8 @@ class AppGerberEditor(QtCore.QObject):
if not self.selected:
self.ui.geo_coords_entry.setText('')
self.ui.geo_vertex_entry.set_value(0)
self.ui.area_entry.set_value(0)
self.ui.is_valid_entry.setText('None')
return
last_sel_geo = self.selected[-1].geo
@@ -3641,12 +3643,17 @@ class AppGerberEditor(QtCore.QObject):
if last_sel_geo_solid.geom_type == 'Polygon':
coords = list(last_sel_geo_solid.exterior.coords)
vertex_nr = len(coords)
area_val = last_sel_geo_solid.area
self.ui.area_entry.set_value(area_val)
elif last_sel_geo_solid.geom_type in ['LinearRing', 'LineString']:
coords = list(last_sel_geo_solid.coords)
vertex_nr = len(coords)
else:
return
validity = last_sel_geo_solid.is_valid
self.ui.is_valid_entry.setText(str(validity))
self.ui.geo_coords_entry.setText(str(coords))
self.ui.geo_vertex_entry.set_value(vertex_nr)
@@ -3656,12 +3663,12 @@ class AppGerberEditor(QtCore.QObject):
def on_aptype_changed(self, current_text):
# 'O' is letter O not zero.
if current_text == 'R' or current_text == 'O':
self.ui.apdim_lbl.show()
self.ui.apdim_entry.show()
self.ui.apdim_lbl.setDisabled(False)
self.ui.apdim_entry.setDisabled(False)
self.ui.apsize_entry.setDisabled(True)
else:
self.ui.apdim_lbl.hide()
self.ui.apdim_entry.hide()
self.ui.apdim_lbl.setDisabled(True)
self.ui.apdim_entry.setDisabled(True)
self.ui.apsize_entry.setDisabled(False)
def activate_grb_editor(self):
@@ -5417,7 +5424,7 @@ class AppGerberEditorUI:
grid1.addWidget(apadd_del_lbl, 0, 0, 1, 2)
# Aperture Code
apcode_lbl = FCLabel('%s:' % _('Aperture Code'))
apcode_lbl = FCLabel('%s:' % _('Code'))
apcode_lbl.setToolTip(_("Code for the new aperture"))
self.apcode_entry = FCSpinner()
@@ -5428,7 +5435,7 @@ class AppGerberEditorUI:
grid1.addWidget(self.apcode_entry, 1, 1)
# Aperture Size
apsize_lbl = FCLabel('%s' % _('Aperture Size:'))
apsize_lbl = FCLabel('%s' % _('Size:'))
apsize_lbl.setToolTip(
_("Size for the new aperture.\n"
"If aperture type is 'R' or 'O' then\n"
@@ -5445,7 +5452,7 @@ class AppGerberEditorUI:
grid1.addWidget(self.apsize_entry, 2, 1)
# Aperture Type
aptype_lbl = FCLabel('%s:' % _('Aperture Type'))
aptype_lbl = FCLabel('%s:' % _('Type'))
aptype_lbl.setToolTip(
_("Select the type of new aperture. Can be:\n"
"C = circular\n"
@@ -5460,10 +5467,9 @@ class AppGerberEditorUI:
grid1.addWidget(self.aptype_cb, 3, 1)
# Aperture Dimensions
self.apdim_lbl = FCLabel('%s:' % _('Aperture Dim'))
self.apdim_lbl = FCLabel('%s:' % _('Dims'))
self.apdim_lbl.setToolTip(
_("Dimensions for the new aperture.\n"
"Active only for rectangular apertures (type R).\n"
"The format is (width, height)")
)
@@ -5475,25 +5481,28 @@ class AppGerberEditorUI:
separator_line = QtWidgets.QFrame()
separator_line.setFrameShape(QtWidgets.QFrame.HLine)
separator_line.setFrameShadow(QtWidgets.QFrame.Sunken)
grid1.addWidget(separator_line, 6, 0, 1, 2)
grid1.addWidget(separator_line, 5, 0, 1, 3)
# Aperture Buttons
hlay_ad = QtWidgets.QHBoxLayout()
grid1.addLayout(hlay_ad, 8, 0, 1, 2)
vlay_buttons = QtWidgets.QVBoxLayout()
grid1.addLayout(vlay_buttons, 1, 2, 4, 1)
self.addaperture_btn = FCButton(_('Add'))
self.addaperture_btn.setSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.addaperture_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/plus16.png'))
self.addaperture_btn.setToolTip(
_("Add a new aperture to the aperture list.")
)
self.delaperture_btn = FCButton(_('Delete'))
# self.delaperture_btn.setSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.delaperture_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/trash32.png'))
self.delaperture_btn.setToolTip(
_("Delete a aperture in the aperture list")
)
hlay_ad.addWidget(self.addaperture_btn)
hlay_ad.addWidget(self.delaperture_btn)
vlay_buttons.addWidget(self.addaperture_btn)
vlay_buttons.addWidget(self.delaperture_btn)
# #############################################################################################################
# ############################################ Shape Properties ###############################################
@@ -5524,6 +5533,38 @@ class AppGerberEditorUI:
)
self.shape_grid.addWidget(param_title, 4, 0, 1, 3)
p_grid = QtWidgets.QGridLayout()
p_grid.setColumnStretch(0, 0)
p_grid.setColumnStretch(1, 0)
p_grid.setColumnStretch(2, 0)
p_grid.setColumnStretch(3, 1)
p_grid.setColumnStretch(4, 0)
# Is Valid
valid_lbl = FCLabel('<b>%s</b>:' % _("Valid"))
valid_lbl.setToolTip(
_("Show if the selected polygon is valid.")
)
self.is_valid_entry = FCLabel("False")
p_grid.addWidget(valid_lbl, 0, 0)
p_grid.addWidget(self.is_valid_entry, 0, 1)
# Area
area_lbl = FCLabel('<b>%s</b>:' % _("Area"))
area_lbl.setToolTip(
_("Show the area of the selected polygon.")
)
self.area_entry = FCEntry(decimals=self.decimals)
self.area_entry.set_value(0.0)
a_units = _("cm") if self.units == 'MM' else _("in")
area_units_lbl = FCLabel('%s<sup>2</sup>' % a_units)
p_grid.addWidget(area_lbl, 0, 2)
p_grid.addWidget(self.area_entry, 0, 3)
p_grid.addWidget(area_units_lbl, 0, 4)
self.shape_grid.addLayout(p_grid, 5, 0, 1, 3)
# Coordinates
coords_lbl = FCLabel('%s:' % _("Coordinates"))
coords_lbl.setToolTip(