summaryrefslogtreecommitdiff
path: root/gtk/gtkwindow.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-02-21 23:51:05 -0500
committerMatthias Clasen <mclasen@redhat.com>2019-02-21 23:53:07 -0500
commit6e735f709bd8a4df52b3430fbf6e3ae10eebb9bd (patch)
treeb608c624edc57f936850511f8efd3fd9f8f7bdba /gtk/gtkwindow.c
parent41c0ac1a68a7203df45f49ee5feca41eb05fcf39 (diff)
downloadgtk+-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.c23
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;
}
/**