Commit c70683fe authored by Maciej Stachowiak's avatar Maciej Stachowiak
Browse files

Finally fixed bug 1994; in the process I think I also ended up

	fixing 2576, 2577, 2578, 2579 and 2580.

	* components/adapter/nautilus-adapter-embed-strategy.h,
	components/adapter/nautilus-adapter-embed-strategy.c: Abstract
	interface for embedding various kinds of Bonobo components.
	* components/adapter/nautilus-adapter-embed-strategy-private.h:
	Header inclusing a `protected' call to emit a signal.
	* components/adapter/nautilus-adapter-control-embed-strategy.h,
	components/adapter/nautilus-adapter-control-embed-strategy.c:
	Concrete subclass for embedding a Control.
	* components/adapter/nautilus-adapter-embeddable-embed-strategy.h,
	components/adapter/nautilus-adapter-embeddable-embed-strategy.c:
	Concrete subclass for embedding an Embeddable.
	* components/adapter/Makefile.am: Add new files.

	* components/adapter/nautilus-adapter-progressive-load-strategy.c
	(nautilus_adapter_progressive_load_strategy_load_location): Fixed
	incorrect GnomeVFSFIleInfo handling and removed a printf.

	* components/adapter/nautilus-adapter-stream-load-strategy.c:
	(nautilus_adapter_stream_load_strategy_load_location,
	nautilus_adapter_stream_load_strategy_stop_loading): Removed print
	statements.

	* components/adapter/nautilus-adapter.c:
	(nautilus_adapter_destroy): Free stuff.

	(nautilus_adapter_new): Use the new embed strategy stuff.

	(nautilus_adapter_open_location_callback): callback for signal
	handler attached to embed strategy.

	* src/nautilus-view-frame-bonobo-control.c,
	src/nautilus-view-frame-bonobo-embeddable.c: Removed.
	* src/nautilus-view-frame-private.h, src/Makefile.am: Remove
	mentions of the two preceding files.

	* src/nautilus-view-frame.c (nautilus_view_frame_load_client): Use
	the adapter to host non-nautilus-native components.

	* nautilus-clean.sh: Added image view.
parent 8c66bc71
2000-09-20 Maciej Stachowiak <mjs@eazel.com>
Finally fixed bug 1994; in the process I think I also ended up
fixing 2576, 2577, 2578, 2579 and 2580.
* components/adapter/nautilus-adapter-embed-strategy.h,
components/adapter/nautilus-adapter-embed-strategy.c: Abstract
interface for embedding various kinds of Bonobo components.
* components/adapter/nautilus-adapter-embed-strategy-private.h:
Header inclusing a `protected' call to emit a signal.
* components/adapter/nautilus-adapter-control-embed-strategy.h,
components/adapter/nautilus-adapter-control-embed-strategy.c:
Concrete subclass for embedding a Control.
* components/adapter/nautilus-adapter-embeddable-embed-strategy.h,
components/adapter/nautilus-adapter-embeddable-embed-strategy.c:
Concrete subclass for embedding an Embeddable.
* components/adapter/Makefile.am: Add new files.
* components/adapter/nautilus-adapter-progressive-load-strategy.c
(nautilus_adapter_progressive_load_strategy_load_location): Fixed
incorrect GnomeVFSFIleInfo handling and removed a printf.
* components/adapter/nautilus-adapter-stream-load-strategy.c:
(nautilus_adapter_stream_load_strategy_load_location,
nautilus_adapter_stream_load_strategy_stop_loading): Removed print
statements.
* components/adapter/nautilus-adapter.c:
(nautilus_adapter_destroy): Free stuff.
(nautilus_adapter_new): Use the new embed strategy stuff.
(nautilus_adapter_open_location_callback): callback for signal
handler attached to embed strategy.
* src/nautilus-view-frame-bonobo-control.c,
src/nautilus-view-frame-bonobo-embeddable.c: Removed.
* src/nautilus-view-frame-private.h, src/Makefile.am: Remove
mentions of the two preceding files.
* src/nautilus-view-frame.c (nautilus_view_frame_load_client): Use
the adapter to host non-nautilus-native components.
* nautilus-clean.sh: Added image view.
2000-09-20 Michael Engber <engber@eazel.com>
Refactor/clean-up background blitting code
......
......@@ -40,6 +40,12 @@ nautilus_adapter_SOURCES = \
nautilus-adapter-file-load-strategy.h \
nautilus-adapter-progressive-load-strategy.h \
nautilus-adapter-progressive-load-strategy.c \
nautilus-adapter-embed-strategy.h \
nautilus-adapter-embed-strategy.c \
nautilus-adapter-control-embed-strategy.h \
nautilus-adapter-control-embed-strategy.c \
nautilus-adapter-embeddable-embed-strategy.h \
nautilus-adapter-embeddable-embed-strategy.c \
$(NULL)
nautilus_adapter_LDADD = \
......
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/*
* Nautilus
*
* Copyright (C) 2000 Eazel, Inc.
*
* Nautilus is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* Nautilus is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; see the file COPYING. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Author: Maciej Stachowiak <mjs@eazel.com>
*/
/* nautilus-adapter-control-embed-strategy.c -
*/
#include <config.h>
#include "nautilus-adapter-control-embed-strategy.h"
#include "nautilus-adapter-embed-strategy-private.h"
#include <gtk/gtkobject.h>
#include <libnautilus-extensions/nautilus-gtk-macros.h>
#include <bonobo/bonobo-control.h>
struct NautilusAdapterControlEmbedStrategyDetails {
Bonobo_Control control;
BonoboControlFrame *control_frame;
GtkWidget *widget;
};
static void nautilus_adapter_control_embed_strategy_initialize_class (NautilusAdapterControlEmbedStrategyClass *klass);
static void nautilus_adapter_control_embed_strategy_initialize (NautilusAdapterControlEmbedStrategy *strategy);
static void nautilus_adapter_control_embed_strategy_destroy (GtkObject *object);
static GtkWidget *nautilus_adapter_control_embed_strategy_get_widget (NautilusAdapterEmbedStrategy *strategy);
NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusAdapterControlEmbedStrategy, nautilus_adapter_control_embed_strategy, NAUTILUS_TYPE_ADAPTER_EMBED_STRATEGY)
static void
nautilus_adapter_control_embed_strategy_initialize_class (NautilusAdapterControlEmbedStrategyClass *klass)
{
GtkObjectClass *object_class;
NautilusAdapterEmbedStrategyClass *adapter_embed_strategy_class;
object_class = GTK_OBJECT_CLASS (klass);
object_class->destroy = nautilus_adapter_control_embed_strategy_destroy;
adapter_embed_strategy_class = NAUTILUS_ADAPTER_EMBED_STRATEGY_CLASS (klass);
adapter_embed_strategy_class->get_widget = nautilus_adapter_control_embed_strategy_get_widget;
}
static void
nautilus_adapter_control_embed_strategy_initialize (NautilusAdapterControlEmbedStrategy *strategy)
{
strategy->details = g_new0 (NautilusAdapterControlEmbedStrategyDetails, 1);
}
static void
nautilus_adapter_control_embed_strategy_destroy (GtkObject *object)
{
NautilusAdapterControlEmbedStrategy *strategy;
CORBA_Environment ev;
strategy = NAUTILUS_ADAPTER_CONTROL_EMBED_STRATEGY (object);
if (strategy->details->control != CORBA_OBJECT_NIL) {
CORBA_exception_init (&ev);
bonobo_object_release_unref (strategy->details->control, &ev);
CORBA_exception_free (&ev);
}
if (strategy->details->control_frame != NULL) {
bonobo_object_unref (BONOBO_OBJECT (strategy->details->control_frame));
}
g_free (strategy->details);
NAUTILUS_CALL_PARENT_CLASS (GTK_OBJECT_CLASS, destroy, (object));
}
static void
activate_uri_callback (BonoboControlFrame *frame,
const char *uri,
gboolean relative,
NautilusAdapterControlEmbedStrategy *strategy)
{
/* FIXME: ignoring `relative' parameter as the concept is kind
of broken. */
nautilus_adapter_embed_strategy_emit_open_location (NAUTILUS_ADAPTER_EMBED_STRATEGY (strategy),
uri);
}
NautilusAdapterEmbedStrategy *
nautilus_adapter_control_embed_strategy_new (Bonobo_Control control,
Bonobo_UIHandler uih)
{
NautilusAdapterControlEmbedStrategy *strategy;
strategy = NAUTILUS_ADAPTER_CONTROL_EMBED_STRATEGY (gtk_type_new (NAUTILUS_TYPE_ADAPTER_CONTROL_EMBED_STRATEGY));
strategy->details->control = control;
strategy->details->control_frame = bonobo_control_frame_new(uih);
bonobo_control_frame_bind_to_control (strategy->details->control_frame, control);
strategy->details->widget = bonobo_control_frame_get_widget (strategy->details->control_frame);
gtk_signal_connect (GTK_OBJECT (strategy->details->control_frame),
"activate_uri", GTK_SIGNAL_FUNC (activate_uri_callback), strategy);
return NAUTILUS_ADAPTER_EMBED_STRATEGY (strategy);
}
static GtkWidget *
nautilus_adapter_control_embed_strategy_get_widget (NautilusAdapterEmbedStrategy *abstract_strategy)
{
NautilusAdapterControlEmbedStrategy *strategy;
strategy = NAUTILUS_ADAPTER_CONTROL_EMBED_STRATEGY (abstract_strategy);
return strategy->details->widget;
}
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/*
* Copyright (C) 2000 Eazel, Inc
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Author: Maciej Stachowiak <mjs@eazel.com>
*/
/* nautilus-adapter-control-embed-strategy.h
*/
#ifndef NAUTILUS_ADAPTER_CONTROL_EMBED_STRATEGY_H
#define NAUTILUS_ADAPTER_CONTROL_EMBED_STRATEGY_H
#include "nautilus-adapter-embed-strategy.h"
#define NAUTILUS_TYPE_ADAPTER_CONTROL_EMBED_STRATEGY (nautilus_adapter_control_embed_strategy_get_type ())
#define NAUTILUS_ADAPTER_CONTROL_EMBED_STRATEGY(obj) (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_ADAPTER_CONTROL_EMBED_STRATEGY, NautilusAdapterControlEmbedStrategy))
#define NAUTILUS_ADAPTER_CONTROL_EMBED_STRATEGY_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_ADAPTER_CONTROL_EMBED_STRATEGY, NautilusAdapterControlEmbedStrategyClass))
#define NAUTILUS_IS_ADAPTER_CONTROL_EMBED_STRATEGY(obj) (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_ADAPTER_CONTROL_EMBED_STRATEGY))
#define NAUTILUS_IS_ADAPTER_CONTROL_EMBED_STRATEGY_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_ADAPTER_CONTROL_EMBED_STRATEGY))
typedef struct NautilusAdapterControlEmbedStrategyDetails NautilusAdapterControlEmbedStrategyDetails;
typedef struct {
NautilusAdapterEmbedStrategy parent;
NautilusAdapterControlEmbedStrategyDetails *details;
} NautilusAdapterControlEmbedStrategy;
typedef struct {
NautilusAdapterEmbedStrategyClass parent;
} NautilusAdapterControlEmbedStrategyClass;
/* GtkObject support */
GtkType nautilus_adapter_control_embed_strategy_get_type (void);
NautilusAdapterEmbedStrategy *nautilus_adapter_control_embed_strategy_new (Bonobo_Control control,
Bonobo_UIHandler uih);
#endif /* NAUTILUS_ADAPTER_CONTROL_EMBED_STRATEGY_H */
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/*
* Nautilus
*
* Copyright (C) 2000 Eazel, Inc.
*
* Nautilus is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* Nautilus is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; see the file COPYING. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Author: Maciej Stachowiak <mjs@eazel.com>
*/
/* nautilus-adapter-embeddable-embed-strategy.c -
*/
#include <config.h>
#include "nautilus-adapter-embeddable-embed-strategy.h"
#include "nautilus-adapter-embed-strategy-private.h"
#include <gtk/gtkobject.h>
#include <libnautilus-extensions/nautilus-gtk-macros.h>
#include <libnautilus/nautilus-view.h>
#include <bonobo.h>
struct NautilusAdapterEmbeddableEmbedStrategyDetails {
BonoboObjectClient *embeddable_wrapper;
BonoboContainer *container;
BonoboClientSite *client_site;
BonoboViewFrame *view_frame;
GtkWidget *client_widget;
};
static void nautilus_adapter_embeddable_embed_strategy_initialize_class (NautilusAdapterEmbeddableEmbedStrategyClass *klass);
static void nautilus_adapter_embeddable_embed_strategy_initialize (NautilusAdapterEmbeddableEmbedStrategy *strategy);
static void nautilus_adapter_embeddable_embed_strategy_destroy (GtkObject *object);
static GtkWidget *nautilus_adapter_embeddable_embed_strategy_get_widget (NautilusAdapterEmbedStrategy *strategy);
NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusAdapterEmbeddableEmbedStrategy, nautilus_adapter_embeddable_embed_strategy, NAUTILUS_TYPE_ADAPTER_EMBED_STRATEGY)
static void
nautilus_adapter_embeddable_embed_strategy_initialize_class (NautilusAdapterEmbeddableEmbedStrategyClass *klass)
{
GtkObjectClass *object_class;
NautilusAdapterEmbedStrategyClass *adapter_embed_strategy_class;
object_class = GTK_OBJECT_CLASS (klass);
object_class->destroy = nautilus_adapter_embeddable_embed_strategy_destroy;
adapter_embed_strategy_class = NAUTILUS_ADAPTER_EMBED_STRATEGY_CLASS (klass);
adapter_embed_strategy_class->get_widget = nautilus_adapter_embeddable_embed_strategy_get_widget;
}
static void
nautilus_adapter_embeddable_embed_strategy_initialize (NautilusAdapterEmbeddableEmbedStrategy *strategy)
{
strategy->details = g_new0 (NautilusAdapterEmbeddableEmbedStrategyDetails, 1);
}
static void
nautilus_adapter_embeddable_embed_strategy_destroy (GtkObject *object)
{
NautilusAdapterEmbeddableEmbedStrategy *strategy;
strategy = NAUTILUS_ADAPTER_EMBEDDABLE_EMBED_STRATEGY (object);
if (strategy->details->embeddable_wrapper != NULL) {
bonobo_object_unref (BONOBO_OBJECT (strategy->details->embeddable_wrapper));
}
if (strategy->details->view_frame != NULL) {
bonobo_object_unref (BONOBO_OBJECT (strategy->details->view_frame));
}
if (strategy->details->client_site != NULL) {
bonobo_object_unref (BONOBO_OBJECT (strategy->details->client_site));
}
if (strategy->details->container != NULL) {
bonobo_object_unref (BONOBO_OBJECT (strategy->details->container));
}
g_free (strategy->details);
NAUTILUS_CALL_PARENT_CLASS (GTK_OBJECT_CLASS, destroy, (object));
}
static void
activate_uri_callback (BonoboControlFrame *frame,
const char *uri,
gboolean relative,
NautilusAdapterEmbeddableEmbedStrategy *strategy)
{
/* FIXME: ignoring `relative' parameter as the concept is kind
of broken. */
nautilus_adapter_embed_strategy_emit_open_location (NAUTILUS_ADAPTER_EMBED_STRATEGY (strategy),
uri);
}
NautilusAdapterEmbedStrategy *
nautilus_adapter_embeddable_embed_strategy_new (Bonobo_Embeddable embeddable,
Bonobo_UIHandler uih)
{
NautilusAdapterEmbeddableEmbedStrategy *strategy;
strategy = NAUTILUS_ADAPTER_EMBEDDABLE_EMBED_STRATEGY (gtk_type_new (NAUTILUS_TYPE_ADAPTER_EMBEDDABLE_EMBED_STRATEGY));
strategy->details->embeddable_wrapper = bonobo_object_client_from_corba (embeddable);
strategy->details->container = bonobo_container_new ();
strategy->details->client_site = bonobo_client_site_new (strategy->details->container);
bonobo_client_site_bind_embeddable (strategy->details->client_site, strategy->details->embeddable_wrapper);
bonobo_container_add (strategy->details->container, BONOBO_OBJECT (strategy->details->client_site));
strategy->details->view_frame = bonobo_client_site_new_view (strategy->details->client_site, uih);
strategy->details->client_widget = bonobo_view_frame_get_wrapper (strategy->details->view_frame);
bonobo_wrapper_set_visibility (BONOBO_WRAPPER (strategy->details->client_widget), FALSE);
bonobo_view_frame_set_covered (strategy->details->view_frame, FALSE);
gtk_signal_connect (GTK_OBJECT (strategy->details->view_frame),
"activate_uri", GTK_SIGNAL_FUNC (activate_uri_callback), strategy);
gtk_widget_show (strategy->details->client_widget);
return NAUTILUS_ADAPTER_EMBED_STRATEGY (strategy);
}
static GtkWidget *
nautilus_adapter_embeddable_embed_strategy_get_widget (NautilusAdapterEmbedStrategy *abstract_strategy)
{
NautilusAdapterEmbeddableEmbedStrategy *strategy;
strategy = NAUTILUS_ADAPTER_EMBEDDABLE_EMBED_STRATEGY (abstract_strategy);
return strategy->details->client_widget;
}
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/*
* Copyright (C) 2000 Eazel, Inc
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Author: Maciej Stachowiak <mjs@eazel.com>
*/
/* nautilus-adapter-embeddable-embed-strategy.h
*/
#ifndef NAUTILUS_ADAPTER_EMBEDDABLE_EMBED_STRATEGY_H
#define NAUTILUS_ADAPTER_EMBEDDABLE_EMBED_STRATEGY_H
#include "nautilus-adapter-embed-strategy.h"
#define NAUTILUS_TYPE_ADAPTER_EMBEDDABLE_EMBED_STRATEGY (nautilus_adapter_embeddable_embed_strategy_get_type ())
#define NAUTILUS_ADAPTER_EMBEDDABLE_EMBED_STRATEGY(obj) (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_ADAPTER_EMBEDDABLE_EMBED_STRATEGY, NautilusAdapterEmbeddableEmbedStrategy))
#define NAUTILUS_ADAPTER_EMBEDDABLE_EMBED_STRATEGY_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_ADAPTER_EMBEDDABLE_EMBED_STRATEGY, NautilusAdapterEmbeddableEmbedStrategyClass))
#define NAUTILUS_IS_ADAPTER_EMBEDDABLE_EMBED_STRATEGY(obj) (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_ADAPTER_EMBEDDABLE_EMBED_STRATEGY))
#define NAUTILUS_IS_ADAPTER_EMBEDDABLE_EMBED_STRATEGY_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_ADAPTER_EMBEDDABLE_EMBED_STRATEGY))
typedef struct NautilusAdapterEmbeddableEmbedStrategyDetails NautilusAdapterEmbeddableEmbedStrategyDetails;
typedef struct {
NautilusAdapterEmbedStrategy parent;
NautilusAdapterEmbeddableEmbedStrategyDetails *details;
} NautilusAdapterEmbeddableEmbedStrategy;
typedef struct {
NautilusAdapterEmbedStrategyClass parent;
} NautilusAdapterEmbeddableEmbedStrategyClass;
/* GtkObject support */
GtkType nautilus_adapter_embeddable_embed_strategy_get_type (void);
NautilusAdapterEmbedStrategy *nautilus_adapter_embeddable_embed_strategy_new (Bonobo_Embeddable embeddable,
Bonobo_UIHandler uih);
#endif /* NAUTILUS_ADAPTER_EMBEDDABLE_EMBED_STRATEGY_H */
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/*
* Copyright (C) 2000 Eazel, Inc
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Author: Maciej Stachowiak <mjs@eazel.com>
*/
/* nautilus-adapter-embed-strategy.h
*/
#ifndef NAUTILUS_ADAPTER_EMBED_STRATEGY_PRIVATE_H
#define NAUTILUS_ADAPTER_EMBED_STRATEGY_PRIVATE_H
#include "nautilus-adapter-embed-strategy.h"
void nautilus_adapter_embed_strategy_emit_open_location (NautilusAdapterEmbedStrategy *strategy,
const char *uri);
#endif /* NAUTILUS_ADAPTER_EMBED_STRATEGY_PRIVATE_H */
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/*
* Nautilus
*
* Copyright (C) 2000 Eazel, Inc.
*
* Nautilus is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* Nautilus is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; see the file COPYING. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Author: Maciej Stachowiak <mjs@eazel.com>
*/
/* nautilus-adapter-embed-strategy.h
*/
#include <config.h>
#include "nautilus-adapter-embed-strategy.h"
#include "nautilus-adapter-embed-strategy-private.h"
#include "nautilus-adapter-control-embed-strategy.h"
#include "nautilus-adapter-embeddable-embed-strategy.h"
#include <gtk/gtkobject.h>
#include <gtk/gtksignal.h>
#include <libnautilus-extensions/nautilus-gtk-macros.h>
#include <stdio.h>
enum {
OPEN_LOCATION,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL];
static void nautilus_adapter_embed_strategy_initialize_class (NautilusAdapterEmbedStrategyClass *klass);
static void nautilus_adapter_embed_strategy_initialize (NautilusAdapterEmbedStrategy *strategy);
static void nautilus_adapter_embed_strategy_destroy (GtkObject *object);
NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusAdapterEmbedStrategy, nautilus_adapter_embed_strategy, GTK_TYPE_OBJECT)
NAUTILUS_IMPLEMENT_MUST_OVERRIDE_SIGNAL (nautilus_adapter_embed_strategy, get_widget)
static void
nautilus_adapter_embed_strategy_initialize_class (NautilusAdapterEmbedStrategyClass *klass)
{
GtkObjectClass *object_class;
object_class = (GtkObjectClass *) klass;
object_class->destroy = nautilus_adapter_embed_strategy_destroy;
signals[OPEN_LOCATION] =