File : klokka_task.adb


----------------------------------------------------------------------------
--                             Klokka                                     --
--                        Copyright (C) 2002                              --
--                          Preben Randhol                                --
--              License: Gnat Modified GNU Public License                 --
--                                                                        --
--   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.                                                     --
--                                                                        --
--   As a special exception, if other files instantiate generics from     --
--   this unit, or you link this unit with other files to produce an      --
--   executable, this unit does not by itself cause the resulting         --
--   executable to be covered by the GNU General Public License. This     --
--   exception does not however invalidate any other reasons why the      --
--   executable file might be covered by the GNU Public License.          --
--                                                                        --
----------------------------------------------------------------------------

with Gtk.Main;
with Klokka_Gui;       use Klokka_Gui;

package body Klokka_Task is

   procedure Start_Clock
   is
      Idle : Boolean;

      task The_Time;

      task body The_Time is
      begin
         loop
            --  First we Update the clock in the buffer
            --  Then we draw it onto the window.
            Update_Clock;
            Draw_Clock;
            delay 1.0;
         end loop;
      end The_Time;

   begin
         loop
            --  Now we start our GtkAda loop in stead of using
            --  Gtk.Main.Main as this do not work. I don't know why
            --  though.

            if Gtk.Main.Events_Pending then
               Idle := Gtk.Main.Main_Iteration;
            end if;

            --  Now we need to delay the execution a bit so that the
            --  thread may run and that we don't use 100% CPU
            delay 0.01;
         end loop;
   end Start_Clock;

end Klokka_Task;