31 #ifndef __GTK_UNDO_MANAGER_H__
32 #define __GTK_UNDO_MANAGER_H__
34 #include <vdk/gtksourcebuffer.h>
38 #define GTK_TYPE_UNDO_MANAGER (gtk_undo_manager_get_type ())
39 #define GTK_UNDO_MANAGER(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_UNDO_MANAGER, GtkUndoManager))
40 #define GTK_UNDO_MANAGER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_UNDO_MANAGER, GtkUndoManagerClass))
41 #define GTK_IS_UNDO_MANAGER(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_UNDO_MANAGER))
42 #define GTK_IS_UNDO_MANAGER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_UNDO_MANAGER))
43 #define GTK_UNDO_MANAGER_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_TYPE_UNDO_MANAGER, GtkUndoManagerClass))
45 typedef struct _GtkUndoManager GtkUndoManager;
46 typedef struct _GtkUndoManagerClass GtkUndoManagerClass;
47 typedef struct _GtkUndoManagerPrivate GtkUndoManagerPrivate;
49 struct _GtkUndoManager {
52 GtkUndoManagerPrivate *priv;
55 struct _GtkUndoManagerClass {
56 GObjectClass parent_class;
59 void (*can_undo) (GtkUndoManager *um, gboolean can_undo);
60 void (*can_redo) (GtkUndoManager *um, gboolean can_redo);
63 GType gtk_undo_manager_get_type (
void) G_GNUC_CONST;
65 GtkUndoManager *gtk_undo_manager_new (GtkSourceBuffer *buffer);
67 gboolean gtk_undo_manager_can_undo (const GtkUndoManager *um);
68 gboolean gtk_undo_manager_can_redo (const GtkUndoManager *um);
70 void gtk_undo_manager_undo (GtkUndoManager *um);
71 void gtk_undo_manager_redo (GtkUndoManager *um);
73 int gtk_undo_manager_get_undo_levels (GtkUndoManager *um);
74 void gtk_undo_manager_set_undo_levels (GtkUndoManager *um,
77 void gtk_undo_manager_begin_not_undoable_action (GtkUndoManager *um);
78 void gtk_undo_manager_end_not_undoable_action (GtkUndoManager *um);