diff options
author | Emmanuele Bassi <ebassi@openedhand.com> | 2008-11-18 14:06:33 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@openedhand.com> | 2008-11-18 14:06:33 +0000 |
commit | 70f4b0cbd568dfa265484a03be3bd08ad15ed12e (patch) | |
tree | cc9d28199e31c62e5e9a3b9641862b0c232e4deb | |
parent | 4ff52b7adfa037f146089d2831fb7514f233a195 (diff) | |
download | clutter-gtk-70f4b0cbd568dfa265484a03be3bd08ad15ed12e.tar.gz |
2008-11-18 Emmanuele Bassi <ebassi@linux.intel.com>
* 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.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | clutter-gtk/gtk-clutter-embed.c | 14 |
2 files changed, 24 insertions, 0 deletions
@@ -1,3 +1,13 @@ +2008-11-18 Emmanuele Bassi <ebassi@linux.intel.com> + + * 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 <ebassi@linux.intel.com> * 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; } |