Jan Vroonhof <vroonhof(a)math.ethz.ch> writes:
wmperry(a)aventail.com (William M. Perry) writes:
> Also, preliminary patches against 21.1.9 are also available at
>
http://www.cs.indiana.edu/elisp/gui-xemacs/ - look towards the bottom of
> the page.
Maybe it would be a good idea if you got your own branch on
cvs.xemacs.org?
It is no real big deal right now - I don't want to interfere with 21.1.10
release or anything. Things are changing so quickly that I'd rather just
keep it where it is for now. It is on a wimpy old sparc ipx though, so if
lots of people start hammering it, I might change my mind. :)
I worked for most of last night on some routines to manipulate teh GTK
object model from lisp. I think if I get all the basics done, I could
write all the rest of the generic interface in lisp.
Right now I have 3 functions that are of interest.
gtk-import-type - you give it as symbol or string of the gtk type to
import. It queries the object system and returns information about the
type. If you import an enumeration it pulls it into the XEmacs namespace -
I'm not sure if this one needs to stay though.
gtk-register-widget - Given a DLL and a list of dependency dlls, it
registers the widget with the Gtk object system. This is probably obsolete
now too, other than the DLL loading/mucking about. Name change imminent.
gtk-call-function - given a function name, its return type, and a list of
type/value pairs. A sample would be:
(gtk-call-function 'GtkButtonBoxStyle
"gtk_vbutton_box_get_layout_default"
nil)
calls GtkButtonBoxStyle gtk_vbutton_box_get_layout_default() and returns
GTK_BUTTONBOX_EDGE. Or:
(gtk-call-function 'GtkWidget
"gtk_button_new_with_label"
'((GtkString . "My label")))
calls GtkWidget *gtk_button_new_with_label(const char *label)
I think this could be generalized to things other than Gtk pretty easily.
I need to spiff up the interface (have gtk-import-function () that would
return a real object, and you would then use gtk-call-function on that
object so it would be faster.
-bp