From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ariel Rios To: guile-gtk@sourceware.cygnus.com, Rob Browning Subject: Converting defs file unto guile-wrap code Date: Tue, 29 May 2001 21:14:00 -0000 Message-id: <991192650.2622.3.camel@soleil> X-SW-Source: 2001-q2/msg00046.html Ok. I plan to translate defs files unto guile-wrap by defining macros according to the different define-foo types; Eg for enums: ;;other functions are omitted (define-macro (define-enum name in-mod cname val) `(define ,name (string-append (enum-do-let ,cname) (enum-do-values ,val) "\t#t)\n"))) ANd when evaluating for example: guile> (define-enum DirectionType (in-module "Gtk") (c-name "GtkDirectionType") (values '("tab-forward" "GTK_DIR_TAB_FORWARD" 0) '("tab-backward" "GTK_DIR_TAB_BACKWARD" 1) '("up" "GTK_DIR_UP" 2) '("down" "GTK_DIR_DOWN" 3) '("left" "GTK_DIR_LEFT" 4) '("right" "GTK_DIR_RIGHT" 5))) guile> (display DirectionType) (let ((we ((gw:wrap-enumeration mod ' "GtkDirectionType*" "const GtkDirectionType*"))) (gw:enum-add-value! we "tab-forward" 'GTK_DIR_TAB_FORWARD) (gw:enum-add-value! we "tab-backward" 'GTK_DIR_TAB_BACKWARD) (gw:enum-add-value! we "up" 'GTK_DIR_UP) (gw:enum-add-value! we "down" 'GTK_DIR_DOWN) (gw:enum-add-value! we "left" 'GTK_DIR_LEFT) (gw:enum-add-value! we "right" 'GTK_DIR_RIGHT) #t) Now, Is these the correct approach to follow? It is obviously a very easy way of doing it. Any objections? Rob, do you think that the current defs format info is enough for g-wrap? ariel