Object Hierarchy

  GObject
   +----GOUndo
         +----GOUndoBinary
         +----GOUndoGroup
         +----GOUndoUnary
  GObject
   +----GOUndo
         +----GOUndoBinary
  GObject
   +----GOUndo
         +----GOUndoGroup
  GObject
   +----GOUndo
         +----GOUndoUnary

Description

Details

struct GOUndo

struct GOUndo;


struct GOUndoBinary

struct GOUndoBinary;


struct GOUndoBinaryClass

struct GOUndoBinaryClass {
	GOUndoClass base;
};

GOUndoClass base;

base class.

GOUndoBinaryFunc ()

void                (*GOUndoBinaryFunc)                 (gpointer a,
                                                         gpointer b,
                                                         gpointer data);


struct GOUndoClass

struct GOUndoClass {
	GObjectClass base;

	void (*undo) (GOUndo *u, gpointer data);
};

GObjectClass base;

base class.

undo ()

undo. };

struct GOUndoGroup

struct GOUndoGroup;


struct GOUndoGroupClass

struct GOUndoGroupClass {
	GOUndoClass base;
};

GOUndoClass base;

base class.

struct GOUndoUnary

struct GOUndoUnary;


struct GOUndoUnaryClass

struct GOUndoUnaryClass {
	GOUndoClass base;
};

GOUndoClass base;

base class.

GOUndoUnaryFunc ()

void                (*GOUndoUnaryFunc)                  (gpointer a,
                                                         gpointer data);


go_undo_binary_new ()

GOUndo *            go_undo_binary_new                  (gpointer a,
                                                         gpointer b,
                                                         GOUndoBinaryFunc undo,
                                                         GFreeFunc fa,
                                                         GFreeFunc fb);

This function creates a new undo object for undo operations of two arguments. (In addition, an undo-time argument is added for context.)

a :

first argument for undo operation

b :

second argument for undo operation

undo :

function to call with arguments a and b for undo. [scope async]

fa :

optional function to free a. [scope async]

fb :

optional function to free b. [scope async]

Returns :

a new undo object. [transfer full]

go_undo_combine ()

GOUndo *            go_undo_combine                     (GOUndo *a,
                                                         GOUndo *b);

This function takes ownership of the argument references and gives ownership of the result to the caller. Either argument may be NULL in which case the other is returned.

a :

optional first undo operation. [transfer full]

b :

optional last undo operation. [transfer full]

Returns :

the combination of two undo operations. [transfer full]

go_undo_group_add ()

void                go_undo_group_add                   (GOUndoGroup *g,
                                                         GOUndo *u);

This function adds u to g.

g :

undo group

u :

undo object

go_undo_group_new ()

GOUndoGroup *       go_undo_group_new                   (void);

This function creates a new undo group for compounding undo objects.

Returns :

a new, empty undo group.

go_undo_unary_new ()

GOUndo *            go_undo_unary_new                   (gpointer a,
                                                         GOUndoUnaryFunc undo,
                                                         GFreeFunc fa);

This function creates a new undo object for undo operations of one argument. (In addition, an undo-time argument is added for context.)

a :

argument for undo operation

undo :

function to call with argument a for undo. [scope async]

fa :

optional function to free a. [scope async]

Returns :

a new undo object. [transfer full]

go_undo_undo ()

void                go_undo_undo                        (GOUndo *u);

Execute the stored undo operation.

u :

undo object

go_undo_undo_with_data ()

void                go_undo_undo_with_data              (GOUndo *u,
                                                         gpointer data);

Execute the stored undo operation. data is supplied to the undo operation as an extra argument. It is meant not to affect the undo operation in any way, but rather supply a context through which progress and errors can be reported.

u :

undo object

data :

user data