Skip to content

Commit 027c75a

Browse files
Sigma1912hansu
authored andcommitted
Gmoccapy: Fix current tool check when deleting multiple tools
1 parent ed5442c commit 027c75a

2 files changed

Lines changed: 14 additions & 7 deletions

File tree

lib/python/gladevcp/tooledit_widget.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,10 +206,16 @@ def match_value_cb(model, path, iter, pathlist):
206206
pathlist = []
207207
liststore.foreach(match_value_cb, pathlist)
208208
# foreach works in a depth first fashion
209-
if len(pathlist) != 1:
209+
if len(pathlist) == 0:
210210
return None
211-
else:
211+
elif len(pathlist) == 1:
212212
return(liststore.get_value(liststore.get_iter(pathlist[0]),1))
213+
else:
214+
selected_tools = []
215+
for path in pathlist:
216+
tool = (liststore.get_value(liststore.get_iter(path[0]),1))
217+
selected_tools.append(tool)
218+
return selected_tools
213219

214220
# return tool number of the highlighted (ie selected) row
215221
def get_selected_row(self):

src/emc/usr_intf/gmoccapy/gmoccapy.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1999,6 +1999,7 @@ def _init_tooleditor(self):
19991999
btn_delete.set_image(self.widgets.img_tool_delete)
20002000
btn_delete.set_tooltip_text(_("Delete selected tools"))
20012001
btn_delete.set_always_show_image(True)
2002+
btn_delete.disconnect_by_func(self.widgets.tooledit1.delete)
20022003
btn_delete.connect("clicked",self.on_btn_delete_tool_clicked)
20032004
# Add button
20042005
btn_add = self.widgets.tooledit1.wTree.get_object("add")
@@ -5443,15 +5444,15 @@ def on_tool_change(self, widget):
54435444
self.halcomp['toolchange-changed'] = False
54445445

54455446
def on_btn_delete_tool_clicked(self, widget, data=None):
5446-
act_tool = self.stat.tool_in_spindle
5447-
if act_tool == self.widgets.tooledit1.get_selected_tool():
5447+
selected_tools = self.widgets.tooledit1.get_selected_tool()
5448+
if not isinstance(selected_tools, list):
5449+
selected_tools = [selected_tools]
5450+
if self.stat.tool_in_spindle in selected_tools:
54485451
message = _("You are trying to delete the tool mounted in the spindle\n")
54495452
message += _("This is not allowed, please change tool prior to delete it")
54505453
self.dialogs.warning_dialog(self, _("Warning Tool can not be deleted!"), message)
54515454
return
5452-
5453-
self.widgets.tooledit1.delete(None)
5454-
self.widgets.tooledit1.set_selected_tool(act_tool)
5455+
self.widgets.tooledit1.delete(widget)
54555456

54565457
def on_btn_reload_tooltable_clicked(self, widget, data=None):
54575458
self.widgets.tooledit1.reload(None)

0 commit comments

Comments
 (0)