From 3b5fc17434361cb7698e9dd9b0f16e4fbdea7f78 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Wed, 9 Sep 2009 13:57:38 -0700 Subject: [PATCH] set text box bg color on change --- gr-wxgui/src/python/forms/forms.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gr-wxgui/src/python/forms/forms.py b/gr-wxgui/src/python/forms/forms.py index c0f181b4..8dc58367 100644 --- a/gr-wxgui/src/python/forms/forms.py +++ b/gr-wxgui/src/python/forms/forms.py @@ -37,9 +37,6 @@ The forms follow a layered model: Known problems: * An empty label in the radio box still consumes space. * The static text cannot resize the parent at runtime. - * Text box should indicate its that its edited but not committed. - * Colorize? - * Tab out to commit? """ EXT_KEY = 'external' @@ -227,11 +224,18 @@ class text_box(_form_base): def __init__(self, label='', width=-1, converter=converters.eval_converter(), **kwargs): _form_base.__init__(self, converter=converter, **kwargs) self._text_box = wx.TextCtrl(self._parent, size=wx.Size(width, -1), style=wx.TE_PROCESS_ENTER) + self._default_bg_colour = self._text_box.GetBackgroundColour() self._text_box.Bind(wx.EVT_TEXT_ENTER, self._handle) + self._text_box.Bind(wx.EVT_TEXT, self._update_color) self._add_widget(self._text_box, label) + def _update_color(self, *args): + if self._text_box.GetValue() == self[INT_KEY]: + self._text_box.SetBackgroundColour(self._default_bg_colour) + else: self._text_box.SetBackgroundColour('#EEDDDD') + def _handle(self, event): self[INT_KEY] = self._text_box.GetValue() - def _update(self, value): self._text_box.SetValue(value) + def _update(self, value): self._text_box.SetValue(value); self._update_color() ######################################################################## # Slider Form -- 2.39.5