[gtkada] Trouble with gate

Arnaud Charlet charlet at ACT-Europe.FR
Tue Oct 10 11:07:20 CEST 2000


> Hello. I successfully used the 'gate' utility with a glade XML file, but with
> te joined one there's no way to get something. 'dgate' told me to send a bug
> report. Even if I don't think this is a bug but just a misunderstanding from
> me, I send you this because I find no way to have it work.

This was indeed a bug in dgate, I am appending the patch below.
One trouble with dgate is that it has not been widely used and thus tested.

Actually we are thinking of getting rid of this functionnality, for the
following reasons:

- it is not complete
- it is not really tested
- not properly documented
- it has not been used on real applications, which means that the API is
  probably not strong enough for real devpt
- it introduces significant amount of extra code in the library
- it introduces unwanted package dependencies
- it duplicates the libglade capabilities
  
So if nobody is strongly relying on this capability, we are inclined to remove
it in future versions of GtkAda.
In the long run, we probably might want to bind libglade to provide
a similar capability, but we find the Gate approach more appealing, at least
on the GtkAda front. We know that on the C front, people tend to prefer
libglade nowadays, but this is also because the C code
generated by Glade is not very attractive compared to the Ada code generated
by Gate (real type extensions, ...). Also, with libglade you lose lots
of compile time checks, which is against the Ada way of doing things.

Anyway, this is a call for opinions here, so do not hesitate to speak.

Arno

--
*** src/gtk-button.adb.old	Tue Oct 10 11:01:48 2000
--- src/gtk-button.adb	Tue Oct 10 11:01:48 2000
***************
*** 272,278 ****
  
        if S /= null then
           Set_Relief
!            (Gtk_Button (Button), Gtk.Enums.Gtk_Relief_Style'Value (S.all));
        end if;
     end Generate;
  
--- 272,279 ----
  
        if S /= null then
           Set_Relief
!            (Gtk_Button (Button),
!             Gtk.Enums.Gtk_Relief_Style'Value (S (S'First + 4 .. S'Last)));
        end if;
     end Generate;
  




More information about the gtkada mailing list