diff --git a/src/PluginUtils/_GuiOptions.py b/src/PluginUtils/_GuiOptions.py index 0ae5f203f..c3e4e3a0b 100644 --- a/src/PluginUtils/_GuiOptions.py +++ b/src/PluginUtils/_GuiOptions.py @@ -3,6 +3,7 @@ # # Copyright (C) 2007-2008 Brian G. Matherly # Copyright (C) 2008 Gary Burton +# Copyright (C) 2008 Craig J. Anderson # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -169,12 +170,22 @@ class GuiStringOption(gtk.Entry): self.connect('changed', self.__text_changed) tooltip.set_tip(self, self.__option.get_help()) + self.__option.connect('avail-changed', self.__update_avail) + self.__update_avail() + def __text_changed(self, obj): # IGNORE:W0613 - obj is unused """ Handle the change of the value. """ self.__option.set_value( self.get_text() ) + def __update_avail(self): + """ + Update the availability (sensitivity) of this widget. + """ + avail = self.__option.get_available() + self.set_sensitive(avail) + #------------------------------------------------------------------------- # # GuiColorOption class @@ -305,13 +316,23 @@ class GuiBooleanOption(gtk.CheckButton): self.set_active(self.__option.get_value()) self.connect('toggled', self.__value_changed) tooltip.set_tip(self, self.__option.get_help()) - + + self.__option.connect('avail-changed', self.__update_avail) + self.__update_avail() + def __value_changed(self, obj): # IGNORE:W0613 - obj is unused """ Handle the change of the value. """ self.__option.set_value( self.get_active() ) + def __update_avail(self): + """ + Update the availability (sensitivity) of this widget. + """ + avail = self.__option.get_available() + self.set_sensitive(avail) + #------------------------------------------------------------------------- # # GuiEnumeratedListOption class