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;