diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-02-21 23:51:05 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2019-02-21 23:53:07 -0500 |
commit | 6e735f709bd8a4df52b3430fbf6e3ae10eebb9bd (patch) | |
tree | b608c624edc57f936850511f8efd3fd9f8f7bdba /gtk/gtkwindow.c | |
parent | 41c0ac1a68a7203df45f49ee5feca41eb05fcf39 (diff) | |
download | gtk+-more-root.tar.gz |
root: Add focus and default widgetsmore-root
These are part of what GtkRoot will manage.
Use the GtkRoot api for them in the inspector.
Diffstat (limited to 'gtk/gtkwindow.c')
-rw-r--r-- | gtk/gtkwindow.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 8682969454..399b7b0059 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -2534,12 +2534,35 @@ gtk_window_root_get_surface_transform (GtkRoot *root, *y = margin.top + border.top + padding.top; } +static GtkWidget * +gtk_window_root_get_focus (GtkRoot *root) +{ + GtkWindow *window = GTK_WINDOW (root); + GtkWindowPrivate *priv = gtk_window_get_instance_private (window); + + if (priv->initial_focus) + return priv->initial_focus; + else + return priv->focus_widget; +} + +static GtkWidget * +gtk_window_root_get_default (GtkRoot *root) +{ + GtkWindow *window = GTK_WINDOW (root); + GtkWindowPrivate *priv = gtk_window_get_instance_private (window); + + return priv->default_widget; +} + static void gtk_window_root_interface_init (GtkRootInterface *iface) { iface->get_display = gtk_window_root_get_display; iface->get_renderer = gtk_window_root_get_renderer; iface->get_surface_transform = gtk_window_root_get_surface_transform; + iface->get_focus = gtk_window_root_get_focus; + iface->get_default = gtk_window_root_get_default; } /** |