Class
GtkSourceRegion
Description [src]
class GtkSource.Region : GObject.Object {
parent_instance: GObject
}
Region utility.
A GtkSourceRegion
permits to store a group of subregions of a
GtkTextBuffer
. GtkSourceRegion
stores the subregions with pairs of
GtkTextMark
‘s, so the region is still valid after insertions and deletions
in the GtkTextBuffer
.
The GtkTextMark
for the start of a subregion has a left gravity, while the
GtkTextMark
for the end of a subregion has a right gravity.
The typical use-case of GtkSourceRegion
is to scan a GtkTextBuffer
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 GtkTextBuffer::insert-text
and
GtkTextBuffer::delete-range
signals to update the GtkSourceRegion
accordingly.
To iterate through the subregions, you need to use a GtkSourceRegionIter
,
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);
}
Instance methods
gtk_source_region_get_start_region_iter
Initializes a GtkSourceRegionIter
to the first subregion of region
.
gtk_source_region_intersect_subregion
Returns the intersection between region
and the subregion delimited by
_start
and _end
.
gtk_source_region_subtract_subregion
Subtracts the subregion delimited by _start
and _end
from region
.
Signals
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.