From 2f67aaaf88cde1291eeec5e0e7e07be914c45263 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Mon, 25 Jun 2001 02:54:12 +0000 Subject: Actually implement the "clicked" signal for the EActivityHandler, and add some small testing code for it in the test component. svn path=/trunk/; revision=10464 --- shell/ChangeLog | 11 +++++++++++ shell/evolution-activity-client.c | 29 +++++++++++++++++------------ shell/evolution-test-component.c | 13 +++++++++++++ 3 files changed, 41 insertions(+), 12 deletions(-) diff --git a/shell/ChangeLog b/shell/ChangeLog index 34181a71aa..13215a7b9d 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,14 @@ +2001-06-24 Ettore Perazzoli + + * evolution-test-component.c (activity_client_clicked_callback): + New callback for the "clicked" signal on the EActivityClient. + Just spit out a warning now, for testing purposes. + (timeout_callback_1): Connect it. + + * evolution-activity-client.c (listener_callback): Emit the + "clicked" signal if we get the "Clicked" event from the Bonobo + listener. + 2001-06-24 Ettore Perazzoli * e-shell-folder-commands.c: #include . diff --git a/shell/evolution-activity-client.c b/shell/evolution-activity-client.c index 96aa4c22b8..9e95eedcac 100644 --- a/shell/evolution-activity-client.c +++ b/shell/evolution-activity-client.c @@ -51,7 +51,7 @@ enum { LAST_SIGNAL }; -static guint activity_client_signals[LAST_SIGNAL] = { 0 }; +static guint signals[LAST_SIGNAL] = { 0 }; struct _EvolutionActivityClientPrivate { /* The ::Activity interface that we QI from the shell. */ @@ -203,10 +203,16 @@ listener_callback (BonoboListener *listener, char *event_name, CORBA_any *any, CORBA_Environment *ev, - gpointer data) + void *data) { - /* FIXME: Implement. */ - g_print ("EvolutionActivityClient: BonoboListener event -- %s\n", event_name); + EvolutionActivityClient *activity_client; + + activity_client = EVOLUTION_ACTIVITY_CLIENT (data); + + if (strcmp (event_name, "Clicked") == 0) + gtk_signal_emit (GTK_OBJECT (activity_client), signals[CLICKED]); + else + g_warning ("EvolutionActivityClient: Unknown event from listener -- %s", event_name); } @@ -258,15 +264,14 @@ class_init (EvolutionActivityClientClass *klass) object_class = GTK_OBJECT_CLASS (klass); object_class->destroy = impl_destroy; - activity_client_signals[CLICKED] = - gtk_signal_new ("clicked", - GTK_RUN_FIRST, - object_class->type, - GTK_SIGNAL_OFFSET (EvolutionActivityClientClass, clicked), - gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); + signals[CLICKED] = gtk_signal_new ("clicked", + GTK_RUN_FIRST, + object_class->type, + GTK_SIGNAL_OFFSET (EvolutionActivityClientClass, clicked), + gtk_marshal_NONE__NONE, + GTK_TYPE_NONE, 0); - gtk_object_class_add_signals (object_class, activity_client_signals, LAST_SIGNAL); + gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL); } diff --git a/shell/evolution-test-component.c b/shell/evolution-test-component.c index f9f199e606..aed0d9089d 100644 --- a/shell/evolution-test-component.c +++ b/shell/evolution-test-component.c @@ -51,6 +51,16 @@ static EvolutionActivityClient *activity_client; static int timeout_id = 0; static int progress = -1; + +/* Callbacks. */ + +static void +activity_client_clicked_callback (EvolutionActivityClient *client, + void *data) +{ + g_warning ("Task bar button clicked!"); +} + /* Timeout #3: We are done. */ static int @@ -109,6 +119,9 @@ timeout_callback_1 (void *data) return FALSE; } + gtk_signal_connect (GTK_OBJECT (activity_client), "clicked", + GTK_SIGNAL_FUNC (activity_client_clicked_callback), NULL); + g_print ("Component becoming busy -- %s\n", COMPONENT_ID); if (suggest_display) g_print (" --> Could display dialog box.\n"); -- cgit v1.2.3