- in Subtraction Plugin updated the GUI

This commit is contained in:
Marius Stanciu
2021-09-05 23:41:01 +03:00
committed by Marius Stanciu
parent d42c33a02d
commit 8e5f196fe0
2 changed files with 92 additions and 64 deletions

View File

@@ -22,6 +22,7 @@ CHANGELOG for FlatCAM beta
- in Extract Drills Plugin updated the GUI - in Extract Drills Plugin updated the GUI
- in Paint Plugin updated the GUI - in Paint Plugin updated the GUI
- in NCC Plugin updated the GUI - in NCC Plugin updated the GUI
- in Subtraction Plugin updated the GUI
4.09.2021 4.09.2021

View File

@@ -8,7 +8,7 @@
from PyQt6 import QtWidgets, QtCore, QtGui from PyQt6 import QtWidgets, QtCore, QtGui
from appTool import AppTool from appTool import AppTool
from appGUI.GUIElements import FCCheckBox, FCButton, FCComboBox, FCLabel, VerticalScrollArea, FCGridLayout from appGUI.GUIElements import FCCheckBox, FCButton, FCComboBox, FCLabel, VerticalScrollArea, FCGridLayout, FCFrame
from shapely.geometry import Polygon, MultiPolygon, MultiLineString, LineString from shapely.geometry import Polygon, MultiPolygon, MultiLineString, LineString
from shapely.ops import unary_union from shapely.ops import unary_union
@@ -231,27 +231,25 @@ class ToolSub(AppTool):
if not checked: if not checked:
self.ui.level.setText('%s' % _('Beginner')) self.ui.level.setText('%s' % _('Beginner'))
self.ui.level.setStyleSheet(""" self.ui.level.setStyleSheet("""
QToolButton QToolButton
{ {
color: green; color: green;
} }
""") """)
self.ui.delete_sources_cb.hide() self.ui.param_label.hide()
self.ui.separator_line.hide() self.ui.gp_frame.hide()
self.ui.extra_empty_label.hide()
else: else:
self.ui.level.setText('%s' % _('Advanced')) self.ui.level.setText('%s' % _('Advanced'))
self.ui.level.setStyleSheet(""" self.ui.level.setStyleSheet("""
QToolButton QToolButton
{ {
color: red; color: red;
} }
""") """)
self.ui.delete_sources_cb.show() self.ui.param_label.show()
self.ui.separator_line.show() self.ui.gp_frame.show()
self.ui.extra_empty_label.show()
def on_subtract_gerber_click(self): def on_subtract_gerber_click(self):
# reset previous values # reset previous values
@@ -810,31 +808,49 @@ class SubUI:
self.tools_box.setContentsMargins(0, 0, 0, 0) self.tools_box.setContentsMargins(0, 0, 0, 0)
self.tools_frame.setLayout(self.tools_box) self.tools_frame.setLayout(self.tools_box)
# Form Layout # #############################################################################################################
grid0 = FCGridLayout(v_spacing=5, h_spacing=3) # COMMON PARAMETERS Frame
grid0.setColumnStretch(0, 0) # #############################################################################################################
grid0.setColumnStretch(1, 1) self.param_label = FCLabel('<span style="color:blue;"><b>%s</b></span>' % _("Parameters"))
self.tools_box.addLayout(grid0) self.param_label.setToolTip(_("Parameters that are common for all tools."))
self.tools_box.addWidget(self.param_label)
self.gp_frame = FCFrame()
self.tools_box.addWidget(self.gp_frame)
param_grid = FCGridLayout(v_spacing=5, h_spacing=3)
param_grid.setColumnStretch(0, 0)
param_grid.setColumnStretch(1, 1)
self.gp_frame.setLayout(param_grid)
self.delete_sources_cb = FCCheckBox(_("Delete source")) self.delete_sources_cb = FCCheckBox(_("Delete source"))
self.delete_sources_cb.setToolTip( self.delete_sources_cb.setToolTip(
_("When checked will delete the source objects\n" _("When checked will delete the source objects\n"
"after a successful operation.") "after a successful operation.")
) )
grid0.addWidget(self.delete_sources_cb, 0, 0, 1, 2) param_grid.addWidget(self.delete_sources_cb, 0, 0, 1, 2)
self.separator_line = QtWidgets.QFrame() # #############################################################################################################
self.separator_line.setFrameShape(QtWidgets.QFrame.Shape.HLine) # Gerber Subtraction Frame
self.separator_line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) # #############################################################################################################
grid0.addWidget(self.separator_line, 2, 0, 1, 3) self.grb_label = FCLabel('<span style="color:green;"><b>%s</b></span>' % _("Gerber"))
self.tools_box.addWidget(self.grb_label)
self.extra_empty_label = FCLabel('') grb_frame = FCFrame()
grid0.addWidget(self.extra_empty_label, 4, 0, 1, 2) self.tools_box.addWidget(grb_frame)
self.gerber_title = FCLabel("<b>%s</b>" % _("GERBER")) grb_grid = FCGridLayout(v_spacing=5, h_spacing=3)
grid0.addWidget(self.gerber_title, 6, 0, 1, 2) grb_grid.setColumnStretch(0, 0)
grb_grid.setColumnStretch(1, 1)
grb_frame.setLayout(grb_grid)
# Target Gerber Object # Target Gerber Object
self.target_gerber_label = FCLabel('%s:' % _("Target"))
self.target_gerber_label.setToolTip(
_("Gerber object from which to subtract\n"
"the subtractor Gerber object.")
)
self.target_gerber_combo = FCComboBox() self.target_gerber_combo = FCComboBox()
self.target_gerber_combo.setModel(self.app.collection) self.target_gerber_combo.setModel(self.app.collection)
self.target_gerber_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.target_gerber_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex()))
@@ -842,14 +858,8 @@ class SubUI:
self.target_gerber_combo.is_last = True self.target_gerber_combo.is_last = True
self.target_gerber_combo.obj_type = "Gerber" self.target_gerber_combo.obj_type = "Gerber"
self.target_gerber_label = FCLabel('%s:' % _("Target")) grb_grid.addWidget(self.target_gerber_label, 0, 0)
self.target_gerber_label.setToolTip( grb_grid.addWidget(self.target_gerber_combo, 0, 1)
_("Gerber object from which to subtract\n"
"the subtractor Gerber object.")
)
grid0.addWidget(self.target_gerber_label, 8, 0)
grid0.addWidget(self.target_gerber_combo, 8, 1)
# Substractor Gerber Object # Substractor Gerber Object
self.sub_gerber_combo = FCComboBox() self.sub_gerber_combo = FCComboBox()
@@ -864,9 +874,12 @@ class SubUI:
"from the target Gerber object.") "from the target Gerber object.")
) )
grid0.addWidget(self.sub_gerber_label, 10, 0) grb_grid.addWidget(self.sub_gerber_label, 2, 0)
grid0.addWidget(self.sub_gerber_combo, 10, 1) grb_grid.addWidget(self.sub_gerber_combo, 2, 1)
# #############################################################################################################
# Gerber Subtraction Button
# #############################################################################################################
self.intersect_btn = FCButton(_('Subtract Gerber')) self.intersect_btn = FCButton(_('Subtract Gerber'))
self.intersect_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/subtract_btn32.png')) self.intersect_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/subtract_btn32.png'))
self.intersect_btn.setToolTip( self.intersect_btn.setToolTip(
@@ -881,13 +894,32 @@ class SubUI:
font-weight: bold; font-weight: bold;
} }
""") """)
grid0.addWidget(self.intersect_btn, 12, 0, 1, 2) self.tools_box.addWidget(self.intersect_btn)
grid0.addWidget(FCLabel(''), 14, 0, 1, 2) # self.tools_box.addWidget(FCLabel(''))
# #############################################################################################################
# Geometry Subtraction Frame
# #############################################################################################################
self.geo_label = FCLabel('<span style="color:red;"><b>%s</b></span>' % _("Geometry"))
self.tools_box.addWidget(self.geo_label)
geo_frame = FCFrame()
self.tools_box.addWidget(geo_frame)
geo_grid = FCGridLayout(v_spacing=5, h_spacing=3)
geo_grid.setColumnStretch(0, 0)
geo_grid.setColumnStretch(1, 1)
geo_frame.setLayout(geo_grid)
self.geo_title = FCLabel("<b>%s</b>" % _("GEOMETRY")) self.geo_title = FCLabel("<b>%s</b>" % _("GEOMETRY"))
grid0.addWidget(self.geo_title, 16, 0, 1, 2) self.tools_box.addWidget(self.geo_title)
# Target Geometry Object # Target Geometry Object
self.target_geo_label = FCLabel('%s:' % _("Target"))
self.target_geo_label.setToolTip(
_("Geometry object from which to subtract\n"
"the subtractor Geometry object.")
)
self.target_geo_combo = FCComboBox() self.target_geo_combo = FCComboBox()
self.target_geo_combo.setModel(self.app.collection) self.target_geo_combo.setModel(self.app.collection)
self.target_geo_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex())) self.target_geo_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex()))
@@ -895,36 +927,33 @@ class SubUI:
self.target_geo_combo.is_last = True self.target_geo_combo.is_last = True
self.target_geo_combo.obj_type = "Geometry" self.target_geo_combo.obj_type = "Geometry"
self.target_geo_label = FCLabel('%s:' % _("Target")) geo_grid.addWidget(self.target_geo_label, 0, 0)
self.target_geo_label.setToolTip( geo_grid.addWidget(self.target_geo_combo, 0, 1)
_("Geometry object from which to subtract\n"
"the subtractor Geometry object.")
)
grid0.addWidget(self.target_geo_label, 18, 0)
grid0.addWidget(self.target_geo_combo, 18, 1)
# Substractor Geometry Object # Substractor Geometry Object
self.sub_geo_combo = FCComboBox()
self.sub_geo_combo.setModel(self.app.collection)
self.sub_geo_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex()))
self.sub_geo_combo.is_last = True
self.sub_geo_combo.obj_type = "Geometry"
self.sub_geo_label = FCLabel('%s:' % _("Subtractor")) self.sub_geo_label = FCLabel('%s:' % _("Subtractor"))
self.sub_geo_label.setToolTip( self.sub_geo_label.setToolTip(
_("Geometry object that will be subtracted\n" _("Geometry object that will be subtracted\n"
"from the target Geometry object.") "from the target Geometry object.")
) )
grid0.addWidget(self.sub_geo_label, 20, 0) self.sub_geo_combo = FCComboBox()
grid0.addWidget(self.sub_geo_combo, 20, 1) self.sub_geo_combo.setModel(self.app.collection)
self.sub_geo_combo.setRootModelIndex(self.app.collection.index(2, 0, QtCore.QModelIndex()))
self.sub_geo_combo.is_last = True
self.sub_geo_combo.obj_type = "Geometry"
geo_grid.addWidget(self.sub_geo_label, 2, 0)
geo_grid.addWidget(self.sub_geo_combo, 2, 1)
self.close_paths_cb = FCCheckBox(_("Close paths")) self.close_paths_cb = FCCheckBox(_("Close paths"))
self.close_paths_cb.setToolTip(_("Checking this will close the paths cut by the subtractor object.")) self.close_paths_cb.setToolTip(_("Checking this will close the paths cut by the subtractor object."))
grid0.addWidget(self.close_paths_cb, 22, 0, 1, 2) geo_grid.addWidget(self.close_paths_cb, 4, 0, 1, 2)
# #############################################################################################################
# Geometry Subtraction Button
# #############################################################################################################
self.intersect_geo_btn = FCButton(_('Subtract Geometry')) self.intersect_geo_btn = FCButton(_('Subtract Geometry'))
self.intersect_geo_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/subtract_btn32.png')) self.intersect_geo_btn.setIcon(QtGui.QIcon(self.app.resource_location + '/subtract_btn32.png'))
self.intersect_geo_btn.setToolTip( self.intersect_geo_btn.setToolTip(
@@ -938,9 +967,7 @@ class SubUI:
} }
""") """)
grid0.addWidget(self.intersect_geo_btn, 24, 0, 1, 2) self.tools_box.addWidget(self.intersect_geo_btn)
grid0.addWidget(FCLabel(''), 26, 0, 1, 2)
self.tools_box.addStretch(1) self.tools_box.addStretch(1)