- finished the UI update in Preferences -> Processing
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
from PyQt6 import QtWidgets
|
||||
|
||||
from appGUI.GUIElements import FCDoubleSpinner, FCLabel, FCGridLayout
|
||||
from appGUI.GUIElements import FCDoubleSpinner, FCLabel, FCGridLayout, FCFrame
|
||||
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||
|
||||
import gettext
|
||||
@@ -21,8 +21,10 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI):
|
||||
self.decimals = decimals
|
||||
self.defaults = defaults
|
||||
|
||||
# ## V-shape Calculator Tool
|
||||
self.vshape_tool_label = FCLabel("<b>%s:</b>" % _("V-Shape Tool Calculator"))
|
||||
# #############################################################################################################
|
||||
# V-Shape Tool Frame
|
||||
# #############################################################################################################
|
||||
self.vshape_tool_label = FCLabel('<span style="color:green;"><b>%s</b></span>' % _("V-Shape Tool Calculator"))
|
||||
self.vshape_tool_label.setToolTip(
|
||||
_("Calculate the tool diameter for a given V-shape tool,\n"
|
||||
"having the tip diameter, tip angle and\n"
|
||||
@@ -30,8 +32,11 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI):
|
||||
)
|
||||
self.layout.addWidget(self.vshape_tool_label)
|
||||
|
||||
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
self.layout.addLayout(grid0)
|
||||
v_frame = FCFrame()
|
||||
self.layout.addWidget(v_frame)
|
||||
|
||||
v_grid = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
v_frame.setLayout(v_grid)
|
||||
|
||||
# ## Tip Diameter
|
||||
self.tip_dia_entry = FCDoubleSpinner()
|
||||
@@ -44,8 +49,8 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI):
|
||||
_("This is the tool tip diameter.\n"
|
||||
"It is specified by manufacturer.")
|
||||
)
|
||||
grid0.addWidget(self.tip_dia_label, 0, 0)
|
||||
grid0.addWidget(self.tip_dia_entry, 0, 1)
|
||||
v_grid.addWidget(self.tip_dia_label, 0, 0)
|
||||
v_grid.addWidget(self.tip_dia_entry, 0, 1)
|
||||
|
||||
# ## Tip angle
|
||||
self.tip_angle_entry = FCDoubleSpinner()
|
||||
@@ -58,8 +63,8 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI):
|
||||
_("This is the angle on the tip of the tool.\n"
|
||||
"It is specified by manufacturer.")
|
||||
)
|
||||
grid0.addWidget(self.tip_angle_label, 2, 0)
|
||||
grid0.addWidget(self.tip_angle_entry, 2, 1)
|
||||
v_grid.addWidget(self.tip_angle_label, 2, 0)
|
||||
v_grid.addWidget(self.tip_angle_entry, 2, 1)
|
||||
|
||||
# ## Depth-of-cut Cut Z
|
||||
self.cut_z_entry = FCDoubleSpinner()
|
||||
@@ -72,16 +77,24 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI):
|
||||
_("This is depth to cut into material.\n"
|
||||
"In the CNCJob object it is the CutZ parameter.")
|
||||
)
|
||||
grid0.addWidget(self.cut_z_label, 4, 0)
|
||||
grid0.addWidget(self.cut_z_entry, 4, 1)
|
||||
v_grid.addWidget(self.cut_z_label, 4, 0)
|
||||
v_grid.addWidget(self.cut_z_entry, 4, 1)
|
||||
|
||||
# ## Electroplating Calculator Tool
|
||||
self.plate_title_label = FCLabel("<b>%s:</b>" % _("ElectroPlating Calculator"))
|
||||
# #############################################################################################################
|
||||
# Electroplating Frame
|
||||
# #############################################################################################################
|
||||
self.plate_title_label = FCLabel('<span style="color:brown;"><b>%s</b></span>' % _("ElectroPlating Calculator"))
|
||||
self.plate_title_label.setToolTip(
|
||||
_("This calculator is useful for those who plate the via/pad/drill holes,\n"
|
||||
"using a method like graphite ink or calcium hypophosphite ink or palladium chloride.")
|
||||
)
|
||||
grid0.addWidget(self.plate_title_label, 3, 0, 1, 2)
|
||||
self.layout.addWidget(self.plate_title_label)
|
||||
|
||||
el_frame = FCFrame()
|
||||
self.layout.addWidget(el_frame)
|
||||
|
||||
el_grid = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
el_frame.setLayout(el_grid)
|
||||
|
||||
# ## PCB Length
|
||||
self.pcblength_entry = FCDoubleSpinner()
|
||||
@@ -92,8 +105,8 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI):
|
||||
self.pcblengthlabel = FCLabel('%s:' % _("Board Length"))
|
||||
|
||||
self.pcblengthlabel.setToolTip(_('This is the board length. In centimeters.'))
|
||||
grid0.addWidget(self.pcblengthlabel, 6, 0)
|
||||
grid0.addWidget(self.pcblength_entry, 6, 1)
|
||||
el_grid.addWidget(self.pcblengthlabel, 0, 0)
|
||||
el_grid.addWidget(self.pcblength_entry, 0, 1)
|
||||
|
||||
# ## PCB Width
|
||||
self.pcbwidth_entry = FCDoubleSpinner()
|
||||
@@ -104,8 +117,8 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI):
|
||||
self.pcbwidthlabel = FCLabel('%s:' % _("Board Width"))
|
||||
|
||||
self.pcbwidthlabel.setToolTip(_('This is the board width.In centimeters.'))
|
||||
grid0.addWidget(self.pcbwidthlabel, 8, 0)
|
||||
grid0.addWidget(self.pcbwidth_entry, 8, 1)
|
||||
el_grid.addWidget(self.pcbwidthlabel, 2, 0)
|
||||
el_grid.addWidget(self.pcbwidth_entry, 2, 1)
|
||||
|
||||
# AREA
|
||||
self.area_label = FCLabel('%s:' % _("Area"))
|
||||
@@ -115,8 +128,8 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI):
|
||||
self.area_entry.set_precision(self.decimals)
|
||||
self.area_entry.set_range(0.0, 10000.0000)
|
||||
|
||||
grid0.addWidget(self.area_label, 10, 0)
|
||||
grid0.addWidget(self.area_entry, 10, 1)
|
||||
el_grid.addWidget(self.area_label, 4, 0)
|
||||
el_grid.addWidget(self.area_entry, 4, 1)
|
||||
|
||||
# ## Current Density
|
||||
self.cdensity_label = FCLabel('%s:' % _("Current Density"))
|
||||
@@ -127,8 +140,8 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI):
|
||||
|
||||
self.cdensity_label.setToolTip(_("Current density to pass through the board. \n"
|
||||
"In Amps per Square Feet ASF."))
|
||||
grid0.addWidget(self.cdensity_label, 12, 0)
|
||||
grid0.addWidget(self.cdensity_entry, 12, 1)
|
||||
el_grid.addWidget(self.cdensity_label, 6, 0)
|
||||
el_grid.addWidget(self.cdensity_entry, 6, 1)
|
||||
|
||||
# ## PCB Copper Growth
|
||||
self.growth_label = FCLabel('%s:' % _("Copper Growth"))
|
||||
@@ -139,7 +152,9 @@ class ToolsCalculatorsPrefGroupUI(OptionsGroupUI):
|
||||
|
||||
self.growth_label.setToolTip(_("How thick the copper growth is intended to be.\n"
|
||||
"In microns."))
|
||||
grid0.addWidget(self.growth_label, 14, 0)
|
||||
grid0.addWidget(self.growth_entry, 14, 1)
|
||||
el_grid.addWidget(self.growth_label, 8, 0)
|
||||
el_grid.addWidget(self.growth_entry, 8, 1)
|
||||
|
||||
FCGridLayout.set_common_column_size([v_grid, el_grid], 0)
|
||||
|
||||
self.layout.addStretch()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from PyQt6 import QtWidgets
|
||||
|
||||
from appGUI.GUIElements import FCDoubleSpinner, FCLabel, RadioSet, FCGridLayout
|
||||
from appGUI.GUIElements import FCDoubleSpinner, FCLabel, RadioSet, FCGridLayout, FCFrame
|
||||
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||
|
||||
import gettext
|
||||
@@ -21,14 +21,20 @@ class ToolsCornersPrefGroupUI(OptionsGroupUI):
|
||||
self.decimals = decimals
|
||||
self.defaults = defaults
|
||||
|
||||
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
self.layout.addLayout(grid0)
|
||||
|
||||
self.param_label = FCLabel('<b>%s:</b>' % _('Parameters'))
|
||||
# #############################################################################################################
|
||||
# PARAMETERS Frame
|
||||
# #############################################################################################################
|
||||
self.param_label = FCLabel('<span style="color:blue;"><b>%s</b></span>' % _('Parameters'))
|
||||
self.param_label.setToolTip(
|
||||
_("Parameters used for this tool.")
|
||||
)
|
||||
grid0.addWidget(self.param_label, 0, 0, 1, 2)
|
||||
self.layout.addWidget(self.param_label)
|
||||
|
||||
param_frame = FCFrame()
|
||||
self.layout.addWidget(param_frame)
|
||||
|
||||
param_grid = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
param_frame.setLayout(param_grid)
|
||||
|
||||
# Type of Marker
|
||||
self.type_label = FCLabel('%s:' % _("Type"))
|
||||
@@ -41,8 +47,8 @@ class ToolsCornersPrefGroupUI(OptionsGroupUI):
|
||||
{"label": _("Cross"), "value": "c"},
|
||||
])
|
||||
|
||||
grid0.addWidget(self.type_label, 2, 0)
|
||||
grid0.addWidget(self.type_radio, 2, 1)
|
||||
param_grid.addWidget(self.type_label, 2, 0)
|
||||
param_grid.addWidget(self.type_radio, 2, 1)
|
||||
|
||||
# Thickness #
|
||||
self.thick_label = FCLabel('%s:' % _("Thickness"))
|
||||
@@ -55,8 +61,8 @@ class ToolsCornersPrefGroupUI(OptionsGroupUI):
|
||||
self.thick_entry.setWrapping(True)
|
||||
self.thick_entry.setSingleStep(10 ** -self.decimals)
|
||||
|
||||
grid0.addWidget(self.thick_label, 4, 0)
|
||||
grid0.addWidget(self.thick_entry, 4, 1)
|
||||
param_grid.addWidget(self.thick_label, 4, 0)
|
||||
param_grid.addWidget(self.thick_entry, 4, 1)
|
||||
|
||||
# Margin #
|
||||
self.margin_label = FCLabel('%s:' % _("Margin"))
|
||||
@@ -68,8 +74,8 @@ class ToolsCornersPrefGroupUI(OptionsGroupUI):
|
||||
self.margin_entry.set_precision(self.decimals)
|
||||
self.margin_entry.setSingleStep(0.1)
|
||||
|
||||
grid0.addWidget(self.margin_label, 6, 0)
|
||||
grid0.addWidget(self.margin_entry, 6, 1)
|
||||
param_grid.addWidget(self.margin_label, 6, 0)
|
||||
param_grid.addWidget(self.margin_entry, 6, 1)
|
||||
|
||||
# Length #
|
||||
self.l_label = FCLabel('%s:' % _("Length"))
|
||||
@@ -81,8 +87,8 @@ class ToolsCornersPrefGroupUI(OptionsGroupUI):
|
||||
self.l_entry.set_precision(self.decimals)
|
||||
self.l_entry.setSingleStep(10 ** -self.decimals)
|
||||
|
||||
grid0.addWidget(self.l_label, 8, 0)
|
||||
grid0.addWidget(self.l_entry, 8, 1)
|
||||
param_grid.addWidget(self.l_label, 8, 0)
|
||||
param_grid.addWidget(self.l_entry, 8, 1)
|
||||
|
||||
# Drill Tool Diameter
|
||||
self.drill_dia_label = FCLabel('%s:' % _("Drill Dia"))
|
||||
@@ -94,7 +100,7 @@ class ToolsCornersPrefGroupUI(OptionsGroupUI):
|
||||
self.drill_dia_entry.set_precision(self.decimals)
|
||||
self.drill_dia_entry.setWrapping(True)
|
||||
|
||||
grid0.addWidget(self.drill_dia_label, 10, 0)
|
||||
grid0.addWidget(self.drill_dia_entry, 10, 1)
|
||||
param_grid.addWidget(self.drill_dia_label, 10, 0)
|
||||
param_grid.addWidget(self.drill_dia_entry, 10, 1)
|
||||
|
||||
self.layout.addStretch()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from PyQt6 import QtCore
|
||||
|
||||
from appGUI.GUIElements import FCDoubleSpinner, FCSpinner, FCComboBox, NumericalEvalTupleEntry, FCLabel, FCGridLayout
|
||||
from appGUI.GUIElements import FCDoubleSpinner, FCSpinner, FCComboBox, NumericalEvalTupleEntry, FCLabel, FCGridLayout, \
|
||||
FCFrame
|
||||
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||
|
||||
import gettext
|
||||
@@ -21,16 +22,21 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
self.decimals = decimals
|
||||
self.defaults = defaults
|
||||
|
||||
# ## Solder Paste Dispensing
|
||||
self.solderpastelabel = FCLabel("<b>%s:</b>" % _("Parameters"))
|
||||
# #############################################################################################################
|
||||
# PARAMETERS Frame
|
||||
# #############################################################################################################
|
||||
self.solderpastelabel = FCLabel('<span style="color:blue;"><b>%s</b></span>' % _("Parameters"))
|
||||
self.solderpastelabel.setToolTip(
|
||||
_("A tool to create GCode for dispensing\n"
|
||||
"solder paste onto a PCB.")
|
||||
)
|
||||
self.layout.addWidget(self.solderpastelabel)
|
||||
|
||||
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
self.layout.addLayout(grid0)
|
||||
param_frame = FCFrame()
|
||||
self.layout.addWidget(param_frame)
|
||||
|
||||
param_grid = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
param_frame.setLayout(param_grid)
|
||||
|
||||
# Nozzle Tool Diameters
|
||||
nozzletdlabel = FCLabel('<b><font color="green">%s:</font></b>' % _('Tools Dia'))
|
||||
@@ -41,8 +47,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
)
|
||||
self.nozzle_tool_dia_entry = NumericalEvalTupleEntry(border_color='#0069A9')
|
||||
|
||||
grid0.addWidget(nozzletdlabel, 0, 0)
|
||||
grid0.addWidget(self.nozzle_tool_dia_entry, 0, 1)
|
||||
param_grid.addWidget(nozzletdlabel, 0, 0)
|
||||
param_grid.addWidget(self.nozzle_tool_dia_entry, 0, 1)
|
||||
|
||||
# New Nozzle Tool Dia
|
||||
self.addtool_entry_lbl = FCLabel('<b>%s:</b>' % _('New Nozzle Dia'))
|
||||
@@ -54,8 +60,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
self.addtool_entry.set_range(0.0000001, 10000.0000)
|
||||
self.addtool_entry.setSingleStep(0.1)
|
||||
|
||||
grid0.addWidget(self.addtool_entry_lbl, 1, 0)
|
||||
grid0.addWidget(self.addtool_entry, 1, 1)
|
||||
param_grid.addWidget(self.addtool_entry_lbl, 1, 0)
|
||||
param_grid.addWidget(self.addtool_entry, 1, 1)
|
||||
|
||||
# Z dispense start
|
||||
self.z_start_entry = FCDoubleSpinner()
|
||||
@@ -67,8 +73,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
self.z_start_label.setToolTip(
|
||||
_("The height (Z) when solder paste dispensing starts.")
|
||||
)
|
||||
grid0.addWidget(self.z_start_label, 2, 0)
|
||||
grid0.addWidget(self.z_start_entry, 2, 1)
|
||||
param_grid.addWidget(self.z_start_label, 2, 0)
|
||||
param_grid.addWidget(self.z_start_entry, 2, 1)
|
||||
|
||||
# Z dispense
|
||||
self.z_dispense_entry = FCDoubleSpinner()
|
||||
@@ -80,8 +86,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
self.z_dispense_label.setToolTip(
|
||||
_("The height (Z) when doing solder paste dispensing.")
|
||||
)
|
||||
grid0.addWidget(self.z_dispense_label, 3, 0)
|
||||
grid0.addWidget(self.z_dispense_entry, 3, 1)
|
||||
param_grid.addWidget(self.z_dispense_label, 3, 0)
|
||||
param_grid.addWidget(self.z_dispense_entry, 3, 1)
|
||||
|
||||
# Z dispense stop
|
||||
self.z_stop_entry = FCDoubleSpinner()
|
||||
@@ -93,8 +99,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
self.z_stop_label.setToolTip(
|
||||
_("The height (Z) when solder paste dispensing stops.")
|
||||
)
|
||||
grid0.addWidget(self.z_stop_label, 4, 0)
|
||||
grid0.addWidget(self.z_stop_entry, 4, 1)
|
||||
param_grid.addWidget(self.z_stop_label, 4, 0)
|
||||
param_grid.addWidget(self.z_stop_entry, 4, 1)
|
||||
|
||||
# Z travel
|
||||
self.z_travel_entry = FCDoubleSpinner()
|
||||
@@ -107,8 +113,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
_("The height (Z) for travel between pads\n"
|
||||
"(without dispensing solder paste).")
|
||||
)
|
||||
grid0.addWidget(self.z_travel_label, 5, 0)
|
||||
grid0.addWidget(self.z_travel_entry, 5, 1)
|
||||
param_grid.addWidget(self.z_travel_label, 5, 0)
|
||||
param_grid.addWidget(self.z_travel_entry, 5, 1)
|
||||
|
||||
# Z toolchange location
|
||||
self.z_toolchange_entry = FCDoubleSpinner()
|
||||
@@ -120,8 +126,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
self.z_toolchange_label.setToolTip(
|
||||
_("The height (Z) for tool (nozzle) change.")
|
||||
)
|
||||
grid0.addWidget(self.z_toolchange_label, 6, 0)
|
||||
grid0.addWidget(self.z_toolchange_entry, 6, 1)
|
||||
param_grid.addWidget(self.z_toolchange_label, 6, 0)
|
||||
param_grid.addWidget(self.z_toolchange_entry, 6, 1)
|
||||
|
||||
# X,Y Toolchange location
|
||||
self.xy_toolchange_entry = NumericalEvalTupleEntry(border_color='#0069A9')
|
||||
@@ -130,8 +136,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
_("The X,Y location for tool (nozzle) change.\n"
|
||||
"The format is (x, y) where x and y are real numbers.")
|
||||
)
|
||||
grid0.addWidget(self.xy_toolchange_label, 7, 0)
|
||||
grid0.addWidget(self.xy_toolchange_entry, 7, 1)
|
||||
param_grid.addWidget(self.xy_toolchange_label, 7, 0)
|
||||
param_grid.addWidget(self.xy_toolchange_entry, 7, 1)
|
||||
|
||||
# Feedrate X-Y
|
||||
self.frxy_entry = FCDoubleSpinner()
|
||||
@@ -143,8 +149,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
self.frxy_label.setToolTip(
|
||||
_("Feedrate (speed) while moving on the X-Y plane.")
|
||||
)
|
||||
grid0.addWidget(self.frxy_label, 8, 0)
|
||||
grid0.addWidget(self.frxy_entry, 8, 1)
|
||||
param_grid.addWidget(self.frxy_label, 8, 0)
|
||||
param_grid.addWidget(self.frxy_entry, 8, 1)
|
||||
|
||||
# Feedrate Z
|
||||
self.frz_entry = FCDoubleSpinner()
|
||||
@@ -157,8 +163,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
_("Feedrate (speed) while moving vertically\n"
|
||||
"(on Z plane).")
|
||||
)
|
||||
grid0.addWidget(self.frz_label, 9, 0)
|
||||
grid0.addWidget(self.frz_entry, 9, 1)
|
||||
param_grid.addWidget(self.frz_label, 9, 0)
|
||||
param_grid.addWidget(self.frz_entry, 9, 1)
|
||||
|
||||
# Feedrate Z Dispense
|
||||
self.frz_dispense_entry = FCDoubleSpinner()
|
||||
@@ -171,8 +177,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
_("Feedrate (speed) while moving up vertically\n"
|
||||
"to Dispense position (on Z plane).")
|
||||
)
|
||||
grid0.addWidget(self.frz_dispense_label, 10, 0)
|
||||
grid0.addWidget(self.frz_dispense_entry, 10, 1)
|
||||
param_grid.addWidget(self.frz_dispense_label, 10, 0)
|
||||
param_grid.addWidget(self.frz_dispense_entry, 10, 1)
|
||||
|
||||
# Spindle Speed Forward
|
||||
self.speedfwd_entry = FCSpinner()
|
||||
@@ -184,8 +190,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
_("The dispenser speed while pushing solder paste\n"
|
||||
"through the dispenser nozzle.")
|
||||
)
|
||||
grid0.addWidget(self.speedfwd_label, 11, 0)
|
||||
grid0.addWidget(self.speedfwd_entry, 11, 1)
|
||||
param_grid.addWidget(self.speedfwd_label, 11, 0)
|
||||
param_grid.addWidget(self.speedfwd_entry, 11, 1)
|
||||
|
||||
# Dwell Forward
|
||||
self.dwellfwd_entry = FCDoubleSpinner()
|
||||
@@ -197,8 +203,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
self.dwellfwd_label.setToolTip(
|
||||
_("Pause after solder dispensing.")
|
||||
)
|
||||
grid0.addWidget(self.dwellfwd_label, 12, 0)
|
||||
grid0.addWidget(self.dwellfwd_entry, 12, 1)
|
||||
param_grid.addWidget(self.dwellfwd_label, 12, 0)
|
||||
param_grid.addWidget(self.dwellfwd_entry, 12, 1)
|
||||
|
||||
# Spindle Speed Reverse
|
||||
self.speedrev_entry = FCSpinner()
|
||||
@@ -210,8 +216,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
_("The dispenser speed while retracting solder paste\n"
|
||||
"through the dispenser nozzle.")
|
||||
)
|
||||
grid0.addWidget(self.speedrev_label, 13, 0)
|
||||
grid0.addWidget(self.speedrev_entry, 13, 1)
|
||||
param_grid.addWidget(self.speedrev_label, 13, 0)
|
||||
param_grid.addWidget(self.speedrev_entry, 13, 1)
|
||||
|
||||
# Dwell Reverse
|
||||
self.dwellrev_entry = FCDoubleSpinner()
|
||||
@@ -224,8 +230,8 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
_("Pause after solder paste dispenser retracted,\n"
|
||||
"to allow pressure equilibrium.")
|
||||
)
|
||||
grid0.addWidget(self.dwellrev_label, 14, 0)
|
||||
grid0.addWidget(self.dwellrev_entry, 14, 1)
|
||||
param_grid.addWidget(self.dwellrev_label, 14, 0)
|
||||
param_grid.addWidget(self.dwellrev_entry, 14, 1)
|
||||
|
||||
# Preprocessors
|
||||
pp_label = FCLabel('%s:' % _('Preprocessor'))
|
||||
@@ -240,7 +246,7 @@ class ToolsSolderpastePrefGroupUI(OptionsGroupUI):
|
||||
for it in range(self.pp_combo.count()):
|
||||
self.pp_combo.setItemData(it, self.pp_combo.itemText(it), QtCore.Qt.ItemDataRole.ToolTipRole)
|
||||
|
||||
grid0.addWidget(pp_label, 15, 0)
|
||||
grid0.addWidget(self.pp_combo, 15, 1)
|
||||
param_grid.addWidget(pp_label, 15, 0)
|
||||
param_grid.addWidget(self.pp_combo, 15, 1)
|
||||
|
||||
self.layout.addStretch()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from appGUI.GUIElements import FCCheckBox, FCLabel
|
||||
from appGUI.GUIElements import FCCheckBox, FCLabel, FCFrame, FCGridLayout
|
||||
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||
|
||||
import gettext
|
||||
@@ -18,22 +18,30 @@ class ToolsSubPrefGroupUI(OptionsGroupUI):
|
||||
self.decimals = decimals
|
||||
self.defaults = defaults
|
||||
|
||||
# ## Subtractor Tool Parameters
|
||||
self.sublabel = FCLabel("<b>%s:</b>" % _("Parameters"))
|
||||
# #############################################################################################################
|
||||
# PARAMETERS Frame
|
||||
# #############################################################################################################
|
||||
self.sublabel = FCLabel('<span style="color:blue;"><b>%s</b></span>' % _("Parameters"))
|
||||
self.sublabel.setToolTip(
|
||||
_("A tool to substract one Gerber or Geometry object\n"
|
||||
"from another of the same type.")
|
||||
)
|
||||
self.layout.addWidget(self.sublabel)
|
||||
|
||||
param_frame = FCFrame()
|
||||
self.layout.addWidget(param_frame)
|
||||
|
||||
param_grid = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
param_frame.setLayout(param_grid)
|
||||
|
||||
self.close_paths_cb = FCCheckBox(_("Close paths"))
|
||||
self.close_paths_cb.setToolTip(_("Checking this will close the paths cut by the subtractor object."))
|
||||
self.layout.addWidget(self.close_paths_cb)
|
||||
param_grid.addWidget(self.close_paths_cb, 0, 0, 1, 2)
|
||||
|
||||
self.delete_sources_cb = FCCheckBox(_("Delete source"))
|
||||
self.delete_sources_cb.setToolTip(
|
||||
_("When checked will delete the source objects\n"
|
||||
"after a successful operation.")
|
||||
)
|
||||
self.layout.addWidget(self.delete_sources_cb)
|
||||
param_grid.addWidget(self.delete_sources_cb, 2, 0, 1, 2)
|
||||
self.layout.addStretch()
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from PyQt6 import QtWidgets, QtGui
|
||||
|
||||
from appGUI.GUIElements import FCDoubleSpinner, FCCheckBox, NumericalEvalTupleEntry, FCComboBox, FCLabel, FCGridLayout
|
||||
from appGUI.GUIElements import FCDoubleSpinner, FCCheckBox, NumericalEvalTupleEntry, FCComboBox, FCLabel, \
|
||||
FCGridLayout, FCFrame
|
||||
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||
|
||||
import gettext
|
||||
@@ -21,16 +22,21 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
self.decimals = decimals
|
||||
self.defaults = defaults
|
||||
|
||||
# ## Transformations
|
||||
self.transform_label = FCLabel("<b>%s:</b>" % _("Parameters"))
|
||||
# #############################################################################################################
|
||||
# PARAMETERS Frame
|
||||
# #############################################################################################################
|
||||
self.transform_label = FCLabel('<span style="color:blue;"><b>%s</b></span>' % _("Parameters"))
|
||||
self.transform_label.setToolTip(
|
||||
_("Various transformations that can be applied\n"
|
||||
"on a application object.")
|
||||
)
|
||||
self.layout.addWidget(self.transform_label)
|
||||
|
||||
grid0 = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
self.layout.addLayout(grid0)
|
||||
param_frame = FCFrame()
|
||||
self.layout.addWidget(param_frame)
|
||||
|
||||
param_grid = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
param_frame.setLayout(param_grid)
|
||||
|
||||
# Reference Type
|
||||
ref_label = FCLabel('%s:' % _("Reference"))
|
||||
@@ -46,8 +52,8 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
self.ref_items = [_("Origin"), _("Selection"), _("Point"), _("Object")]
|
||||
self.ref_combo.addItems(self.ref_items)
|
||||
|
||||
grid0.addWidget(ref_label, 0, 0)
|
||||
grid0.addWidget(self.ref_combo, 0, 1)
|
||||
param_grid.addWidget(ref_label, 0, 0)
|
||||
param_grid.addWidget(self.ref_combo, 0, 1)
|
||||
|
||||
self.point_label = FCLabel('%s:' % _("Point"))
|
||||
self.point_label.setToolTip(
|
||||
@@ -55,8 +61,8 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
)
|
||||
self.point_entry = NumericalEvalTupleEntry()
|
||||
|
||||
grid0.addWidget(self.point_label, 1, 0)
|
||||
grid0.addWidget(self.point_entry, 1, 1)
|
||||
param_grid.addWidget(self.point_label, 2, 0)
|
||||
param_grid.addWidget(self.point_entry, 2, 1)
|
||||
|
||||
# Type of object to be used as reference
|
||||
self.type_object_label = FCLabel('%s:' % _("Object"))
|
||||
@@ -73,12 +79,20 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
self.type_obj_combo.setItemIcon(1, QtGui.QIcon(self.app.resource_location + "/drill16.png"))
|
||||
self.type_obj_combo.setItemIcon(2, QtGui.QIcon(self.app.resource_location + "/geometry16.png"))
|
||||
|
||||
grid0.addWidget(self.type_object_label, 3, 0)
|
||||
grid0.addWidget(self.type_obj_combo, 3, 1)
|
||||
param_grid.addWidget(self.type_object_label, 4, 0)
|
||||
param_grid.addWidget(self.type_obj_combo, 4, 1)
|
||||
|
||||
# ## Rotate Angle
|
||||
rotate_title_lbl = FCLabel('<b>%s</b>' % _("Rotate"))
|
||||
grid0.addWidget(rotate_title_lbl, 4, 0, 1, 2)
|
||||
# #############################################################################################################
|
||||
# Rotate Frame
|
||||
# #############################################################################################################
|
||||
rotate_title_lbl = FCLabel('<span style="color:tomato;"><b>%s</b></span>' % _("Rotate"))
|
||||
self.layout.addWidget(rotate_title_lbl)
|
||||
|
||||
rot_frame = FCFrame()
|
||||
self.layout.addWidget(rot_frame)
|
||||
|
||||
rot_grid = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
rot_frame.setLayout(rot_grid)
|
||||
|
||||
self.rotate_entry = FCDoubleSpinner()
|
||||
self.rotate_entry.set_range(-360.0, 360.0)
|
||||
@@ -92,12 +106,19 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
"Positive numbers for CW motion.\n"
|
||||
"Negative numbers for CCW motion.")
|
||||
)
|
||||
grid0.addWidget(self.rotate_label, 6, 0)
|
||||
grid0.addWidget(self.rotate_entry, 6, 1)
|
||||
rot_grid.addWidget(self.rotate_label, 0, 0)
|
||||
rot_grid.addWidget(self.rotate_entry, 0, 1)
|
||||
|
||||
# ## Skew/Shear Angle on X axis
|
||||
skew_title_lbl = FCLabel('<b>%s</b>' % _("Skew"))
|
||||
grid0.addWidget(skew_title_lbl, 8, 0)
|
||||
# #############################################################################################################
|
||||
# Skew Frame
|
||||
# #############################################################################################################
|
||||
s_t_lay = QtWidgets.QHBoxLayout()
|
||||
self.layout.addLayout(s_t_lay)
|
||||
|
||||
skew_title_lbl = FCLabel('<span style="color:teal;"><b>%s</b></span>' % _("Skew"))
|
||||
s_t_lay.addWidget(skew_title_lbl)
|
||||
|
||||
s_t_lay.addStretch()
|
||||
|
||||
# ## Link Skew factors
|
||||
self.skew_link_cb = FCCheckBox()
|
||||
@@ -106,7 +127,13 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
_("Link the Y entry to X entry and copy its content.")
|
||||
)
|
||||
|
||||
grid0.addWidget(self.skew_link_cb, 8, 1)
|
||||
s_t_lay.addWidget(self.skew_link_cb)
|
||||
|
||||
skew_frame = FCFrame()
|
||||
self.layout.addWidget(skew_frame)
|
||||
|
||||
skew_grid = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
skew_frame.setLayout(skew_grid)
|
||||
|
||||
self.skewx_entry = FCDoubleSpinner()
|
||||
self.skewx_entry.set_range(-360.0, 360.0)
|
||||
@@ -118,8 +145,8 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
_("Angle, in degrees.\n"
|
||||
"Float number between -360 and 359.")
|
||||
)
|
||||
grid0.addWidget(self.skewx_label, 9, 0)
|
||||
grid0.addWidget(self.skewx_entry, 9, 1)
|
||||
skew_grid.addWidget(self.skewx_label, 2, 0)
|
||||
skew_grid.addWidget(self.skewx_entry, 2, 1)
|
||||
|
||||
# ## Skew/Shear Angle on Y axis
|
||||
self.skewy_entry = FCDoubleSpinner()
|
||||
@@ -132,19 +159,32 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
_("Angle, in degrees.\n"
|
||||
"Float number between -360 and 359.")
|
||||
)
|
||||
grid0.addWidget(self.skewy_label, 10, 0)
|
||||
grid0.addWidget(self.skewy_entry, 10, 1)
|
||||
skew_grid.addWidget(self.skewy_label, 4, 0)
|
||||
skew_grid.addWidget(self.skewy_entry, 4, 1)
|
||||
|
||||
# ## Scale
|
||||
scale_title_lbl = FCLabel('<b>%s</b>' % _("Scale"))
|
||||
grid0.addWidget(scale_title_lbl, 12, 0)
|
||||
# #############################################################################################################
|
||||
# Scale Frame
|
||||
# #############################################################################################################
|
||||
sc_t_lay = QtWidgets.QHBoxLayout()
|
||||
self.layout.addLayout(sc_t_lay)
|
||||
|
||||
scale_title_lbl = FCLabel('<span style="color:magenta;"><b>%s</b></span>' % _("Scale"))
|
||||
sc_t_lay.addWidget(scale_title_lbl)
|
||||
|
||||
sc_t_lay.addStretch()
|
||||
|
||||
# ## Link Scale factors
|
||||
self.scale_link_cb = FCCheckBox(_("Link"))
|
||||
self.scale_link_cb.setToolTip(
|
||||
_("Link the Y entry to X entry and copy its content.")
|
||||
)
|
||||
grid0.addWidget(self.scale_link_cb, 12, 1)
|
||||
sc_t_lay.addWidget(self.scale_link_cb)
|
||||
|
||||
scale_frame = FCFrame()
|
||||
self.layout.addWidget(scale_frame)
|
||||
|
||||
scale_grid = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
scale_frame.setLayout(scale_grid)
|
||||
|
||||
self.scalex_entry = FCDoubleSpinner()
|
||||
self.scalex_entry.set_range(0, 10000.0000)
|
||||
@@ -155,8 +195,8 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
self.scalex_label.setToolTip(
|
||||
_("Factor for scaling on X axis.")
|
||||
)
|
||||
grid0.addWidget(self.scalex_label, 14, 0)
|
||||
grid0.addWidget(self.scalex_entry, 14, 1)
|
||||
scale_grid.addWidget(self.scalex_label, 2, 0)
|
||||
scale_grid.addWidget(self.scalex_entry, 2, 1)
|
||||
|
||||
# ## Scale factor on X axis
|
||||
self.scaley_entry = FCDoubleSpinner()
|
||||
@@ -168,12 +208,20 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
self.scaley_label.setToolTip(
|
||||
_("Factor for scaling on Y axis.")
|
||||
)
|
||||
grid0.addWidget(self.scaley_label, 16, 0)
|
||||
grid0.addWidget(self.scaley_entry, 16, 1)
|
||||
scale_grid.addWidget(self.scaley_label, 4, 0)
|
||||
scale_grid.addWidget(self.scaley_entry, 4, 1)
|
||||
|
||||
# ## Offset
|
||||
offset_title_lbl = FCLabel('<b>%s</b>' % _("Offset"))
|
||||
grid0.addWidget(offset_title_lbl, 20, 0, 1, 2)
|
||||
# #############################################################################################################
|
||||
# Offset Frame
|
||||
# #############################################################################################################
|
||||
offset_title_lbl = FCLabel('<span style="color:green;"><b>%s</b></span>' % _("Offset"))
|
||||
self.layout.addWidget(offset_title_lbl)
|
||||
|
||||
off_frame = FCFrame()
|
||||
self.layout.addWidget(off_frame)
|
||||
|
||||
off_grid = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
off_frame.setLayout(off_grid)
|
||||
|
||||
self.offx_entry = FCDoubleSpinner()
|
||||
self.offx_entry.set_range(-10000.0000, 10000.0000)
|
||||
@@ -184,8 +232,8 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
self.offx_label.setToolTip(
|
||||
_("Distance to offset on X axis. In current units.")
|
||||
)
|
||||
grid0.addWidget(self.offx_label, 22, 0)
|
||||
grid0.addWidget(self.offx_entry, 22, 1)
|
||||
off_grid.addWidget(self.offx_label, 0, 0)
|
||||
off_grid.addWidget(self.offx_entry, 0, 1)
|
||||
|
||||
# ## Offset distance on Y axis
|
||||
self.offy_entry = FCDoubleSpinner()
|
||||
@@ -197,12 +245,19 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
self.offy_label.setToolTip(
|
||||
_("Distance to offset on Y axis. In current units.")
|
||||
)
|
||||
grid0.addWidget(self.offy_label, 24, 0)
|
||||
grid0.addWidget(self.offy_entry, 24, 1)
|
||||
off_grid.addWidget(self.offy_label, 2, 0)
|
||||
off_grid.addWidget(self.offy_entry, 2, 1)
|
||||
|
||||
# ## Buffer
|
||||
buffer_title_lbl = FCLabel('<b>%s</b>' % _("Buffer"))
|
||||
grid0.addWidget(buffer_title_lbl, 26, 0)
|
||||
# #############################################################################################################
|
||||
# Buffer Frame
|
||||
# #############################################################################################################
|
||||
b_t_lay = QtWidgets.QHBoxLayout()
|
||||
self.layout.addLayout(b_t_lay)
|
||||
|
||||
buffer_title_lbl = FCLabel('<span style="color:indigo;"><b>%s</b></span>' % _("Buffer"))
|
||||
b_t_lay.addWidget(buffer_title_lbl)
|
||||
|
||||
b_t_lay.addStretch()
|
||||
|
||||
self.buffer_rounded_cb = FCCheckBox()
|
||||
self.buffer_rounded_cb.setText('%s' % _("Rounded"))
|
||||
@@ -213,7 +268,13 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
"of the buffered shape.")
|
||||
)
|
||||
|
||||
grid0.addWidget(self.buffer_rounded_cb, 26, 1)
|
||||
b_t_lay.addWidget(self.buffer_rounded_cb)
|
||||
|
||||
buff_frame = FCFrame()
|
||||
self.layout.addWidget(buff_frame)
|
||||
|
||||
buff_grid = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
buff_frame.setLayout(buff_grid)
|
||||
|
||||
self.buffer_label = FCLabel('%s:' % _("Distance"))
|
||||
self.buffer_label.setToolTip(
|
||||
@@ -229,8 +290,8 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
self.buffer_entry.setWrapping(True)
|
||||
self.buffer_entry.set_range(-10000.0000, 10000.0000)
|
||||
|
||||
grid0.addWidget(self.buffer_label, 28, 0)
|
||||
grid0.addWidget(self.buffer_entry, 28, 1)
|
||||
buff_grid.addWidget(self.buffer_label, 2, 0)
|
||||
buff_grid.addWidget(self.buffer_entry, 2, 1)
|
||||
|
||||
self.buffer_factor_label = FCLabel('%s:' % _("Value"))
|
||||
self.buffer_factor_label.setToolTip(
|
||||
@@ -247,7 +308,10 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||
self.buffer_factor_entry.setWrapping(True)
|
||||
self.buffer_factor_entry.setSingleStep(1)
|
||||
|
||||
grid0.addWidget(self.buffer_factor_label, 30, 0)
|
||||
grid0.addWidget(self.buffer_factor_entry, 30, 1)
|
||||
buff_grid.addWidget(self.buffer_factor_label, 4, 0)
|
||||
buff_grid.addWidget(self.buffer_factor_entry, 4, 1)
|
||||
|
||||
FCGridLayout.set_common_column_size(
|
||||
[param_grid, rot_grid, skew_grid, scale_grid, off_grid, buff_grid], 0)
|
||||
|
||||
self.layout.addStretch()
|
||||
|
||||
Reference in New Issue
Block a user