From caf06ff4e8800ff69eee59b6cf3c277f8463bb47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Janouch?= Date: Mon, 31 Jan 2011 21:58:41 +0100 Subject: Introduce LdUndoAction. --- liblogdiag/ld-undo-action.h | 76 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 liblogdiag/ld-undo-action.h (limited to 'liblogdiag/ld-undo-action.h') diff --git a/liblogdiag/ld-undo-action.h b/liblogdiag/ld-undo-action.h new file mode 100644 index 0000000..141b255 --- /dev/null +++ b/liblogdiag/ld-undo-action.h @@ -0,0 +1,76 @@ +/* + * ld-undo-action.h + * + * This file is a part of logdiag. + * Copyright Přemysl Janouch 2011. All rights reserved. + * + * See the file LICENSE for licensing information. + * + */ + +#ifndef __LD_UNDO_ACTION_H__ +#define __LD_UNDO_ACTION_H__ + +G_BEGIN_DECLS + + +#define LD_TYPE_UNDO_ACTION (ld_undo_action_get_type ()) +#define LD_UNDO_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST \ + ((obj), LD_TYPE_UNDO_ACTION, LdUndoAction)) +#define LD_UNDO_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST \ + ((klass), LD_TYPE_UNDO_ACTION, LdUndoActionClass)) +#define LD_IS_UNDO_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE \ + ((obj), LD_TYPE_UNDO_ACTION)) +#define LD_IS_UNDO_ACTION_CLASS(klass) (G_TYPE_CHECK_INSTANCE_TYPE \ + ((klass), LD_TYPE_UNDO_ACTION)) +#define LD_UNDO_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS \ + ((obj), LD_UNDO_ACTION, LdUndoActionClass)) + +typedef struct _LdUndoAction LdUndoAction; +typedef struct _LdUndoActionPrivate LdUndoActionPrivate; +typedef struct _LdUndoActionClass LdUndoActionClass; + + +/** + * LdUndoAction: + */ +struct _LdUndoAction +{ +/*< private >*/ + GObject parent_instance; + LdUndoActionPrivate *priv; +}; + +/** + * LdUndoActionClass: + */ +struct _LdUndoActionClass +{ +/*< private >*/ + GObjectClass parent_class; +}; + + +/** + * LdUndoActionFunc: + * @user_data: user data passed to ld_undo_action_new(). + * + * A callback function prototype for actions. + */ +typedef void (*LdUndoActionFunc) (gpointer user_data); + + +GType ld_undo_action_get_type (void) G_GNUC_CONST; + +/* TODO: Extend the methods (with eg. a string description). */ +LdUndoAction *ld_undo_action_new (LdUndoActionFunc undo_func, + LdUndoActionFunc redo_func, LdUndoActionFunc destroy_func, + gpointer user_data); +void ld_undo_action_undo (LdUndoAction *self); +void ld_undo_action_redo (LdUndoAction *self); + + +G_END_DECLS + +#endif /* ! __LD_UNDO_ACTION_H__ */ + -- cgit v1.2.3