Class
GtkSourceRegion
Description [src]
class GtkSource.Region : GObject.Object
{
/* No available fields */
}
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);
}
buffer: GtkSource.Buffer = GtkSource.Buffer()
region: GtkSource.Region = GtkSource.Region(buffer=buffer)
region_iter = region.get_start_region_iter()
while not region_iter.is_end():
success, start, end = region_iter.get_subregion()
if not success:
break
# Do something useful with the subregion
region_iter.next()
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.