diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-04-19 11:18:02 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-04-20 16:30:43 -0400 |
commit | d756c6e282518839febbe4ea7f99272b7d21eb8b (patch) | |
tree | 2b4f3be0665db5190196bfddc5956e908211dbbe /gtk/gtkpaned.c | |
parent | eeb41c82d1b5e23a24a91de7ce4999f190ecbb15 (diff) | |
download | gtk+-d756c6e282518839febbe4ea7f99272b7d21eb8b.tar.gz |
Move set_focus_child to GtkWidget
Move the set_focus_child vfunc from GtkContainer
to GtkWidget. This removes the last focus functionality
from GtkContainer.
Update the two users.
Diffstat (limited to 'gtk/gtkpaned.c')
-rw-r--r-- | gtk/gtkpaned.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c index 19ffa164f7..a4f0a5bd24 100644 --- a/gtk/gtkpaned.c +++ b/gtk/gtkpaned.c @@ -240,7 +240,7 @@ static void gtk_paned_calc_position (GtkPaned *paned, gint allocation, gint child1_req, gint child2_req); -static void gtk_paned_set_focus_child (GtkContainer *container, +static void gtk_paned_set_focus_child (GtkWidget *widget, GtkWidget *child); static void gtk_paned_set_saved_focus (GtkPaned *paned, GtkWidget *widget); @@ -351,13 +351,13 @@ gtk_paned_class_init (GtkPanedClass *class) widget_class->size_allocate = gtk_paned_size_allocate; widget_class->unrealize = gtk_paned_unrealize; widget_class->focus = gtk_paned_focus; + widget_class->set_focus_child = gtk_paned_set_focus_child; widget_class->css_changed = gtk_paned_css_changed; container_class->add = gtk_paned_add; container_class->remove = gtk_paned_remove; container_class->forall = gtk_paned_forall; container_class->child_type = gtk_paned_child_type; - container_class->set_focus_child = gtk_paned_set_focus_child; class->cycle_child_focus = gtk_paned_cycle_child_focus; class->toggle_handle_focus = gtk_paned_toggle_handle_focus; @@ -1870,16 +1870,14 @@ paned_get_focus_widget (GtkPaned *paned) } static void -gtk_paned_set_focus_child (GtkContainer *container, - GtkWidget *focus_child) +gtk_paned_set_focus_child (GtkWidget *widget, + GtkWidget *child) { - GtkPaned *paned = GTK_PANED (container); + GtkPaned *paned = GTK_PANED (widget); GtkPanedPrivate *priv = gtk_paned_get_instance_private (paned); - GtkWidget *container_focus_child; - - g_return_if_fail (GTK_IS_PANED (container)); + GtkWidget *focus_child; - if (focus_child == NULL) + if (child == NULL) { GtkWidget *last_focus; GtkWidget *w; @@ -1895,16 +1893,15 @@ gtk_paned_set_focus_child (GtkContainer *container, if (GTK_IS_PANED (w)) last_focus = w; - container_focus_child = gtk_widget_get_focus_child (GTK_WIDGET (container)); - if (container_focus_child == priv->child1) + focus_child = gtk_widget_get_focus_child (widget); + if (focus_child == priv->child1) gtk_paned_set_last_child1_focus (paned, last_focus); - else if (container_focus_child == priv->child2) + else if (focus_child == priv->child2) gtk_paned_set_last_child2_focus (paned, last_focus); } } - if (GTK_CONTAINER_CLASS (gtk_paned_parent_class)->set_focus_child) - GTK_CONTAINER_CLASS (gtk_paned_parent_class)->set_focus_child (container, focus_child); + GTK_WIDGET_CLASS (gtk_paned_parent_class)->set_focus_child (widget, child); } static void |