@@ -288,7 +288,7 @@ def bind_position_callbacks(self):
288288 if not self .position_callbacks_bound :
289289 for axis in ["x" , "y" , "z" , "theta" , "f" ]:
290290 # add event bind to position entry variables
291- widgets [axis ].bind ("<FocusOut>" , self .position_callback (axis ))
291+ widgets [axis ].widget . bind ("<FocusOut>" , self .position_callback (axis ))
292292 # cbname = self.widget_vals[axis].trace_add(
293293 # "write", self.position_callback(axis)
294294 # )
@@ -320,13 +320,11 @@ def set_position(self, position):
320320 position : dict
321321 {'x': value, 'y': value, 'z': value, 'theta': value, 'f': value}
322322 """
323- widgets = self .view .get_widgets ()
324323 for axis in ["x" , "y" , "z" , "theta" , "f" ]:
325- self .widget_vals [axis ].set (position .get (axis , 0 ))
326- # validate position value if set through variable
327- if self .stage_limits :
328- widgets [axis ].widget .trigger_focusout_validation ()
329- self .stage_setting_dict [axis ] = position .get (axis , 0 )
324+ if axis not in position :
325+ continue
326+ self .widget_vals [axis ].set (position [axis ])
327+ self .position_callback (axis )()
330328 self .show_verbose_info ("Set stage position" )
331329
332330 def set_position_silent (self , position ):
@@ -337,11 +335,17 @@ def set_position_silent(self, position):
337335 position : dict
338336 {'x': value, 'y': value, 'z': value, 'theta': value, 'f': value}
339337 """
340- # self.unbind_position_callbacks()
341-
342- self .set_position (position )
338+ widgets = self .view .get_widgets ()
339+ for axis in ["x" , "y" , "z" , "theta" , "f" ]:
340+ if axis not in position :
341+ continue
342+ self .widget_vals [axis ].set (position [axis ])
343+ # validate position value if set through variable
344+ if self .stage_limits :
345+ widgets [axis ].widget .trigger_focusout_validation ()
346+ self .stage_setting_dict [axis ] = position .get (axis , 0 )
347+ self .show_verbose_info ("Set stage position" )
343348
344- # self.bind_position_callbacks()
345349
346350 def get_position (self ):
347351 """This function returns current position from the view.
0 commit comments