with Glib; use Glib; with Glib.Object; use Glib.Object; with Gtk; use Gtk; with Gtk.Widget; use Gtk.Widget; with graphical_editor.user_message; use graphical_editor.user_message; with Translate; use Translate; with Framework_Config; use Framework_Config; with Processors; use Processors; with Processor_Set; use Processor_Set; with Gtk.Combo_Box; use Gtk.Combo_Box; with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; 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 Ada.Text_IO; use Ada.Text_IO; with Gtk.Text_Iter; use Gtk.Text_Iter; with Gtk.Text_Buffer; use Gtk.Text_Buffer; with graphical_editor.scheduling_simulation_callbacks; use graphical_editor.scheduling_simulation_callbacks; with graphical_editor.message_text; use graphical_editor.message_text; package body graphical_editor.priorities_dm_callbacks is line_Number : integer := 0; procedure close_widget (Object : access Gtkada_Builder_Record'Class) is my_widget : GObject; begin my_widget:=Get_Object(Object, "window1"); Unref(my_widget); Hide(Gtk_Widget(my_widget)); end close_widget; procedure set_priorities_dm (Object: access Gtkada_Builder_Record'Class) is my_widget : GObject; Value : Unbounded_String; My_Iterator : Processors_Iterator; A_Processor : Generic_Processor_Ptr; Response_List : Framework_Response_Table; Request_List : Framework_Request_Table; A_Request : Framework_Request; begin my_widget:=Get_Object(Object, "combobox1"); Value := to_unbounded_string(Get_Active_Text(Gtk_Combo_Box(my_widget))); loop current_element (Sys.Processors, A_Processor, My_Iterator); if A_Processor.name = Value then close_widget(Object); Initialize (A_Request); A_Request.target := Value; A_Request.statement := Scheduling_Set_Priorities_According_To_Deadline_Monotonic; 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; exit when is_last_element (Sys.Processors, My_Iterator); next_element (Sys.Processors, My_Iterator); end loop; end set_priorities_dm; end graphical_editor.priorities_dm_callbacks;