[gtkada] Need help overloading Show_All

Arnaud Charlet charlet at ACT-Europe.FR
Mon May 13 23:07:05 CEST 2002


>    procedure Show_All
>       (Dialog : access Base_Dialog_Record)
>    is
>    begin
>       Gtk.Widget.Show_All (Gtk_Widget (Dialog));

I believe (code untested) that the following will do what you want:

Show_All (Gtk_Widget_Record (Dialog.all)'Access)

Remember that Gtk_Widget is an access all Gtk_Widget_Record'Class
(note the 'Class), so you need to tell the compiler that you want to call
the function on an access to a Gtk_Widget_Record, and not a
Gtk_Widget_Record'Class (otherwise the call will be dispatching).

Welcome to the joy of object oriented programming with Ada ;-)

Arno




More information about the gtkada mailing list