From bb1801aa46c5e65865529798bda4d9c9474592ef Mon Sep 17 00:00:00 2001 From: david mueller Date: Fri, 21 Aug 2026 10:44:39 +0200 Subject: [PATCH 1/2] Gmoccapy: Fixes in calculator and tooledit_widget Calculator no longer hands back float strings when asking for integers Tooledit_widget now truncates float input values to positive integer values for the tool- and pocket number --- lib/python/gladevcp/tooledit_widget.py | 2 +- src/emc/usr_intf/gmoccapy/gmoccapy.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/python/gladevcp/tooledit_widget.py b/lib/python/gladevcp/tooledit_widget.py index 8f21e9db42c..8bdb5677d9d 100644 --- a/lib/python/gladevcp/tooledit_widget.py +++ b/lib/python/gladevcp/tooledit_widget.py @@ -512,7 +512,7 @@ def validate_input(self, path, new_text, col): if col in(1,2): try: - self.model[path][col] = int(new_text) + self.model[path][col] = abs(int(float(new_text.replace(',', '.')))) except: pass # validate input for float columns diff --git a/src/emc/usr_intf/gmoccapy/gmoccapy.py b/src/emc/usr_intf/gmoccapy/gmoccapy.py index 1e6852dcc90..736f8937c0e 100644 --- a/src/emc/usr_intf/gmoccapy/gmoccapy.py +++ b/src/emc/usr_intf/gmoccapy/gmoccapy.py @@ -2101,11 +2101,12 @@ def on_tool_col_edit_started(self, widget, filtered_path, new_text, col): toolpage = self.widgets.tooledit1 toolview = toolpage.view1 model, treeiter = toolview.get_selection().get_selected() + integer_cols = [1,2,15] value = self.dialogs.entry_dialog(self, data=model[treeiter][col], header=_("Enter value"), label=_("Tool") + f" {model[treeiter][1]}, {captations[col]}:", - integer=col in [1,2,15]) + integer=col in integer_cols) if value == "ERROR": LOG.debug("conversion error") self.dialogs.warning_dialog(self, _("Conversion error !"), @@ -2118,7 +2119,10 @@ def on_tool_col_edit_started(self, widget, filtered_path, new_text, col): # Clicking on a cell emits 'editing-started' which leads to the evaluation of the text in edit mode. # To use the return value of the calculator, it must be pretended that there is no editable (=no edit mode). self.widgets.tooledit1.editable = None - self.widgets.tooledit1.validate_input(row, f"{value:11.4f}", col) + if col in integer_cols: + self.widgets.tooledit1.validate_input(row, f"{value:11.0f}", col) + else: + self.widgets.tooledit1.validate_input(row, f"{value:11.4f}", col) self.widgets.tooledit1.edited = True # this is needed to get offsetview out of editing mode GLib.timeout_add(50, From 733754b3ae6868f2c9fd7747269b23be5ea22518 Mon Sep 17 00:00:00 2001 From: Sigma1912 <46067220+Sigma1912@users.noreply.github.com> Date: Sat, 22 Aug 2026 11:53:37 +0200 Subject: [PATCH 2/2] Update src/emc/usr_intf/gmoccapy/gmoccapy.py Co-authored-by: Hans Unzner --- src/emc/usr_intf/gmoccapy/gmoccapy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/emc/usr_intf/gmoccapy/gmoccapy.py b/src/emc/usr_intf/gmoccapy/gmoccapy.py index 736f8937c0e..8ece446648e 100644 --- a/src/emc/usr_intf/gmoccapy/gmoccapy.py +++ b/src/emc/usr_intf/gmoccapy/gmoccapy.py @@ -2120,7 +2120,7 @@ def on_tool_col_edit_started(self, widget, filtered_path, new_text, col): # To use the return value of the calculator, it must be pretended that there is no editable (=no edit mode). self.widgets.tooledit1.editable = None if col in integer_cols: - self.widgets.tooledit1.validate_input(row, f"{value:11.0f}", col) + self.widgets.tooledit1.validate_input(row, f"{value:11d}", col) else: self.widgets.tooledit1.validate_input(row, f"{value:11.4f}", col) self.widgets.tooledit1.edited = True