Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions lib/python/gladevcp/tooledit_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,10 +206,16 @@ def match_value_cb(model, path, iter, pathlist):
pathlist = []
liststore.foreach(match_value_cb, pathlist)
# foreach works in a depth first fashion
if len(pathlist) != 1:
if len(pathlist) == 0:
return None
else:
elif len(pathlist) == 1:
return(liststore.get_value(liststore.get_iter(pathlist[0]),1))
else:
selected_tools = []
for path in pathlist:
tool = (liststore.get_value(liststore.get_iter(path[0]),1))
selected_tools.append(tool)
return selected_tools

# return tool number of the highlighted (ie selected) row
def get_selected_row(self):
Expand Down
33 changes: 16 additions & 17 deletions src/emc/usr_intf/gmoccapy/gmoccapy.py
Original file line number Diff line number Diff line change
Expand Up @@ -1997,24 +1997,30 @@ def _init_tooleditor(self):
btn_delete.set_size_request(56, 56)
btn_delete.set_label("")
btn_delete.set_image(self.widgets.img_tool_delete)
btn_delete.set_tooltip_text(_("Delete selected tools"))
btn_delete.set_always_show_image(True)
btn_delete.disconnect_by_func(self.widgets.tooledit1.delete)
btn_delete.connect("clicked",self.on_btn_delete_tool_clicked)
# Add button
btn_add = self.widgets.tooledit1.wTree.get_object("add")
btn_add.set_size_request(56, 56)
btn_add.set_label("")
btn_add.set_image(self.widgets.img_tool_add)
btn_add.set_tooltip_text(_("Add new tool"))
btn_add.set_always_show_image(True)
# Reload button
btn_reload = self.widgets.tooledit1.wTree.get_object("reload")
btn_reload.set_size_request(56, 56)
btn_reload.set_label("")
btn_reload.set_image(self.widgets.img_tool_reload)
btn_reload.set_tooltip_text(_("Reload tool table from file"))
btn_reload.set_always_show_image(True)
# Save button
btn_save = self.widgets.tooledit1.wTree.get_object("apply")
btn_save.set_size_request(56, 56)
btn_save.set_label("")
btn_save.set_image(self.widgets.img_tool_save)
btn_save.set_tooltip_text(_("Save tool table to file"))
btn_save.set_always_show_image(True)
# Create a label for current tool in spindle
lbl_tool = Gtk.Label()
Expand All @@ -2040,7 +2046,10 @@ def _init_tooleditor(self):
self.widgets.tooledit1.set_selected_tool = self.set_selected_tool

def set_selected_tool(self, toolnumber):
lbl_tool_text = "Tool loaded: " + str(toolnumber)
lbl_tool_text = ""
# When using touch keyboard we display the current tool in the tooltable frame
if self.widgets.chk_use_kb_on_tooledit.get_active():
lbl_tool_text = "Tool loaded: " + str(toolnumber)
Comment on lines -2043 to +2052
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not always display the tool number of the current tool?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was a request to avoid having redundant information:
#3509 (comment)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ok. I disagree 🙃

self.widgets.tooledit1.lbl_tool.set_text(lbl_tool_text)

def on_tree_navigate_key_press(self, treeview, event, filter):
Expand Down Expand Up @@ -2598,6 +2607,7 @@ def _show_tooledit_tab(self, state):
self.widgets.ntb_preview.set_property("show-tabs", not state)
self.widgets.vbx_jog.hide()
self.widgets.ntb_preview.set_current_page(2)
self.widgets.tooledit1.reload(None)
self.widgets.tooledit1.set_selected_tool(self.stat.tool_in_spindle)
if self.widgets.chk_use_kb_on_tooledit.get_active():
self.widgets.ntb_info.set_current_page(1)
Expand Down Expand Up @@ -5436,26 +5446,15 @@ def on_tool_change(self, widget):
self.halcomp['toolchange-changed'] = False

def on_btn_delete_tool_clicked(self, widget, data=None):
act_tool = self.stat.tool_in_spindle
if act_tool == self.widgets.tooledit1.get_selected_tool():
selected_tools = self.widgets.tooledit1.get_selected_tool()
if not isinstance(selected_tools, list):
selected_tools = [selected_tools]
if self.stat.tool_in_spindle in selected_tools:
message = _("You are trying to delete the tool mounted in the spindle\n")
message += _("This is not allowed, please change tool prior to delete it")
self.dialogs.warning_dialog(self, _("Warning Tool can not be deleted!"), message)
return

self.widgets.tooledit1.delete(None)
self.widgets.tooledit1.set_selected_tool(act_tool)

def on_btn_add_tool_clicked(self, widget, data=None):
self.widgets.tooledit1.add(None)

def on_btn_reload_tooltable_clicked(self, widget, data=None):
self.widgets.tooledit1.reload(None)
self.widgets.tooledit1.set_selected_tool(self.stat.tool_in_spindle)

def on_btn_save_tool_changes_clicked(self, widget, data=None):
self.widgets.tooledit1.save(None)
self.widgets.tooledit1.set_selected_tool(self.stat.tool_in_spindle)
self.widgets.tooledit1.delete(widget)

def on_btn_tool_touchoff_clicked(self, widget, data=None):
if not self.widgets.tooledit1.get_selected_tool():
Expand Down
Loading