GtkSourceUndoManager

GtkSourceUndoManager — Undo manager interface for GtkSourceView

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkSourceUndoManager

Prerequisites

GtkSourceUndoManager requires GObject.

Includes

#include <gtksourceview/gtksource.h>

Description

For most uses it isn't needed to use GtkSourceUndoManager. GtkSourceBuffer already provides an API and a default implementation for the undo/redo.

For specific needs, the GtkSourceUndoManager interface can be implemented to provide custom undo management. Use gtk_source_buffer_set_undo_manager() to install a custom undo manager for a particular GtkSourceBuffer.

Use gtk_source_undo_manager_can_undo_changed() and gtk_source_undo_manager_can_redo_changed() when respectively the undo state or redo state of the undo stack has changed.

Functions

gtk_source_undo_manager_can_undo ()

gboolean
gtk_source_undo_manager_can_undo (GtkSourceUndoManager *manager);

Get whether there are undo operations available.

Parameters

manager

a GtkSourceUndoManager.

 

Returns

TRUE if there are undo operations available, FALSE otherwise

Since: 2.10


gtk_source_undo_manager_can_redo ()

gboolean
gtk_source_undo_manager_can_redo (GtkSourceUndoManager *manager);

Get whether there are redo operations available.

Parameters

manager

a GtkSourceUndoManager.

 

Returns

TRUE if there are redo operations available, FALSE otherwise

Since: 2.10


gtk_source_undo_manager_undo ()

void
gtk_source_undo_manager_undo (GtkSourceUndoManager *manager);

Perform a single undo. Calling this function when there are no undo operations available is an error. Use gtk_source_undo_manager_can_undo() to find out if there are undo operations available.

Parameters

manager

a GtkSourceUndoManager.

 

Since: 2.10


gtk_source_undo_manager_redo ()

void
gtk_source_undo_manager_redo (GtkSourceUndoManager *manager);

Perform a single redo. Calling this function when there are no redo operations available is an error. Use gtk_source_undo_manager_can_redo() to find out if there are redo operations available.

Parameters

manager

a GtkSourceUndoManager.

 

Since: 2.10


gtk_source_undo_manager_begin_not_undoable_action ()

void
gtk_source_undo_manager_begin_not_undoable_action
                               (GtkSourceUndoManager *manager);

Begin a not undoable action on the buffer. All changes between this call and the call to gtk_source_undo_manager_end_not_undoable_action() cannot be undone. This function should be re-entrant.

Parameters

manager

a GtkSourceUndoManager.

 

Since: 2.10


gtk_source_undo_manager_end_not_undoable_action ()

void
gtk_source_undo_manager_end_not_undoable_action
                               (GtkSourceUndoManager *manager);

Ends a not undoable action on the buffer.

Parameters

manager

a GtkSourceUndoManager.

 

Since: 2.10


gtk_source_undo_manager_can_undo_changed ()

void
gtk_source_undo_manager_can_undo_changed
                               (GtkSourceUndoManager *manager);

Emits the “can-undo-changed” signal.

Parameters

manager

a GtkSourceUndoManager.

 

Since: 2.10


gtk_source_undo_manager_can_redo_changed ()

void
gtk_source_undo_manager_can_redo_changed
                               (GtkSourceUndoManager *manager);

Emits the “can-redo-changed” signal.

Parameters

manager

a GtkSourceUndoManager.

 

Since: 2.10

Types and Values

GtkSourceUndoManager

typedef struct _GtkSourceUndoManager GtkSourceUndoManager;

Signal Details

The “can-redo-changed” signal

void
user_function (GtkSourceUndoManager *manager,
               gpointer              user_data)

Emitted when the ability to redo has changed.

Parameters

manager

The GtkSourceUndoManager

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

Since: 2.10


The “can-undo-changed” signal

void
user_function (GtkSourceUndoManager *manager,
               gpointer              user_data)

Emitted when the ability to undo has changed.

Parameters

manager

The GtkSourceUndoManager

 

user_data

user data set when the signal handler was connected.

 

Flags: Action

Since: 2.10