_
IterA Gtk_Text_Iter represents a location in the text. It becomes invalid if the characters/pixmaps/widgets (indexable objects) in the text buffer are changed.
Types |
---|
type Gtk_Text_Iter is limited private; | |
| |
type Gtk_Text_Iter_Access is access all Gtk_Text_Iter; | |
|
Subprograms |
---|
procedure Copy (Source : Gtk_Text_Iter; Dest : out Gtk_Text_Iter); | ||
Create a copy of Source.
| ||
Convert to different kinds of index | ||
function Get_Offset (Iter : Gtk_Text_Iter) return Gint; | ||
Return the character offset of an iterator. | ||
function Get_Line (Iter : Gtk_Text_Iter) return Gint; | ||
Return the line number containing the iterator. | ||
function Get_Line_Offset (Iter : Gtk_Text_Iter) return Gint; | ||
Return the character offset of the iterator, counting from the start of | ||
function Get_Line_Index (Iter : Gtk_Text_Iter) return Gint; | ||
Return the byte index of the iterator, counting from the start of a | ||
function Get_Visible_Line_Offset (Iter : Gtk_Text_Iter) return Gint; | ||
| ||
function Get_Visible_Line_Index (Iter : Gtk_Text_Iter) return Gint; | ||
| ||
Dereference operators | ||
function Get_Char (Iter : Gtk_Text_Iter) return Gunichar; | ||
Return the character immediately following Iter. If Iter is at the | ||
function Get_Char (Iter : Gtk_Text_Iter) return Character; | ||
Return the character immediately following Iter. If Iter is at the | ||
function Get_Slice (Start : Gtk_Text_Iter; The_End : Gtk_Text_Iter) return UTF8_String; | ||
Return the text in the given range. | ||
function Get_Slice (Start : Gtk_Text_Iter; The_End : Gtk_Text_Iter) return Interfaces.C.Strings.chars_ptr; | ||
Same as above, but returns the row C string. | ||
function Get_Text (Start : Gtk_Text_Iter; The_End : Gtk_Text_Iter) return UTF8_String; | ||
Return text in the given range. | ||
function Get_Visible_Slice (Start : Gtk_Text_Iter; The_End : Gtk_Text_Iter) return UTF8_String; | ||
Like Get_Slice, but invisible text is not included. | ||
function Get_Visible_Text (Start : Gtk_Text_Iter; The_End : Gtk_Text_Iter) return UTF8_String; | ||
Like Get_Text, but invisible text is not included. | ||
function Get_Pixbuf (Iter : Gtk_Text_Iter) return Gdk.Pixbuf.Gdk_Pixbuf; | ||
If the location pointed to by Iter contains a pixbuf, the pixbuf | ||
function Get_Child_Anchor (Iter : Gtk_Text_Iter) return Gtk.Text_Child.Gtk_Text_Child_Anchor; | ||
If the location pointed to by Iter contains a child anchor, the anchor | ||
function Begins_Tag (Iter : Gtk_Text_Iter; Tag : Gtk.Text_Tag.Gtk_Text_Tag := null) return Boolean; | ||
Return True if Tag is toggled on at exactly this point. | ||
function Ends_Tag (Iter : Gtk_Text_Iter; Tag : Gtk.Text_Tag.Gtk_Text_Tag := null) return Boolean; | ||
Return True if Tag is toggled off at exactly this point. | ||
function Toggles_Tag (Iter : Gtk_Text_Iter; Tag : Gtk.Text_Tag.Gtk_Text_Tag := null) return Boolean; | ||
Whether a range with Tag applied to it begins or ends at Iter. | ||
function Has_Tag (Iter : Gtk_Text_Iter; Tag : Gtk.Text_Tag.Gtk_Text_Tag := null) return Boolean; | ||
Return True if Iter is within a range tagged with Tag.
| ||
function Editable (Iter : Gtk_Text_Iter; Default_Setting : Boolean := True) return Boolean; | ||
Return whether Iter is within an editable region of text. | ||
function Can_Insert (Iter : Gtk_Text_Iter; Default_Editability : Boolean) return Boolean; | ||
Return whether text inserted at Iter would be editable. | ||
function Starts_Word (Iter : Gtk_Text_Iter) return Boolean; | ||
Determine whether Iter begins a natural-language word. | ||
function Ends_Word (Iter : Gtk_Text_Iter) return Boolean; | ||
Determine whether Iter ends a natural-language word. | ||
function Inside_Word (Iter : Gtk_Text_Iter) return Boolean; | ||
Determine whether Iter is inside a natural-language word (as opposed to | ||
function Starts_Sentence (Iter : Gtk_Text_Iter) return Boolean; | ||
Determine whether Iter begins a sentence. | ||
function Ends_Sentence (Iter : Gtk_Text_Iter) return Boolean; | ||
Determine whether Iter ends a sentence. | ||
function Inside_Sentence (Iter : Gtk_Text_Iter) return Boolean; | ||
Determine whether Iter is inside a sentence (as opposed to in between | ||
function Starts_Line (Iter : Gtk_Text_Iter) return Boolean; | ||
Return True if Iter begins a paragraph. | ||
function Ends_Line (Iter : Gtk_Text_Iter) return Boolean; | ||
Return True if Iter points to the start of the paragraph delimiter | ||
function Is_Cursor_Position (Iter : Gtk_Text_Iter) return Boolean; | ||
Return True if the cursor can be placed at Iter. | ||
function Get_Chars_In_Line (Iter : Gtk_Text_Iter) return Gint; | ||
Return the number of characters in the line containing Iter, including | ||
function Get_Bytes_In_Line (Iter : Gtk_Text_Iter) return Gint; | ||
Return the number of bytes in the line containing Iter, including the | ||
function Get_Language (Iter : Gtk_Text_Iter) return UTF8_String; | ||
A convenience wrapper around Get_Attributes, | ||
function Is_End (Iter : Gtk_Text_Iter) return Boolean; | ||
Return True if Iter is the end iterator. | ||
function Is_Start (Iter : Gtk_Text_Iter) return Boolean; | ||
Return True if Iter is the first iterator in the buffer, that is | ||
Moving around the buffer | ||
procedure Forward_Char (Iter : in out Gtk_Text_Iter; Result : out Boolean); | ||
Move Iter forward by one character offset. | ||
procedure Backward_Char (Iter : in out Gtk_Text_Iter; Result : out Boolean); | ||
Move backward by one character offset. | ||
procedure Forward_Chars (Iter : in out Gtk_Text_Iter; Count : Gint := 1; Result : out Boolean); | ||
Move Count characters if possible. | ||
procedure Backward_Chars (Iter : in out Gtk_Text_Iter; Count : Gint := 1; Result : out Boolean); | ||
Move Count characters backward, if possible. | ||
procedure Forward_Line (Iter : in out Gtk_Text_Iter; Result : out Boolean); | ||
Move Iter to the start of the next line. | ||
procedure Backward_Line (Iter : in out Gtk_Text_Iter; Result : out Boolean); | ||
Move Iter to the start of the previous line. | ||
procedure Forward_Lines (Iter : in out Gtk_Text_Iter; Count : Gint := 1; Result : out Boolean); | ||
Call Forward_Line, up to Count times.
| ||
procedure Backward_Lines (Iter : in out Gtk_Text_Iter; Count : Gint := 1; Result : out Boolean); | ||
Call Backward_Line, up to Count times.
| ||
procedure Forward_Word_End (Iter : in out Gtk_Text_Iter; Result : out Boolean); | ||
Move forward to the next word end. | ||
procedure Backward_Word_Start (Iter : in out Gtk_Text_Iter; Result : out Boolean); | ||
Move backward to the next word start. | ||
procedure Forward_Word_Ends (Iter : in out Gtk_Text_Iter; Count : Gint := 1; Result : out Boolean); | ||
Call Forward_Word_End up to Count times.
| ||
procedure Backward_Word_Starts (Iter : in out Gtk_Text_Iter; Count : Gint := 1; Result : out Boolean); | ||
Call Backward_Word_Start up to Count times.
| ||
procedure Forward_Sentence_End (Iter : in out Gtk_Text_Iter; Result : out Boolean); | ||
Move forward to the next sentence end. | ||
procedure Backward_Sentence_Start (Iter : in out Gtk_Text_Iter; Result : out Boolean); | ||
Move backward to the next sentence start. | ||
procedure Forward_Sentence_Ends (Iter : in out Gtk_Text_Iter; Count : Gint := 1; Result : out Boolean); | ||
Call Forward_Sentence_End up to Count times.
| ||
procedure Backward_Sentence_Starts (Iter : in out Gtk_Text_Iter; Count : Gint := 1; Result : out Boolean); | ||
Call Backward_Sentence_Starts up to Count times.
| ||
procedure Forward_Cursor_Position (Iter : in out Gtk_Text_Iter; Result : out Boolean); | ||
Move Iter forward by a single cursor position. | ||
procedure Backward_Cursor_Position (Iter : in out Gtk_Text_Iter; Result : out Boolean); | ||
Like Forward_Cursor_Position, but moves backward.
| ||
procedure Forward_Cursor_Positions (Iter : in out Gtk_Text_Iter; Count : Gint := 1; Result : out Boolean); | ||
Call Forward_Cursor_Position up to Count times.
| ||
procedure Backward_Cursor_Positions (Iter : in out Gtk_Text_Iter; Count : Gint := 1; Result : out Boolean); | ||
Call Backward_Cursor_Position up to Count times.
| ||
procedure Set_Offset (Iter : in out Gtk_Text_Iter; Char_Offset : Gint); | ||
Set Iter to point to Char_Offset. | ||
procedure Set_Line (Iter : in out Gtk_Text_Iter; Line_Number : Gint); | ||
Move iterator Iter to the start of the line Line_Number.
| ||
procedure Set_Line_Offset (Iter : in out Gtk_Text_Iter; Char_On_Line : Gint); | ||
Move Iter within a line, to a new character (not byte) offset. | ||
procedure Set_Line_Index (Iter : in out Gtk_Text_Iter; Byte_On_Line : Gint); | ||
Same as Set_Line_Offset, but work with a byte index. | ||
procedure Forward_To_End (Iter : in out Gtk_Text_Iter); | ||
Move Iter forward to the "end iterator", which points one past the last | ||
procedure Forward_To_Line_End (Iter : in out Gtk_Text_Iter; Result : out Boolean); | ||
Move the iterator to point to the paragraph delimiter characters, | ||
procedure Set_Visible_Line_Offset (Iter : in out Gtk_Text_Iter; Char_On_Line : Gint); | ||
Like Set_Line_Index, but the index is in visible bytes. | ||
procedure Set_Visible_Line_Index (Iter : in out Gtk_Text_Iter; Byte_On_Line : Gint); | ||
Like Set_Line_Offset, but the offset is in visible characters. | ||
procedure Forward_To_Tag_Toggle (Iter : in out Gtk_Text_Iter; Tag : Gtk.Text_Tag.Gtk_Text_Tag := null; Result : out Boolean); | ||
Move forward to the next toggle (on or off) of the Gtk_Text_Tag Tag, or | ||
procedure Backward_To_Tag_Toggle (Iter : in out Gtk_Text_Iter; Tag : Gtk.Text_Tag.Gtk_Text_Tag := null; Result : out Boolean); | ||
Move backward to the next toggle (on or off) of the Gtk_Text_Tag Tag, | ||
procedure Forward_Search (Iter : Gtk_Text_Iter; Str : UTF8_String; Visible_Only : Boolean := False; Slice : Boolean; Match_Start : out Gtk_Text_Iter; Match_End : out Gtk_Text_Iter; Limit : Gtk_Text_Iter; Result : out Boolean); | ||
Search forward for Str. | ||
procedure Backward_Search (Iter : Gtk_Text_Iter; Str : UTF8_String; Visible_Only : Boolean := False; Slice : Boolean; Match_Start : out Gtk_Text_Iter; Match_End : out Gtk_Text_Iter; Limit : Gtk_Text_Iter; Result : out Boolean); | ||
Same as Forward_Search, but move backward.
| ||
Comparisons | ||
function Equal (Lhs : Gtk_Text_Iter; Rhs : Gtk_Text_Iter) return Boolean; | ||
Test whether two iterators are equal, using the fastest possible | ||
function Compare (Lhs : Gtk_Text_Iter; Rhs : Gtk_Text_Iter) return Gint; | ||
A quick sort-style function that return negative if Lhs is less than | ||
function In_Range (Iter : Gtk_Text_Iter; Start : Gtk_Text_Iter; The_End : Gtk_Text_Iter) return Boolean; | ||
Start and End must be in order, unlike most text buffer functions, for | ||
procedure Order (First : in out Gtk_Text_Iter; Second : in out Gtk_Text_Iter); | ||
Swap the value of First and Second if Second comes before First in the | ||
Converting to/from GValue | ||
procedure Set_Text_Iter (Val : in out Glib.Values.GValue; Iter : Gtk_Text_Iter); | ||
Set the value of the given GValue to Iter. | ||
procedure Get_Text_Iter (Val : Glib.Values.GValue; Iter : out Gtk_Text_Iter); | ||
Extract the iterator from the given GValue. | ||
function Get_Text_Iter (Val : Glib.Values.GValue) return Gtk_Text_Iter; | ||
This is the function equivalent of procedure Get_Text_Iter above. It is | ||
function C_Gtk_Text_Iter_Size return Gint; | ||
|