Gtk.TextBufferCommitNotify
Description: Reference for Gtk.TextBufferCommitNotify

### Function

# GtkTextBufferCommitNotify

since: 4.16

#### Declaration

    void
    (* GtkTextBufferCommitNotify) (
      GtkTextBuffer* buffer,
      GtkTextBufferNotifyFlags flags,
      guint position,
      guint length,
      gpointer user_data
    )

#### Description [src]

A notification callback used by `gtk_text_buffer_add_commit_notify()`.

You may not modify the `GtkTextBuffer` from a `GtkTextBufferCommitNotify` callback and that is enforced by the `GtkTextBuffer` API.

`GtkTextBufferCommitNotify` may be used to be notified about changes to the underlying buffer right before-or-after the changes are committed to the underlying B-Tree. This is useful if you want to observe changes to the buffer without other signal handlers potentially modifying state on the way to the default signal handler.

When `flags` is `GTK_TEXT_BUFFER_NOTIFY_BEFORE_INSERT`, `position` is set to the offset in characters from the start of the buffer where the insertion will occur. `length` is set to the number of characters to be inserted. You may not yet retrieve the text until it has been inserted. You may access the text from `GTK_TEXT_BUFFER_NOTIFY_AFTER_INSERT` using `gtk_text_buffer_get_slice()`.

When `flags` is `GTK_TEXT_BUFFER_NOTIFY_AFTER_INSERT`, `position` is set to offset in characters where the insertion occurred and `length` is set to the number of characters inserted.

When `flags` is `GTK_TEXT_BUFFER_NOTIFY_BEFORE_DELETE`, `position` is set to offset in characters where the deletion will occur and `length` is set to the number of characters that will be removed. You may still retrieve the text from this handler using `position` and `length`.

When `flags` is `GTK_TEXT_BUFFER_NOTIFY_AFTER_DELETE`, `length` is set to zero to denote that the delete-range has already been committed to the underlying B-Tree. You may no longer retrieve the text that has been deleted from the `GtkTextBuffer`.

Available since: 4.16

#### Parameters

`buffer`

  Type: `GtkTextBuffer`

  The text buffer being notified.

  The data is owned by the caller of the function.

`flags`

  Type: `GtkTextBufferNotifyFlags`

  The type of commit notification.

`position`

  Type: `guint`

  The position of the text operation.

`length`

  Type: `guint`

  The length of the text operation in characters.

`user_data`

  Type: `gpointer`

  User data passed to the callback.

  The argument can be `NULL`.
  The data is owned by the caller of the function.