From 70f4b0cbd568dfa265484a03be3bd08ad15ed12e Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 18 Nov 2008 14:06:33 +0000 Subject: [PATCH] 2008-11-18 Emmanuele Bassi * clutter-gtk/gtk-clutter-embed.c: (gtk_clutter_embed_focus_in), (gtk_clutter_embed_focus_out), (gtk_clutter_embed_class_init): Emit the ::activate and ::deactivate signals on the stage when we get a ::focus-in-event and a ::focus-out-event on the ClutterEmbed widget, respectively. Thanks to Jerry Yu. --- ChangeLog | 10 ++++++++++ clutter-gtk/gtk-clutter-embed.c | 14 ++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/ChangeLog b/ChangeLog index a3dade6..5c633d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-11-18 Emmanuele Bassi + + * clutter-gtk/gtk-clutter-embed.c: + (gtk_clutter_embed_focus_in), + (gtk_clutter_embed_focus_out), + (gtk_clutter_embed_class_init): Emit the ::activate and + ::deactivate signals on the stage when we get a ::focus-in-event + and a ::focus-out-event on the ClutterEmbed widget, respectively. + Thanks to Jerry Yu. + 2008-11-13 Emmanuele Bassi * clutter-gtk/gtk-clutter-viewport.c: diff --git a/clutter-gtk/gtk-clutter-embed.c b/clutter-gtk/gtk-clutter-embed.c index 899c0ae..44c339f 100644 --- a/clutter-gtk/gtk-clutter-embed.c +++ b/clutter-gtk/gtk-clutter-embed.c @@ -323,11 +323,24 @@ gtk_clutter_embed_map_event (GtkWidget *widget, } static gboolean +gtk_clutter_embed_focus_in (GtkWidget *widget, + GdkEventFocus *event) +{ + GtkClutterEmbedPrivate *priv = GTK_CLUTTER_EMBED (widget)->priv; + + g_signal_emit_by_name (priv->stage, "activate"); + + return FALSE; +} + +static gboolean gtk_clutter_embed_focus_out (GtkWidget *widget, GdkEventFocus *event) { GtkClutterEmbedPrivate *priv = GTK_CLUTTER_EMBED (widget)->priv; + g_signal_emit_by_name (priv->stage, "deactivate"); + /* give back key focus to the stage */ clutter_stage_set_key_focus (CLUTTER_STAGE (priv->stage), NULL); @@ -380,6 +393,7 @@ gtk_clutter_embed_class_init (GtkClutterEmbedClass *klass) widget_class->motion_notify_event = gtk_clutter_embed_motion_notify_event; widget_class->expose_event = gtk_clutter_embed_expose_event; widget_class->map_event = gtk_clutter_embed_map_event; + widget_class->focus_in_event = gtk_clutter_embed_focus_in; widget_class->focus_out_event = gtk_clutter_embed_focus_out; widget_class->scroll_event = gtk_clutter_embed_scroll_event; } -- 1.7.9.5