with Gtk.Menu_Item; use Gtk.Menu_Item; with Gtk; use Gtk; with Gtk.Main; use Gtk.Main; with Glib.Error; use Glib.Error; with Gtk.Widget; use Gtk.Widget; with Gtk.Dialog; use Gtk.Dialog; with Gtk.About_Dialog; use Gtk.About_Dialog; with Gtk.Label; use Gtk.Label; with Glib.Object; use Glib.Object; with Gtk.Text_Buffer; use Gtk.Text_Buffer; with Gtk.Combo_Box; use Gtk.Combo_Box; with Gtk.Text_Iter; use Gtk.Text_Iter; with Gtk.List_Store; use Gtk.List_Store; with Gtk.Tree_Model; use Gtk.Tree_Model; with Gtk.Tree_View; use Gtk.Tree_View; with Gtk.Tree_View_Column; use Gtk.Tree_View_Column; with Glib.Values; use Glib.Values; with Glib; use Glib; with Ada.Text_IO; use Ada.Text_IO; with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; with unbounded_strings; use unbounded_strings; with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; with Gtkada.Builder; use Gtkada.Builder; with graphical_editor.manual_callbacks; use graphical_editor.manual_callbacks; with convert_unbounded_strings; --use convert_unbounded_strings; with generic_callbacks; with generic_package_widget; use generic_package_widget; package body graphical_editor.caches is cache_table_length : constant natural :=9; procedure Initialize_Cache(my_tab: in out table_widget_id ; Object : access Gtkada_Builder_Record'Class) is ob1: GObject:= Get_Object(Object, "textbuffer1"); ob2: GObject:= Get_Object(Object, "textbuffer2"); ob3: GObject:= Get_Object(Object, "textbuffer3"); ob4: GObject:= Get_Object(Object, "combobox1"); ob5: GObject:= Get_Object(Object, "textbuffer6"); ob6: GObject:= Get_Object(Object, "combobox2"); ob7: GObject:= Get_Object(Object, "liststore3"); ob8: GObject:= Get_Object(Object, "treeview2"); wid1: t_widget := (ptype => buffer_string, buffer_value => Gtk_Text_Buffer(ob1)); wid2: t_widget := (ptype => buffer_integer, buffer_value => Gtk_Text_Buffer(ob2)); wid3: t_widget := (ptype => buffer_integer, buffer_value => Gtk_Text_Buffer(ob3)); wid4: t_widget := (ptype => combo, combo_value => Gtk_Combo_Box(ob4)); wid5: t_widget := (ptype => buffer_integer, buffer_value => Gtk_Text_Buffer(ob5)); wid6: t_widget := (ptype => combo, combo_value => Gtk_Combo_Box(ob6)); wid7: t_widget := (ptype => lists, list_value => Gtk_List_Store(ob7)); wid8: t_widget := (ptype => view, view_value => Gtk_Tree_View(ob8)); wid9: t_widget := (ptype => window, window_value => cache); begin my_tab(1..cache_table_length) := (new t_widget'(wid1), new t_widget'(wid2), new t_widget'(wid3), new t_widget'(wid4), new t_widget'(wid5), new t_widget'(wid6), new t_widget'(wid7), new t_widget'(wid8), new t_widget'(wid9)); end initialize_Cache; procedure Check_Cache(my_tab: in out table_widget_id ; Object : access Gtkada_Builder_Record'Class; Error_Message: in out Unbounded_String; Ok: in out Boolean) is begin --Ok:= false; -- Error_Message:= to_unbounded_string("ceci est un test"); null; end check_cache; procedure Add_In_Sys_Cache(my_tab: in out table_widget_id ; Object : access Gtkada_Builder_Record'Class) is begin null; end Add_In_Sys_Cache; package cache_callbacks is new generic_callbacks(Number_of_widget => cache_table_length, Initialize => Initialize_Cache, Check => Check_Cache, Add_In_Sys => Add_In_Sys_Cache); use cache_callbacks; procedure Show_Cache_Widget is Builder : Gtkada_Builder; Error : Glib.Error.GError; begin Gtk.Main.Init; Gtk_New (Builder); Error := Add_From_File (Builder, to_string(Glade_path) & "cache.glade"); if Error /= null then Ada.Text_IO.Put_Line ("Error : " & Get_Message (Error)); Error_Free (Error); return; end if; Register_Handler (Builder => Builder, Handler_Name => "on_button6_clicked", Handler => cache_callbacks.Add_View'Access); Register_Handler (Builder => Builder, Handler_Name => "on_button5_clicked", Handler => cache_callbacks.Modify_Lign'Access); Register_Handler (Builder => Builder, Handler_Name => "on_treeview2_cursor_changed", Handler => cache_callbacks.Show_Lign_Selected'Access); Register_Handler (Builder => Builder, Handler_Name => "on_button4_clicked", Handler => cache_callbacks.Delected_Lign_Selected'Access); Register_Handler (Builder => Builder, Handler_Name => "on_button3_clicked", Handler => cache_callbacks.Show_View'Access); Register_Handler (Builder => Builder, Handler_Name => "on_button2_clicked", Handler => cache_callbacks.Cancel_View'Access); Register_Handler (Builder => Builder, Handler_Name => "on_button1_clicked", Handler => cache_callbacks.Close_View'Access); --Register_Handler --(Builder => Builder, -- Handler_Name => "on_treeview2_columns_changed", -- Handler => cache_callbacks.Sort'Access); Do_Connect (Builder); Gtk.Widget.Show_All (Get_Widget (Builder, "window1")); Gtk.Main.Main; Unref (Builder); end Show_Cache_Widget; end graphical_editor.caches;