------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- Cheddar is a GNU GPL real-time scheduling analysis tool. -- This program provides services to automatically check schedulability and -- other performance criteria of real-time architecture models. -- -- Copyright (C) 2002-2016, Frank Singhoff, Alain Plantec, Jerome Legrand -- -- The Cheddar project was started in 2002 by -- Frank Singhoff, Lab-STICC UMR 6285 laboratory, Université de Bretagne Occidentale -- -- Cheddar has been published in the "Agence de Protection des Programmes/France" in 2008. -- Since 2008, Ellidiss technologies also contributes to the development of -- Cheddar and provides industrial support. -- -- The full list of contributors and sponsors can be found in AUTHORS.txt and SPONSORS.txt -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; either version 2 of the License, or -- (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- -- -- Contact : cheddar@listes.univ-brest.fr -- ------------------------------------------------------------------------------ -- Last update : -- $Rev: 1249 $ -- $Date: 2014-08-28 07:02:15 +0200 (Fri, 28 Aug 2014) $ -- $Author: singhoff $ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ with Gtk; use Gtk; with Gtk.Window; use Gtk.Window; with Gtk.Table; use Gtk.Table; with Gtk.Label; use Gtk.Label; with Gtk.GEntry; use Gtk.GEntry; with Gtk.Button; use Gtk.Button; with Gtk.Check_Button; use Gtk.Check_Button; with Gtk.Separator; use Gtk.Separator; with Gtk.Box; use Gtk.Box; with Gtk.Scrolled_Window; use Gtk.Scrolled_Window; with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; with Objects; use Objects; with Systems; use Systems; with Editor_Config; use Editor_Config; with sets; with Unchecked_Deallocation; with Gtkada.Builder; use Gtkada.Builder; with Glib; use Glib; with Glib.Object; use Glib.Object; package graphical_editor.Select_Time_Line is package Generic_Time_Line_Object_Set is new sets ( max_element => Editor_Config.Max_Time_Line, element => Generic_Object_Ptr, free => Free, copy => Copy, put => Put, xml_string => XML_String, xml_ref_string => XML_String); use Generic_Time_Line_Object_Set; subtype Time_Line_Object_Range is Generic_Time_Line_Object_Set.element_range; subtype Time_Line_Object_Range_Ptr is Generic_Time_Line_Object_Set.element_range_ptr; subtype Time_Line_Object_Iterator is Generic_Time_Line_Object_Set.iterator; subtype Time_Line_Object_Iterator_Ptr is Generic_Time_Line_Object_Set.iterator_ptr; type Select_Time_Line_Callback_Type is access procedure; type Select_Time_Line_Record is new Gtk_Window_Record with private; type Select_Time_Line_Access is access all Select_Time_Line_Record'Class; procedure Gtk_New (Select_Time_Line : out Select_Time_Line_Access; A_System : in System; Call : in Select_Time_Line_Callback_Type); procedure Initialize (Select_Time_Line : access Select_Time_Line_Record'Class; A_System : in System; Call : in Select_Time_Line_Callback_Type); Select_Time_Line : Select_Time_Line_Access; type Time_Line_Object_Set is new Generic_Time_Line_Object_Set.set with null record; function To_Display (Searched_Name : in Unbounded_String; Searched_Type : in Objects_Type) return Boolean; Time_Line_To_Display : Time_Line_Object_Set; private type Object_Widget is record Object_Name : Gtk_Entry; Object_Type : Gtk_Entry; Display_Time_Line : Gtk_Check_Button; end record; type Object_Widget_Table is array (Time_Line_Object_Range) of Object_Widget; type Select_Time_Line_Record is new Gtk_Window_Record with record To_Be_Called : Select_Time_Line_Callback_Type; Scroll : Gtk_Scrolled_Window; Table : Gtk_Table; Lab : Gtk_Label; Entries : Object_Widget_Table; Nb_Entries : Time_Line_Object_Range; Ok_Button : Gtk_Button; Hseparator : Gtk_Hseparator; Vseparator : Gtk_Vseparator; Hbox : Gtk_Hbox; end record; procedure Free is new Unchecked_Deallocation ( Select_Time_Line_Record'Class, Select_Time_Line_Access); end graphical_editor.Select_Time_Line;