5. Starting an application with GtkAda

You need to perform some initializations to start a GtkAda application:

--  predefined units of the library
with Gtk.Main;
with Gtk.Enums;
with Gtk.Window;
...
--  My units
with Callbacks;
...
procedure Application is
   procedure Create_Window is ...

begin
   --  Set the locale specific datas (e.g time and date format)
   Gtk.Main.Set_Locale;

   --  Initializes GtkAda
   Gtk.Main.Init;

   --  Create the main window
   Create_Window;

   --  Signal handling loop
   Gtk.Main.Main;
end Application;

the Create_Window procedure looks like:

procedure Create_Window is
   Main_Window : Gtk.Window.Gtk_Window;
   ...
begin
   Gtk.Window.Gtk_New
     (Window   => Main_Window,
      The_Type => Gtk.Enums.Window_Toplevel);

   --  From Gtk.Widget:
   Gtk.Window.Set_Title (Window => Main_Window, Title  => "Editor");

   --  Construct the window and connect various callbacks

   ...
   Gtk.Window.Show_All (Main_Window);
end Create_Window;