description (.defs) of GTK interface



Dear All,

Apparently there exist a description of the full GTK interfaces in
some Lispy syntax. For example both Python and CommonLisp interfaces
to GTK2 contains a file named gtk-2.0.defs containing stuff like

(define-enum GtkArrowType
  (up GTK_ARROW_UP)
  (down GTK_ARROW_DOWN)
  (left GTK_ARROW_LEFT)
  (right GTK_ARROW_RIGHT))

(define-flags GtkAttachOptions
  (expand GTK_EXPAND)
  (shrink GTK_SHRINK)
  (fill GTK_FILL))

(define-boxed GtkAccelGroup
  (copy gtk_accel_group_ref)
  (free gtk_accel_group_unref))

(define-object GtkAdjustment (GtkObject)
  (fields
   (float value)
   (float lower)
   (float upper)
   (float step_increment)
   (float page_increment)
   (float page_size)))

(define-func gtk_label_new
  GtkWidget
  ((string str)))

I wonder where such files come from. What is the initial
(i.e. authoritative and current) version of such file describing the
GTK2 API?

My small problem with such file is purely syntactical. The C symbols
are obviously case sensitive, but Scheme readers are not, and I am not
fluent enough in CommonLisp to make it with CL.

I might be interested in coding a GTK widget server, which listens to
high-level requests on a channel and display GTK widgets accordingly.

I started to code such a stuff (called Guis) -- see
http://www.starynkevitch.net/Basile/guisdoc.html for details.

I am seriously considering to add a sort of JIT compiler (of a tiny,
GTK specific, language with a Lispy (=parenthesised) syntax and a
C-like semantic), probably using the GNU lightning JIT code generator
library.

I would like to make (quickly) a widget server for GTK2, like
e.g. IRAF http://iraf.noao.edu/iraf/web/projects/x11iraf/ did, or
picogui http://picogui.org/ (and like the now dead openwindows NeWS
system did).

Is anybody interested in such stuff (GTK widget server)? 

Does anyone know for sure the source of gtk-2.0.defs files?

Regards.
-- 

Basile STARYNKEVITCH         http://starynkevitch.net/Basile/ 
email: basile<at>starynkevitch<dot>net 
alias: basile<at>tunes<dot>org 
8, rue de la Faïencerie, 92340 Bourg La Reine, France



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]