]> git.tdb.fi Git - libs/gltk.git/blobdiff - source/widget.cpp
Add Widget::set_focus
[libs/gltk.git] / source / widget.cpp
index efb6155ef4a51d8fb4e69bde95323ea4e10c250d..48b647b71850b464bf8da56f102170d64bc8cf6e 100644 (file)
@@ -69,6 +69,16 @@ void Widget::set_visible(bool v)
                parent->child_hidden(*this);
 }
 
+void Widget::set_focus()
+{
+       if(!parent)
+               throw InvalidState("No parent");
+       if(!visible)
+               throw InvalidState("Can't set focus on invisible widget");
+
+       parent->grab_focus(*this);
+}
+
 void Widget::render() const
 {
        if(!style)