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 Get_Iter_At_Line (buffer_editor_cheddar, Iter, Gint(line_Number)); Insert_With_Tags_By_Name (buffer_editor_cheddar, iter, to_string(Response_List.entries (0).title), "red"); 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 for J in 0 .. Response_List.nb_entries - 1 loop Get_Iter_At_Line (buffer_editor_cheddar, Iter, Gint(line_Number)); 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;