- fixed an issue with the tool table context menu in Paint Tool
- made some changes in the GUI in Paint Tool, NCC Tool and SolderPaste Tool
This commit is contained in:
parent
18c72e4286
commit
9506095ca2
|
@ -6636,46 +6636,17 @@ class App(QtCore.QObject):
|
|||
if notebook_widget_name == 'tool_tab':
|
||||
tool_widget = self.ui.tool_scroll_area.widget().objectName()
|
||||
|
||||
tool_add_popup = FCInputDialog(title="New Tool ...",
|
||||
text='Enter a Tool Diameter:',
|
||||
min=0.0000, max=99.9999, decimals=4)
|
||||
tool_add_popup.setWindowIcon(QtGui.QIcon('share/letter_t_32.png'))
|
||||
|
||||
val, ok = tool_add_popup.get_value()
|
||||
|
||||
# and only if the tool is NCC Tool
|
||||
if tool_widget == self.ncclear_tool.toolName:
|
||||
if ok:
|
||||
if float(val) == 0:
|
||||
self.inform.emit('[WARNING_NOTCL] %s' %
|
||||
_("Please enter a tool diameter with non-zero value, in Float format."))
|
||||
return
|
||||
self.ncclear_tool.on_tool_add(dia=float(val))
|
||||
else:
|
||||
self.inform.emit('[WARNING_NOTCL] %s...' %
|
||||
_("Adding Tool cancelled"))
|
||||
self.ncclear_tool.on_add_tool_by_key()
|
||||
|
||||
# and only if the tool is Paint Area Tool
|
||||
elif tool_widget == self.paint_tool.toolName:
|
||||
if ok:
|
||||
if float(val) == 0:
|
||||
self.inform.emit('[WARNING_NOTCL] %s' %
|
||||
_("Please enter a tool diameter with non-zero value, in Float format."))
|
||||
return
|
||||
self.paint_tool.on_tool_add(dia=float(val))
|
||||
else:
|
||||
self.inform.emit('[WARNING_NOTCL] %s...' %
|
||||
_("Adding Tool cancelled"))
|
||||
self.paint_tool.on_add_tool_by_key()
|
||||
|
||||
# and only if the tool is Solder Paste Dispensing Tool
|
||||
elif tool_widget == self.paste_tool.toolName:
|
||||
if ok:
|
||||
if float(val) == 0:
|
||||
self.inform.emit('[WARNING_NOTCL] %s' %
|
||||
_("Please enter a tool diameter with non-zero value, in Float format."))
|
||||
return
|
||||
self.paste_tool.on_tool_add(dia=float(val))
|
||||
else:
|
||||
self.inform.emit('[WARNING_NOTCL] %s...' %
|
||||
_("Adding Tool cancelled"))
|
||||
self.paste_tool.on_add_tool_by_key()
|
||||
|
||||
# It's meant to delete tools in tool tables via a 'Delete' shortcut key but only if certain conditions are met
|
||||
# See description bellow.
|
||||
|
|
|
@ -14,6 +14,8 @@ CAD program, and create G-Code for Isolation routing.
|
|||
- remade the Tool Calculators to use the QSpinBox in order to simplify the user interaction and remove possible errors
|
||||
- remade: Tool Cutout, Tool 2Sided, Tool Image, Panelize Tool, NCC Tool, Paint Tool to use the QSpinBox GUI elements
|
||||
- optimized the Transformation Tool both in GUI and in functionality and replaced the entries with QSpinBox
|
||||
- fixed an issue with the tool table context menu in Paint Tool
|
||||
- made some changes in the GUI in Paint Tool, NCC Tool and SolderPaste Tool
|
||||
|
||||
4.10.2019
|
||||
|
||||
|
|
|
@ -225,6 +225,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
|
|||
_("The tip diameter for V-Shape Tool"))
|
||||
self.tipdia_entry = FCDoubleSpinner()
|
||||
self.tipdia_entry.set_precision(self.decimals)
|
||||
self.tipdia_entry.setSingleStep(0.1)
|
||||
|
||||
form.addRow(self.tipdialabel, self.tipdia_entry)
|
||||
|
||||
|
@ -235,6 +236,7 @@ class NonCopperClear(FlatCAMTool, Gerber):
|
|||
"In degree."))
|
||||
self.tipangle_entry = FCDoubleSpinner()
|
||||
self.tipangle_entry.set_precision(self.decimals)
|
||||
self.tipangle_entry.setSingleStep(5)
|
||||
|
||||
form.addRow(self.tipanglelabel, self.tipangle_entry)
|
||||
|
||||
|
@ -460,30 +462,39 @@ class NonCopperClear(FlatCAMTool, Gerber):
|
|||
)
|
||||
self.tools_box.addWidget(self.generate_ncc_button)
|
||||
self.tools_box.addStretch()
|
||||
# ############################ FINSIHED GUI ###################################
|
||||
# #############################################################################
|
||||
|
||||
# #############################################################################
|
||||
# ###################### Setup CONTEXT MENU ###################################
|
||||
# #############################################################################
|
||||
self.tools_table.setupContextMenu()
|
||||
self.tools_table.addContextMenu(
|
||||
"Add", lambda: self.on_tool_add(dia=None, muted=None), icon=QtGui.QIcon("share/plus16.png"))
|
||||
"Add", self.on_add_tool_by_key, icon=QtGui.QIcon("share/plus16.png"))
|
||||
self.tools_table.addContextMenu(
|
||||
"Delete", lambda:
|
||||
self.on_tool_delete(rows_to_delete=None, all=None), icon=QtGui.QIcon("share/delete32.png"))
|
||||
|
||||
# #############################################################################
|
||||
# ########################## VARIABLES ########################################
|
||||
# #############################################################################
|
||||
self.units = ''
|
||||
self.ncc_tools = {}
|
||||
self.ncc_tools = dict()
|
||||
self.tooluid = 0
|
||||
|
||||
# store here the default data for Geometry Data
|
||||
self.default_data = {}
|
||||
self.default_data = dict()
|
||||
|
||||
self.obj_name = ""
|
||||
self.ncc_obj = None
|
||||
|
||||
self.sel_rect = []
|
||||
self.sel_rect = list()
|
||||
|
||||
self.bound_obj_name = ""
|
||||
self.bound_obj = None
|
||||
|
||||
self.ncc_dia_list = []
|
||||
self.iso_dia_list = []
|
||||
self.ncc_dia_list = list()
|
||||
self.iso_dia_list = list()
|
||||
self.has_offset = None
|
||||
self.o_name = None
|
||||
self.overlap = None
|
||||
|
@ -497,13 +508,16 @@ class NonCopperClear(FlatCAMTool, Gerber):
|
|||
|
||||
self.mm = None
|
||||
self.mr = None
|
||||
|
||||
# store here solid_geometry when there are tool with isolation job
|
||||
self.solid_geometry = []
|
||||
self.solid_geometry = list()
|
||||
|
||||
self.select_method = None
|
||||
self.tool_type_item_options = list()
|
||||
|
||||
self.tool_type_item_options = []
|
||||
|
||||
# #############################################################################
|
||||
# ############################ SGINALS ########################################
|
||||
# #############################################################################
|
||||
self.addtool_btn.clicked.connect(self.on_tool_add)
|
||||
self.addtool_entry.editingFinished.connect(self.on_tool_add)
|
||||
self.deltool_btn.clicked.connect(self.on_tool_delete)
|
||||
|
@ -522,6 +536,22 @@ class NonCopperClear(FlatCAMTool, Gerber):
|
|||
self.object_combo.setRootModelIndex(self.app.collection.index(obj_type, 0, QtCore.QModelIndex()))
|
||||
self.object_combo.setCurrentIndex(0)
|
||||
|
||||
def on_add_tool_by_key(self):
|
||||
tool_add_popup = FCInputDialog(title='%s...' % _("New Tool"),
|
||||
text='%s:' % _('Enter a Tool Diameter'),
|
||||
min=0.0000, max=99.9999, decimals=4)
|
||||
tool_add_popup.setWindowIcon(QtGui.QIcon('share/letter_t_32.png'))
|
||||
|
||||
val, ok = tool_add_popup.get_value()
|
||||
if ok:
|
||||
if float(val) == 0:
|
||||
self.app.inform.emit('[WARNING_NOTCL] %s' %
|
||||
_("Please enter a tool diameter with non-zero value, in Float format."))
|
||||
return
|
||||
self.on_tool_add(dia=float(val))
|
||||
else:
|
||||
self.app.inform.emit('[WARNING_NOTCL] %s...' % _("Adding Tool cancelled"))
|
||||
|
||||
def install(self, icon=None, separator=None, **kwargs):
|
||||
FlatCAMTool.install(self, icon, separator, shortcut='ALT+N', **kwargs)
|
||||
|
||||
|
|
|
@ -351,6 +351,8 @@ class ToolPaint(FlatCAMTool, Gerber):
|
|||
self.tools_box.addWidget(self.generate_paint_button)
|
||||
|
||||
self.tools_box.addStretch()
|
||||
# #################################### FINSIHED GUI #####################################
|
||||
# #######################################################################################
|
||||
|
||||
self.obj_name = ""
|
||||
self.paint_obj = None
|
||||
|
@ -412,7 +414,9 @@ class ToolPaint(FlatCAMTool, Gerber):
|
|||
|
||||
self.tool_type_item_options = ["C1", "C2", "C3", "C4", "B", "V"]
|
||||
|
||||
# ## Signals
|
||||
# #############################################################################
|
||||
# ################################# Signals ###################################
|
||||
# #############################################################################
|
||||
self.addtool_btn.clicked.connect(self.on_tool_add)
|
||||
self.addtool_entry.editingFinished.connect(self.on_tool_add)
|
||||
# self.copytool_btn.clicked.connect(lambda: self.on_tool_copy())
|
||||
|
@ -426,6 +430,16 @@ class ToolPaint(FlatCAMTool, Gerber):
|
|||
self.box_combo_type.currentIndexChanged.connect(self.on_combo_box_type)
|
||||
self.type_obj_combo.currentIndexChanged.connect(self.on_type_obj_index_changed)
|
||||
|
||||
# #############################################################################
|
||||
# ###################### Setup CONTEXT MENU ###################################
|
||||
# #############################################################################
|
||||
self.tools_table.setupContextMenu()
|
||||
self.tools_table.addContextMenu(
|
||||
"Add", self.on_add_tool_by_key, icon=QtGui.QIcon("share/plus16.png"))
|
||||
self.tools_table.addContextMenu(
|
||||
"Delete", lambda:
|
||||
self.on_tool_delete(rows_to_delete=None, all=None), icon=QtGui.QIcon("share/delete32.png"))
|
||||
|
||||
def on_type_obj_index_changed(self, index):
|
||||
obj_type = self.type_obj_combo.currentIndex()
|
||||
self.obj_combo.setRootModelIndex(self.app.collection.index(obj_type, 0, QtCore.QModelIndex()))
|
||||
|
@ -434,6 +448,22 @@ class ToolPaint(FlatCAMTool, Gerber):
|
|||
def install(self, icon=None, separator=None, **kwargs):
|
||||
FlatCAMTool.install(self, icon, separator, shortcut='ALT+P', **kwargs)
|
||||
|
||||
def on_add_tool_by_key(self):
|
||||
tool_add_popup = FCInputDialog(title='%s...' % _("New Tool"),
|
||||
text='%s:' % _('Enter a Tool Diameter'),
|
||||
min=0.0000, max=99.9999, decimals=4)
|
||||
tool_add_popup.setWindowIcon(QtGui.QIcon('share/letter_t_32.png'))
|
||||
|
||||
val, ok = tool_add_popup.get_value()
|
||||
if ok:
|
||||
if float(val) == 0:
|
||||
self.app.inform.emit('[WARNING_NOTCL] %s' %
|
||||
_("Please enter a tool diameter with non-zero value, in Float format."))
|
||||
return
|
||||
self.on_tool_add(dia=float(val))
|
||||
else:
|
||||
self.app.inform.emit('[WARNING_NOTCL] %s...' % _("Adding Tool cancelled"))
|
||||
|
||||
def run(self, toggle=True):
|
||||
self.app.report_usage("ToolPaint()")
|
||||
|
||||
|
@ -488,15 +518,6 @@ class ToolPaint(FlatCAMTool, Gerber):
|
|||
# disable rest-machining for single polygon painting
|
||||
self.rest_cb.set_value(False)
|
||||
self.rest_cb.setDisabled(True)
|
||||
# delete all tools except first row / tool for single polygon painting
|
||||
# list_to_del = list(range(1, self.tools_table.rowCount()))
|
||||
# if list_to_del:
|
||||
# self.on_tool_delete(rows_to_delete=list_to_del)
|
||||
# # disable addTool and delTool
|
||||
# self.addtool_entry.setDisabled(True)
|
||||
# self.addtool_btn.setDisabled(True)
|
||||
# self.deltool_btn.setDisabled(True)
|
||||
# self.tools_table.setContextMenuPolicy(Qt.NoContextMenu)
|
||||
if self.selectmethod_combo.get_value() == 'area':
|
||||
# disable rest-machining for single polygon painting
|
||||
self.rest_cb.set_value(False)
|
||||
|
@ -546,13 +567,6 @@ class ToolPaint(FlatCAMTool, Gerber):
|
|||
self.decimals = 2
|
||||
self.addtool_entry.set_value(1)
|
||||
|
||||
self.tools_table.setupContextMenu()
|
||||
self.tools_table.addContextMenu(
|
||||
"Add", lambda: self.on_tool_add(dia=None, muted=None), icon=QtGui.QIcon("share/plus16.png"))
|
||||
self.tools_table.addContextMenu(
|
||||
"Delete", lambda:
|
||||
self.on_tool_delete(rows_to_delete=None, all=None), icon=QtGui.QIcon("share/delete32.png"))
|
||||
|
||||
# set the working variables to a known state
|
||||
self.paint_tools.clear()
|
||||
self.tooluid = 0
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
from FlatCAMTool import FlatCAMTool
|
||||
from FlatCAMCommon import LoudDict
|
||||
from flatcamGUI.GUIElements import FCComboBox, FCEntry, FCEntry2, FCTable
|
||||
from flatcamGUI.GUIElements import FCComboBox, FCEntry, FCEntry2, FCTable, FCInputDialog
|
||||
from FlatCAMApp import log
|
||||
from camlib import distance
|
||||
from FlatCAMObj import FlatCAMCNCjob
|
||||
|
@ -460,6 +460,22 @@ class SolderPaste(FlatCAMTool):
|
|||
def install(self, icon=None, separator=None, **kwargs):
|
||||
FlatCAMTool.install(self, icon, separator, shortcut='ALT+K', **kwargs)
|
||||
|
||||
def on_add_tool_by_key(self):
|
||||
tool_add_popup = FCInputDialog(title='%s...' % _("New Tool"),
|
||||
text='%s:' % _('Enter a Tool Diameter'),
|
||||
min=0.0000, max=99.9999, decimals=4)
|
||||
tool_add_popup.setWindowIcon(QtGui.QIcon('share/letter_t_32.png'))
|
||||
|
||||
val, ok = tool_add_popup.get_value()
|
||||
if ok:
|
||||
if float(val) == 0:
|
||||
self.app.inform.emit('[WARNING_NOTCL] %s' %
|
||||
_("Please enter a tool diameter with non-zero value, in Float format."))
|
||||
return
|
||||
self.on_tool_add(dia=float(val))
|
||||
else:
|
||||
self.app.inform.emit('[WARNING_NOTCL] %s...' % _("Adding Tool cancelled"))
|
||||
|
||||
def set_tool_ui(self):
|
||||
self.form_fields.update({
|
||||
"tools_solderpaste_new": self.addtool_entry,
|
||||
|
|
Loading…
Reference in New Issue