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);
}
Constructors
gtk_source_region_new
Instance methods
gtk_source_region_add_region
Adds region_to_add
to region
.
gtk_source_region_add_subregion
Adds the subregion delimited by _start
and _end
to region
.
gtk_source_region_get_bounds
Gets the start
and end
bounds of the region
.
gtk_source_region_get_buffer
gtk_source_region_get_start_region_iter
Initializes a GtkSourceRegionIter
to the first subregion of region
.
gtk_source_region_intersect_region
Returns the intersection between region1
and region2
.
gtk_source_region_intersect_subregion
Returns the intersection between region
and the subregion delimited by
_start
and _end
.
gtk_source_region_is_empty
Returns whether the region
is empty.
gtk_source_region_subtract_region
Subtracts region_to_subtract
from region
.
gtk_source_region_subtract_subregion
Subtracts the subregion delimited by _start
and _end
from region
.
gtk_source_region_to_string
Gets a string represention of region
, for debugging purposes.
Properties
GtkSource.Region:buffer
The GtkTextBuffer
. The GtkSourceRegion
has a weak reference to the buffer.
Signals
Signals inherited from GObject (1)
GObject.Object::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.