## GOUndo GOUndo |

## Synopsis

    GType               go_undo_binary_get_type             (void);
    GOUndo *            go_undo_binary_new                  (gpointer a,
                                                             gpointer b,
                                                             GOUndoBinaryFunc undo,
                                                             GFreeFunc fa,
                                                             GFreeFunc fb);
    GOUndo *            go_undo_combine                     (GOUndo *a,
                                                             GOUndo *b);
    GType               go_undo_get_type                    (void);
    void                go_undo_group_add                   (GOUndoGroup *g,
                                                             GOUndo *u);
    GType               go_undo_group_get_type              (void);
    GOUndoGroup *       go_undo_group_new                   (void);
    GType               go_undo_unary_get_type              (void);
    GOUndo *            go_undo_unary_new                   (gpointer a,
                                                             GOUndoUnaryFunc undo,
                                                             GFreeFunc fa);
    void                go_undo_undo                        (GOUndo *u);
    void                go_undo_undo_with_data              (GOUndo *u,
                                                             gpointer data);

## Description

## Details

### go_undo_binary_get_type ()

    GType               go_undo_binary_get_type             (void);

Returns : |

### go_undo_binary_new ()

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

`a` : |
`b` : |
`undo` : |
`fa` : |
`fb` : |
Returns : |

### 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
`b` : | optional last undo operation
Returns : | the combination of two undo operations.

### go_undo_get_type ()

    GType               go_undo_get_type                    (void);

Returns : |

### go_undo_group_add ()

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

`g` : |
`u` : |

### go_undo_group_get_type ()

    GType               go_undo_group_get_type              (void);

Returns : |

### go_undo_group_new ()

    GOUndoGroup *       go_undo_group_new                   (void);

Returns : |

### go_undo_unary_get_type ()

    GType               go_undo_unary_get_type              (void);

Returns : |

### go_undo_unary_new ()

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

`a` : |
`undo` : |
`fa` : |
Returns : |

### go_undo_undo ()

    void                go_undo_undo                        (GOUndo *u);

`u` : |

### go_undo_undo_with_data ()

    void                go_undo_undo_with_data              (GOUndo *u,
                                                             gpointer data);

`u` : |
`data` : |