GitLab repository storage has been migrated to hashed layout. Please contact Infrastructure team if you notice any issues with repositories or hooks.

Commit a0691399 authored by Gene Z. Ragan's avatar Gene Z. Ragan Committed by Gene Ragan

*libnautilus/nautilus-undo-manager-component.idl

2000-05-10  Gene Z. Ragan  <gzr@eazel.com>

	*libnautilus/nautilus-undo-manager-component.idl
	*libnautilus/nautilus-undo-manager-private.h
	*libnautilus/nautilus-undo-manager.c
	*libnautilus/nautilus-undo-manager.h
	*libnautilus/nautilus-undo-transaction.c
	*libnautilus/nautilus-undo-transaction.h
	*libnautilus/nautilus-undoable.c
	*libnautilus/nautilus-undoable.h

	Moved files to libnautilus so IDL comiplation would work properly
	and at the suggestion of mjs.

	*libnautilus-extensions/Makefile.am
	Removed undo files.

	*libnautilus/Makefile.am
	Added undo files.

	*libnautilus/nautilus-undo-manager-component.idl
	Additional fixes so a clean build would occuer properly.
parent cc45b0f3
2000-05-10 Gene Z. Ragan <gzr@eazel.com>
*libnautilus/nautilus-undo-manager-component.idl
*libnautilus/nautilus-undo-manager-private.h
*libnautilus/nautilus-undo-manager.c
*libnautilus/nautilus-undo-manager.h
*libnautilus/nautilus-undo-transaction.c
*libnautilus/nautilus-undo-transaction.h
*libnautilus/nautilus-undoable.c
*libnautilus/nautilus-undoable.h
Moved files to libnautilus so IDL comiplation would work properly
and at the suggestion of mjs.
*libnautilus-extensions/Makefile.am
Removed undo files.
*libnautilus/Makefile.am
Added undo files.
*libnautilus/nautilus-undo-manager-component.idl
Additional fixes so a clean build would occuer properly.
2000-05-10 J Shane Culpepper <pepper@eazel.com>
*libnautilus-extensions/nautilus-undo-manger-component.idl
......
......@@ -23,19 +23,11 @@ libnautilus_extensions_la_LDFLAGS=\
fsextension_idl_sources = \
fsextension-stubs.c \
fsextension-skels.c \
fsextension-skels.c \
fsextension-common.c \
fsextension.h
nautilus_undo_manager_component_idl_sources = \
nautilus-undo-manager-component-stubs.c \
nautilus-undo-manager-component-skels.c \
nautilus-undo-manager-component-common.c \
nautilus-undo-manager-component.h
BUILT_SOURCES = \
$(fsextension_idl_sources) \
$(nautilus_undo_manager_component_idl_sources)
BUILT_SOURCES = $(fsextension_idl_sources)
libnautilus_extensionsincludedir=$(includedir)/libnautilus-extensions
......@@ -45,9 +37,6 @@ libnautilus_extensionsinclude_HEADERS= \
nautilus-icon-canvas-item.h \
nautilus-icon-dnd.h \
nautilus-icon-grid.h \
nautilus-undo-manager.h \
nautilus-undo-transaction.h \
nautilus-undoable.h \
bonobo-stream-vfs.h \
gtkscrollframe.h \
libnautilus-extensions.h \
......@@ -81,14 +70,10 @@ libnautilus_extensionsinclude_HEADERS= \
nautilus-self-checks.h \
nautilus-string-list.h \
nautilus-string.h \
nautilus-undo-manager.h \
nautilus-undo-transaction.h \
nautilus-undoable.c \
nautilus-xml-extensions.h \
$(NULL)
libnautilus_extensions_la_SOURCES = \
nautilus-undo-manager-private.h \
libnautilus_extensions_la_SOURCES = \
nautilus-file-changes-queue-private.h \
nautilus-icon-private.h \
nautilus-file-private.h \
......@@ -131,24 +116,15 @@ libnautilus_extensions_la_SOURCES = \
nautilus-self-checks.c \
nautilus-string-list.c \
nautilus-string.c \
nautilus-undo-manager.c \
nautilus-undo-transaction.c \
nautilus-undoable.c \
nautilus-xml-extensions.c \
$(fsextension_idl_sources) \
$(nautilus_undo_manager_component_idl_sources) \
$(fsextension_idl_sources) \
$(NULL)
$(fsextension_idl_sources): fsextension_idl_stamp
fsextension_idl_stamp: $(top_srcdir)/idl/fsextension.idl
orbit-idl -I${datadir}/idl `gnome-config --cflags idl` $(top_srcdir)/idl/fsextension.idl
touch fsextension_idl_stamp
$(nautilus_undo_manager_component_idl_sources): nautilus_undo_manager_component_idl_stamp
nautilus_undo_manager_component_idl_stamp: nautilus-undo-manager-component.idl
orbit-idl -I${datadir}/idl `gnome-config --cflags idl` $(srcdir)/nautilus-undo-manager-component.idl
touch nautilus_undo_manager_component_idl_stamp
CLEANFILES = fsextension_idl_stamp nautilus_undo_manager_component_idl_stamp
CLEANFILES = fsextension_idl_stamp
EXTRA_DIST = $(top_srcdir)/idl/fsextension.idl $(top_srcdir)/idl/GNOME_Desktop_FileOperationService.idl
......@@ -32,9 +32,9 @@
#include "nautilus-undo-manager.h"
#include "nautilus-undo-manager-private.h"
#include "nautilus-gnome-extensions.h"
#include "nautilus-gtk-extensions.h"
#include "nautilus-gtk-macros.h"
#include <libnautilus-extensions/nautilus-gnome-extensions.h>
#include <libnautilus-extensions/nautilus-gtk-extensions.h>
#include <libnautilus-extensions/nautilus-gtk-macros.h>
#include "nautilus-undo-manager.h"
enum {
......
......@@ -26,7 +26,7 @@
#define NAUTILUS_UNDO_MANAGER_H
#include <bonobo/bonobo-object.h>
#include <libnautilus-extensions/nautilus-undo-manager-component.h>
#include <libnautilus/nautilus-undo-manager-component.h>
#include <bonobo/bonobo-persist.h>
#include "nautilus-undo-transaction.h"
......
......@@ -23,19 +23,11 @@ libnautilus_extensions_la_LDFLAGS=\
fsextension_idl_sources = \
fsextension-stubs.c \
fsextension-skels.c \
fsextension-skels.c \
fsextension-common.c \
fsextension.h
nautilus_undo_manager_component_idl_sources = \
nautilus-undo-manager-component-stubs.c \
nautilus-undo-manager-component-skels.c \
nautilus-undo-manager-component-common.c \
nautilus-undo-manager-component.h
BUILT_SOURCES = \
$(fsextension_idl_sources) \
$(nautilus_undo_manager_component_idl_sources)
BUILT_SOURCES = $(fsextension_idl_sources)
libnautilus_extensionsincludedir=$(includedir)/libnautilus-extensions
......@@ -45,9 +37,6 @@ libnautilus_extensionsinclude_HEADERS= \
nautilus-icon-canvas-item.h \
nautilus-icon-dnd.h \
nautilus-icon-grid.h \
nautilus-undo-manager.h \
nautilus-undo-transaction.h \
nautilus-undoable.h \
bonobo-stream-vfs.h \
gtkscrollframe.h \
libnautilus-extensions.h \
......@@ -81,14 +70,10 @@ libnautilus_extensionsinclude_HEADERS= \
nautilus-self-checks.h \
nautilus-string-list.h \
nautilus-string.h \
nautilus-undo-manager.h \
nautilus-undo-transaction.h \
nautilus-undoable.c \
nautilus-xml-extensions.h \
$(NULL)
libnautilus_extensions_la_SOURCES = \
nautilus-undo-manager-private.h \
libnautilus_extensions_la_SOURCES = \
nautilus-file-changes-queue-private.h \
nautilus-icon-private.h \
nautilus-file-private.h \
......@@ -131,24 +116,15 @@ libnautilus_extensions_la_SOURCES = \
nautilus-self-checks.c \
nautilus-string-list.c \
nautilus-string.c \
nautilus-undo-manager.c \
nautilus-undo-transaction.c \
nautilus-undoable.c \
nautilus-xml-extensions.c \
$(fsextension_idl_sources) \
$(nautilus_undo_manager_component_idl_sources) \
$(fsextension_idl_sources) \
$(NULL)
$(fsextension_idl_sources): fsextension_idl_stamp
fsextension_idl_stamp: $(top_srcdir)/idl/fsextension.idl
orbit-idl -I${datadir}/idl `gnome-config --cflags idl` $(top_srcdir)/idl/fsextension.idl
touch fsextension_idl_stamp
$(nautilus_undo_manager_component_idl_sources): nautilus_undo_manager_component_idl_stamp
nautilus_undo_manager_component_idl_stamp: nautilus-undo-manager-component.idl
orbit-idl -I${datadir}/idl `gnome-config --cflags idl` $(srcdir)/nautilus-undo-manager-component.idl
touch nautilus_undo_manager_component_idl_stamp
CLEANFILES = fsextension_idl_stamp nautilus_undo_manager_component_idl_stamp
CLEANFILES = fsextension_idl_stamp
EXTRA_DIST = $(top_srcdir)/idl/fsextension.idl $(top_srcdir)/idl/GNOME_Desktop_FileOperationService.idl
/* -*- Mode: IDL; tab-width: 8; indent-tabs-mode: 8; c-basic-offset: 8 -*- */
#include <gnome-factory.idl>
#include <Bonobo.idl>
#ifndef _NAUTUILUS_UNDO_MANAGER_IDL_INCLUDED_
#define _NAUTUILUS_UNDO_MANAGER_IDL_INCLUDED_
#if !defined(__BONOBO_COMPILATION) && defined(__ORBIT_IDL__)
#pragma inhibit push
#endif
module Nautilus {
interface UndoManager : ::Bonobo::Unknown {
boolean begin_transaction (in string name);
boolean end_transaction ();
};
};
#if !defined(__BONOBO_COMPILATION) && defined(__ORBIT_IDL__)
#pragma inhibit pop
#endif
#endif /* _NAUTUILUS_UNDO_MANAGER_IDL_INCLUDED_ */
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* nautulus-undo-manager-private.h
*
* Copyright (C) 2000 Eazel, Inc.
*
* Author: Gene Z. Ragan <gzr@eazel.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef NAUTILUS_UNDO_MANAGER_PRIVATE_H
#define NAUTILUS_UNDO_MANAGER_PRIVATE_H
#include <glib.h>
#include <bonobo.h>
#include "nautilus-undo-transaction.h"
/* Private data */
NautilusUndoManager *global_undo_manager;
struct NautilusUndoManagerDetails {
NautilusUndoTransaction *transaction; /* Current active and unique transaction */
GList *undo_list;
GList *redo_list;
gboolean transaction_in_progress;
gboolean enable_redo;
gint queue_depth;
};
#endif /* NAUTILUS_UNDO_MANAGER_PRIVATE_H */
\ No newline at end of file
This diff is collapsed.
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* NautilusUndoManager - Manages undo and redo transactions.
*
* Copyright (C) 2000 Eazel, Inc.
*
* Author: Gene Z. Ragan <gzr@eazel.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef NAUTILUS_UNDO_MANAGER_H
#define NAUTILUS_UNDO_MANAGER_H
#include <bonobo/bonobo-object.h>
#include <libnautilus/nautilus-undo-manager-component.h>
#include <bonobo/bonobo-persist.h>
#include "nautilus-undo-transaction.h"
#define NAUTILUS_TYPE_UNDO_MANAGER \
(nautilus_undo_manager_get_type ())
#define NAUTILUS_UNDO_MANAGER(obj) \
(GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_UNDO_MANAGER, NautilusUndoManager))
#define NAUTILUS_UNDO_MANAGER_CLASS(klass) \
(GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_UNDO_MANAGER, NautilusUndoManagerClass))
#define NAUTILUS_IS_UNDO_MANAGER(obj) \
(GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_UNDO_MANAGER))
#define NAUTILUS_IS_UNDO_MANAGER_CLASS(klass) \
(GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_UNDO_MANAGER))
typedef struct NautilusUndoManagerClass NautilusUndoManagerClass;
typedef struct NautilusUndoManagerDetails NautilusUndoManagerDetails;
struct NautilusUndoManager {
BonoboPersist parent;
NautilusUndoManagerDetails *details;
};
struct NautilusUndoManagerClass {
BonoboPersistClass parent_class;
void (* undo_transaction_occurred) (GtkObject *object, gpointer data);
gpointer servant_init_func, servant_destroy_func, vepv;
};
/* GtkObject */
GtkType nautilus_undo_manager_get_type (void);
NautilusUndoManager *nautilus_undo_manager_new (void);
/* Prototypes */
gboolean nautilus_undo_manager_initialize_global_manager (void);
gboolean nautilus_undo_manager_add_undoable_to_transaction (NautilusUndoable *undoable);
gboolean nautilus_undo_manager_begin_transaction (const gchar *name);
gboolean nautilus_undo_manager_end_transaction (void);
gboolean nautilus_undo_manager_undo_last_transaction (void);
gboolean nautilus_undo_manager_redo_last_undone_transaction (void);
NautilusUndoTransaction *nautilus_undo_manager_get_current_transaction (void);
gboolean nautilus_undo_manager_transaction_in_progress (void);
gboolean nautilus_undo_manager_add_undo_transaction (NautilusUndoTransaction
*transaction);
gboolean nautilus_undo_manager_add_redo_transaction (NautilusUndoTransaction
*transaction);
gboolean nautilus_undo_manager_remove_transaction (NautilusUndoTransaction
*transaction);
gboolean nautilus_undo_manager_unregister_object (GtkObject *object);
gboolean nautilus_undo_manager_can_undo (void);
gboolean nautilus_undo_manager_can_redo (void);
gint nautilus_undo_manager_get_current_undo_transaction_name (gchar *name, gint max_length);
gint nautilus_undo_manager_get_current_redo_transaction_name (gchar *name, gint max_length);
NautilusUndoManager *nautilus_undo_manager_get_undo_manager (void);
gboolean nautilus_undo_manager_enable_redo (gboolean value);
gboolean nautilus_undo_manager_set_queue_depth (gint depth);
#endif
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* NautilusUndoTransaction - An object for an undoable transcation.
*
* Copyright (C) 2000 Eazel, Inc.
*
* Author: Gene Z. Ragan <gzr@eazel.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include "nautilus-undo-transaction.h"
/* nautilus_undo_transaction_new */
NautilusUndoTransaction *
nautilus_undo_transaction_new (const gchar *name)
{
NautilusUndoTransaction *transaction;
transaction = g_new(NautilusUndoTransaction, 1);
transaction->transaction_list = NULL;
transaction->name = g_strdup(name);
return transaction;
}
/* nautilus_undo_transaction_destroy */
void
nautilus_undo_transaction_destroy (NautilusUndoTransaction *transaction)
{
g_assert(transaction);
/* Empty list */
g_list_free(transaction->transaction_list);
g_free(transaction->name);
g_free(transaction);
}
/* nautilus_undo_transaction_add_undoable */
gboolean
nautilus_undo_transaction_add_undoable (NautilusUndoTransaction *transaction,
NautilusUndoable *undoable)
{
if (transaction == NULL) {
g_warning("Cannot add undoable to a NULL transaction");
return FALSE;
}
if (undoable == NULL) {
g_warning("Cannot add a NULL undoable to a transaction");
return FALSE;
}
transaction->transaction_list = g_list_append(transaction->transaction_list, undoable);
return TRUE;
}
/* nautilus_undo_transaction_undo
* Parse transaction and send undo signals to undoable objects stored in transaction
*/
gboolean
nautilus_undo_transaction_undo (NautilusUndoTransaction *transaction)
{
NautilusUndoable *undoable;
guint index;
g_return_val_if_fail(transaction != NULL, FALSE);
for ( index = 0; index < g_list_length(transaction->transaction_list); index++) {
/* Get pointer to undoable */
undoable = g_list_nth_data(transaction->transaction_list, index);
/* Send object restore from undo signal */
if (undoable != NULL)
nautilus_undoable_restore_from_undo_snapshot (undoable);
}
return TRUE;
}
/* nautilus_undo_transaction_contains_object
*
* Return name of requested transaction
*/
const gchar *
nautilus_undo_transaction_get_name (NautilusUndoTransaction *transaction)
{
g_return_val_if_fail(transaction != NULL, NULL);
return transaction->name;
}
/* nautilus_undo_transaction_contains_object
*
* Return TRUE if object is contained by transaction
*/
gboolean
nautilus_undo_transaction_contains_object (NautilusUndoTransaction *transaction,
GtkObject *object)
{
NautilusUndoable *undoable;
gint index;
g_return_val_if_fail(transaction != NULL, FALSE);
for ( index = 0; index < g_list_length(transaction->transaction_list); index++) {
/* Get pointer to undoable */
undoable = g_list_nth_data(transaction->transaction_list, index);
/* Check and see if we have a target object match */
if (undoable != NULL && undoable->undo_target_class == object) {
return TRUE;
}
}
return FALSE;
}
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* NautilusUndoTransaction - An object for an undoable transcation.
*
* Copyright (C) 2000 Eazel, Inc.
*
* Author: Gene Z. Ragan <gzr@eazel.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef NAUTILUS_UNDO_TRANSACTION_H
#define NAUTILUS_UNDO_TRANSACTION_H
#include <glib.h>
#include "nautilus-undoable.h"
typedef struct NautilusUndoTransaction NautilusUndoTransaction;
struct NautilusUndoTransaction {
gchar *name;
GList *transaction_list;
};
NautilusUndoTransaction *nautilus_undo_transaction_new (const gchar *name);
void nautilus_undo_transaction_destroy (NautilusUndoTransaction *transaction);
gboolean nautilus_undo_transaction_add_undoable (NautilusUndoTransaction *transaction,
NautilusUndoable *undoable);
gboolean nautilus_undo_transaction_undo (NautilusUndoTransaction *transaction);
const gchar *nautilus_undo_transaction_get_name (NautilusUndoTransaction *transaction);
gboolean nautilus_undo_transaction_contains_object (NautilusUndoTransaction *transaction,
GtkObject *object);
#endif
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* NautilusUndoable - A container for an undoable object .
*
* Copyright (C) 2000 Eazel, Inc.
*
* Author: Gene Z. Ragan <gzr@eazel.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include "nautilus-undoable.h"
#include <gtk/gtksignal.h>
#include <gtk/gtkmain.h>
#include <glib.h>
#include "nautilus-gnome-extensions.h"
#include "nautilus-gtk-extensions.h"
#include "nautilus-gtk-macros.h"
#include "nautilus-undo-manager.h"
enum {
SAVE_UNDO_SNAPSHOT,
RESTORE_FROM_UNDO_SNAPSHOT,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL];
/* GtkObject */
static void nautilus_undoable_initialize_class (NautilusUndoableClass *class);
static void nautilus_undoable_initialize (NautilusUndoable *item);
static void destroy (GtkObject *object);
NAUTILUS_DEFINE_CLASS_BOILERPLATE (NautilusUndoable, nautilus_undoable, GTK_TYPE_OBJECT)
/* Class initialization function for the NautilusUndoable item. */
static void
nautilus_undoable_initialize_class (NautilusUndoableClass *class)
{
GtkObjectClass *object_class;
object_class = GTK_OBJECT_CLASS (class);
object_class->destroy = destroy;
signals[SAVE_UNDO_SNAPSHOT]
= gtk_signal_new ("save_undo_snapshot",
GTK_RUN_LAST,
object_class->type,
GTK_SIGNAL_OFFSET (NautilusUndoableClass,
save_undo_snapshot),
gtk_marshal_NONE__POINTER,
GTK_TYPE_NONE, 1,
GTK_TYPE_POINTER);
signals[RESTORE_FROM_UNDO_SNAPSHOT]
= gtk_signal_new ("restore_from_undo_snapshot",
GTK_RUN_LAST,
object_class->type,
GTK_SIGNAL_OFFSET (NautilusUndoableClass,
restore_from_undo_snapshot),
gtk_marshal_NONE__POINTER,
GTK_TYPE_NONE, 1,
GTK_TYPE_POINTER);
gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL);
}
/* Object initialization function for the NautilusUndoable. */
static void
nautilus_undoable_initialize (NautilusUndoable *undoable)
{
g_datalist_init(&undoable->undo_data);
}
GtkObject *
nautilus_undoable_new (void)
{
GtkObject *new;
new = gtk_type_new (nautilus_undoable_get_type ());
return new;
}
/* destroy */
static void
destroy (GtkObject *object)
{
NautilusUndoable *undoable;
g_return_if_fail (NAUTILUS_IS_UNDOABLE (object));
undoable = NAUTILUS_UNDOABLE(object);
g_datalist_clear(&undoable->undo_data);
NAUTILUS_CALL_PARENT_CLASS (GTK_OBJECT_CLASS, destroy, (object));
}
/* nautilus_undoable_save_undo_snapshot */
void
nautilus_undoable_save_undo_snapshot (GtkObject *target, GtkSignalFunc save_func, GtkSignalFunc restore_func)
{
gboolean result;
NautilusUndoable *undoable;
/* Init Undoable */
undoable = NAUTILUS_UNDOABLE(nautilus_undoable_new());