comparison lisp/gtk-widget-accessors.el @ 5239:f19e6bc25969

Backed out changeset 6466bc9ebf15 This would leave all but the first frame blank.
author Mike Sperber <sperber@deinprogramm.de>
date Tue, 13 Jul 2010 10:19:33 +0200
parents 6466bc9ebf15
children e4305eb6fb8c 91b3aa59f49b
comparison
equal deleted inserted replaced
5237:6466bc9ebf15 5239:f19e6bc25969
18 (globally-declare-fboundp 18 (globally-declare-fboundp
19 '(gtk-fundamental-type)) 19 '(gtk-fundamental-type))
20 20
21 (require 'gtk-ffi) 21 (require 'gtk-ffi)
22 22
23 (defconst G_TYPE_INVALID 0) 23 (defconst GTK_TYPE_INVALID 0)
24 (defconst G_TYPE_NONE 1) 24 (defconst GTK_TYPE_NONE 1)
25 (defconst G_TYPE_CHAR 2) 25 (defconst GTK_TYPE_CHAR 2)
26 (defconst G_TYPE_UCHAR 3) 26 (defconst GTK_TYPE_UCHAR 3)
27 (defconst G_TYPE_BOOL 4) 27 (defconst GTK_TYPE_BOOL 4)
28 (defconst G_TYPE_INT 5) 28 (defconst GTK_TYPE_INT 5)
29 (defconst G_TYPE_UINT 6) 29 (defconst GTK_TYPE_UINT 6)
30 (defconst G_TYPE_LONG 7) 30 (defconst GTK_TYPE_LONG 7)
31 (defconst G_TYPE_ULONG 8) 31 (defconst GTK_TYPE_ULONG 8)
32 (defconst G_TYPE_FLOAT 9) 32 (defconst GTK_TYPE_FLOAT 9)
33 (defconst G_TYPE_DOUBLE 10) 33 (defconst GTK_TYPE_DOUBLE 10)
34 (defconst G_TYPE_STRING 11) 34 (defconst GTK_TYPE_STRING 11)
35 (defconst G_TYPE_ENUM 12) 35 (defconst GTK_TYPE_ENUM 12)
36 (defconst G_TYPE_FLAGS 13) 36 (defconst GTK_TYPE_FLAGS 13)
37 (defconst G_TYPE_BOXED 14) 37 (defconst GTK_TYPE_BOXED 14)
38 (defconst G_TYPE_POINTER 15) 38 (defconst GTK_TYPE_POINTER 15)
39 (defconst G_TYPE_SIGNAL 16) 39 (defconst GTK_TYPE_SIGNAL 16)
40 (defconst G_TYPE_ARGS 17) 40 (defconst GTK_TYPE_ARGS 17)
41 (defconst G_TYPE_CALLBACK 18) 41 (defconst GTK_TYPE_CALLBACK 18)
42 (defconst G_TYPE_C_CALLBACK 19) 42 (defconst GTK_TYPE_C_CALLBACK 19)
43 (defconst G_TYPE_FOREIGN 20) 43 (defconst GTK_TYPE_FOREIGN 20)
44 (defconst G_TYPE_OBJECT 21) 44 (defconst GTK_TYPE_OBJECT 21)
45 45
46 (defconst gtk-value-accessor-names 46 (defconst gtk-value-accessor-names
47 '("INVALID" "NONE" "CHAR" "UCHAR" "BOOL" "INT" "UINT" "LONG" "ULONG" "FLOAT" "DOUBLE" 47 '("INVALID" "NONE" "CHAR" "UCHAR" "BOOL" "INT" "UINT" "LONG" "ULONG" "FLOAT" "DOUBLE"
48 "STRING" "ENUM" "FLAGS" "BOXED" "POINTER" "SIGNAL" "ARGS" "CALLBACK" "C_CALLBACK" 48 "STRING" "ENUM" "FLAGS" "BOXED" "POINTER" "SIGNAL" "ARGS" "CALLBACK" "C_CALLBACK"
49 "FOREIGN" "OBJECT")) 49 "FOREIGN" "OBJECT"))
86 (format "\t\twtaerror (\"Object is not a %s\", obj);\n" gtk-class) 86 (format "\t\twtaerror (\"Object is not a %s\", obj);\n" gtk-class)
87 "\t};\n" 87 "\t};\n"
88 "\n" 88 "\n"
89 (format "\tthe_obj = GTK_%s (XGTK_OBJECT (obj)->object);\n" wrapper) 89 (format "\tthe_obj = GTK_%s (XGTK_OBJECT (obj)->object);\n" wrapper)
90 90
91 (format "\targ.type = g_type_from_name (\"%s\");\n" (symbol-name (car arg)))) 91 (format "\targ.type = gtk_type_from_name (\"%s\");\n" (symbol-name (car arg))))
92 ; (format "\targ.type = G_TYPE_%s;\n" (or 92 ; (format "\targ.type = GTK_TYPE_%s;\n" (or
93 ; (nth (gtk-fundamental-type (car arg)) 93 ; (nth (gtk-fundamental-type (car arg))
94 ; gtk-value-accessor-names) 94 ; gtk-value-accessor-names)
95 ; (case (car arg) 95 ; (case (car arg)
96 ; (GtkListOfString "STRING_LIST") 96 ; (GtkListOfString "STRING_LIST")
97 ; (GtkListOfObject "OBJECT_LIST") 97 ; (GtkListOfObject "OBJECT_LIST")
98 ; (otherwise 98 ; (otherwise
99 ; "POINTER"))))) 99 ; "POINTER")))))
100 100
101 (setq base-arg-type (gtk-fundamental-type (car arg))) 101 (setq base-arg-type (gtk-fundamental-type (car arg)))
102 (cond 102 (cond
103 ((= base-arg-type G_TYPE_OBJECT) 103 ((= base-arg-type GTK_TYPE_OBJECT)
104 (insert 104 (insert
105 (format "\tGTK_VALUE_OBJECT (arg) = GTK_OBJECT (the_obj->%s);" 105 (format "\tGTK_VALUE_OBJECT (arg) = GTK_OBJECT (the_obj->%s);"
106 (cdr arg)))) 106 (cdr arg))))
107 ((or (= base-arg-type G_TYPE_POINTER) 107 ((or (= base-arg-type GTK_TYPE_POINTER)
108 (= base-arg-type G_TYPE_BOXED)) 108 (= base-arg-type GTK_TYPE_BOXED))
109 (insert 109 (insert
110 (format "\tGTK_VALUE_%s (arg) = (void *)the_obj->%s;" 110 (format "\tGTK_VALUE_%s (arg) = (void *)the_obj->%s;"
111 (nth (gtk-fundamental-type (car arg)) gtk-value-accessor-names) 111 (nth (gtk-fundamental-type (car arg)) gtk-value-accessor-names)
112 (cdr arg)))) 112 (cdr arg))))
113 (t 113 (t
115 (format "\tGTK_VALUE_%s (arg) = the_obj->%s;" 115 (format "\tGTK_VALUE_%s (arg) = the_obj->%s;"
116 (or (nth (gtk-fundamental-type (car arg)) gtk-value-accessor-names) "POINTER") 116 (or (nth (gtk-fundamental-type (car arg)) gtk-value-accessor-names) "POINTER")
117 (cdr arg))))) 117 (cdr arg)))))
118 (insert 118 (insert
119 "\n" 119 "\n"
120 "\treturn (g_type_to_lisp (&arg));\n" 120 "\treturn (gtk_type_to_lisp (&arg));\n"
121 "}\n\n") 121 "}\n\n")
122 (push c-func-name func-names)) 122 (push c-func-name func-names))
123 func-names)) 123 func-names))
124 124
125 (defun import-widget-accessors (file syms-function-name &rest description) 125 (defun import-widget-accessors (file syms-function-name &rest description)