with Gtk.Combo_Box; use Gtk.Combo_Box; with Gtk.Text_Buffer; use Gtk.Text_Buffer; with Gtk.List_Store; use Gtk.List_Store; with Gtk.Tree_View; use Gtk.Tree_View; with Gtk.Tree_Model; use Gtk.Tree_Model; with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; with Glib; use Glib; with Glib.Object; use Glib.Object; with Glib.Values; use Glib.Values; with Gtkada.Builder; use Gtkada.Builder; with Scheduler_Interface; use Scheduler_Interface; with standards_io; use standards_io; with Ada.Numerics.Aux; use Ada.Numerics.Aux; use standards_io.double_io; package generic_package_widget is Number_of_widget: positive:=20; type My_Windows is (Cache, Core, Processor, Network, Adress_space, Tasks_Window, Resource, Buffer, Dependencies, Message, Event_Analyser); type parameter_Type is ( buffer_string, buffer_integer, combo, lists, view, window); type t_widget (ptype : parameter_Type := buffer_string) is record case ptype is when buffer_string | buffer_integer => buffer_value : Gtk_Text_Buffer; when combo => combo_value : Gtk_Combo_Box; when lists => list_value : Gtk_List_Store; when view => view_value : Gtk_Tree_View; when window => window_value : My_Windows; end case; end record; type widget_ptr is access t_widget; type table_widget_id is array (1..number_of_widget) of widget_ptr; function get_value_buffer_string(buffer : Gtk_Text_Buffer) return unbounded_string; function get_value_buffer_integer(buffer : Gtk_Text_Buffer) return integer; function get_value_buffer_double(buffer : Gtk_Text_Buffer) return double; function get_number_elements(treemodel: Gtk_Tree_Model) return integer; function get_int_combo(combo: Gtk_Combo_Box; value: unbounded_string) return integer; end generic_package_widget;