@@ -273,6 +273,13 @@ def __init__(self, dbgstate=0):
273273 self .widgets .createshortcut .set_active (short )
274274 self .widgets .advancedconfig .set_active (show_pages )
275275
276+ # setup stylesheet for widget coloring
277+ # we use this later to highlight missing axis and encoder info
278+ self .css_provider = Gtk .CssProvider ()
279+ context = Gtk .StyleContext ()
280+ screen = Gdk .Screen .get_default ()
281+ context .add_provider_for_screen (screen , self .css_provider , Gtk .STYLE_PROVIDER_PRIORITY_APPLICATION )
282+
276283 tempfile = os .path .join (self ._p .DISTDIR , "configurable_options/ladder/TEMP.clp" )
277284 if os .path .exists (tempfile ):
278285 os .remove (tempfile )
@@ -4899,16 +4906,22 @@ def motor_encoder_sanity_check(self,widgets,axis):
48994906 if self .findsignal (axis + "-encoder-a" ): encoder = True
49004907 if self .findsignal (axis + "-resolver" ): resolver = True
49014908 if self .findsignal (axis + "-pot-outpot" ): pot = True
4909+ css = ""
49024910 if encoder or resolver :
49034911 if self .widgets [axis + "encoderscale" ].get_value () < 1 :
4904- self . widgets [ axis + "encoderscale" ]. override_background_color ( Gtk . StateFlags . NORMAL , Gdk . RGBA . from_color ( Gdk . color_parse ( 'red' )))
4912+ css += f'# { axis } encoderscale'
49054913 dbg ('encoder resolver scale bad %f' % self .widgets [axis + "encoderscale" ].get_value ())
49064914 bad = True
49074915 if stepdrive :
49084916 if self .widgets [axis + "stepscale" ].get_value () < 1 :
4909- self .widgets [axis + "stepscale" ].override_background_color (Gtk .StateFlags .NORMAL , Gdk .RGBA .from_color (Gdk .color_parse ('red' )))
4917+ if css :
4918+ css += ", "
4919+ css += f'#{ axis } stepscale'
49104920 dbg ('step scale bad' )
49114921 bad = True
4922+ if css :
4923+ css += '{background-color: red}'
4924+ self .css_provider .load_from_data (css .encode ())
49124925 if not (encoder or resolver ) and not stepdrive and not axis == "s" :
49134926 dbg ('encoder %s resolver %s stepper %s axis %s' % (encoder ,resolver ,stepdrive ,axis ))
49144927 bad = True
@@ -4925,8 +4938,8 @@ def motor_encoder_sanity_check(self,widgets,axis):
49254938 self .widgets [axis + "axistest" ].set_sensitive (0 )
49264939 else :
49274940 dbg ('motor %s_encoder sanity check - good' % axis )
4928- self . widgets [ axis + "encoderscale" ]. override_background_color ( Gtk . StateFlags . NORMAL , self . origbg )
4929- self .widgets [ axis + "stepscale" ]. override_background_color ( Gtk . StateFlags . NORMAL , self . origbg )
4941+ css = f'# { axis } stepscale, # { axis } encoderscale {{background-color: @theme_bg_color;}}'
4942+ self .css_provider . load_from_data ( css . encode () )
49304943 self .p .set_buttons_sensitive (1 ,1 )
49314944 self .widgets [axis + "axistune" ].set_sensitive (1 )
49324945 self .widgets [axis + "axistest" ].set_sensitive (1 )
0 commit comments