Region


Object Hierarchy:

GtkSource.Region GtkSource.Region GtkSource.Region GLib.Object GLib.Object GLib.Object->GtkSource.Region

Description:

[ CCode ( type_id = "gtk_source_region_get_type ()" ) ]
public class Region : Object

Region utility.

A `GtkSourceRegion` permits to store a group of subregions of a [class@Gtk.TextBuffer]. `GtkSourceRegion` stores the subregions with pairs of [ class@Gtk.TextMark]'s, so the region is still valid after insertions and deletions in the [class@Gtk.TextBuffer].

The [class@Gtk.TextMark] for the start of a subregion has a left gravity, while the [class@Gtk.TextMark] for the end of a subregion has a right gravity.

The typical use-case of `GtkSourceRegion` is to scan a [class@Gtk.TextBuffer] chunk by chunk, not the whole buffer at once to not block the user interface. The `GtkSourceRegion` represents in that case the remaining region to scan. You can listen to the [signal@Gtk.TextBuffer: GtkSourceRegion:insert-text] and [signal@Gtk.TextBuffer:GtkSourceRegion:delete-range] signals to update the `GtkSourceRegion` accordingly.

To iterate through the subregions, you need to use a [struct@RegionIter], for example: ```c GtkSourceRegion *region; GtkSourceRegionIter region_iter;

gtk_source_region_get_start_region_iter (region, &region_iter);

while (!gtk_source_region_iter_is_end (&region_iter)) { GtkTextIter subregion_start; GtkTextIter subregion_end;

if (!gtk_source_region_iter_get_subregion (&region_iter, &subregion_start, &subregion_end)) { break; }

// Do something useful with the subregion.

gtk_source_region_iter_next (&region_iter); } ```


Namespace: GtkSource
Package: gtksourceview-5

Content:

Properties:

Creation methods:

Methods:

Inherited Members: