poll.h: cosmetix
[k8lowj.git] / src / undo.h
blob6726b537a28d8d0656f2f597edf71276c670dc2b
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.
6 * Original authors:
7 * Copyright (C) 1998, 1999 Alex Roberts, Evan Lawrence
8 * Copyright (C) 2000, 2001 Chema Celorio, Paolo Maggi
9 */
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;
24 typedef struct {
25 GObject base;
27 UndoMgrPrivate *priv;
28 } UndoMgr;
30 typedef struct {
31 GObjectClass parent_class;
33 /* Signals */
34 void (*can_undo) (UndoMgr * um, gboolean can_undo);
35 void (*can_redo) (UndoMgr * um, gboolean can_redo);
36 } UndoMgrClass;
38 GType undomgr_get_type(void) G_GNUC_CONST;
40 GObject *undomgr_new(void);
41 void undomgr_attach(UndoMgr * um, GtkWidget * widget);
42 void undomgr_detach(UndoMgr * um, GtkWidget * widget);
44 /* Clears the stack of undo actions: */
45 void undomgr_reset(UndoMgr * um);
47 gboolean undomgr_can_undo(const UndoMgr * um);
48 gboolean undomgr_can_redo(const UndoMgr * um);
50 void undomgr_undo(UndoMgr * um);
51 void undomgr_redo(UndoMgr * um);
53 void undomgr_begin_not_undoable_action(UndoMgr * um);
54 void undomgr_end_not_undoable_action(UndoMgr * um);
56 #endif /* __UNDOMGR_H__ */