with Gtk.Text_Iter; use Gtk.Text_Iter; with Ada.Text_IO; use Ada.Text_IO; with unbounded_strings; use unbounded_strings; with Glib; use Glib; with Glib.Object; use Glib.Object; with Gtk.Text_Buffer; use Gtk.Text_Buffer; with Gtk.Text_Tag_Table; use Gtk.Text_Tag_Table; with Gtk.Text_Tag; use Gtk.Text_Tag; with gdk.color; use gdk.color; package body graphical_editor.message_text is iter : Gtk_Text_Iter; line_Number : integer := 0; tag :Gtk_Text_Tag; Color : Gdk_Color := Parse ("red"); procedure Write_Title (Response_List : in Framework_Response_Table) is begin --tag := Create_Tag(buffer_editor_cheddar, "red"); --Get_Iter_At_Offset (buffer_editor_cheddar, Iter, Gint(line_Number)); Get_Iter_At_Line (buffer_editor_cheddar, Iter, Gint(line_Number)); --Insert (buffer_editor_cheddar, iter, to_string(Response_List.entries (0).title)); --Apply_Tag (buffer_editor_cheddar, tag, iter, iter); Insert_With_Tags_By_Name (buffer_editor_cheddar, iter, to_string(Response_List.entries (0).title), "red"); --Apply_Tag (buffer_editor_cheddar, tag, iter, iter); line_Number := line_Number - 1; end Write_Title; procedure Write_Text (Response_List : in Framework_Response_Table) is begin for J in 0 .. Response_List.nb_entries - 1 loop Get_Iter_At_Line (buffer_editor_cheddar, Iter, Gint(line_Number)); Insert (buffer_editor_cheddar, iter, to_string(Response_List.entries (J).text)); line_Number := line_Number - 1; end loop; end Write_Text; procedure Write_Title_And_Text (Response_List : in Framework_Response_Table) is begin --Alloc (Get_Default_Colormap, Color); --tag := Create_Tag(buffer_editor_cheddar, "red"); --Set_Property (Tag, Foreground_Gdk_Property, Color); --tag := Create_Tag(buffer_editor_cheddar, "red"); --Get_Start_Iter(buffer_editor_cheddar, iter1); --Get_Start_Iter(buffer_editor_cheddar, iter2); --Apply_Tag (buffer_editor_cheddar, red, iter1, iter2); --Apply_Tag_By_Name(buffer_editor_cheddar, "red", iter1, iter2); for J in 0 .. Response_List.nb_entries - 1 loop --Get_Iter_At_Offset (buffer_editor_cheddar, Iter, Gint(line_Number)); Get_Iter_At_Line (buffer_editor_cheddar, Iter, Gint(line_Number)); --Insert (buffer_editor_cheddar, iter, to_string(Response_List.entries (J).title)); --Insert_With_Tag (buffer_editor_cheddar, "red", to_string(Response_List.entries (J).title)); --Insert_With_Tags (buffer_editor_cheddar, iter, to_string(Response_List.entries (J).title), tag); Insert_With_Tags_By_Name (buffer_editor_cheddar, iter, to_string(Response_List.entries (j).title), "red"); line_Number := line_Number - 1; Get_Iter_At_Line (buffer_editor_cheddar, Iter, Gint(line_Number)); Insert (buffer_editor_cheddar, iter, to_string(Response_List.entries (J).text)); line_Number := line_Number - 1; end loop; end Write_Title_And_Text; procedure initialize_message_text_properties is begin Alloc (Get_Default_Colormap, Color); tag := Create_Tag(buffer_editor_cheddar, "red"); Set_Property (Tag, Foreground_Gdk_Property, Color); end initialize_message_text_properties; end graphical_editor.message_text;