From 5f408cafa893d51eb7d7c743de045bf1875ea694 Mon Sep 17 00:00:00 2001 From: Rejean Loyer Date: Sun, 24 Jun 2012 19:41:29 -0400 Subject: [PATCH] extras:gui:controls:SearchBox: added new SearchBox control. --- extras/gui/controls/SearchBox.ec | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 extras/gui/controls/SearchBox.ec diff --git a/extras/gui/controls/SearchBox.ec b/extras/gui/controls/SearchBox.ec new file mode 100644 index 0000000..80ae118 --- /dev/null +++ b/extras/gui/controls/SearchBox.ec @@ -0,0 +1,41 @@ +#ifdef ECERE_STATIC +public import static "ecere" +#else +public import "ecere" +#endif + +class SearchBox : EditBox +{ + searchLabelColor = gray; + +public: + Color searchLabelColor; + String label; + +private: + Color originalFg; + originalFg = foreground; + foreground = searchLabelColor; + + void OnRedraw(Surface surface) + { + if(contents && contents[0]) + EditBox::OnRedraw(surface); + else + { + char * search = CopyString(label && label[0] ? label : caption); + contents = search; + EditBox::OnRedraw(surface); + contents = ""; + delete search; + } + } + + void Window::NotifyUpdate(EditBox editBox) + { + if(editBox.contents && editBox.contents[0]) + editBox.foreground = ((SearchBox)editBox).originalFg; + else + editBox.foreground = ((SearchBox)editBox).searchLabelColor; + } +} -- 1.8.3.1