with Gtk.Main; with Gtk.Tooltip; with Ada.Text_IO; use Ada.Text_IO; with graphical_editor.scheduling_refs; use graphical_editor.scheduling_refs; with graphical_editor.manuals; use graphical_editor.manuals; with graphical_editor.caches; use graphical_editor.caches; with graphical_editor.cores; use graphical_editor.cores; with graphical_editor.adress_spaces; use graphical_editor.adress_spaces; with graphical_editor.processors; use graphical_editor.processors; with graphical_editor.networks; use graphical_editor.networks; with graphical_editor.oxmls; use graphical_editor.oxmls; with graphical_editor.import_aadls; use graphical_editor.import_aadls; with graphical_editor.export_aadls; use graphical_editor.export_aadls; with graphical_editor.aadl_options; use graphical_editor.aadl_options; with graphical_editor.save_xmls; use graphical_editor.save_xmls; with graphical_editor.tasks; use graphical_editor.tasks; with graphical_editor.messages; use graphical_editor.messages; with graphical_editor.resources; use graphical_editor.resources; --with graphical_editor.abouts; use graphical_editor.abouts; with graphical_editor.buffers; use graphical_editor.buffers; with graphical_editor.event_analyzers; use graphical_editor.event_analyzers; with graphical_editor.scheduling_simulations; use graphical_editor.scheduling_simulations; with graphical_editor.priorities_rm; use graphical_editor.priorities_rm; with graphical_editor.priorities_dm; use graphical_editor.priorities_dm; with graphical_editor.scheduling_feasibility_widgets; use graphical_editor.scheduling_feasibility_widgets; with graphical_editor.message_text; use graphical_editor.message_text; with Project; use Project; with Glib; use Glib; with Glib.Object; use Glib.Object; with Gtk.Widget; use Gtk.Widget; with Gdk.Window; use Gdk.Window; with Gdk.Color; use Gdk.Color; with Gdk.GC; use Gdk.GC; --with Schedule_From_To_Pkg; use Schedule_From_To_Pkg; --with graphical_editor.scheduling_simulation_callbacks; use graphical_editor.scheduling_simulation_callbacks; with graphical_editor.Draw_Scheduling_Pkg; use graphical_editor.Draw_Scheduling_Pkg; with Gdk.Drawable; use Gdk.Drawable; with Call_Framework; use Call_Framework; with Call_Framework_Interface; use Call_Framework_Interface; use Call_Framework_Interface.Framework_Request_Package; use Call_Framework_Interface.Framework_Response_Package; with Call_Scheduling_Framework; use Call_Scheduling_Framework; with Tasks; use Tasks; with Task_Set; use Task_Set; use Task_Set.Generic_Task_Set; with Buffers; use Buffers; with Buffer_Set; use Buffer_Set; use Buffer_Set.Generic_Buffer_Set; with Address_Spaces; use Address_Spaces; with Address_Space_Set; use Address_Space_Set; use Address_Space_Set.Generic_Address_Space_Set; with Resources; use Resources; with Resource_Set; use Resource_Set; use Resource_Set.Generic_Resource_Set; with Processors; use Processors; with Processor_Set; use Processor_Set; use Processor_Set.Generic_Processor_Set; use Processor_Set.Generic_core_unit_Set; with Multiprocessor_Services; use Multiprocessor_Services; with Multiprocessor_Services_Interface; use Multiprocessor_Services_Interface; use Multiprocessor_Services_Interface.Scheduling_Result_Per_Processor_Package; with graphical_editor.user_message; use graphical_editor.user_message; with Translate; use Translate; with Framework_Config; use Framework_Config; with Gtk.Text_Iter; use Gtk.Text_Iter; package body graphical_editor.cheddar_callbacks is iter : Gtk_Text_Iter; line_Number : integer := 0; procedure initialyse_system (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin Do_New; --- clear_workspace qu'il faut ecrire ... conformément à la nouvelle approche .. end initialyse_system; function new_quit (Object : access Gtkada_Builder_Record'Class) -- Params : Gtk.Arguments.Gtk_Args) return Boolean is begin Do_Exit; return True; end new_quit; procedure new_Quit_proc (Object : access Gtkada_Builder_Record'Class) is begin Do_Exit; end new_quit_proc; procedure Quit (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); my_object : GObject; begin my_object:=Get_Object(Object, "window1"); --Hide(Gtk_Widget(my_object)); --Unref(my_object); --Destroy_Cb(Gtk_Widget(my_object)); --Gdk.Window.Clear (get_window(my_area)); gtk.main.main_quit; end Quit; function QuitAboutDialog (Object : access Gtkada_Builder_Record'Class) return boolean is pragma Unreferenced (Object); begin Gtk.Main.Main_quit; return false; end QuitAboutDialog; procedure about (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin --graphical_editor.abouts.Show_About_Widget; Show_Message_Box (Lb_About_Text (Current_Language)); end about; procedure clear_workspace (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin Set_Text(buffer_editor_cheddar, ""); Gdk.Window.Clear (get_window(my_area)); end clear_workspace; procedure manual (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.manuals.Show_Manual_Widget; -- à ce niveau, j'appelle juste on_manual_activate de root_window_pkg .. end manual; procedure cache (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.caches.Show_Cache_Widget; end cache; procedure set_priorities_rm (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.priorities_rm.Show_Priorities_Rm_Widget; end set_priorities_rm; procedure set_priorities_dm (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.priorities_dm.Show_Priorities_Dm_Widget; end set_priorities_dm; procedure buffer (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.buffers.Show_Buffer_Widget; end buffer; procedure scheduling_partition_best_fit (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); return; end if; if (get_number_of_elements (Sys.Processors) = 0) then Show_Message_Box (Lb_Define_Processors_Before (Current_Language)); return; end if; if (get_number_of_elements (Sys.Address_Spaces) = 0) then Show_Message_Box (Lb_Define_Address_Spaces_Before (Current_Language)); return; end if; Initialize (A_Request); A_Request.statement := Scheduling_Feasibility_Best_Fit; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); --Write_Title_And_Text (Root_Window.Text, Response_List); Write_Title_And_Text (Response_List); end scheduling_partition_best_fit; procedure scheduling_partition_first_fit (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); return; end if; if (get_number_of_elements (Sys.Processors) = 0) then Show_Message_Box (Lb_Define_Processors_Before (Current_Language)); return; end if; if (get_number_of_elements (Sys.Address_Spaces) = 0) then Show_Message_Box (Lb_Define_Address_Spaces_Before (Current_Language)); return; end if; Initialize (A_Request); A_Request.statement := Scheduling_Feasibility_First_Fit; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end scheduling_partition_first_fit; procedure priorities_display_chetto (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); else Initialize (A_Request); A_Request.statement := Dependency_Compute_Chetto_Blazewicz_Priority; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end if; end priorities_display_chetto; procedure deadline_display_chetto (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); else Initialize (A_Request); A_Request.statement := Dependency_Compute_Chetto_Blazewicz_Deadline; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end if; end deadline_display_chetto; procedure deadline_update_chetto (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); else Initialize (A_Request); A_Request.statement := Dependency_Set_Chetto_Blazewicz_Deadline; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); -- Do not forget to save project -- since tasks are modified !! -- Is_New := False; Is_Saved := False; end if; end deadline_update_chetto; procedure end_to_end_display_one_step (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); else Initialize (A_Request); A_Request.statement := Dependency_Compute_End_To_End_Response_Time_One_Step; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end if; end end_to_end_display_one_step; procedure end_to_end_update_one_step (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); else Initialize (A_Request); A_Request.statement := Dependency_Set_End_To_End_Response_Time_One_Step; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); -- Do not forget to save project -- since tasks are modified !! -- Is_New := False; Is_Saved := False; end if; end end_to_end_update_one_step; procedure end_to_end_display_all_steps (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); else Initialize (A_Request); A_Request.statement := Dependency_Compute_End_To_End_Response_Time_All_Steps; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end if; end end_to_end_display_all_steps; procedure end_to_end_update_all_steps (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); else Initialize (A_Request); A_Request.statement := Dependency_Set_End_To_End_Response_Time_All_Steps; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); -- Do not forget to save project -- since tasks are modified !! -- Is_New := False; Is_Saved := False; end if; end end_to_end_update_all_steps; procedure priorities_update_chetto (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); else Initialize (A_Request); A_Request.statement := Dependency_Set_Chetto_Blazewicz_Priority; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); -- Do not forget to save project -- since tasks are modified !! -- Is_New := False; Is_Saved := False; end if; end priorities_update_chetto; procedure scheduling_partition_small_task (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); return; end if; if (get_number_of_elements (Sys.Processors) = 0) then Show_Message_Box (Lb_Define_Processors_Before (Current_Language)); return; end if; if (get_number_of_elements (Sys.Address_Spaces) = 0) then Show_Message_Box (Lb_Define_Address_Spaces_Before (Current_Language)); return; end if; Initialize (A_Request); A_Request.statement := Scheduling_Feasibility_Small_Task; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end scheduling_partition_small_task; procedure scheduling_partition_next_fit (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); return; end if; if (get_number_of_elements (Sys.Processors) = 0) then Show_Message_Box (Lb_Define_Processors_Before (Current_Language)); return; end if; if (get_number_of_elements (Sys.Address_Spaces) = 0) then Show_Message_Box (Lb_Define_Address_Spaces_Before (Current_Language)); return; end if; Initialize (A_Request); A_Request.statement := Scheduling_Feasibility_Next_Fit; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end scheduling_partition_next_fit; procedure compute_response_time_density (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); return; end if; -- Check if scheduling is computed or not -- --if Call_Scheduling_Framework.Sched.nb_entries = 0 then if Framework.Sched.nb_entries = 0 then Show_Message_Box (Lb_Schedule_Before (Current_Language)); return; end if; Initialize (A_Request); A_Request.statement := Random_Response_Time_Density; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end compute_response_time_density; procedure scheduling_partition_general (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); return; end if; if (get_number_of_elements (Sys.Processors) = 0) then Show_Message_Box (Lb_Define_Processors_Before (Current_Language)); return; end if; if (get_number_of_elements (Sys.Address_Spaces) = 0) then Show_Message_Box (Lb_Define_Address_Spaces_Before (Current_Language)); return; end if; Initialize (A_Request); A_Request.statement := Scheduling_Feasibility_General_Task; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end scheduling_partition_general; procedure analysis_buffer_feasibility (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Buffers) = 0) then Show_Message_Box (Lb_Define_Buffers_Before (Current_Language)); return; end if; Initialize (A_Request); A_Request.statement := Buffer_Feasibility_Tests; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); --Write_Title_And_Text (Root_Window.Text, Response_List); Write_Title_And_Text(Response_List); end analysis_buffer_feasibility; procedure analysis_buffer_simulation (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin put_line("appeller ici la fction on_Draw_Buffer_Activate de root_window package"); end analysis_buffer_simulation; procedure scheduling_feasibility (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); return; end if; Initialize (A_Request); A_Request.statement := Scheduling_Feasibility_Basics; A_Request.target := To_Unbounded_String (""); add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); --Write_Title_And_Text (Root_Window.Text, Response_List); Write_Title_And_Text(Response_List); --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).title)); --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 scheduling_feasibility; procedure scheduling_simulation (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.scheduling_simulations.Show_scheduling_options_Widget; end scheduling_simulation; procedure scheduling_feasibility_widget (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.scheduling_feasibility_widgets.Show_scheduling_feasibility_widget; end scheduling_feasibility_widget; procedure core (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.cores.Show_Core_Widget; end core; procedure event_analyzer (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.event_analyzers.Show_Event_Analyzer_Widget; end event_analyzer; procedure message (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.messages.Show_Message_Widget; end message; procedure resource (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.resources.Show_Resource_Widget; end resource; procedure adress_space (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.adress_spaces.Show_Adress_spaces_Widget; end adress_space; procedure taskc (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.tasks.Show_Tasks_Widget; end taskc; procedure processor (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.processors.Show_Processor_Widget; end processor; procedure network (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.networks.Show_Network_Widget; end network; procedure open_xml (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.oxmls.Show_file_chooser_Dialog; end open_xml; procedure import_aadl (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.import_aadls.Show_file_chooser_Dialog; end import_aadl; procedure export_aadl (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.export_aadls.Show_file_chooser_Dialog; end export_aadl; procedure aadl_option (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.aadl_options.Show_aadl_option_widget; end aadl_option; procedure save_xml (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin --graphical_editor.save_xmls.Show_file_chooser_Dialog; --Do_Save; if (Xml_Project_File_Name /= To_Unbounded_String ("")) then Systems.Write_To_Xml_File (Sys, Xml_Project_File_Name); Is_Saved := True; else graphical_editor.save_xmls.Show_file_chooser_Dialog; end if; end save_xml; procedure save_as_xml (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.save_xmls.Show_file_chooser_Dialog; --Do_Save; end save_as_xml; procedure scheduling_ref (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); begin graphical_editor.scheduling_refs.Show_Sched_Reference_Widget; end scheduling_ref; procedure resource_deadlock (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin -- check if there are resources -- if (get_number_of_elements (Sys.Resources) = 0) then Show_Message_Box (Lb_Define_Resources_Before (Current_Language)); return; end if; -- check if tasks exist -- if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); return; end if; -- Check if scheduling is computed or not -- --if Call_Scheduling_Framework.Sched.nb_entries = 0 then if Framework.Sched.nb_entries = 0 then Show_Message_Box (Lb_Schedule_Before (Current_Language)); return; end if; Initialize (A_Request); A_Request.statement := Scheduling_Simulation_Deadlock; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end resource_deadlock; procedure resource_priority_inversion (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin -- check if there are resources -- if (get_number_of_elements (Sys.Resources) = 0) then Show_Message_Box (Lb_Define_Resources_Before (Current_Language)); return; end if; -- check if tasks exist -- if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); return; end if; -- Check if scheduling is computed or not -- --if Call_Scheduling_Framework.Sched.nb_entries = 0 then if Framework.Sched.nb_entries = 0 then Show_Message_Box (Lb_Schedule_Before (Current_Language)); return; end if; Initialize (A_Request); A_Request.statement := Scheduling_Simulation_Priority_Inversion; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end resource_priority_inversion; procedure bound_blocking_display (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Resources) = 0) then Show_Message_Box (Lb_Define_Resources_Before (Current_Language)); else Initialize (A_Request); A_Request.statement := Scheduling_Feasibility_Compute_Blocking_Time; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end if; end bound_blocking_display; procedure bound_blocking_update (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Resources) = 0) then Show_Message_Box (Lb_Define_Resources_Before (Current_Language)); else Initialize (A_Request); A_Request.statement := Scheduling_Feasibility_Compute_And_Set_Blocking_Time; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); -- Do not forget to save project -- since tasks are modified !! -- Is_New := False; Is_Saved := False; end if; end bound_blocking_update; procedure check_address_space_update (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); return; end if; if (get_number_of_elements (Sys.Address_Spaces) = 0) then Show_Message_Box (Lb_Define_Address_Spaces_Before (Current_Language)); return; end if; Initialize (A_Request); A_Request.statement := Global_Memory_Compute_Requirement_Analysis; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end check_address_space_update; procedure check_address_space (Object : access Gtkada_Builder_Record'Class) is pragma Unreferenced (Object); Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin if (get_number_of_elements (Sys.Tasks) = 0) then Show_Message_Box (Lb_Define_Tasks_Before (Current_Language)); return; end if; if (get_number_of_elements (Sys.Address_Spaces) = 0) then Show_Message_Box (Lb_Define_Address_Spaces_Before (Current_Language)); return; end if; Initialize (A_Request); A_Request.statement := Global_Memory_Set_Requirement_Analysis; add (Request_List, A_Request); Sequential_Framework_Request (Sys, Request_List, Response_List); Write_Title_And_Text (Response_List); end check_address_space; end graphical_editor.cheddar_callbacks;