I just realise why these are not good; it is clearly C introspection
for vala. It doesn't use vala types like Gtk.Button, and of course it doesn't even indicate what instance_pos might be, or how the object-instance will be handled. It seems to be a sort of half-way xml * gege2061 wrote, On 26/06/08 15:39: vapigen needs to kick out some xml that gives the vala model; something like:The only information I have on the wiki : http://live.gnome.org/GObjectIntrospection and http://live.gnome.org/Vala/Bindings And un look rapidly the .gi files in vala sources : <signal name="clicked" when="FIRST"> <return-type type="void"/> <parameters> <parameter name="button" type="GtkButton*"/> </parameters> </signal> Note the future format .gir (in vala 0.3.4) : <callback name="clicked"> <return-value> <type name="none" c:type="void"/> </return-value> <parameters> <parameter name="button"> <type name="GtkButton*" c:type="GtkButton*"/> </parameter> </parameters> </callback> <class name="Gtk.Button"> ... <signal name="clicked"> <return type="void"/> <parameters> <parameter name=".... </parameters> </signal> </class> And something to indicate whether it would be an object-method or a class-method, or maybe lambdas will handle that. Sam 2008/6/26 Sam Liddicott <sam liddicott com>:* gege2061 wrote, On 26/06/08 13:03: Good :) But it's not a simple feature :( You can use the files (created by gobject introspection) instead create a vapi-xml convertor. But is it a good idea to add dependancies with this files (which aren't installed with vala, unlike the vapi files)? I haven't found any instructions on vala introspection yet. Do you have any? Sam 2008/6/25 Sam Liddicott <sam liddicott com>: Thanks; silly me, it's obvious now. It makes perfect sense. I'm thinking about the prototype problem. I guess the vapi files know, so it will involve libvala no doubt. It will either be a vapi-xml convertor or rewrite the xslt to vala or C using libvala. Sam -----Original Message----- From: gege2061 <gege2061 redaction-developpez com> Sent: 25 June 2008 20:38 To: Sam Liddicott <sam liddicott com> Cc: vala-list gnome org Subject: Re: gtk widget bindings complete Complete GladeValaDemo class with : public abstract void on_button1_clicked(Gtk.Widget widget); public abstract void on_GladeValaDemo_destroy (Gtk.Widget widget); The problem is to determine the prototype of callback :/ 2008/6/25 Sam Liddicott <sam liddicott com>: I fear I don't understand the second suggestion. Please could you provide a small example. Thanks Sam -----Original Message----- From: gege2061 <gege2061 redaction-developpez com> Sent: 25 June 2008 18:39 To: Sam Liddicott <sam liddicott com> Cc: vala-list gnome org Subject: Re: gtk widget bindings complete After analyzing the generated code, I have some proposals : * Use abstract class, you're probably right. It's just sugar, but sugar is important. Of course, it's just a proposal, for v2... * Create abstrat method for signal, I considered this. I'm not certain of the benefits. There are lots of signals, most of which exist of exist for each widget. Often there is a different signal handler for the same signal for different widgets. So what would these abstract methods be? Dispatchers? Based on what info? Only the developer knows what signals he wants to catch and how, so I left these to be done in the subclass, but at least the developer only has to get the name right and the rest happens automatically. Sorry I wanted to say : signal callback, defined in XML, to force developers to implement it in sub-classe (hence my first proposal). * Use verbatim string for XML (see my example). I don't like this because the xml may actually contain """ and there is no way to escape it. I did have it set to close the string on \n and start a new line and open the string again, but vala doesn't support const string concatenation yet -- Nicolas Joseph Responsable de la rubrique GTK+ de developpez.com / In charge of the GTK+ section on developpez.com http://nicolasj.developpez.com |