summaryrefslogtreecommitdiff
path: root/gtk/gtkpaned.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-04-19 11:18:02 -0400
committerMatthias Clasen <mclasen@redhat.com>2020-04-20 16:30:43 -0400
commitd756c6e282518839febbe4ea7f99272b7d21eb8b (patch)
tree2b4f3be0665db5190196bfddc5956e908211dbbe /gtk/gtkpaned.c
parenteeb41c82d1b5e23a24a91de7ce4999f190ecbb15 (diff)
downloadgtk+-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.c25
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