diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/python/_sugar.defs | 6 | ||||
-rw-r--r-- | lib/src/sugar-browser.cpp | 14 | ||||
-rw-r--r-- | lib/src/sugar-browser.h | 1 |
3 files changed, 21 insertions, 0 deletions
diff --git a/lib/python/_sugar.defs b/lib/python/_sugar.defs index 1e51465..1548d6f 100644 --- a/lib/python/_sugar.defs +++ b/lib/python/_sugar.defs @@ -59,6 +59,12 @@ (return-type "none") ) +(define-method grab_focus + (of-object "SugarBrowser") + (c-name "sugar_browser_grab_focus") + (return-type "none") +) + (define-method create_window (of-object "SugarBrowser") (c-name "sugar_browser_create_window") diff --git a/lib/src/sugar-browser.cpp b/lib/src/sugar-browser.cpp index eea1e0c..1d9efc7 100644 --- a/lib/src/sugar-browser.cpp +++ b/lib/src/sugar-browser.cpp @@ -305,3 +305,17 @@ sugar_browser_scroll_pixels(SugarBrowser *browser, DOMWindow->ScrollBy (dx, dy); } + +void +sugar_browser_grab_focus(SugarBrowser *browser) +{ + GtkWidget *child; + + child = gtk_bin_get_child(GTK_BIN(browser)); + + if (child != NULL) { + gtk_widget_grab_focus (child); + } else { + g_warning ("Need to realize the embed before grabbing focus!\n"); + } +} diff --git a/lib/src/sugar-browser.h b/lib/src/sugar-browser.h index a978bf1..a60889f 100644 --- a/lib/src/sugar-browser.h +++ b/lib/src/sugar-browser.h @@ -59,6 +59,7 @@ SugarBrowser *sugar_browser_create_window (SugarBrowser *browser); void sugar_browser_scroll_pixels (SugarBrowser *browser, int dx, int dy); +void sugar_browser_grab_focus (SugarBrowser *browser); G_END_DECLS |