1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
-----------------------------------------------------------------------
-- GtkAda - Ada95 binding for the Gimp Toolkit --
-- --
-- Copyright (C) 2000 --
-- Emmanuel Briot, Joel Brobecker and Arnaud Charlet --
-- --
-- This library 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 library 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 library; if not, write to the --
-- Free Software Foundation, Inc., 59 Temple Place - Suite 330, --
-- Boston, MA 02111-1307, USA. --
-- --
-----------------------------------------------------------------------
with Ada.Text_IO; use Ada.Text_IO;
with Gtk.Main;
package body Hello_Package is
-- This is a callback function.
procedure Hello_Callback (Widget : access Gtk_Widget_Record'Class)
is
pragma Unreferenced (Widget);
begin
Put_Line ("Hello World");
end Hello_Callback;
function Delete_Event
(Widget : access Gtk_Widget_Record'Class;
Event : Gdk_Event)
return Boolean
is
pragma Unreferenced (Event);
pragma Unreferenced (Widget);
begin
-- If you return False in the "delete_event" signal handler,
-- GtkAda will emit the "destroy" signal. Returning True means
-- you don't want the window to be destroyed. This is useful
-- for popping up 'are you sure you want to quit?' type
-- dialogs.
Put_Line ("delete event occurred");
-- Change True to False and the main window will be destroyed
-- with a "delete_event".
return True;
end Delete_Event;
-- Another callback
procedure Destroy (Widget : access Gtk_Widget_Record'Class) is
pragma Unreferenced (Widget);
begin
Gtk.Main.Main_Quit;
end Destroy;
end Hello_Package;
|