- on Coppper Thieving Plugin some UI updates

- updated the GCGridLayout GUi element to automatically stretch the first column but offered also configuration; updated the use throughout the app
This commit is contained in:
Marius Stanciu
2021-09-09 16:28:14 +03:00
parent d61bbbb8d5
commit 241579d670
75 changed files with 222 additions and 558 deletions

View File

@@ -3990,8 +3990,6 @@ class DialogBoxRadio(QtWidgets.QDialog):
self.setWindowTitle(str(title))
grid0 = FCGridLayout(parent=self, h_spacing=5, v_spacing=5)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
self.ref_label = FCLabel('%s:' % _("Reference"))
self.ref_label.setToolTip(
@@ -4901,10 +4899,8 @@ class FCZeroAxes(QtWidgets.QFrame):
self.setLineWidth(1)
# Zero the axes
grbl_zero_grid = FCGridLayout(v_spacing=5, h_spacing=3)
grbl_zero_grid = FCGridLayout(v_spacing=5, h_spacing=3, c_stretch=[0,0])
grbl_zero_grid.setContentsMargins(2, 4, 2, 4)
grbl_zero_grid.setColumnStretch(0, 0)
grbl_zero_grid.setColumnStretch(1, 0)
# grbl_zero_grid.setRowStretch(4, 1)
self.setLayout(grbl_zero_grid)
@@ -5276,10 +5272,19 @@ class FCGridLayout(QtWidgets.QGridLayout):
This class create the Sys Tray icon for the app
"""
def __init__(self, v_spacing=None, h_spacing=None, margins=None, *args, parent=None):
def __init__(self, *args, v_spacing=None, h_spacing=None, c_stretch=None, margins=None, parent=None):
"""
Class that makes a custom grid layout
:param args:
:param v_spacing: vertical spacing
:type v_spacing: int
:param h_spacing: horizontal spacing
:type h_spacing: int
:param c_stretch: columns stretching
:type c_stretch: list
:param margins: content margins
:type margins: list
:param parent:
"""
@@ -5293,6 +5298,14 @@ class FCGridLayout(QtWidgets.QGridLayout):
self.setVerticalSpacing(v_spacing)
if margins is not None:
self.setContentsMargins(margins[0], margins[1], margins[2], margins[3])
if c_stretch is None:
self.setColumnStretch(0, 0)
self.setColumnStretch(1, 1)
elif c_stretch and isinstance(c_stretch, (tuple, list)):
for idx, val in enumerate(c_stretch):
self.setColumnStretch(idx, val)
self.blockSignals(False)

View File

@@ -195,8 +195,6 @@ class GerberObjectUI(ObjectUI):
# Plot options
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeft | QtCore.Qt.AlignmentFlag.AlignVCenter)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
gen_frame.setLayout(grid0)
self.plot_options_label = FCLabel("<b>%s:</b>" % _("Plot Options"))
@@ -295,8 +293,6 @@ class GerberObjectUI(ObjectUI):
# Grid Layout
grid1 = FCGridLayout(v_spacing=5, h_spacing=3)
grid1.setColumnStretch(0, 0)
grid1.setColumnStretch(1, 1)
self.tt_frame.setLayout(grid1)
# ### Gerber Apertures ####
@@ -493,8 +489,6 @@ class GerberObjectUI(ObjectUI):
self.util_box.addWidget(ncc_frame)
grid_ncc = FCGridLayout(v_spacing=5, h_spacing=3)
grid_ncc.setColumnStretch(0, 0)
grid_ncc.setColumnStretch(1, 1)
ncc_frame.setLayout(grid_ncc)
# Margin
@@ -542,8 +536,6 @@ class GerberObjectUI(ObjectUI):
# Grid Layout
grid_bb = FCGridLayout(v_spacing=5, h_spacing=3)
grid_bb.setColumnStretch(0, 0)
grid_bb.setColumnStretch(1, 1)
bb_frame.setLayout(grid_bb)
bbmargin = FCLabel('%s:' % _('Boundary Margin'))
@@ -615,8 +607,6 @@ class ExcellonObjectUI(ObjectUI):
# Plot options
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeft | QtCore.Qt.AlignmentFlag.AlignVCenter)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
gen_frame.setLayout(grid0)
# Plot options
@@ -700,8 +690,6 @@ class ExcellonObjectUI(ObjectUI):
grid_tt = FCGridLayout(v_spacing=5, h_spacing=3)
grid_tt.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeft | QtCore.Qt.AlignmentFlag.AlignVCenter)
grid_tt.setColumnStretch(0, 0)
grid_tt.setColumnStretch(1, 1)
self.custom_box.addLayout(grid_tt)
# Table Visibility CB
@@ -855,8 +843,6 @@ class ExcellonObjectUI(ObjectUI):
self.util_box.addWidget(mill_frame)
grid_mill = FCGridLayout(v_spacing=5, h_spacing=3)
grid_mill.setColumnStretch(0, 0)
grid_mill.setColumnStretch(1, 1)
mill_frame.setLayout(grid_mill)
self.tdlabel = FCLabel('%s:' % _('Milling Diameter'))
@@ -952,8 +938,6 @@ class GeometryObjectUI(ObjectUI):
# Plot options
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeft | QtCore.Qt.AlignmentFlag.AlignVCenter)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
gen_frame.setLayout(grid0)
self.plot_options_label = FCLabel("<b>%s:</b>" % _("Plot Options"))
@@ -1033,8 +1017,6 @@ class GeometryObjectUI(ObjectUI):
# Grid Layout
grid1 = FCGridLayout(v_spacing=5, h_spacing=3)
grid1.setColumnStretch(0, 0)
grid1.setColumnStretch(1, 1)
self.tt_frame.setLayout(grid1)
# ### Tools ####
@@ -1189,8 +1171,6 @@ class GeometryObjectUI(ObjectUI):
self.util_box.addWidget(sim_frame)
grid_sim = FCGridLayout(v_spacing=5, h_spacing=3)
grid_sim.setColumnStretch(0, 0)
grid_sim.setColumnStretch(1, 1)
sim_frame.setLayout(grid_sim)
# Vertex Points
@@ -1292,8 +1272,6 @@ class CNCObjectUI(ObjectUI):
# Plot options
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setAlignment(QtCore.Qt.AlignmentFlag.AlignLeft | QtCore.Qt.AlignmentFlag.AlignVCenter)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
gen_frame.setLayout(grid0)
# Plot Options
@@ -1377,8 +1355,6 @@ class CNCObjectUI(ObjectUI):
self.custom_box.addWidget(self.gp_frame)
grid_par = FCGridLayout(v_spacing=5, h_spacing=3)
grid_par.setColumnStretch(0, 0)
grid_par.setColumnStretch(1, 1)
self.gp_frame.setLayout(grid_par)
# Travelled Distance
@@ -1446,8 +1422,6 @@ class CNCObjectUI(ObjectUI):
# Grid Layout
grid1 = FCGridLayout(v_spacing=5, h_spacing=3)
grid1.setColumnStretch(0, 0)
grid1.setColumnStretch(1, 1)
self.tt_frame.setLayout(grid1)
hlay = QtWidgets.QHBoxLayout()
@@ -1699,10 +1673,7 @@ class DocumentObjectUI(ObjectUI):
# ############ Grid LAYOUT #####################################
# ##############################################################
self.grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
self.grid0.setColumnStretch(0, 0)
self.grid0.setColumnStretch(1, 1)
self.grid0.setColumnStretch(2, 0)
self.grid0 = FCGridLayout(v_spacing=5, h_spacing=3, c_stretch=[0, 1, 0])
self.custom_box.addLayout(self.grid0)
# Font

View File

@@ -50,8 +50,6 @@ class OptionsGroupUI2(OptionsGroupUI):
self.grid = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(self.grid)
self.grid.setColumnStretch(0, 0)
self.grid.setColumnStretch(1, 1)
self.options = self.build_options()

View File

@@ -612,10 +612,10 @@ class PreferencesUIManager:
"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_reference": self.ui.plugin2_pref_form.tools2_cfill_group.reference_combo,
"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_fill_type": self.ui.plugin2_pref_form.tools2_cfill_group.fill_type_combo,
"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,
@@ -627,7 +627,7 @@ class PreferencesUIManager:
"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,
"tools_copper_thieving_geo_choice": self.ui.plugin2_pref_form.tools2_cfill_group.ppm_choice_combo,
# Fiducials Tool
"tools_fiducials_dia": self.ui.plugin2_pref_form.tools2_fiducials_group.dia_entry,

View File

@@ -21,8 +21,6 @@ class CNCJobAdvOptPrefGroupUI(OptionsGroupUI):
self.setTitle(str(_("CNC Job Adv. Options")))
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
self.layout.addLayout(grid0)
# ## Export G-Code

View File

@@ -27,8 +27,6 @@ class CNCJobGenPrefGroupUI(OptionsGroupUI):
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid0)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
# Plot CB
self.plot_cb = FCCheckBox(_('Plot Object'))

View File

@@ -40,8 +40,6 @@ class CNCJobOptPrefGroupUI(OptionsGroupUI):
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid0)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
# Plot Kind
self.cncplot_method_label = FCLabel('%s:' % _("Plot kind"))

View File

@@ -34,8 +34,6 @@ class ExcellonAdvOptPrefGroupUI(OptionsGroupUI):
self.layout.addWidget(self.exc_label)
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
self.layout.addLayout(grid0)
# Table Visibility CB

View File

@@ -29,8 +29,6 @@ class ExcellonExpPrefGroupUI(OptionsGroupUI):
self.layout.addWidget(self.export_options_label)
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
self.layout.addLayout(grid0)
# Excellon Units

View File

@@ -58,8 +58,6 @@ class ExcellonGenPrefGroupUI(OptionsGroupUI):
grid2 = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid2)
grid2.setColumnStretch(0, 0)
grid2.setColumnStretch(1, 1)
# Excellon format
self.excellon_format_label = FCLabel("<b>%s:</b>" % _("Excellon Format"))

View File

@@ -31,8 +31,6 @@ class ExcellonOptPrefGroupUI(OptionsGroupUI):
grid2 = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid2)
grid2.setColumnStretch(0, 0)
grid2.setColumnStretch(1, 1)
# ### Milling Holes ## ##
self.mill_hole_label = FCLabel('<b>%s</b>' % _('Mill Holes'))

View File

@@ -36,8 +36,6 @@ class GeneralAPPSetGroupUI(OptionsGroupUI):
# Create a grid layout for the Application general settings
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid0)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
# GRID Settings
self.grid_label = FCLabel('<b>%s</b>' % _('Grid Settings'))

View File

@@ -27,8 +27,6 @@ class GeneralAppPrefGroupUI(OptionsGroupUI):
# Create a form layout for the Application general settings
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid0)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
# Units for FlatCAM
self.unitslabel = FCLabel('<span style="color:red;"><b>%s:</b></span>' % _('Units'))

View File

@@ -25,8 +25,6 @@ class GeneralGUIPrefGroupUI(OptionsGroupUI):
# Create a grid layout for the Application general settings
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid0)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
# Theme selection
self.theme_label = FCLabel('%s:' % _('Theme'))

View File

@@ -34,8 +34,6 @@ class GeometryAdvOptPrefGroupUI(OptionsGroupUI):
self.layout.addWidget(self.geo_label)
grid1 = FCGridLayout(v_spacing=5, h_spacing=3)
grid1.setColumnStretch(0, 0)
grid1.setColumnStretch(1, 1)
self.layout.addLayout(grid1)
# Size of trace segment on X axis

View File

@@ -29,8 +29,6 @@ class GeometryExpPrefGroupUI(OptionsGroupUI):
self.layout.addWidget(self.export_options_label)
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
self.layout.addLayout(grid0)
# Excellon non-decimal format

View File

@@ -46,8 +46,6 @@ class GeometryGenPrefGroupUI(OptionsGroupUI):
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid0)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
# Number of circle steps for circular aperture linear approximation
self.circle_steps_label = FCLabel('%s:' % _("Circle Steps"))

View File

@@ -36,8 +36,6 @@ class GeometryOptPrefGroupUI(OptionsGroupUI):
grid1 = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid1)
grid1.setColumnStretch(0, 0)
grid1.setColumnStretch(1, 1)
# Cut Z
cutzlabel = FCLabel('%s:' % _('Cut Z'))

View File

@@ -30,8 +30,6 @@ class GerberExpPrefGroupUI(OptionsGroupUI):
self.layout.addWidget(self.export_options_label)
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
self.layout.addLayout(grid0)
# Gerber Units

View File

@@ -1,6 +1,7 @@
from PyQt6 import QtWidgets
from appGUI.GUIElements import FCSpinner, FCDoubleSpinner, RadioSet, FCLabel, FCCheckBox, FCGridLayout
from appGUI.GUIElements import FCSpinner, FCDoubleSpinner, RadioSet, FCLabel, FCCheckBox, FCGridLayout, FCFrame, \
FCComboBox2
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
import gettext
@@ -21,19 +22,22 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.decimals = decimals
self.defaults = defaults
# ## Grid Layout
grid_lay = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid_lay)
grid_lay.setColumnStretch(0, 0)
grid_lay.setColumnStretch(1, 1)
# ## Parameters
self.cflabel = FCLabel('<b>%s</b>' % _('Parameters'))
self.cflabel.setToolTip(
# #############################################################################################################
# Parameters Frame
# #############################################################################################################
self.param_label = FCLabel('<span style="color:blue;"><b>%s</b></span>' % _('Parameters'))
self.param_label.setToolTip(
_("A tool to generate a Copper Thieving that can be added\n"
"to a selected Gerber file.")
)
grid_lay.addWidget(self.cflabel, 0, 0, 1, 2)
self.layout.addWidget(self.param_label)
par_frame = FCFrame()
self.layout.addWidget(par_frame)
# ## Grid Layout
grid_par = FCGridLayout(v_spacing=5, h_spacing=3)
par_frame.setLayout(grid_par)
# CIRCLE STEPS - to be used when buffering
self.circle_steps_lbl = FCLabel('%s:' % _("Circle Steps"))
@@ -44,8 +48,8 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.circlesteps_entry = FCSpinner()
self.circlesteps_entry.set_range(1, 10000)
grid_lay.addWidget(self.circle_steps_lbl, 2, 0)
grid_lay.addWidget(self.circlesteps_entry, 2, 1)
grid_par.addWidget(self.circle_steps_lbl, 2, 0)
grid_par.addWidget(self.circlesteps_entry, 2, 1)
# CLEARANCE #
self.clearance_label = FCLabel('%s:' % _("Clearance"))
@@ -59,8 +63,8 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.clearance_entry.set_precision(self.decimals)
self.clearance_entry.setSingleStep(0.1)
grid_lay.addWidget(self.clearance_label, 4, 0)
grid_lay.addWidget(self.clearance_entry, 4, 1)
grid_par.addWidget(self.clearance_label, 4, 0)
grid_par.addWidget(self.clearance_entry, 4, 1)
# MARGIN #
self.margin_label = FCLabel('%s:' % _("Margin"))
@@ -72,8 +76,8 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.margin_entry.set_precision(self.decimals)
self.margin_entry.setSingleStep(0.1)
grid_lay.addWidget(self.margin_label, 6, 0)
grid_lay.addWidget(self.margin_entry, 6, 1)
grid_par.addWidget(self.margin_label, 6, 0)
grid_par.addWidget(self.margin_entry, 6, 1)
# Area #
self.area_label = FCLabel('%s:' % _("Area"))
@@ -85,23 +89,22 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.area_entry.set_precision(self.decimals)
self.area_entry.setSingleStep(0.1)
grid_lay.addWidget(self.area_label, 8, 0)
grid_lay.addWidget(self.area_entry, 8, 1)
grid_par.addWidget(self.area_label, 8, 0)
grid_par.addWidget(self.area_entry, 8, 1)
# Reference #
self.reference_radio = RadioSet([
{'label': _('Itself'), 'value': 'itself'},
{"label": _("Area Selection"), "value": "area"},
{'label': _("Reference Object"), 'value': 'box'}
], orientation='vertical', stretch=False)
# Reference #
self.reference_label = FCLabel(_("Reference:"))
self.reference_label.setToolTip(
_("- 'Itself' - the copper thieving extent is based on the object extent.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be filled.\n"
"- 'Reference Object' - will do copper thieving within the area specified by another object.")
)
grid_lay.addWidget(self.reference_label, 10, 0)
grid_lay.addWidget(self.reference_radio, 10, 1)
self.reference_combo = FCComboBox2()
self.reference_combo.addItems([_('Itself'), _("Area Selection"), _("Reference Object")])
grid_par.addWidget(self.reference_label, 10, 0)
grid_par.addWidget(self.reference_combo, 10, 1)
# Bounding Box Type #
self.bbox_type_radio = RadioSet([
@@ -113,33 +116,41 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
_("- 'Rectangular' - the bounding box will be of rectangular shape.\n"
"- 'Minimal' - the bounding box will be the convex hull shape.")
)
grid_lay.addWidget(self.bbox_type_label, 12, 0)
grid_lay.addWidget(self.bbox_type_radio, 12, 1)
grid_par.addWidget(self.bbox_type_label, 12, 0)
grid_par.addWidget(self.bbox_type_radio, 12, 1)
separator_line = QtWidgets.QFrame()
separator_line.setFrameShape(QtWidgets.QFrame.Shape.HLine)
separator_line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken)
grid_lay.addWidget(separator_line, 14, 0, 1, 2)
grid_par.addWidget(separator_line, 14, 0, 1, 2)
# Fill Type
self.fill_type_radio = RadioSet([
{'label': _('Solid'), 'value': 'solid'},
{"label": _("Dots Grid"), "value": "dot"},
{"label": _("Squares Grid"), "value": "square"},
{"label": _("Lines Grid"), "value": "line"}
], orientation='vertical', stretch=False)
self.fill_type_label = FCLabel(_("Fill Type:"))
self.fill_type_label = FCLabel('%s:' % _("Fill"))
self.fill_type_label.setToolTip(
_("- 'Solid' - copper thieving will be a solid polygon.\n"
"- 'Dots Grid' - the empty area will be filled with a pattern of dots.\n"
"- 'Squares Grid' - the empty area will be filled with a pattern of squares.\n"
"- 'Lines Grid' - the empty area will be filled with a pattern of lines.")
)
grid_lay.addWidget(self.fill_type_label, 16, 0)
grid_lay.addWidget(self.fill_type_radio, 16, 1)
self.fill_type_combo = FCComboBox2()
self.fill_type_combo.addItems([_('Solid'), _("Dots Grid"), _("Squares Grid"), _("Lines Grid")])
grid_par.addWidget(self.fill_type_label, 16, 0)
grid_par.addWidget(self.fill_type_combo, 16, 1)
# #############################################################################################################
# DOTS Grid Parameters Frame
# #############################################################################################################
self.dots_label = FCLabel('<b>%s</b>:' % _("Dots Grid Parameters"))
grid_lay.addWidget(self.dots_label, 18, 0, 1, 2)
self.layout.addWidget(self.dots_label)
dots_frame = FCFrame()
self.layout.addWidget(dots_frame)
# ## Grid Layout
grid_dots = FCGridLayout(v_spacing=5, h_spacing=3)
dots_frame.setLayout(grid_dots)
# Dot diameter #
self.dotdia_label = FCLabel('%s:' % _("Dia"))
@@ -151,8 +162,8 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.dot_dia_entry.set_precision(self.decimals)
self.dot_dia_entry.setSingleStep(0.1)
grid_lay.addWidget(self.dotdia_label, 20, 0)
grid_lay.addWidget(self.dot_dia_entry, 20, 1)
grid_dots.addWidget(self.dotdia_label, 0, 0)
grid_dots.addWidget(self.dot_dia_entry, 0, 1)
# Dot spacing #
self.dotspacing_label = FCLabel('%s:' % _("Spacing"))
@@ -164,11 +175,21 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.dot_spacing_entry.set_precision(self.decimals)
self.dot_spacing_entry.setSingleStep(0.1)
grid_lay.addWidget(self.dotspacing_label, 22, 0)
grid_lay.addWidget(self.dot_spacing_entry, 22, 1)
grid_dots.addWidget(self.dotspacing_label, 2, 0)
grid_dots.addWidget(self.dot_spacing_entry, 2, 1)
# #############################################################################################################
# Squares Grid Parameters Frame
# #############################################################################################################
self.squares_label = FCLabel('<b>%s</b>:' % _("Squares Grid Parameters"))
grid_lay.addWidget(self.squares_label, 24, 0, 1, 2)
self.layout.addWidget(self.squares_label)
square_frame = FCFrame()
self.layout.addWidget(square_frame)
# ## Grid Layout
grid_square = FCGridLayout(v_spacing=5, h_spacing=3)
square_frame.setLayout(grid_square)
# Square Size #
self.square_size_label = FCLabel('%s:' % _("Size"))
@@ -180,8 +201,8 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.square_size_entry.set_precision(self.decimals)
self.square_size_entry.setSingleStep(0.1)
grid_lay.addWidget(self.square_size_label, 26, 0)
grid_lay.addWidget(self.square_size_entry, 26, 1)
grid_square.addWidget(self.square_size_label, 0, 0)
grid_square.addWidget(self.square_size_entry, 0, 1)
# Squares spacing #
self.squares_spacing_label = FCLabel('%s:' % _("Spacing"))
@@ -193,13 +214,23 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.squares_spacing_entry.set_precision(self.decimals)
self.squares_spacing_entry.setSingleStep(0.1)
grid_lay.addWidget(self.squares_spacing_label, 28, 0)
grid_lay.addWidget(self.squares_spacing_entry, 28, 1)
grid_square.addWidget(self.squares_spacing_label, 2, 0)
grid_square.addWidget(self.squares_spacing_entry, 2, 1)
# #############################################################################################################
# Lines Grid Parameters Frame
# #############################################################################################################
self.lines_label = FCLabel('<b>%s</b>:' % _("Lines Grid Parameters"))
grid_lay.addWidget(self.lines_label, 30, 0, 1, 2)
self.layout.addWidget(self.lines_label)
# Square Size #
line_frame = FCFrame()
self.layout.addWidget(line_frame)
# ## Grid Layout
grid_line = FCGridLayout(v_spacing=5, h_spacing=3)
line_frame.setLayout(grid_line)
# Line Size #
self.line_size_label = FCLabel('%s:' % _("Size"))
self.line_size_label.setToolTip(
_("Line thickness size in Lines Grid.")
@@ -209,8 +240,8 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.line_size_entry.set_precision(self.decimals)
self.line_size_entry.setSingleStep(0.1)
grid_lay.addWidget(self.line_size_label, 32, 0)
grid_lay.addWidget(self.line_size_entry, 32, 1)
grid_line.addWidget(self.line_size_label, 0, 0)
grid_line.addWidget(self.line_size_entry, 0, 1)
# Lines spacing #
self.lines_spacing_label = FCLabel('%s:' % _("Spacing"))
@@ -222,15 +253,25 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.lines_spacing_entry.set_precision(self.decimals)
self.lines_spacing_entry.setSingleStep(0.1)
grid_lay.addWidget(self.lines_spacing_label, 34, 0)
grid_lay.addWidget(self.lines_spacing_entry, 34, 1)
grid_line.addWidget(self.lines_spacing_label, 2, 0)
grid_line.addWidget(self.lines_spacing_entry, 2, 1)
# #############################################################################################################
# Robber Bar Parameters Frame
# #############################################################################################################
self.robber_bar_label = FCLabel('<b>%s</b>' % _('Robber Bar Parameters'))
self.robber_bar_label.setToolTip(
_("Parameters used for the robber bar.\n"
"Robber bar = copper border to help in pattern hole plating.")
)
grid_lay.addWidget(self.robber_bar_label, 36, 0, 1, 2)
self.layout.addWidget(self.robber_bar_label)
rob_frame = FCFrame()
self.layout.addWidget(rob_frame)
# ## Grid Layout
grid_robber = FCGridLayout(v_spacing=5, h_spacing=3)
rob_frame.setLayout(grid_robber)
# ROBBER BAR MARGIN #
self.rb_margin_label = FCLabel('%s:' % _("Margin"))
@@ -242,8 +283,8 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.rb_margin_entry.set_precision(self.decimals)
self.rb_margin_entry.setSingleStep(0.1)
grid_lay.addWidget(self.rb_margin_label, 38, 0)
grid_lay.addWidget(self.rb_margin_entry, 38, 1)
grid_robber.addWidget(self.rb_margin_label, 0, 0)
grid_robber.addWidget(self.rb_margin_entry, 0, 1)
# THICKNESS #
self.rb_thickness_label = FCLabel('%s:' % _("Thickness"))
@@ -255,22 +296,31 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.rb_thickness_entry.set_precision(self.decimals)
self.rb_thickness_entry.setSingleStep(0.1)
grid_lay.addWidget(self.rb_thickness_label, 40, 0)
grid_lay.addWidget(self.rb_thickness_entry, 40, 1)
grid_robber.addWidget(self.rb_thickness_label, 2, 0)
grid_robber.addWidget(self.rb_thickness_entry, 2, 1)
# Pattern Plating Mask Title
# #############################################################################################################
# RPattern Plating Mask Parameters Frame
# #############################################################################################################
self.patern_mask_label = FCLabel('<b>%s</b>' % _('Pattern Plating Mask'))
self.patern_mask_label.setToolTip(
_("Generate a mask for pattern plating.")
)
grid_lay.addWidget(self.patern_mask_label, 42, 0, 1, 2)
self.layout.addWidget(self.patern_mask_label)
ppm_frame = FCFrame()
self.layout.addWidget(ppm_frame)
# ## Grid Layout
grid_ppm = FCGridLayout(v_spacing=5, h_spacing=3)
ppm_frame.setLayout(grid_ppm)
# Use Only Pads
self.only_pads_cb = FCCheckBox(_("Only Pads"))
self.only_pads_cb.setToolTip(
_("Select only pads in case the selected object is a copper Gerber.")
)
grid_lay.addWidget(self.only_pads_cb, 43, 0, 1, 2)
grid_ppm.addWidget(self.only_pads_cb, 0, 0, 1, 2)
# Openings CLEARANCE #
self.clearance_ppm_label = FCLabel('%s:' % _("Clearance"))
@@ -283,21 +333,17 @@ class Tools2CThievingPrefGroupUI(OptionsGroupUI):
self.clearance_ppm_entry.set_precision(self.decimals)
self.clearance_ppm_entry.setSingleStep(0.1)
grid_lay.addWidget(self.clearance_ppm_label, 44, 0)
grid_lay.addWidget(self.clearance_ppm_entry, 44, 1)
grid_ppm.addWidget(self.clearance_ppm_label, 2, 0)
grid_ppm.addWidget(self.clearance_ppm_entry, 2, 1)
# Include geometry
self.ppm_choice_label = FCLabel('%s:' % _("Add"))
self.ppm_choice_label.setToolTip(
_("Choose which additional geometry to include, if available.")
)
self.ppm_choice_radio = RadioSet([
{"label": _("Both"), "value": "b"},
{'label': _('Thieving'), 'value': 't'},
{"label": _("Robber bar"), "value": "r"},
{"label": _("None"), "value": "n"}
], orientation='vertical', stretch=False)
grid_lay.addWidget(self.ppm_choice_label, 46, 0)
grid_lay.addWidget(self.ppm_choice_radio, 46, 1)
self.ppm_choice_combo = FCComboBox2()
self.ppm_choice_combo.addItems([_("Both"), _('Thieving'), _("Robber bar"), _("None")])
grid_ppm.addWidget(self.ppm_choice_label, 4, 0)
grid_ppm.addWidget(self.ppm_choice_combo, 4, 1)
self.layout.addStretch()

View File

@@ -24,8 +24,6 @@ class Tools2CalPrefGroupUI(OptionsGroupUI):
# ## Grid Layout
grid_lay = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid_lay)
grid_lay.setColumnStretch(0, 0)
grid_lay.setColumnStretch(1, 1)
self.param_label = FCLabel('<b>%s:</b>' % _('Parameters'))
self.param_label.setToolTip(

View File

@@ -24,8 +24,6 @@ class Tools2EDrillsPrefGroupUI(OptionsGroupUI):
# ## Grid Layout
grid_lay = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid_lay)
grid_lay.setColumnStretch(0, 0)
grid_lay.setColumnStretch(1, 1)
self.param_label = FCLabel('<b>%s:</b>' % _('Parameters'))
self.param_label.setToolTip(

View File

@@ -35,8 +35,6 @@ class Tools2FiducialsPrefGroupUI(OptionsGroupUI):
# ## Grid Layout
grid_par = FCGridLayout(v_spacing=5, h_spacing=3)
grid_par.setColumnStretch(0, 0)
grid_par.setColumnStretch(1, 1)
par_frame.setLayout(grid_par)
# DIAMETER #
@@ -128,8 +126,6 @@ class Tools2FiducialsPrefGroupUI(OptionsGroupUI):
# Grid Layout
grid_sel = FCGridLayout(v_spacing=5, h_spacing=3)
grid_sel.setColumnStretch(0, 0)
grid_sel.setColumnStretch(1, 1)
s_frame.setLayout(grid_sel)
# Mode #

View File

@@ -31,8 +31,6 @@ class Tools2InvertPrefGroupUI(OptionsGroupUI):
# Grid Layout
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
self.layout.addLayout(grid0)
# Margin

View File

@@ -31,8 +31,6 @@ class Tools2OptimalPrefGroupUI(OptionsGroupUI):
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid0)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
self.precision_sp = FCSpinner()
self.precision_sp.set_range(2, 10)

View File

@@ -24,8 +24,6 @@ class Tools2PunchGerberPrefGroupUI(OptionsGroupUI):
# ## Grid Layout
grid_lay = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid_lay)
grid_lay.setColumnStretch(0, 0)
grid_lay.setColumnStretch(1, 1)
self.param_label = FCLabel('<b>%s:</b>' % _('Parameters'))
self.param_label.setToolTip(

View File

@@ -32,8 +32,6 @@ class Tools2QRCodePrefGroupUI(OptionsGroupUI):
# ## Grid Layout
grid_lay = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid_lay)
grid_lay.setColumnStretch(0, 0)
grid_lay.setColumnStretch(1, 1)
# VERSION #
self.version_label = FCLabel('%s:' % _("Version"))

View File

@@ -30,8 +30,6 @@ class Tools2RulesCheckPrefGroupUI(OptionsGroupUI):
# Form Layout
self.grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
self.grid0.setColumnStretch(0, 0)
self.grid0.setColumnStretch(1, 1)
self.layout.addLayout(self.grid0)
# Trace size

View File

@@ -31,8 +31,6 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI):
self.layout.addWidget(self.vshape_tool_label)
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
self.layout.addLayout(grid0)
# ## Tip Diameter

View File

@@ -22,8 +22,6 @@ class ToolsCornersPrefGroupUI(OptionsGroupUI):
self.defaults = defaults
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
self.layout.addLayout(grid0)
self.param_label = FCLabel('<b>%s:</b>' % _('Parameters'))

View File

@@ -36,8 +36,6 @@ class ToolsFilmPrefGroupUI(OptionsGroupUI):
self.layout.addWidget(adj_frame)
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
adj_frame.setLayout(grid0)
# Scale Geometry
@@ -58,8 +56,6 @@ class ToolsFilmPrefGroupUI(OptionsGroupUI):
grid0.addWidget(scale_frame, 4, 0, 1, 2)
grid_scale = FCGridLayout(v_spacing=5, h_spacing=3)
grid_scale.setColumnStretch(0, 0)
grid_scale.setColumnStretch(1, 1)
scale_frame.setLayout(grid_scale)
# Scale X factor
@@ -113,8 +109,6 @@ class ToolsFilmPrefGroupUI(OptionsGroupUI):
grid0.addWidget(skew_frame, 8, 0, 1, 2)
grid_skew = FCGridLayout(v_spacing=5, h_spacing=3)
grid_skew.setColumnStretch(0, 0)
grid_skew.setColumnStretch(1, 1)
skew_frame.setLayout(grid_skew)
self.film_skewx_label = FCLabel('%s:' % _("X angle"))
@@ -188,8 +182,6 @@ class ToolsFilmPrefGroupUI(OptionsGroupUI):
self.layout.addWidget(par_frame)
grid_par = FCGridLayout()
grid_par.setColumnStretch(0, 0)
grid_par.setColumnStretch(1, 1)
par_frame.setLayout(grid_par)
self.film_type_radio = RadioSet([{'label': 'Pos', 'value': 'pos'},

View File

@@ -30,8 +30,6 @@ class ToolsLevelPrefGroupUI(OptionsGroupUI):
# Grid Layout
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
self.layout.addLayout(grid0)
# Probe points mode

View File

@@ -33,8 +33,6 @@ class ToolsPaintPrefGroupUI(OptionsGroupUI):
self.layout.addWidget(self.paint_label)
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
self.layout.addLayout(grid0)
# Tool dia

View File

@@ -32,8 +32,6 @@ class ToolsPanelizePrefGroupUI(OptionsGroupUI):
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid0)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
# ## Spacing Columns
self.pspacing_columns = FCDoubleSpinner()

View File

@@ -31,8 +31,6 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
self.layout.addLayout(grid0)
grid0.setColumnStretch(0, 0)
grid0.setColumnStretch(1, 1)
# Reference Type
ref_label = FCLabel('%s:' % _("Reference"))