@@ -2124,11 +2124,11 @@ def on_tool_col_edit_started(self, widget, filtered_path, new_text, col):
21242124 "Diameter" , "Front angle" , "Back angle" , "Orientation" , ";1" ]
21252125 toolpage = self .widgets .tooledit1
21262126 toolview = toolpage .view1
2127- model , row = toolview .get_selection ().get_selected ()
2127+ model , treeiter = toolview .get_selection ().get_selected ()
21282128 value = self .dialogs .entry_dialog (self ,
2129- data = model [row ][col ],
2129+ data = model [treeiter ][col ],
21302130 header = _ ("Enter value" ),
2131- label = _ ("Tool" ) + f" { model [row ][1 ]} , { captations [col ]} :" ,
2131+ label = _ ("Tool" ) + f" { model [treeiter ][1 ]} , { captations [col ]} :" ,
21322132 integer = col in [1 ,2 ,15 ])
21332133 if value == "ERROR" :
21342134 LOG .debug ("conversion error" )
@@ -2137,16 +2137,17 @@ def on_tool_col_edit_started(self, widget, filtered_path, new_text, col):
21372137 elif value == "CANCEL" :
21382138 pass
21392139 else :
2140- store = toolpage .wTree .get_object ("liststore1" )
2141- if col in [1 ,2 ,15 ]:
2142- store [row ][col ] = value
2143- else :
2144- store [row ][col ] = f"{ value :11.4f} "
2140+ path = model .get_path (treeiter )
2141+ row = path .get_indices ()[0 ]
2142+ # Clicking on a cell emits 'editing-started' which leads to the evaluation of the text in edit mode.
2143+ # To use the return value of the calculator, it must be pretended that there is no editable (=no edit mode).
2144+ self .widgets .tooledit1 .editable = None
2145+ self .widgets .tooledit1 .validate_input (row , f"{ value :11.4f} " , col )
21452146 self .widgets .tooledit1 .edited = True
21462147 # this is needed to get offsetview out of editing mode
21472148 GLib .timeout_add (50 ,
21482149 toolview .set_cursor ,
2149- toolpage .model .get_path (row ),
2150+ toolpage .model .get_path (treeiter ),
21502151 toolview .get_columns ()[0 ],
21512152 True )
21522153
0 commit comments