@@ -3985,21 +3985,30 @@ def on_rbt_forward_clicked(self, widget, data=None):
39853985 widget .set_image (self .widgets .img_spindle_forward_on )
39863986 self ._set_spindle ("forward" )
39873987 else :
3988- self .widgets .rbt_forward .set_image (self .widgets .img_spindle_forward )
3988+ widget .set_image (self .widgets .img_spindle_forward )
3989+ # Toggling the sensitive property is important here! See the commit description.
3990+ widget .set_sensitive (not widget .get_sensitive ())
3991+ widget .set_sensitive (not widget .get_sensitive ())
39893992
39903993 def on_rbt_reverse_clicked (self , widget , data = None ):
39913994 if widget .get_active ():
39923995 widget .set_image (self .widgets .img_spindle_reverse_on )
39933996 self ._set_spindle ("reverse" )
39943997 else :
39953998 widget .set_image (self .widgets .img_spindle_reverse )
3999+ # Toggling the sensitive property is important here! See the commit description.
4000+ widget .set_sensitive (not widget .get_sensitive ())
4001+ widget .set_sensitive (not widget .get_sensitive ())
39964002
39974003 def on_rbt_stop_clicked (self , widget , data = None ):
39984004 if widget .get_active ():
39994005 widget .set_image (self .widgets .img_spindle_stop_on )
40004006 self ._set_spindle ("stop" )
40014007 else :
4002- self .widgets .rbt_stop .set_image (self .widgets .img_spindle_stop )
4008+ widget .set_image (self .widgets .img_spindle_stop )
4009+ # Toggling the sensitive property is important here! See the commit description.
4010+ widget .set_sensitive (not widget .get_sensitive ())
4011+ widget .set_sensitive (not widget .get_sensitive ())
40034012
40044013 def _set_spindle (self , command ):
40054014 # if we are in estop state, we will have to leave here, otherwise
@@ -4012,18 +4021,6 @@ def _set_spindle(self, command):
40124021 # be set to the commanded value due to the next code part
40134022 if self .stat .task_mode != linuxcnc .MODE_MANUAL :
40144023 if self .stat .interp_state == linuxcnc .INTERP_READING or self .stat .interp_state == linuxcnc .INTERP_WAITING :
4015- if self .stat .spindle [0 ]['direction' ] > 0 :
4016- self .widgets .rbt_forward .set_sensitive (False )
4017- self .widgets .rbt_reverse .set_sensitive (True )
4018- self .widgets .rbt_stop .set_sensitive (True )
4019- elif self .stat .spindle [0 ]['direction' ] < 0 :
4020- self .widgets .rbt_forward .set_sensitive (True )
4021- self .widgets .rbt_reverse .set_sensitive (False )
4022- self .widgets .rbt_stop .set_sensitive (True )
4023- else :
4024- self .widgets .rbt_forward .set_sensitive (True )
4025- self .widgets .rbt_reverse .set_sensitive (True )
4026- self .widgets .rbt_stop .set_sensitive (False )
40274024 return
40284025
40294026 rpm = self ._check_spindle_range ()
0 commit comments