1 /* logjam - a GTK client for LiveJournal.
2 * Copyright (C) 2000-2003 Evan Martin <evan@livejournal.com>
3 * Ported to LogJam by Ari Pollak <ari@debian.org>
5 * This file is based on gedit-undo-manager.h from gEdit 2.2.1.
7 * Copyright (C) 1998, 1999 Alex Roberts, Evan Lawrence
8 * Copyright (C) 2000, 2001 Chema Celorio, Paolo Maggi
11 #ifndef __LOGJAM_UNDOMGR_H__
12 #define __LOGJAM_UNDOMGR_H__
14 #define TYPE_UNDOMGR (undomgr_get_type ())
15 #define UNDOMGR(obj) (GTK_CHECK_CAST ((obj), TYPE_UNDOMGR, UndoMgr))
16 #define UNDOMGR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), TYPE_UNDOMGR, UndoMgrClass))
17 #define IS_UNDOMGR(obj) (GTK_CHECK_TYPE ((obj), TYPE_UNDOMGR))
18 #define IS_UNDOMGR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), TYPE_UNDOMGR))
19 #define UNDOMGR_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), TYPE_UNDOMGR, UndoMgrClass))
22 typedef struct _UndoMgrPrivate UndoMgrPrivate
;
32 GObjectClass parent_class
;
34 void (*can_undo
) (UndoMgr
*um
, gboolean can_undo
);
35 void (*can_redo
) (UndoMgr
*um
, gboolean can_redo
);
39 GType
undomgr_get_type (void) G_GNUC_CONST
;
41 extern GObject
*undomgr_new (void);
42 extern void undomgr_attach (UndoMgr
*um
, GtkWidget
*widget
);
43 extern void undomgr_detach (UndoMgr
*um
, GtkWidget
*widget
);
45 /* Clears the stack of undo actions: */
46 extern void undomgr_reset (UndoMgr
*um
);
48 extern gboolean
undomgr_can_undo (const UndoMgr
*um
);
49 extern gboolean
undomgr_can_redo (const UndoMgr
*um
);
51 extern void undomgr_undo (UndoMgr
*um
);
52 extern void undomgr_redo (UndoMgr
*um
);
54 extern void undomgr_begin_not_undoable_action (UndoMgr
*um
);
55 extern void undomgr_end_not_undoable_action (UndoMgr
*um
);