Region
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::insert-text and signal@Gtk.TextBuffer::delete-range signals to update the GtkSourceRegion
accordingly.
To iterate through the subregions, you need to use a struct@RegionIter, for example:
GtkSourceRegion *region;
GtkSourceRegionIter region_iter;
gtk_source_region_get_start_region_iter (region, ®ion_iter);
while (!gtk_source_region_iter_is_end (®ion_iter))
{
GtkTextIter subregion_start;
GtkTextIter subregion_end;
if (!gtk_source_region_iter_get_subregion (®ion_iter,
&subregion_start,
&subregion_end))
{
break;
}
// Do something useful with the subregion.
gtk_source_region_iter_next (®ion_iter);
}
Skipped during bindings generation
method
to_string
: C function gtk_source_region_to_string is ignored
Constructors
Functions
Adds the subregion delimited by @_start and @_end to @region.
Initializes a struct@RegionIter to the first subregion of @region.
Returns the intersection between @region1 and @region2.
Returns the intersection between @region and the subregion delimited by
Subtracts @region_to_subtract from @region.
Subtracts the subregion delimited by @_start and @_end from @region.