annotate lisp/gtk-widget-accessors.el @ 1315:70921960b980

[xemacs-hg @ 2003-02-20 08:19:28 by ben] check in makefile fixes et al Makefile.in.in: Major surgery. Move all stuff related to building anything in the src/ directory into src/. Simplify the dependencies -- everything in src/ is dependent on the single entry `src' in MAKE_SUBDIRS. Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. mule/mule-msw-init.el: Removed. Delete this file. mule/mule-win32-init.el: New file, with stuff from mule-msw-init.el -- not just for MS Windows native, boys and girls! bytecomp.el: Change code inserted to catch trying to load a Mule-only .elc file in a non-Mule XEmacs. Formerly you got the rather cryptic "The required feature `mule' cannot be provided". Now you get "Loading this file requires Mule support". finder.el: Remove dependency on which directory this function is invoked from. update-elc.el: Don't mess around with ../src/BYTECOMPILE_CHANGE. Now that Makefile.in.in and xemacs.mak are in sync, both of them use NEEDTODUMP and the other one isn't used. dumped-lisp.el: Rewrite in terms of `list' and `nconc' instead of assemble-list, so we can have arbitrary forms, not just `when-feature'. very-early-lisp.el: Nuke this file. finder-inf.el, packages.el, update-elc.el, update-elc-2.el, loadup.el, make-docfile.el: Eliminate references to very-early-lisp. msw-glyphs.el: Comment clarification. xemacs.mak: Add macros DO_TEMACS, DO_XEMACS, and a few others; this macro section is now completely in sync with src/Makefile.in.in. Copy check-features, load-shadows, and rebuilding finder-inf.el from src/Makefile.in.in. The main build/dump/recompile process is now synchronized with src/Makefile.in.in. Change `WARNING' to `NOTE' and `error checking' to `error-checking' TO avoid tripping faux warnings and errors in the VC++ IDE. Makefile.in.in: Major surgery. Move all stuff related to building anything in the src/ directory from top-level Makefile.in.in to here. Simplify the dependencies. Rearrange into logical subsections. Synchronize the main compile/dump/build-elcs section with xemacs.mak, which is already clean and in good working order. Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. Add additional levels of macros \(e.g. DO_TEMACS, DO_XEMACS, TEMACS_BATCH, XEMACS_BATCH, XEMACS_BATCH_PACKAGES) to factor out duplicated stuff. Clean up handling of "HEAP_IN_DATA" (Cygwin) so it doesn't need to ignore the return value from dumping. Add .NO_PARALLEL since various aspects of building and dumping must be serialized but do not always have dependencies between them (this is impossible in some cases). Everything related to src/ now gets built in one pass in this directory by just running `make' (except the Makefiles themselves and config.h, paths.h, Emacs.ad.h, and other generated .h files). console.c: Update list of possibly valid console types. emacs.c: Rationalize the specifying and handling of the type of the first frame. This was originally prompted by a workspace in which I got GTK to compile under C++ and in the process fixed it so it could coexist with X in the same build -- hence, a combined TTY/X/MS-Windows/GTK build is now possible under Cygwin. (However, you can't simultaneously *display* more than one kind of device connection -- but getting that to work is not that difficult. Perhaps a project for a bored grad student. I (ben) would do it but don't see the use.) To make sense of this, I added new switches that can be used to specifically indicate the window system: -x [aka --use-x], -tty \[aka --use-tty], -msw [aka --use-ms-windows], -gtk [aka --use-gtk], and -gnome [aka --use-gnome, same as --use-gtk]. -nw continues as an alias for -tty. When none have been given, XEmacs checks for other parameters implying particular device types (-t -> tty, -display -> x [or should it have same treatment as DISPLAY below?]), and has ad-hoc logic afterwards: if env var DISPLAY is set, use x (or gtk? perhaps should check whether gnome is running), else MS Windows if it exsits, else TTY if it exists, else stream, and you must be running in batch mode. This also fixes an existing bug whereby compiling with no x, no mswin, no tty, when running non- interactively (e.g. to dump) I get "sorry, must have TTY support". emacs.c: Turn on Vstack_trace_on_error so that errors are debuggable even when occurring extremely early in reinitialization. emacs.c: Try to make sure that the user can see message output under Windows (i.e. it doesn't just disappear right away) regardless of when it occurs, e.g. in the middle of creating the first frame. emacs.c: Define new function `emacs-run-status', indicating whether XEmacs is noninteractive or interactive, whether raw, post-dump/pdump-load or run-temacs, whether we are dumping, whether pdump is in effect. event-stream.c: It's "mommas are fat", not "momas are fat". Fix other typo. event-stream.c: Conditionalize in_menu_callback check on HAVE_MENUBARS, because it won't exist on w/o menubar support, lisp.h: More hackery on RETURN_NOT_REACHED. Cygwin v3.2 DOES complain here if RETURN_NOT_REACHED() is blank, as it is for GCC 2.5+. So make it blank only for GCC 2.5 through 2.999999999999999. Declare Vstack_trace_on_error. profile.c: Need to include "profile.h" to fix warnings. sheap.c: Don't fatal() when need to rerun Make, just stderr_out() and exit(0). That way we can distinguish between a dumping failing expectedly (due to lack of stack space, triggering another dump) and unexpectedly, in which case, we want to stop building. (or go on, if -K is given) syntax.c, syntax.h: Use ints where they belong, and enum syntaxcode's where they belong, and fix warnings thereby. syntax.h: Fix crash caused by an edge condition in the syntax-cache macros. text.h: Spacing fixes. xmotif.h: New file, to get around shadowing warnings. EmacsManager.c, event-Xt.c, glyphs-x.c, gui-x.c, input-method-motif.c, xmmanagerp.h, xmprimitivep.h: Include xmotif.h. alloc.c: Conditionalize in_malloc on ERROR_CHECK_MALLOC. config.h.in, file-coding.h, fileio.c, getloadavg.c, select-x.c, signal.c, sysdep.c, sysfile.h, systime.h, text.c, unicode.c: Eliminate HAVE_WIN32_CODING_SYSTEMS, use WIN32_ANY instead. Replace defined (WIN32_NATIVE) || defined (CYGWIN) with WIN32_ANY. lisp.h: More futile attempts to walk and chew gum at the same time when dealing with subr's that don't return.
author ben
date Thu, 20 Feb 2003 08:19:44 +0000
parents 11502791fc1c
children db7068430402
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
622
11502791fc1c [xemacs-hg @ 2001-06-22 01:49:57 by ben]
ben
parents: 591
diff changeset
1 (globally-declare-fboundp
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
2 '(gtk-fundamental-type))
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 462
diff changeset
3
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
4 (require 'gtk-ffi)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
5
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
6 (defconst GTK_TYPE_INVALID 0)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
7 (defconst GTK_TYPE_NONE 1)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
8 (defconst GTK_TYPE_CHAR 2)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
9 (defconst GTK_TYPE_UCHAR 3)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
10 (defconst GTK_TYPE_BOOL 4)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
11 (defconst GTK_TYPE_INT 5)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
12 (defconst GTK_TYPE_UINT 6)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
13 (defconst GTK_TYPE_LONG 7)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
14 (defconst GTK_TYPE_ULONG 8)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
15 (defconst GTK_TYPE_FLOAT 9)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
16 (defconst GTK_TYPE_DOUBLE 10)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
17 (defconst GTK_TYPE_STRING 11)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
18 (defconst GTK_TYPE_ENUM 12)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
19 (defconst GTK_TYPE_FLAGS 13)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
20 (defconst GTK_TYPE_BOXED 14)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
21 (defconst GTK_TYPE_POINTER 15)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
22 (defconst GTK_TYPE_SIGNAL 16)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
23 (defconst GTK_TYPE_ARGS 17)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
24 (defconst GTK_TYPE_CALLBACK 18)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
25 (defconst GTK_TYPE_C_CALLBACK 19)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
26 (defconst GTK_TYPE_FOREIGN 20)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
27 (defconst GTK_TYPE_OBJECT 21)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
28
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
29 (defconst gtk-value-accessor-names
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
30 '("INVALID" "NONE" "CHAR" "UCHAR" "BOOL" "INT" "UINT" "LONG" "ULONG" "FLOAT" "DOUBLE"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
31 "STRING" "ENUM" "FLAGS" "BOXED" "POINTER" "SIGNAL" "ARGS" "CALLBACK" "C_CALLBACK"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
32 "FOREIGN" "OBJECT"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
33
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
34 (defun define-widget-accessors (gtk-class
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
35 wrapper
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
36 prefix args)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
37 "Output stub C code to access parts of a widget from lisp.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
38 GTK-CLASS is the GTK class to grant access to.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
39 WRAPPER is a fragment to construct GTK C macros for typechecking/etc. (ie: WIDGET)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
40 ARGS is a list of (type . name) cons cells.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
41 Defines a whole slew of functions to access & set the slots in the
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
42 structure."
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
43 (set-buffer (get-buffer-create "emacs-widget-accessors.c"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
44 (goto-char (point-max))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
45 (let ((arg)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
46 (base-arg-type nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
47 (lisp-func-name nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
48 (c-func-name nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
49 (func-names nil))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
50 (setq gtk-class (symbol-name gtk-class)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
51 wrapper (upcase wrapper))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
52 (while (setq arg (pop args))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
53 (setq lisp-func-name (format "gtk-%s-%s" prefix (cdr arg))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
54 lisp-func-name (replace-in-string lisp-func-name "_" "-")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
55 c-func-name (concat "F" (replace-in-string lisp-func-name "-" "_")))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
56 (insert
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
57 "DEFUN (\"" lisp-func-name "\", " c-func-name ", 1, 1, 0, /*\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
58 "Access the `" (symbol-name (cdr arg)) "' slot of OBJ, a " gtk-class " object.\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
59 "*/\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
60 "\t(obj))\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
61 "{\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
62 (format "\t%s *the_obj = NULL;\n" gtk-class)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
63 "\tGtkArg arg;\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
64 "\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
65 "\tCHECK_GTK_OBJECT (obj);\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
66 "\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
67 (format "\tif (!GTK_IS_%s (XGTK_OBJECT (obj)->object))\n" wrapper)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
68 "\t{\n"
591
ec73ae6e772b [xemacs-hg @ 2001-05-31 02:05:16 by wmperry]
wmperry
parents: 523
diff changeset
69 (format "\t\twtaerror (\"Object is not a %s\", obj);\n" gtk-class)
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
70 "\t};\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
71 "\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
72 (format "\tthe_obj = GTK_%s (XGTK_OBJECT (obj)->object);\n" wrapper)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
73
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
74 (format "\targ.type = gtk_type_from_name (\"%s\");\n" (symbol-name (car arg))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
75 ; (format "\targ.type = GTK_TYPE_%s;\n" (or
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
76 ; (nth (gtk-fundamental-type (car arg))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
77 ; gtk-value-accessor-names)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
78 ; (case (car arg)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
79 ; (GtkListOfString "STRING_LIST")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
80 ; (GtkListOfObject "OBJECT_LIST")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
81 ; (otherwise
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
82 ; "POINTER")))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
83
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
84 (setq base-arg-type (gtk-fundamental-type (car arg)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
85 (cond
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
86 ((= base-arg-type GTK_TYPE_OBJECT)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
87 (insert
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
88 (format "\tGTK_VALUE_OBJECT (arg) = GTK_OBJECT (the_obj->%s);"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
89 (cdr arg))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
90 ((or (= base-arg-type GTK_TYPE_POINTER)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
91 (= base-arg-type GTK_TYPE_BOXED))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
92 (insert
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
93 (format "\tGTK_VALUE_%s (arg) = (void *)the_obj->%s;"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
94 (nth (gtk-fundamental-type (car arg)) gtk-value-accessor-names)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
95 (cdr arg))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
96 (t
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
97 (insert
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
98 (format "\tGTK_VALUE_%s (arg) = the_obj->%s;"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
99 (or (nth (gtk-fundamental-type (car arg)) gtk-value-accessor-names) "POINTER")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
100 (cdr arg)))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
101 (insert
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
102 "\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
103 "\treturn (gtk_type_to_lisp (&arg));\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
104 "}\n\n")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
105 (push c-func-name func-names))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
106 func-names))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
107
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
108 (defun import-widget-accessors (file syms-function-name &rest description)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
109 "Import multiple widgets, and emit a suitable vars_of_foo() function for them.\n"
523
cd662ad69f40 [xemacs-hg @ 2001-05-09 13:43:49 by ben]
ben
parents: 502
diff changeset
110 (declare (special c-mode-common-hook c-mode-hook))
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
111 (let ((c-mode-common-hook nil)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
112 (c-mode-hook nil))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
113 (find-file file))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
114 (erase-buffer)
591
ec73ae6e772b [xemacs-hg @ 2001-05-31 02:05:16 by wmperry]
wmperry
parents: 523
diff changeset
115 (insert "/* This file was automatically generated by ../lisp/gtk-widget-accessors.el */\n"
ec73ae6e772b [xemacs-hg @ 2001-05-31 02:05:16 by wmperry]
wmperry
parents: 523
diff changeset
116 "/* DO NOT EDIT BY HAND!!! */\n")
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
117 (let ((c-funcs nil))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
118 (while description
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
119 (setq c-funcs (nconc (define-widget-accessors
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
120 (pop description) (pop description)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
121 (pop description) (pop description)) c-funcs)))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
122 (goto-char (point-max))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
123 (insert "void " syms-function-name " (void)\n"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
124 "{\n\t"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
125 (mapconcat (lambda (x)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
126 (concat "DEFSUBR (" x ");")) c-funcs "\n\t")
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
127 "\n}"))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
128 (save-buffer))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
129
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
130 ;; Because the new FFI layer imports GTK types lazily, we need to load
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
131 ;; up all of the gtk types we know about, or we get errors about
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
132 ;; unknown GTK types later on.
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
133 (mapatoms (lambda (sym)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
134 (if (string-match "gtk-[^-]+-get-type" (symbol-name sym))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
135 (funcall sym))))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
136
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
137 (import-widget-accessors
591
ec73ae6e772b [xemacs-hg @ 2001-05-31 02:05:16 by wmperry]
wmperry
parents: 523
diff changeset
138 "../src/emacs-widget-accessors.c"
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
139 "syms_of_widget_accessors "
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
140
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
141 'GtkAdjustment "ADJUSTMENT" "adjustment"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
142 '((gfloat . lower)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
143 (gfloat . upper)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
144 (gfloat . value)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
145 (gfloat . step_increment)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
146 (gfloat . page_increment)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
147 (gfloat . page_size))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
148
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
149 'GtkWidget "WIDGET" "widget"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
150 '((GtkStyle . style)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
151 (GdkWindow . window)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
152 (GtkStateType . state)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
153 (GtkString . name)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
154 (GtkWidget . parent))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
155
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
156 'GtkButton "BUTTON" "button"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
157 '((GtkWidget . child)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
158 (gboolean . in_button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
159 (gboolean . button_down))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
160
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
161 'GtkCombo "COMBO" "combo"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
162 '((GtkWidget . entry)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
163 (GtkWidget . button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
164 (GtkWidget . popup)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
165 (GtkWidget . popwin)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
166 (GtkWidget . list))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
167
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
168 'GtkGammaCurve "GAMMA_CURVE" "gamma-curve"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
169 '((GtkWidget . table)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
170 (GtkWidget . curve)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
171 (gfloat . gamma)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
172 (GtkWidget . gamma_dialog)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
173 (GtkWidget . gamma_text))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
174
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
175 'GtkCheckMenuItem "CHECK_MENU_ITEM" "check-menu-item"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
176 '((gboolean . active))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
177
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
178 'GtkNotebook "NOTEBOOK" "notebook"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
179 '((GtkPositionType . tab_pos))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
180
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
181 'GtkText "TEXT" "text"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
182 '((GtkAdjustment . hadj)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
183 (GtkAdjustment . vadj))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
184
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
185 'GtkFileSelection "FILE_SELECTION" "file-selection"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
186 '((GtkWidget . dir_list)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
187 (GtkWidget . file_list)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
188 (GtkWidget . selection_entry)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
189 (GtkWidget . selection_text)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
190 (GtkWidget . main_vbox)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
191 (GtkWidget . ok_button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
192 (GtkWidget . cancel_button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
193 (GtkWidget . help_button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
194 (GtkWidget . action_area))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
195
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
196 'GtkFontSelectionDialog "FONT_SELECTION_DIALOG" "font-selection-dialog"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
197 '((GtkWidget . fontsel)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
198 (GtkWidget . main_vbox)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
199 (GtkWidget . action_area)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
200 (GtkWidget . ok_button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
201 (GtkWidget . apply_button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
202 (GtkWidget . cancel_button))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
203
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
204 'GtkColorSelectionDialog "COLOR_SELECTION_DIALOG" "color-selection-dialog"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
205 '((GtkWidget . colorsel)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
206 (GtkWidget . main_vbox)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
207 (GtkWidget . ok_button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
208 (GtkWidget . reset_button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
209 (GtkWidget . cancel_button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
210 (GtkWidget . help_button))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
211
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
212 'GtkDialog "DIALOG" "dialog"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
213 '((GtkWidget . vbox)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
214 (GtkWidget . action_area))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
215
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
216 'GtkInputDialog "INPUT_DIALOG" "input-dialog"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
217 '((GtkWidget . close_button)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
218 (GtkWidget . save_button))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
219
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
220 'GtkPlug "PLUG" "plug"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
221 '((GdkWindow . socket_window)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
222 (gint . same_app))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
223
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
224 'GtkObject "OBJECT" "object"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
225 '((guint . flags)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
226 (guint . ref_count))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
227
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
228 'GtkPaned "PANED" "paned"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
229 '((GtkWidget . child1)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
230 (GtkWidget . child2)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
231 (gboolean . child1_resize)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
232 (gboolean . child2_resize)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
233 (gboolean . child1_shrink)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
234 (gboolean . child2_shrink))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
235
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
236 'GtkCList "CLIST" "clist"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
237 '((gint . rows)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
238 (gint . columns)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
239 (GtkAdjustment . hadjustment)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
240 (GtkAdjustment . vadjustment)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
241 (GtkSortType . sort_type)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
242 (gint . focus_row)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
243 (gint . sort_column))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
244
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
245 'GtkList "LIST" "list"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
246 '((GtkListOfObject . children)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
247 (GtkListOfObject . selection))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
248
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
249 'GtkTree "TREE" "tree"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
250 '((GtkListOfObject . children)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
251 (GtkTree . root_tree)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
252 (GtkWidget . tree_owner)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
253 (GtkListOfObject . selection))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
254
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
255 'GtkTreeItem "TREE_ITEM" "tree-item"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
256 '((GtkWidget . subtree))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
257
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
258 'GtkScrolledWindow "SCROLLED_WINDOW" "scrolled-window"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
259 '((GtkWidget . hscrollbar)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
260 (GtkWidget . vscrollbar)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
261 (gboolean . hscrollbar_visible)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
262 (gboolean . vscrollbar_visible))
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
263
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
264 )