New files. This implements GNOME::EOG::Image which is (currently) derived

2000-11-19  Martin Baulig  <baulig@suse.de>

	* eog-image.[ch]: New files. This implements GNOME::EOG::Image which
	is (currently) derived from GNOME::EOG::ImageData.

	* eog-image-view.c (eog_image_view_new, eog_image_view_construct):
	This now takes a GNOME::EOG::Image, not a GNOME::EOG::ImageData.
	(eog_image_view_get_image_data): Renamed to eog_image_view_get_image().

	* eog-control.c (eog_control_new, eog_control_construct):
	This now takes a GNOME::EOG::Image, not a GNOME::EOG::ImageData.
	* eog-embeddable.c (eog_embeddable_new): Likewise.
	(eog_embeddable_construct): Likewise.
	* eog-embeddable-view.c (eog_embeddable_view_new): Likewise.
	(eog_embeddable_view_construct): Likewise.
This commit is contained in:
Martin Baulig 2000-11-19 15:21:20 +00:00 committed by Martin Baulig
parent d7c81687c5
commit b59e0a4ec5
13 changed files with 358 additions and 91 deletions

View file

@ -1,3 +1,19 @@
2000-11-19 Martin Baulig <baulig@suse.de>
* eog-image.[ch]: New files. This implements GNOME::EOG::Image which
is (currently) derived from GNOME::EOG::ImageData.
* eog-image-view.c (eog_image_view_new, eog_image_view_construct):
This now takes a GNOME::EOG::Image, not a GNOME::EOG::ImageData.
(eog_image_view_get_image_data): Renamed to eog_image_view_get_image().
* eog-control.c (eog_control_new, eog_control_construct):
This now takes a GNOME::EOG::Image, not a GNOME::EOG::ImageData.
* eog-embeddable.c (eog_embeddable_new): Likewise.
(eog_embeddable_construct): Likewise.
* eog-embeddable-view.c (eog_embeddable_view_new): Likewise.
(eog_embeddable_view_construct): Likewise.
2000-11-18 Martin Baulig <baulig@suse.de>
* eog-image-view.c (EogImageViewPrivate): Added `has_zoomable_frame'.

View file

@ -25,6 +25,8 @@ eog_image_viewer_SOURCES = \
$(CORBA_SOURCE) \
eog-image-data.c \
eog-image-data.h \
eog-image.c \
eog-image.h \
eog-image-view.c \
eog-image-view.h \
eog-control.c \

View file

@ -18,7 +18,7 @@
#include <eog-control.h>
struct _EogControlPrivate {
EogImageData *image_data;
EogImage *image;
EogImageView *image_view;
BonoboPropertyBag *property_bag;
@ -79,9 +79,9 @@ eog_control_destroy (GtkObject *object)
control->priv->property_bag = NULL;
}
if (control->priv->image_data) {
bonobo_object_unref (BONOBO_OBJECT (control->priv->image_data));
control->priv->image_data = NULL;
if (control->priv->image) {
bonobo_object_unref (BONOBO_OBJECT (control->priv->image));
control->priv->image = NULL;
}
if (control->priv->image_view) {
@ -191,7 +191,8 @@ static const gchar *image_view_interfaces[] = {
};
static void
eog_control_add_interfaces (EogControl *control, BonoboObject *query_this, const gchar **interfaces)
eog_control_add_interfaces (EogControl *control, BonoboObject *query_this,
const gchar **interfaces)
{
const gchar **ptr;
@ -205,25 +206,28 @@ eog_control_add_interfaces (EogControl *control, BonoboObject *query_this, const
}
EogControl *
eog_control_construct (EogControl *control, Bonobo_Control corba_object, EogImageData *image_data)
eog_control_construct (EogControl *control, Bonobo_Control corba_object,
EogImage *image)
{
BonoboControl *retval;
g_return_val_if_fail (control != NULL, NULL);
g_return_val_if_fail (EOG_IS_CONTROL (control), NULL);
g_return_val_if_fail (corba_object != CORBA_OBJECT_NIL, NULL);
g_return_val_if_fail (image_data != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE_DATA (image_data), NULL);
g_return_val_if_fail (image != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE (image), NULL);
control->priv->image_data = image_data;
bonobo_object_ref (BONOBO_OBJECT (image_data));
control->priv->image = image;
bonobo_object_ref (BONOBO_OBJECT (image));
control->priv->image_view = eog_image_view_new (image_data);
control->priv->image_view = eog_image_view_new (image);
control->priv->root = eog_image_view_get_widget (control->priv->image_view);
eog_control_add_interfaces (control, BONOBO_OBJECT (control->priv->image_data),
eog_control_add_interfaces (control,
BONOBO_OBJECT (control->priv->image),
image_data_interfaces);
eog_control_add_interfaces (control, BONOBO_OBJECT (control->priv->image_view),
eog_control_add_interfaces (control,
BONOBO_OBJECT (control->priv->image_view),
image_view_interfaces);
retval = bonobo_control_construct (BONOBO_CONTROL (control), corba_object,
@ -238,13 +242,13 @@ eog_control_construct (EogControl *control, Bonobo_Control corba_object, EogImag
}
EogControl *
eog_control_new (EogImageData *image_data)
eog_control_new (EogImage *image)
{
EogControl *control;
Bonobo_Control corba_object;
g_return_val_if_fail (image_data != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE_DATA (image_data), NULL);
g_return_val_if_fail (image != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE (image), NULL);
control = gtk_type_new (eog_control_get_type ());
@ -254,5 +258,5 @@ eog_control_new (EogImageData *image_data)
return NULL;
}
return eog_control_construct (control, corba_object, image_data);
return eog_control_construct (control, corba_object, image);
}

View file

@ -37,7 +37,7 @@ struct _EogControlClass {
};
EogControl *
eog_control_new (EogImageData *image_data);
eog_control_new (EogImage *image);
GtkType
eog_control_get_type (void) G_GNUC_CONST;
@ -48,7 +48,7 @@ eog_control_corba_object_create (BonoboObject *object);
EogControl *
eog_control_construct (EogControl *control,
Bonobo_Control corba_object,
EogImageData *image_data);
EogImage *image);
END_GNOME_DECLS

View file

@ -18,7 +18,7 @@
#include <eog-embeddable-view.h>
struct _EogEmbeddableViewPrivate {
EogImageData *image_data;
EogImage *image;
EogImageView *image_view;
BonoboPropertyBag *property_bag;
@ -80,9 +80,9 @@ eog_embeddable_view_destroy (GtkObject *object)
embeddable_view->priv->property_bag = NULL;
}
if (embeddable_view->priv->image_data) {
bonobo_object_unref (BONOBO_OBJECT (embeddable_view->priv->image_data));
embeddable_view->priv->image_data = NULL;
if (embeddable_view->priv->image) {
bonobo_object_unref (BONOBO_OBJECT (embeddable_view->priv->image));
embeddable_view->priv->image = NULL;
}
if (embeddable_view->priv->image_view) {
@ -202,20 +202,20 @@ eog_embeddable_view_add_interfaces (EogEmbeddableView *embeddable_view, BonoboOb
EogEmbeddableView *
eog_embeddable_view_construct (EogEmbeddableView *embeddable_view,
Bonobo_View corba_object,
EogImageData *image_data)
EogImage *image)
{
BonoboView *retval;
g_return_val_if_fail (embeddable_view != NULL, NULL);
g_return_val_if_fail (EOG_IS_EMBEDDABLE_VIEW (embeddable_view), NULL);
g_return_val_if_fail (corba_object != CORBA_OBJECT_NIL, NULL);
g_return_val_if_fail (image_data != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE_DATA (image_data), NULL);
g_return_val_if_fail (image != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE (image), NULL);
embeddable_view->priv->image_data = image_data;
bonobo_object_ref (BONOBO_OBJECT (image_data));
embeddable_view->priv->image = image;
bonobo_object_ref (BONOBO_OBJECT (image));
embeddable_view->priv->image_view = eog_image_view_new (image_data);
embeddable_view->priv->image_view = eog_image_view_new (image);
embeddable_view->priv->root = eog_image_view_get_widget (embeddable_view->priv->image_view);
eog_embeddable_view_add_interfaces (embeddable_view,
@ -234,13 +234,13 @@ eog_embeddable_view_construct (EogEmbeddableView *embeddable_view,
}
EogEmbeddableView *
eog_embeddable_view_new (EogImageData *image_data)
eog_embeddable_view_new (EogImage *image)
{
EogEmbeddableView *embeddable_view;
Bonobo_View corba_object;
g_return_val_if_fail (image_data != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE_DATA (image_data), NULL);
g_return_val_if_fail (image != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE (image), NULL);
embeddable_view = gtk_type_new (eog_embeddable_view_get_type ());
@ -250,5 +250,6 @@ eog_embeddable_view_new (EogImageData *image_data)
return NULL;
}
return eog_embeddable_view_construct (embeddable_view, corba_object, image_data);
return eog_embeddable_view_construct (embeddable_view, corba_object,
image);
}

View file

@ -37,7 +37,7 @@ struct _EogEmbeddableViewClass {
};
EogEmbeddableView *
eog_embeddable_view_new (EogImageData *image_data);
eog_embeddable_view_new (EogImage *image);
GtkType
eog_embeddable_view_get_type (void) G_GNUC_CONST;
@ -48,7 +48,7 @@ eog_embeddable_view_corba_object_create (BonoboObject *object);
EogEmbeddableView *
eog_embeddable_view_construct (EogEmbeddableView *embeddable_view,
Bonobo_View corba_object,
EogImageData *image_data);
EogImage *image);
END_GNOME_DECLS

View file

@ -19,7 +19,7 @@
#include <eog-embeddable-view.h>
struct _EogEmbeddablePrivate {
EogImageData *image_data;
EogImage *image;
};
POA_Bonobo_Embeddable__vepv eog_embeddable_vepv;
@ -44,9 +44,9 @@ eog_embeddable_destroy (GtkObject *object)
embeddable = EOG_EMBEDDABLE (object);
if (embeddable->priv->image_data) {
bonobo_object_unref (BONOBO_OBJECT (embeddable->priv->image_data));
embeddable->priv->image_data = NULL;
if (embeddable->priv->image) {
bonobo_object_unref (BONOBO_OBJECT (embeddable->priv->image));
embeddable->priv->image = NULL;
}
GTK_OBJECT_CLASS (eog_embeddable_parent_class)->destroy (object);
@ -149,7 +149,7 @@ eog_embeddable_view_factory (BonoboEmbeddable *object, const Bonobo_ViewFrame vi
embeddable = EOG_EMBEDDABLE (object);
view = eog_embeddable_view_new (embeddable->priv->image_data);
view = eog_embeddable_view_new (embeddable->priv->image);
return BONOBO_VIEW (view);
}
@ -172,20 +172,21 @@ eog_embeddable_add_interfaces (EogEmbeddable *embeddable, BonoboObject *query_th
EogEmbeddable *
eog_embeddable_construct (EogEmbeddable *embeddable,
Bonobo_Embeddable corba_object,
EogImageData *image_data)
EogImage *image)
{
BonoboEmbeddable *retval;
g_return_val_if_fail (embeddable != NULL, NULL);
g_return_val_if_fail (EOG_IS_EMBEDDABLE (embeddable), NULL);
g_return_val_if_fail (corba_object != CORBA_OBJECT_NIL, NULL);
g_return_val_if_fail (image_data != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE_DATA (image_data), NULL);
g_return_val_if_fail (image != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE (image), NULL);
embeddable->priv->image_data = image_data;
bonobo_object_ref (BONOBO_OBJECT (image_data));
embeddable->priv->image = image;
bonobo_object_ref (BONOBO_OBJECT (image));
eog_embeddable_add_interfaces (embeddable, BONOBO_OBJECT (embeddable->priv->image_data),
eog_embeddable_add_interfaces (embeddable,
BONOBO_OBJECT (embeddable->priv->image),
image_data_interfaces);
retval = bonobo_embeddable_construct (BONOBO_EMBEDDABLE (embeddable), corba_object,
@ -198,13 +199,13 @@ eog_embeddable_construct (EogEmbeddable *embeddable,
}
EogEmbeddable *
eog_embeddable_new (EogImageData *image_data)
eog_embeddable_new (EogImage *image)
{
EogEmbeddable *embeddable;
Bonobo_Embeddable corba_object;
g_return_val_if_fail (image_data != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE_DATA (image_data), NULL);
g_return_val_if_fail (image != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE (image), NULL);
embeddable = gtk_type_new (eog_embeddable_get_type ());
@ -214,5 +215,5 @@ eog_embeddable_new (EogImageData *image_data)
return NULL;
}
return eog_embeddable_construct (embeddable, corba_object, image_data);
return eog_embeddable_construct (embeddable, corba_object, image);
}

View file

@ -37,7 +37,7 @@ struct _EogEmbeddableClass {
};
EogEmbeddable *
eog_embeddable_new (EogImageData *image_data);
eog_embeddable_new (EogImage *image_data);
GtkType
eog_embeddable_get_type (void) G_GNUC_CONST;
@ -48,7 +48,7 @@ eog_embeddable_corba_object_create (BonoboObject *object);
EogEmbeddable *
eog_embeddable_construct (EogEmbeddable *embeddable,
Bonobo_Embeddable corba_object,
EogImageData *image_data);
EogImage *image);
END_GNOME_DECLS

View file

@ -20,7 +20,7 @@
#include <ui-image.h>
struct _EogImageViewPrivate {
EogImageData *image_data;
EogImage *image;
GtkWidget *ui_image;
GtkWidget *image_view;
@ -51,16 +51,16 @@ POA_GNOME_EOG_ImageView__vepv eog_image_view_vepv;
static BonoboObjectClass *eog_image_view_parent_class;
static GNOME_EOG_ImageData
impl_GNOME_EOG_ImageView_getImageData (PortableServer_Servant servant,
CORBA_Environment *ev)
static GNOME_EOG_Image
impl_GNOME_EOG_ImageView_getImage (PortableServer_Servant servant,
CORBA_Environment *ev)
{
EogImageView *image_view = EOG_IMAGE_VIEW (bonobo_object_from_servant (servant));
GNOME_EOG_ImageData image_data;
GNOME_EOG_Image image;
image_data = bonobo_object_corba_objref (BONOBO_OBJECT (image_view->priv->image_data));
CORBA_Object_duplicate (image_data, ev);
return image_data;
image = bonobo_object_corba_objref (BONOBO_OBJECT (image_view->priv->image));
CORBA_Object_duplicate (image, ev);
return image;
}
/**
@ -73,7 +73,7 @@ eog_image_view_get_epv (void)
epv = g_new0 (POA_GNOME_EOG_ImageView__epv, 1);
epv->getImageData = impl_GNOME_EOG_ImageView_getImageData;
epv->getImage = impl_GNOME_EOG_ImageView_getImage;
return epv;
}
@ -111,9 +111,9 @@ eog_image_view_destroy (GtkObject *object)
image_view->priv->uic = NULL;
}
if (image_view->priv->image_data) {
bonobo_object_unref (BONOBO_OBJECT (image_view->priv->image_data));
image_view->priv->image_data = NULL;
if (image_view->priv->image) {
bonobo_object_unref (BONOBO_OBJECT (image_view->priv->image));
image_view->priv->image = NULL;
}
if (image_view->priv->ui_image) {
@ -732,26 +732,26 @@ eog_image_view_set_prop (BonoboPropertyBag *bag, const BonoboArg *arg, guint arg
EogImageView *
eog_image_view_construct (EogImageView *image_view,
GNOME_EOG_ImageView corba_object,
EogImageData *image_data)
EogImage *image)
{
BonoboObject *retval;
g_return_val_if_fail (image_view != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE_VIEW (image_view), NULL);
g_return_val_if_fail (corba_object != CORBA_OBJECT_NIL, NULL);
g_return_val_if_fail (image_data != CORBA_OBJECT_NIL, NULL);
g_return_val_if_fail (image_data != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE_DATA (image_data), NULL);
g_return_val_if_fail (image != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE (image), NULL);
retval = bonobo_object_construct (BONOBO_OBJECT (image_view), corba_object);
if (retval == NULL)
return NULL;
image_view->priv->image_data = image_data;
bonobo_object_ref (BONOBO_OBJECT (image_view->priv->image_data));
image_view->priv->image = image;
bonobo_object_ref (BONOBO_OBJECT (image_view->priv->image));
gtk_signal_connect (GTK_OBJECT (image_data), "set_image",
GTK_SIGNAL_FUNC (image_data_set_image_cb), image_view);
gtk_signal_connect (GTK_OBJECT (image), "set_image",
GTK_SIGNAL_FUNC (image_data_set_image_cb),
image_view);
image_view->priv->ui_image = ui_image_new ();
image_view->priv->image_view = ui_image_get_image_view (UI_IMAGE (image_view->priv->ui_image));
@ -829,13 +829,13 @@ eog_image_view_construct (EogImageView *image_view,
}
EogImageView *
eog_image_view_new (EogImageData *image_data)
eog_image_view_new (EogImage *image)
{
EogImageView *image_view;
GNOME_EOG_ImageView corba_object;
g_return_val_if_fail (image_data != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE_DATA (image_data), NULL);
g_return_val_if_fail (image != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE (image), NULL);
image_view = gtk_type_new (eog_image_view_get_type ());
@ -845,17 +845,17 @@ eog_image_view_new (EogImageData *image_data)
return NULL;
}
return eog_image_view_construct (image_view, corba_object, image_data);
return eog_image_view_construct (image_view, corba_object, image);
}
EogImageData *
eog_image_view_get_image_data (EogImageView *image_view)
EogImage *
eog_image_view_get_image (EogImageView *image_view)
{
g_return_val_if_fail (image_view != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE_VIEW (image_view), NULL);
bonobo_object_ref (BONOBO_OBJECT (image_view->priv->image_data));
return image_view->priv->image_data;
bonobo_object_ref (BONOBO_OBJECT (image_view->priv->image));
return image_view->priv->image;
}
BonoboPropertyBag *

View file

@ -11,7 +11,7 @@
#ifndef _EOG_IMAGE_VIEW_H_
#define _EOG_IMAGE_VIEW_H_
#include <eog-image-data.h>
#include <eog-image.h>
BEGIN_GNOME_DECLS
@ -40,7 +40,7 @@ POA_GNOME_EOG_ImageView__epv *
eog_image_view_get_epv (void);
EogImageView *
eog_image_view_new (EogImageData *image_data);
eog_image_view_new (EogImage *image);
GtkType
eog_image_view_get_type (void) G_GNUC_CONST;
@ -51,10 +51,10 @@ eog_image_view_corba_object_create (BonoboObject *object);
EogImageView *
eog_image_view_construct (EogImageView *image_view,
GNOME_EOG_ImageView corba_object,
EogImageData *image_data);
EogImage *image);
EogImageData *
eog_image_view_get_image_data (EogImageView *image_view);
EogImage *
eog_image_view_get_image (EogImageView *image_view);
BonoboPropertyBag *
eog_image_view_get_property_bag (EogImageView *image_view);

184
viewer/eog-image.c Normal file
View file

@ -0,0 +1,184 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/**
* eog-image-data.c
*
* Authors:
* Martin Baulig (baulig@suse.de)
*
* Copyright 2000 SuSE GmbH.
*/
#include <config.h>
#include <stdio.h>
#include <gtk/gtksignal.h>
#include <gtk/gtkmarshal.h>
#include <gtk/gtktypeutils.h>
#include <gnome.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf/gdk-pixbuf-loader.h>
#include <eog-image.h>
struct _EogImagePrivate {
};
POA_GNOME_EOG_Image__vepv eog_image_vepv;
static EogImageDataClass *eog_image_parent_class;
enum {
LAST_SIGNAL
};
static guint eog_image_signals [LAST_SIGNAL];
/**
* eog_image_get_epv:
*/
POA_GNOME_EOG_Image__epv *
eog_image_get_epv (void)
{
POA_GNOME_EOG_Image__epv *epv;
epv = g_new0 (POA_GNOME_EOG_Image__epv, 1);
return epv;
}
static void
init_eog_image_corba_class (void)
{
/* Setup the vector of epvs */
eog_image_vepv.Bonobo_Unknown_epv = bonobo_object_get_epv ();
eog_image_vepv.GNOME_EOG_ImageData_epv = eog_image_data_get_epv ();
eog_image_vepv.GNOME_EOG_Image_epv = eog_image_get_epv ();
}
static void
eog_image_destroy (GtkObject *object)
{
EogImage *image;
g_return_if_fail (object != NULL);
g_return_if_fail (EOG_IS_IMAGE (object));
image = EOG_IMAGE (object);
GTK_OBJECT_CLASS (eog_image_parent_class)->destroy (object);
}
static void
eog_image_finalize (GtkObject *object)
{
EogImage *image;
g_return_if_fail (object != NULL);
g_return_if_fail (EOG_IS_IMAGE (object));
image = EOG_IMAGE (object);
g_free (image->priv);
GTK_OBJECT_CLASS (eog_image_parent_class)->finalize (object);
}
static void
eog_image_class_init (EogImageClass *klass)
{
GtkObjectClass *object_class = (GtkObjectClass *)klass;
eog_image_parent_class = gtk_type_class (eog_image_data_get_type ());
gtk_object_class_add_signals (object_class, eog_image_signals, LAST_SIGNAL);
object_class->destroy = eog_image_destroy;
object_class->finalize = eog_image_finalize;
init_eog_image_corba_class ();
}
static void
eog_image_init (EogImage *image)
{
image->priv = g_new0 (EogImagePrivate, 1);
}
GtkType
eog_image_get_type (void)
{
static GtkType type = 0;
if (!type){
GtkTypeInfo info = {
"EogImage",
sizeof (EogImage),
sizeof (EogImageClass),
(GtkClassInitFunc) eog_image_class_init,
(GtkObjectInitFunc) eog_image_init,
NULL, /* reserved 1 */
NULL, /* reserved 2 */
(GtkClassInitFunc) NULL
};
type = gtk_type_unique (eog_image_data_get_type (), &info);
}
return type;
}
GNOME_EOG_Image
eog_image_corba_object_create (BonoboObject *object)
{
POA_GNOME_EOG_Image *servant;
CORBA_Environment ev;
servant = (POA_GNOME_EOG_Image *) g_new0 (BonoboObjectServant, 1);
servant->vepv = &eog_image_vepv;
CORBA_exception_init (&ev);
POA_GNOME_EOG_Image__init ((PortableServer_Servant) servant, &ev);
if (ev._major != CORBA_NO_EXCEPTION){
g_free (servant);
CORBA_exception_free (&ev);
return CORBA_OBJECT_NIL;
}
CORBA_exception_free (&ev);
return (GNOME_EOG_Image) bonobo_object_activate_servant (object, servant);
}
EogImage *
eog_image_construct (EogImage *image, GNOME_EOG_Image corba_object)
{
EogImageData *retval;
g_return_val_if_fail (image != NULL, NULL);
g_return_val_if_fail (EOG_IS_IMAGE (image), NULL);
g_return_val_if_fail (corba_object != CORBA_OBJECT_NIL, NULL);
/*
* Construct the BonoboObject
*/
retval = eog_image_data_construct (EOG_IMAGE_DATA (image), corba_object);
if (retval == NULL)
return NULL;
return image;
}
EogImage *
eog_image_new (void)
{
EogImage *image;
GNOME_EOG_Image corba_object;
image = gtk_type_new (eog_image_get_type ());
corba_object = eog_image_corba_object_create (BONOBO_OBJECT (image));
if (corba_object == CORBA_OBJECT_NIL) {
bonobo_object_unref (BONOBO_OBJECT (image));
return NULL;
}
return eog_image_construct (image, corba_object);
}

57
viewer/eog-image.h Normal file
View file

@ -0,0 +1,57 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
*
* eog-image-data.h.
*
* Authors:
* Martin Baulig (baulig@suse.de)
*
* Copyright 2000, SuSE GmbH.
*/
#ifndef _EOG_IMAGE_H_
#define _EOG_IMAGE_H_
#include <eog-image-data.h>
BEGIN_GNOME_DECLS
#define EOG_IMAGE_TYPE (eog_image_get_type ())
#define EOG_IMAGE(o) (GTK_CHECK_CAST ((o), EOG_IMAGE_TYPE, EogImage))
#define EOG_IMAGE_CLASS(k) (GTK_CHECK_CLASS_CAST((k), EOG_IMAGE_TYPE, EogImageClass))
#define EOG_IS_IMAGE(o) (GTK_CHECK_TYPE ((o), EOG_IMAGE_TYPE))
#define EOG_IS_IMAGE_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), EOG_IMAGE_TYPE))
typedef struct _EogImage EogImage;
typedef struct _EogImageClass EogImageClass;
typedef struct _EogImagePrivate EogImagePrivate;
struct _EogImage {
EogImageData object;
EogImagePrivate *priv;
};
struct _EogImageClass {
EogImageDataClass parent_class;
};
POA_GNOME_EOG_Image__epv *
eog_image_get_epv (void);
EogImage *
eog_image_new (void);
GtkType
eog_image_get_type (void) G_GNUC_CONST;
GNOME_EOG_Image
eog_image_corba_object_create (BonoboObject *object);
EogImage
*eog_image_construct (EogImage *image,
GNOME_EOG_Image corba_object);
END_GNOME_DECLS
#endif _EOG_EOG_IMAGE

View file

@ -39,11 +39,12 @@ static BonoboGenericFactory *image_factory = NULL;
typedef struct {
BonoboObject *bonobo_object;
EogImageData *image_data;
EogImage *image;
} bonobo_object_data_t;
static void
bonobo_object_destroy_cb (BonoboObject *object, bonobo_object_data_t *bonobo_object_data)
bonobo_object_destroy_cb (BonoboObject *object,
bonobo_object_data_t *bonobo_object_data)
{
g_return_if_fail (object != NULL);
g_return_if_fail (EOG_IS_CONTROL (object));
@ -62,7 +63,8 @@ bonobo_object_destroy_cb (BonoboObject *object, bonobo_object_data_t *bonobo_obj
}
static BonoboObject *
eog_image_viewer_factory (BonoboGenericFactory *this, const char *goad_id, void *data)
eog_image_viewer_factory (BonoboGenericFactory *this, const char *goad_id,
void *data)
{
bonobo_object_data_t *bonobo_object_data;
@ -71,13 +73,13 @@ eog_image_viewer_factory (BonoboGenericFactory *this, const char *goad_id, void
bonobo_object_data = g_new0 (bonobo_object_data_t, 1);
bonobo_object_data->image_data = eog_image_data_new ();
bonobo_object_data->image = eog_image_new ();
if (!strcmp (goad_id, "OAFIID:eog_image_viewer:a30dc90b-a68f-4ef8-a257-d2f8ab7e6c9f"))
bonobo_object_data->bonobo_object = (BonoboObject *)
eog_control_new (bonobo_object_data->image_data);
eog_control_new (bonobo_object_data->image);
else if (!strcmp (goad_id, "OAFIID:eog_embeddedable_image:759a2e09-31e1-4741-9ce7-8354d49a16bb"))
bonobo_object_data->bonobo_object = (BonoboObject *)
eog_embeddable_new (bonobo_object_data->image_data);
eog_embeddable_new (bonobo_object_data->image);
else {
g_warning ("Unknown ID `%s' requested", goad_id);
return NULL;