diff options
Diffstat (limited to 'executive-summary/evolution-services')
3 files changed, 34 insertions, 2 deletions
diff --git a/executive-summary/evolution-services/executive-summary-component-factory-client.h b/executive-summary/evolution-services/executive-summary-component-factory-client.h index 7c94afe15c..8ab4a05672 100644 --- a/executive-summary/evolution-services/executive-summary-component-factory-client.h +++ b/executive-summary/evolution-services/executive-summary-component-factory-client.h @@ -51,7 +51,7 @@ GtkType executive_summary_component_factory_client_get_type (void); void executive_summary_component_factory_client_construct (ExecutiveSummaryComponentFactoryClient *client, CORBA_Object corba_object); ExecutiveSummaryComponentFactoryClient *executive_summary_component_factory_client_new (const char *id); -GNOME_Evolution_Summary_Component executive_summary_component_factory_client_create_view (ExecutiveSummaryComponentFactoryClient *client); +CORBA_Object executive_summary_component_factory_client_create_view (ExecutiveSummaryComponentFactoryClient *client); #endif diff --git a/executive-summary/evolution-services/executive-summary-html-view.c b/executive-summary/evolution-services/executive-summary-html-view.c index 659aad18fd..8a3498cdd8 100644 --- a/executive-summary/evolution-services/executive-summary-html-view.c +++ b/executive-summary/evolution-services/executive-summary-html-view.c @@ -42,6 +42,13 @@ static void executive_summary_html_view_class_init (ExecutiveSummaryHtmlViewClas static BonoboObjectClass *parent_class; +enum { + HANDLE_URI, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + struct _ExecutiveSummaryHtmlViewPrivate { BonoboEventSource *event_source; @@ -88,6 +95,18 @@ impl_GNOME_Evolution_Summary_HTMLView_getHtml (PortableServer_Servant servant, return CORBA_string_dup (priv->html? priv->html: ""); } +static void +impl_GNOME_Evolution_Summary_HTMLView_handleURI (PortableServer_Servant servant, + CORBA_char *uri, + CORBA_Environment *ev) +{ + BonoboObject *bonobo_object; + + bonobo_object = bonobo_object_from_servant (servant); + + gtk_signal_emit (GTK_OBJECT (bonobo_object), signals[HANDLE_URI], uri); +} + /* GtkObject methods */ static void executive_summary_html_view_destroy (GtkObject *object) @@ -95,13 +114,13 @@ executive_summary_html_view_destroy (GtkObject *object) ExecutiveSummaryHtmlView *view; ExecutiveSummaryHtmlViewPrivate *priv; + g_print ("BANG!"); view = EXECUTIVE_SUMMARY_HTML_VIEW (object); priv = view->private; if (priv == NULL) return; - bonobo_object_unref (BONOBO_OBJECT (priv->event_source)); g_free (priv->html); g_free (priv); @@ -124,6 +143,7 @@ corba_class_init (void) epv = g_new0 (POA_GNOME_Evolution_Summary_HTMLView__epv, 1); epv->getHtml = impl_GNOME_Evolution_Summary_HTMLView_getHtml; + epv->handleURI = impl_GNOME_Evolution_Summary_HTMLView_handleURI; vepv = &HTMLView_vepv; vepv->_base_epv = base_epv; @@ -139,6 +159,15 @@ executive_summary_html_view_class_init (ExecutiveSummaryHtmlViewClass *klass) object_class = GTK_OBJECT_CLASS (klass); object_class->destroy = executive_summary_html_view_destroy; + signals[HANDLE_URI] = gtk_signal_new ("handle_uri", GTK_RUN_FIRST, + object_class->type, + GTK_SIGNAL_OFFSET (ExecutiveSummaryHtmlViewClass, handle_uri), + gtk_marshal_NONE__POINTER, + GTK_TYPE_NONE, 1, + GTK_TYPE_POINTER); + + gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL); + parent_class = gtk_type_class (PARENT_TYPE); corba_class_init (); diff --git a/executive-summary/evolution-services/executive-summary-html-view.h b/executive-summary/evolution-services/executive-summary-html-view.h index 3c8895167d..c09962a619 100644 --- a/executive-summary/evolution-services/executive-summary-html-view.h +++ b/executive-summary/evolution-services/executive-summary-html-view.h @@ -47,6 +47,9 @@ struct _ExecutiveSummaryHtmlView { struct _ExecutiveSummaryHtmlViewClass { BonoboObjectClass parent_class; + + void (* handle_uri) (ExecutiveSummaryHtmlView *view, + char *uri); }; GtkType executive_summary_html_view_get_type (void); |