about.c: cosmetix
[k8lowj.git] / src / undo.h
blob1346a22c180ea41d6389a850fdcb3e99e22955f5
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 __UNDOMGR_H__
12 #define __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
26 GObject base;
28 UndoMgrPrivate *priv;
29 } UndoMgr;
31 typedef struct
33 GObjectClass parent_class;
35 /* Signals */
36 void (*can_undo)( UndoMgr *um, gboolean can_undo);
37 void (*can_redo)( UndoMgr *um, gboolean can_redo);
38 } UndoMgrClass;
40 GType undomgr_get_type (void) G_GNUC_CONST;
42 GObject* undomgr_new (void);
43 void undomgr_attach (UndoMgr *um, GtkWidget *widget);
44 void undomgr_detach (UndoMgr *um, GtkWidget *widget);
46 /* Clears the stack of undo actions: */
47 void undomgr_reset (UndoMgr *um);
49 gboolean undomgr_can_undo (const UndoMgr *um);
50 gboolean undomgr_can_redo (const UndoMgr *um);
52 void undomgr_undo (UndoMgr *um);
53 void undomgr_redo (UndoMgr *um);
55 void undomgr_begin_not_undoable_action (UndoMgr *um);
56 void undomgr_end_not_undoable_action (UndoMgr *um);
58 #endif /* __UNDOMGR_H__ */