1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| procedure Insert_With_Tag
(Buffer : access Gtk_Text_Buffer_Record'Class;
Tag : String;
Text : String)
is
T : Gtk_Text_Tag;
Iter, Start_Iter : Gtk_Text_Iter;
Table : Gtk_Text_Tag_Table;
Result : Boolean;
pragma Warnings (Off, Result);
begin
Get_End_Iter (Buffer, Iter);
if Tag = "" then
Insert (Buffer, Iter, Text & ASCII.LF);
else
Table := Get_Tag_Table (Buffer);
T := Lookup (Table, Tag);
Insert (Buffer, Iter, Text);
Copy (Source => Iter, Dest => Start_Iter);
Backward_Chars (Start_Iter, Text'Length + 1, Result);
Apply_Tag (Buffer, T, Start_Iter, Iter);
end if;
end Insert_With_Tag; |