summaryrefslogtreecommitdiff
path: root/docs/reference
diff options
context:
space:
mode:
Diffstat (limited to 'docs/reference')
-rw-r--r--docs/reference/AUTHORS7
-rw-r--r--docs/reference/COPYING30
-rw-r--r--docs/reference/ChangeLog0
-rw-r--r--docs/reference/README62
-rw-r--r--docs/reference/README.cvs-commits39
-rw-r--r--docs/reference/gdk/Makefile.am50
-rw-r--r--docs/reference/gdk/gdk-decl.txt2919
-rw-r--r--docs/reference/gdk/gdk-docs.sgml59
-rw-r--r--docs/reference/gdk/gdk-overrides.txt23
-rw-r--r--docs/reference/gdk/gdk-sections.txt572
-rw-r--r--docs/reference/gdk/tmpl/color_contexts.sgml202
-rw-r--r--docs/reference/gdk/tmpl/colors.sgml390
-rw-r--r--docs/reference/gdk/tmpl/cursors.sgml98
-rw-r--r--docs/reference/gdk/tmpl/dnd.sgml187
-rw-r--r--docs/reference/gdk/tmpl/drawing.sgml260
-rw-r--r--docs/reference/gdk/tmpl/event_structs.sgml257
-rw-r--r--docs/reference/gdk/tmpl/events.sgml185
-rw-r--r--docs/reference/gdk/tmpl/fonts.sgml581
-rw-r--r--docs/reference/gdk/tmpl/gcs.sgml314
-rw-r--r--docs/reference/gdk/tmpl/gdk-unused.sgml0
-rw-r--r--docs/reference/gdk/tmpl/general.sgml265
-rw-r--r--docs/reference/gdk/tmpl/images.sgml107
-rw-r--r--docs/reference/gdk/tmpl/input.sgml130
-rw-r--r--docs/reference/gdk/tmpl/input_contexts.sgml154
-rw-r--r--docs/reference/gdk/tmpl/input_devices.sgml198
-rw-r--r--docs/reference/gdk/tmpl/input_methods.sgml101
-rw-r--r--docs/reference/gdk/tmpl/keys.sgml93
-rw-r--r--docs/reference/gdk/tmpl/pixmaps.sgml196
-rw-r--r--docs/reference/gdk/tmpl/properties.sgml152
-rw-r--r--docs/reference/gdk/tmpl/regions.sgml217
-rw-r--r--docs/reference/gdk/tmpl/rgb.sgml216
-rw-r--r--docs/reference/gdk/tmpl/selections.sgml94
-rw-r--r--docs/reference/gdk/tmpl/threads.sgml50
-rw-r--r--docs/reference/gdk/tmpl/visuals.sgml391
-rw-r--r--docs/reference/gdk/tmpl/windows.sgml777
-rw-r--r--docs/reference/gtk/Makefile.am59
-rw-r--r--docs/reference/gtk/gtk-decl.txt13819
-rw-r--r--docs/reference/gtk/gtk-docs.sgml297
-rw-r--r--docs/reference/gtk/gtk-overrides.txt19
-rw-r--r--docs/reference/gtk/gtk-sections.txt2955
-rw-r--r--docs/reference/gtk/gtk.args846
-rw-r--r--docs/reference/gtk/gtk.hierarchy93
-rw-r--r--docs/reference/gtk/gtk.signals1097
-rw-r--r--docs/reference/gtk/gtk.types96
-rw-r--r--docs/reference/gtk/objects_grouped.sgml130
-rw-r--r--docs/reference/gtk/tmpl/gtk-unused.sgml24
-rw-r--r--docs/reference/gtk/tmpl/gtkaccelgroup.sgml314
-rw-r--r--docs/reference/gtk/tmpl/gtkaccellabel.sgml69
-rw-r--r--docs/reference/gtk/tmpl/gtkadjustment.sgml161
-rw-r--r--docs/reference/gtk/tmpl/gtkalignment.sgml104
-rw-r--r--docs/reference/gtk/tmpl/gtkarg.sgml147
-rw-r--r--docs/reference/gtk/tmpl/gtkarrow.sgml92
-rw-r--r--docs/reference/gtk/tmpl/gtkaspectframe.sgml71
-rw-r--r--docs/reference/gtk/tmpl/gtkbbox.sgml159
-rw-r--r--docs/reference/gtk/tmpl/gtkbin.sgml44
-rw-r--r--docs/reference/gtk/tmpl/gtkbindings.sgml243
-rw-r--r--docs/reference/gtk/tmpl/gtkbox.sgml370
-rw-r--r--docs/reference/gtk/tmpl/gtkbutton.sgml163
-rw-r--r--docs/reference/gtk/tmpl/gtkcalendar.sgml260
-rw-r--r--docs/reference/gtk/tmpl/gtkcheckbutton.sgml60
-rw-r--r--docs/reference/gtk/tmpl/gtkcheckmenuitem.sgml111
-rw-r--r--docs/reference/gtk/tmpl/gtkclist.sgml1268
-rw-r--r--docs/reference/gtk/tmpl/gtkcolorsel.sgml93
-rw-r--r--docs/reference/gtk/tmpl/gtkcolorseldlg.sgml38
-rw-r--r--docs/reference/gtk/tmpl/gtkcombo.sgml109
-rw-r--r--docs/reference/gtk/tmpl/gtkcontainer.sgml410
-rw-r--r--docs/reference/gtk/tmpl/gtkctree.sgml1266
-rw-r--r--docs/reference/gtk/tmpl/gtkcurve.sgml109
-rw-r--r--docs/reference/gtk/tmpl/gtkdata.sgml30
-rw-r--r--docs/reference/gtk/tmpl/gtkdebug.sgml42
-rw-r--r--docs/reference/gtk/tmpl/gtkdialog.sgml122
-rw-r--r--docs/reference/gtk/tmpl/gtkdnd.sgml344
-rw-r--r--docs/reference/gtk/tmpl/gtkdrawingarea.sgml111
-rw-r--r--docs/reference/gtk/tmpl/gtkeditable.sgml448
-rw-r--r--docs/reference/gtk/tmpl/gtkentry.sgml201
-rw-r--r--docs/reference/gtk/tmpl/gtkenums.sgml361
-rw-r--r--docs/reference/gtk/tmpl/gtkeventbox.sgml34
-rw-r--r--docs/reference/gtk/tmpl/gtkfeatures.sgml57
-rw-r--r--docs/reference/gtk/tmpl/gtkfilesel.sgml188
-rw-r--r--docs/reference/gtk/tmpl/gtkfixed.sgml104
-rw-r--r--docs/reference/gtk/tmpl/gtkfontsel.sgml165
-rw-r--r--docs/reference/gtk/tmpl/gtkfontseldlg.sgml229
-rw-r--r--docs/reference/gtk/tmpl/gtkframe.sgml96
-rw-r--r--docs/reference/gtk/tmpl/gtkgamma.sgml37
-rw-r--r--docs/reference/gtk/tmpl/gtkgc.sgml36
-rw-r--r--docs/reference/gtk/tmpl/gtkhandlebox.sgml170
-rw-r--r--docs/reference/gtk/tmpl/gtkhbbox.sgml99
-rw-r--r--docs/reference/gtk/tmpl/gtkhbox.sgml47
-rw-r--r--docs/reference/gtk/tmpl/gtkhpaned.sgml33
-rw-r--r--docs/reference/gtk/tmpl/gtkhruler.sgml38
-rw-r--r--docs/reference/gtk/tmpl/gtkhscale.sgml45
-rw-r--r--docs/reference/gtk/tmpl/gtkhscrollbar.sgml42
-rw-r--r--docs/reference/gtk/tmpl/gtkhseparator.sgml31
-rw-r--r--docs/reference/gtk/tmpl/gtkimage.sgml55
-rw-r--r--docs/reference/gtk/tmpl/gtkinputdialog.sgml73
-rw-r--r--docs/reference/gtk/tmpl/gtkinvisible.sgml31
-rw-r--r--docs/reference/gtk/tmpl/gtkitem.sgml68
-rw-r--r--docs/reference/gtk/tmpl/gtkitemfactory.sgml358
-rw-r--r--docs/reference/gtk/tmpl/gtklabel.sgml146
-rw-r--r--docs/reference/gtk/tmpl/gtklayout.sgml130
-rw-r--r--docs/reference/gtk/tmpl/gtklist.sgml283
-rw-r--r--docs/reference/gtk/tmpl/gtklistitem.sgml133
-rw-r--r--docs/reference/gtk/tmpl/gtkmain.sgml414
-rw-r--r--docs/reference/gtk/tmpl/gtkmarshal.sgml482
-rw-r--r--docs/reference/gtk/tmpl/gtkmenu.sgml287
-rw-r--r--docs/reference/gtk/tmpl/gtkmenubar.sgml74
-rw-r--r--docs/reference/gtk/tmpl/gtkmenufactory.sgml132
-rw-r--r--docs/reference/gtk/tmpl/gtkmenuitem.sgml132
-rw-r--r--docs/reference/gtk/tmpl/gtkmenushell.sgml191
-rw-r--r--docs/reference/gtk/tmpl/gtkmisc.sgml109
-rw-r--r--docs/reference/gtk/tmpl/gtknotebook.sgml446
-rw-r--r--docs/reference/gtk/tmpl/gtkobject.sgml531
-rw-r--r--docs/reference/gtk/tmpl/gtkoptionmenu.sgml76
-rw-r--r--docs/reference/gtk/tmpl/gtkpacker.sgml227
-rw-r--r--docs/reference/gtk/tmpl/gtkpaned.sgml198
-rw-r--r--docs/reference/gtk/tmpl/gtkpixmap.sgml80
-rw-r--r--docs/reference/gtk/tmpl/gtkplug.sgml60
-rw-r--r--docs/reference/gtk/tmpl/gtkpreview.sgml265
-rw-r--r--docs/reference/gtk/tmpl/gtkprivate.sgml120
-rw-r--r--docs/reference/gtk/tmpl/gtkprogress.sgml172
-rw-r--r--docs/reference/gtk/tmpl/gtkprogressbar.sgml150
-rw-r--r--docs/reference/gtk/tmpl/gtkradiobutton.sgml85
-rw-r--r--docs/reference/gtk/tmpl/gtkradiomenuitem.sgml61
-rw-r--r--docs/reference/gtk/tmpl/gtkrange.sgml202
-rw-r--r--docs/reference/gtk/tmpl/gtkrc.sgml724
-rw-r--r--docs/reference/gtk/tmpl/gtkruler.sgml81
-rw-r--r--docs/reference/gtk/tmpl/gtkscale.sgml100
-rw-r--r--docs/reference/gtk/tmpl/gtkscrollbar.sgml23
-rw-r--r--docs/reference/gtk/tmpl/gtkscrolledwindow.sgml199
-rw-r--r--docs/reference/gtk/tmpl/gtkselection.sgml270
-rw-r--r--docs/reference/gtk/tmpl/gtkseparator.sgml24
-rw-r--r--docs/reference/gtk/tmpl/gtksignal.sgml473
-rw-r--r--docs/reference/gtk/tmpl/gtksocket.sgml132
-rw-r--r--docs/reference/gtk/tmpl/gtkspinbutton.sgml385
-rw-r--r--docs/reference/gtk/tmpl/gtkstatusbar.sgml136
-rw-r--r--docs/reference/gtk/tmpl/gtkstyle.sgml887
-rw-r--r--docs/reference/gtk/tmpl/gtktable.sgml237
-rw-r--r--docs/reference/gtk/tmpl/gtktearoffmenuitem.sgml55
-rw-r--r--docs/reference/gtk/tmpl/gtktext.sgml246
-rw-r--r--docs/reference/gtk/tmpl/gtkthemes.sgml73
-rw-r--r--docs/reference/gtk/tmpl/gtktipsquery.sgml129
-rw-r--r--docs/reference/gtk/tmpl/gtktogglebutton.sgml166
-rw-r--r--docs/reference/gtk/tmpl/gtktoolbar.sgml332
-rw-r--r--docs/reference/gtk/tmpl/gtktooltips.sgml177
-rw-r--r--docs/reference/gtk/tmpl/gtktree.sgml307
-rw-r--r--docs/reference/gtk/tmpl/gtktreeitem.sgml115
-rw-r--r--docs/reference/gtk/tmpl/gtktypeutils.sgml869
-rw-r--r--docs/reference/gtk/tmpl/gtkvbbox.sgml63
-rw-r--r--docs/reference/gtk/tmpl/gtkvbox.sgml47
-rw-r--r--docs/reference/gtk/tmpl/gtkviewport.sgml98
-rw-r--r--docs/reference/gtk/tmpl/gtkvpaned.sgml33
-rw-r--r--docs/reference/gtk/tmpl/gtkvruler.sgml38
-rw-r--r--docs/reference/gtk/tmpl/gtkvscale.sgml45
-rw-r--r--docs/reference/gtk/tmpl/gtkvscrollbar.sgml42
-rw-r--r--docs/reference/gtk/tmpl/gtkvseparator.sgml31
-rw-r--r--docs/reference/gtk/tmpl/gtkwidget.sgml1721
-rw-r--r--docs/reference/gtk/tmpl/gtkwindow.sgml247
157 files changed, 51858 insertions, 0 deletions
diff --git a/docs/reference/AUTHORS b/docs/reference/AUTHORS
new file mode 100644
index 000000000..64f46b74b
--- /dev/null
+++ b/docs/reference/AUTHORS
@@ -0,0 +1,7 @@
+Damon Chaplin <damon@karuna.freeserve.co.uk> and others.
+
+See:
+
+ http://www.gtk.org/rdp/status.html
+
+for a complete list.
diff --git a/docs/reference/COPYING b/docs/reference/COPYING
new file mode 100644
index 000000000..df952d3ca
--- /dev/null
+++ b/docs/reference/COPYING
@@ -0,0 +1,30 @@
+This work may be reproduced and distributed in whole or in part, in
+any medium, physical or electronic, so as long as this copyright
+notice remains intact and unchanged on all copies. Commercial
+redistribution is permitted and encouraged, but you may not
+redistribute, in whole or in part, under terms more restrictive than
+those under which you received it. If you redistribute a modified or
+translated version of this work, you must also make the source code to
+the modified or translated version available in electronic form
+without charge. However, mere aggregation as part of a larger work
+shall not count as a modification for this purpose.
+
+All code examples in this work are placed into the public domain,
+and may be used, modified and redistributed without restriction.
+
+BECAUSE THIS WORK IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE WORK, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE WORK "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. SHOULD THE WORK PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY REPAIR OR CORRECTION.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE WORK AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+WORK, EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/docs/reference/ChangeLog
diff --git a/docs/reference/README b/docs/reference/README
new file mode 100644
index 000000000..024306be4
--- /dev/null
+++ b/docs/reference/README
@@ -0,0 +1,62 @@
+This package contains the reference documentation
+for GTK+. For more information about GTK+
+see:
+
+ http://www.gtk.org
+
+For information about contributing to the
+GLib/GTK+ reference documentation project, see:
+
+ http://www.gtk.org/rdp/
+
+The GTK+ reference documentation is freely redistributable,
+see the file COPYING for details.
+
+
+REQUIREMENTS
+============
+
+To build the documentation, you must have the gtk-doc
+package installed. To rebuild the template files,
+you must have the current version of the GTK+
+header files installed.
+
+
+BUILD
+=====
+
+First, run configure to generate the makefiles for this
+module. There is one option specific to this package
+
+ --with-html-dir=DIR top of installed HTML documentation tree
+
+
+The Makefiles in the gdk/ and gtk/ subdirs each define three targets:
+
+ templates:
+
+ Scan the headers and merge the results with the current
+ template files
+
+ sgml:
+
+ Generate SGML files using the DocBook DTD from
+ the template files
+
+ html:
+
+ Generate HTML from the SGML files.
+
+To build the documentation, do:
+
+ make sgml
+ make html
+
+You should only run the 'make templates' step if you
+need to regenerate the templates for a more recent
+version of the GTK+ sources.
+
+INSTALLATION
+============
+
+ make install
diff --git a/docs/reference/README.cvs-commits b/docs/reference/README.cvs-commits
new file mode 100644
index 000000000..8b6edbd66
--- /dev/null
+++ b/docs/reference/README.cvs-commits
@@ -0,0 +1,39 @@
+Before making any changes to this module, please
+contact:
+
+ Damon Chaplin <damon@karuna.freeserve.co.uk>
+
+This will ensure that duplicate work does not occur,
+and also make sure we know who has written what
+parts of the documentation. See
+
+ http://www.gtk.org/rdp/
+
+for more information.
+
+By contributing work to the Reference Documentation
+Project, you agree that it will be covered under the
+license terms described in the file COPYING
+included in this directory.
+
+
+Other notes:
+
+- Do not run 'make templates' unless you have
+ the latest cvs version of the gtk-1-2
+ branch of GTK+ and the latest CVS version
+ of gtk-doc.
+
+ (This is very important. Otherwise, the template
+ files may be come corrupted.)
+
+ Make sure that gtk-config --prefix points
+ to the correct version of GTK+.
+
+- As always, ChangeLog entries should be made for
+ each commit. These can be really brief
+ "documented GHashTable"; but if you are editing
+ something someone else wrote, please be specific.
+ (Or better, send the changes to them for their
+ approval, first)
+
diff --git a/docs/reference/gdk/Makefile.am b/docs/reference/gdk/Makefile.am
new file mode 100644
index 000000000..0b0b0eacf
--- /dev/null
+++ b/docs/reference/gdk/Makefile.am
@@ -0,0 +1,50 @@
+## Process this file with automake to produce Makefile.in
+
+# The name of the module.
+DOC_MODULE=gdk
+
+# The top-level SGML file.
+DOC_MAIN_SGML_FILE=gdk-docs.sgml
+
+# We could alternatively use this for using installed headers.
+INCLUDE_DIR=`gtk-config --prefix`/include/gdk
+
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+scan:
+ gtkdoc-scan --module=$(DOC_MODULE) $(INCLUDE_DIR)/gdk.h $(INCLUDE_DIR)/gdktypes.h $(INCLUDE_DIR)/gdkrgb.h
+
+templates: scan
+ gtkdoc-mktmpl --module=$(DOC_MODULE)
+
+sgml:
+ gtkdoc-mkdb --module=$(DOC_MODULE)
+
+html:
+ if ! test -d html ; then mkdir html ; fi
+ -cd html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+
+clean-local:
+ rm -f *~ *.bak *.hierarchy *.signals *.args *-unused.txt
+
+maintainer-clean-local: clean
+ rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+
+install-data-local:
+ install -d -m 0755 $(TARGET_DIR)
+ install -m 0644 html/*.html $(TARGET_DIR)
+ install -m 0644 html/index.sgml $(TARGET_DIR)
+ gtkdoc-fixxref --module=$(DOC_MODULE) --html-dir=$(HTML_DIR)
+
+EXTRA_DIST = \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ gdk-overrides.txt \
+ gdk-decl.txt
+
+dist-hook:
+ mkdir $(distdir)/tmpl
+ cp -p tmpl/*.sgml $(distdir)/tmpl
+
+.PHONY : html sgml templates scan
diff --git a/docs/reference/gdk/gdk-decl.txt b/docs/reference/gdk/gdk-decl.txt
new file mode 100644
index 000000000..9bfb10e8a
--- /dev/null
+++ b/docs/reference/gdk/gdk-decl.txt
@@ -0,0 +1,2919 @@
+<MACRO>
+<NAME>GDK_PRIORITY_EVENTS</NAME>
+#define GDK_PRIORITY_EVENTS (G_PRIORITY_DEFAULT)
+</MACRO>
+<FUNCTION>
+<NAME>gdk_init</NAME>
+<RETURNS>void </RETURNS>
+gint *argc,gchar ***argv
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_init_check</NAME>
+<RETURNS>gboolean </RETURNS>
+gint *argc,gchar ***argv
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_exit</NAME>
+<RETURNS>void </RETURNS>
+gint error_code
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_set_locale</NAME>
+<RETURNS>gchar *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_error_trap_push</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_error_trap_pop</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_events_pending</NAME>
+<RETURNS>gboolean </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_event_get</NAME>
+<RETURNS>GdkEvent *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_event_peek</NAME>
+<RETURNS>GdkEvent *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_event_get_graphics_expose</NAME>
+<RETURNS>GdkEvent *</RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_event_put</NAME>
+<RETURNS>void </RETURNS>
+GdkEvent *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_event_copy</NAME>
+<RETURNS>GdkEvent *</RETURNS>
+GdkEvent *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_event_free</NAME>
+<RETURNS>void </RETURNS>
+GdkEvent *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_event_get_time</NAME>
+<RETURNS>guint32 </RETURNS>
+GdkEvent *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_event_handler_set</NAME>
+<RETURNS>void </RETURNS>
+GdkEventFunc func,gpointer data,GDestroyNotify notify
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_set_show_events</NAME>
+<RETURNS>void </RETURNS>
+gint show_events
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_set_use_xshm</NAME>
+<RETURNS>void </RETURNS>
+gint use_xshm
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_get_show_events</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_get_use_xshm</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_get_display</NAME>
+<RETURNS>gchar *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_time_get</NAME>
+<RETURNS>guint32 </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_timer_get</NAME>
+<RETURNS>guint32 </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_timer_set</NAME>
+<RETURNS>void </RETURNS>
+guint32 milliseconds
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_timer_enable</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_timer_disable</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_add_full</NAME>
+<RETURNS>gint </RETURNS>
+gint source,GdkInputCondition condition,GdkInputFunction function,gpointer data,GdkDestroyNotify destroy
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_add</NAME>
+<RETURNS>gint </RETURNS>
+gint source,GdkInputCondition condition,GdkInputFunction function,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_remove</NAME>
+<RETURNS>void </RETURNS>
+gint tag
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pointer_grab</NAME>
+<RETURNS>gint </RETURNS>
+GdkWindow * window,gint owner_events,GdkEventMask event_mask,GdkWindow * confine_to,GdkCursor * cursor,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pointer_ungrab</NAME>
+<RETURNS>void </RETURNS>
+guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_keyboard_grab</NAME>
+<RETURNS>gint </RETURNS>
+GdkWindow * window,gint owner_events,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_keyboard_ungrab</NAME>
+<RETURNS>void </RETURNS>
+guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pointer_is_grabbed</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_screen_width</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_screen_height</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_screen_width_mm</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_screen_height_mm</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_flush</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_beep</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_key_repeat_disable</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_key_repeat_restore</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_visual_get_best_depth</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_visual_get_best_type</NAME>
+<RETURNS>GdkVisualType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_visual_get_system</NAME>
+<RETURNS>GdkVisual *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_visual_get_best</NAME>
+<RETURNS>GdkVisual *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_visual_get_best_with_depth</NAME>
+<RETURNS>GdkVisual *</RETURNS>
+gint depth
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_visual_get_best_with_type</NAME>
+<RETURNS>GdkVisual *</RETURNS>
+GdkVisualType visual_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_visual_get_best_with_both</NAME>
+<RETURNS>GdkVisual *</RETURNS>
+gint depth,GdkVisualType visual_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_visual_ref</NAME>
+<RETURNS>GdkVisual *</RETURNS>
+GdkVisual *visual
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_visual_unref</NAME>
+<RETURNS>void </RETURNS>
+GdkVisual *visual
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_query_depths</NAME>
+<RETURNS>void </RETURNS>
+gint **depths,gint *count
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_query_visual_types</NAME>
+<RETURNS>void </RETURNS>
+GdkVisualType **visual_types,gint *count
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_list_visuals</NAME>
+<RETURNS>GList *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_new</NAME>
+<RETURNS>GdkWindow *</RETURNS>
+GdkWindow *parent,GdkWindowAttr *attributes,gint attributes_mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_destroy</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_ref</NAME>
+<RETURNS>GdkWindow *</RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_unref</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_at_pointer</NAME>
+<RETURNS>GdkWindow *</RETURNS>
+gint *win_x,gint *win_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_show</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_hide</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_withdraw</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_move</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gint x,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_resize</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_move_resize</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_reparent</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkWindow *new_parent,gint x,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_clear</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_clear_area</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_clear_area_e</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_copy_area</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkGC *gc,gint x,gint y,GdkWindow *source_window,gint source_x,gint source_y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_raise</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_lower</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_user_data</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gpointer user_data
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_override_redirect</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gboolean override_redirect
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_add_filter</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkFilterFunc function,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_remove_filter</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkFilterFunc function,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_shape_combine_mask</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkBitmap *shape_mask,gint offset_x,gint offset_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_child_shapes</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_merge_child_shapes</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_is_visible</NAME>
+<RETURNS>gboolean </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_is_viewable</NAME>
+<RETURNS>gboolean </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_static_gravities</NAME>
+<RETURNS>gboolean </RETURNS>
+GdkWindow *window,gboolean use_static
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_add_client_message_filter</NAME>
+<RETURNS>void </RETURNS>
+GdkAtom message_type,GdkFilterFunc func,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drag_context_new</NAME>
+<RETURNS>GdkDragContext *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drag_context_ref</NAME>
+<RETURNS>void </RETURNS>
+GdkDragContext *context
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drag_context_unref</NAME>
+<RETURNS>void </RETURNS>
+GdkDragContext *context
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drag_status</NAME>
+<RETURNS>void </RETURNS>
+GdkDragContext *context,GdkDragAction action,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drop_reply</NAME>
+<RETURNS>void </RETURNS>
+GdkDragContext *context,gboolean ok,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drop_finish</NAME>
+<RETURNS>void </RETURNS>
+GdkDragContext *context,gboolean success,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drag_get_selection</NAME>
+<RETURNS>GdkAtom </RETURNS>
+GdkDragContext *context
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drag_begin</NAME>
+<RETURNS>GdkDragContext *</RETURNS>
+GdkWindow *window,GList *targets
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drag_get_protocol</NAME>
+<RETURNS>guint32 </RETURNS>
+guint32 xid,GdkDragProtocol *protocol
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drag_find_window</NAME>
+<RETURNS>void </RETURNS>
+GdkDragContext *context,GdkWindow *drag_window,gint x_root,gint y_root,GdkWindow **dest_window,GdkDragProtocol *protocol
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drag_motion</NAME>
+<RETURNS>gboolean </RETURNS>
+GdkDragContext *context,GdkWindow *dest_window,GdkDragProtocol protocol,gint x_root,gint y_root,GdkDragAction suggested_action,GdkDragAction possible_actions,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drag_drop</NAME>
+<RETURNS>void </RETURNS>
+GdkDragContext *context,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drag_abort</NAME>
+<RETURNS>void </RETURNS>
+GdkDragContext *context,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drag_get_selection</NAME>
+<RETURNS>GdkAtom </RETURNS>
+GdkDragContext *context
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_hints</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gint x,gint y,gint min_width,gint min_height,gint max_width,gint max_height,gint flags
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_geometry_hints</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkGeometry *geometry,GdkWindowHints flags
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_set_sm_client_id</NAME>
+<RETURNS>void </RETURNS>
+const gchar *sm_client_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_title</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,const gchar *title
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_role</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,const gchar *role
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_transient_for</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkWindow *leader
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_background</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_back_pixmap</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkPixmap *pixmap,gint parent_relative
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_cursor</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkCursor *cursor
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_colormap</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkColormap *colormap
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_user_data</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gpointer *data
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_geometry</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gint *x,gint *y,gint *width,gint *height,gint *depth
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_position</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gint *x,gint *y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_size</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gint *width,gint *height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_visual</NAME>
+<RETURNS>GdkVisual *</RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_colormap</NAME>
+<RETURNS>GdkColormap *</RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_type</NAME>
+<RETURNS>GdkWindowType </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_origin</NAME>
+<RETURNS>gint </RETURNS>
+GdkWindow *window,gint *x,gint *y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_deskrelative_origin</NAME>
+<RETURNS>gboolean </RETURNS>
+GdkWindow *window,gint *x,gint *y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_root_origin</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gint *x,gint *y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_pointer</NAME>
+<RETURNS>GdkWindow *</RETURNS>
+GdkWindow *window,gint *x,gint *y,GdkModifierType *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_parent</NAME>
+<RETURNS>GdkWindow *</RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_toplevel</NAME>
+<RETURNS>GdkWindow *</RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_children</NAME>
+<RETURNS>GList *</RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_events</NAME>
+<RETURNS>GdkEventMask </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_events</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkEventMask event_mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_icon</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkWindow *icon_window,GdkPixmap *pixmap,GdkBitmap *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_icon_name</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_group</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkWindow *leader
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_decorations</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkWMDecoration decorations
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_set_functions</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkWMFunction functions
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_get_toplevels</NAME>
+<RETURNS>GList *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_window_register_dnd</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_drawable_set_data</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,const gchar *key,gpointer data,GDestroyNotify destroy_func
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_cursor_new</NAME>
+<RETURNS>GdkCursor *</RETURNS>
+GdkCursorType cursor_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_cursor_new_from_pixmap</NAME>
+<RETURNS>GdkCursor *</RETURNS>
+GdkPixmap *source,GdkPixmap *mask,GdkColor *fg,GdkColor *bg,gint x,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_cursor_destroy</NAME>
+<RETURNS>void </RETURNS>
+GdkCursor *cursor
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_new</NAME>
+<RETURNS>GdkGC *</RETURNS>
+GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_new_with_values</NAME>
+<RETURNS>GdkGC *</RETURNS>
+GdkWindow *window,GdkGCValues *values,GdkGCValuesMask values_mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_ref</NAME>
+<RETURNS>GdkGC *</RETURNS>
+GdkGC *gc
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_unref</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_destroy</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_get_values</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,GdkGCValues *values
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_foreground</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_background</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_font</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,GdkFont *font
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_function</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,GdkFunction function
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_fill</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,GdkFill fill
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_tile</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,GdkPixmap *tile
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_stipple</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,GdkPixmap *stipple
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_ts_origin</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,gint x,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_clip_origin</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,gint x,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_clip_mask</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,GdkBitmap *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_clip_rectangle</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,GdkRectangle *rectangle
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_clip_region</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,GdkRegion *region
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_subwindow</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,GdkSubwindowMode mode
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_exposures</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,gint exposures
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_line_attributes</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,gint line_width,GdkLineStyle line_style,GdkCapStyle cap_style,GdkJoinStyle join_style
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_set_dashes</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc,gint dash_offset,gchar dash_list[],gint n
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_gc_copy</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *dst_gc,GdkGC *src_gc
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixmap_new</NAME>
+<RETURNS>GdkPixmap *</RETURNS>
+GdkWindow *window,gint width,gint height,gint depth
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_bitmap_create_from_data</NAME>
+<RETURNS>GdkBitmap *</RETURNS>
+GdkWindow *window,const gchar *data,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixmap_create_from_data</NAME>
+<RETURNS>GdkPixmap *</RETURNS>
+GdkWindow *window,const gchar *data,gint width,gint height,gint depth,GdkColor *fg,GdkColor *bg
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixmap_create_from_xpm</NAME>
+<RETURNS>GdkPixmap *</RETURNS>
+GdkWindow *window,GdkBitmap **mask,GdkColor *transparent_color,const gchar *filename
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixmap_colormap_create_from_xpm</NAME>
+<RETURNS>GdkPixmap *</RETURNS>
+GdkWindow *window,GdkColormap *colormap,GdkBitmap **mask,GdkColor *transparent_color,const gchar *filename
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixmap_create_from_xpm_d</NAME>
+<RETURNS>GdkPixmap *</RETURNS>
+GdkWindow *window,GdkBitmap **mask,GdkColor *transparent_color,gchar **data
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixmap_colormap_create_from_xpm_d</NAME>
+<RETURNS>GdkPixmap *</RETURNS>
+GdkWindow *window,GdkColormap *colormap,GdkBitmap **mask,GdkColor *transparent_color,gchar **data
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixmap_ref</NAME>
+<RETURNS>GdkPixmap *</RETURNS>
+GdkPixmap *pixmap
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_pixmap_unref</NAME>
+<RETURNS>void </RETURNS>
+GdkPixmap *pixmap
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_bitmap_ref</NAME>
+<RETURNS>GdkBitmap *</RETURNS>
+GdkBitmap *pixmap
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_bitmap_unref</NAME>
+<RETURNS>void </RETURNS>
+GdkBitmap *pixmap
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_image_new_bitmap</NAME>
+<RETURNS>GdkImage *</RETURNS>
+GdkVisual *visual,gpointer data,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_image_new</NAME>
+<RETURNS>GdkImage *</RETURNS>
+GdkImageType type,GdkVisual *visual,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_image_get</NAME>
+<RETURNS>GdkImage *</RETURNS>
+GdkWindow *window,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_image_put_pixel</NAME>
+<RETURNS>void </RETURNS>
+GdkImage *image,gint x,gint y,guint32 pixel
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_image_get_pixel</NAME>
+<RETURNS>guint32 </RETURNS>
+GdkImage *image,gint x,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_image_destroy</NAME>
+<RETURNS>void </RETURNS>
+GdkImage *image
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colormap_new</NAME>
+<RETURNS>GdkColormap *</RETURNS>
+GdkVisual *visual,gint allocate
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colormap_ref</NAME>
+<RETURNS>GdkColormap *</RETURNS>
+GdkColormap *cmap
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colormap_unref</NAME>
+<RETURNS>void </RETURNS>
+GdkColormap *cmap
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colormap_get_system</NAME>
+<RETURNS>GdkColormap *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colormap_get_system_size</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colormap_change</NAME>
+<RETURNS>void </RETURNS>
+GdkColormap *colormap,gint ncolors
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colormap_alloc_colors</NAME>
+<RETURNS>gint </RETURNS>
+GdkColormap *colormap,GdkColor *colors,gint ncolors,gboolean writeable,gboolean best_match,gboolean *success
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colormap_alloc_color</NAME>
+<RETURNS>gboolean </RETURNS>
+GdkColormap *colormap,GdkColor *color,gboolean writeable,gboolean best_match
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colormap_free_colors</NAME>
+<RETURNS>void </RETURNS>
+GdkColormap *colormap,GdkColor *colors,gint ncolors
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colormap_get_visual</NAME>
+<RETURNS>GdkVisual *</RETURNS>
+GdkColormap *colormap
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_copy</NAME>
+<RETURNS>GdkColor *</RETURNS>
+GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_free</NAME>
+<RETURNS>void </RETURNS>
+GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_parse</NAME>
+<RETURNS>gint </RETURNS>
+const gchar *spec,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_hash</NAME>
+<RETURNS>guint </RETURNS>
+const GdkColor *colora,const GdkColor *colorb
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_equal</NAME>
+<RETURNS>gint </RETURNS>
+const GdkColor *colora,const GdkColor *colorb
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colors_store</NAME>
+<RETURNS>void </RETURNS>
+GdkColormap *colormap,GdkColor *colors,gint ncolors
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colors_alloc</NAME>
+<RETURNS>gint </RETURNS>
+GdkColormap *colormap,gint contiguous,gulong *planes,gint nplanes,gulong *pixels,gint npixels
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_colors_free</NAME>
+<RETURNS>void </RETURNS>
+GdkColormap *colormap,gulong *pixels,gint npixels,gulong planes
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_white</NAME>
+<RETURNS>gint </RETURNS>
+GdkColormap *colormap,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_black</NAME>
+<RETURNS>gint </RETURNS>
+GdkColormap *colormap,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_alloc</NAME>
+<RETURNS>gint </RETURNS>
+GdkColormap *colormap,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_change</NAME>
+<RETURNS>gint </RETURNS>
+GdkColormap *colormap,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_font_load</NAME>
+<RETURNS>GdkFont *</RETURNS>
+const gchar *font_name
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_fontset_load</NAME>
+<RETURNS>GdkFont *</RETURNS>
+gchar *fontset_name
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_font_ref</NAME>
+<RETURNS>GdkFont *</RETURNS>
+GdkFont *font
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_font_unref</NAME>
+<RETURNS>void </RETURNS>
+GdkFont *font
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_font_id</NAME>
+<RETURNS>gint </RETURNS>
+const GdkFont *font
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_font_equal</NAME>
+<RETURNS>gint </RETURNS>
+const GdkFont *fonta,const GdkFont *fontb
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_string_width</NAME>
+<RETURNS>gint </RETURNS>
+GdkFont *font,const gchar *string
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_text_width</NAME>
+<RETURNS>gint </RETURNS>
+GdkFont *font,const gchar *text,gint text_length
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_text_width_wc</NAME>
+<RETURNS>gint </RETURNS>
+GdkFont *font,const GdkWChar *text,gint text_length
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_char_width</NAME>
+<RETURNS>gint </RETURNS>
+GdkFont *font,gchar character
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_char_width_wc</NAME>
+<RETURNS>gint </RETURNS>
+GdkFont *font,GdkWChar character
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_string_measure</NAME>
+<RETURNS>gint </RETURNS>
+GdkFont *font,const gchar *string
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_text_measure</NAME>
+<RETURNS>gint </RETURNS>
+GdkFont *font,const gchar *text,gint text_length
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_char_measure</NAME>
+<RETURNS>gint </RETURNS>
+GdkFont *font,gchar character
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_string_height</NAME>
+<RETURNS>gint </RETURNS>
+GdkFont *font,const gchar *string
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_text_height</NAME>
+<RETURNS>gint </RETURNS>
+GdkFont *font,const gchar *text,gint text_length
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_char_height</NAME>
+<RETURNS>gint </RETURNS>
+GdkFont *font,gchar character
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_text_extents</NAME>
+<RETURNS>void </RETURNS>
+GdkFont *font,const gchar *text,gint text_length,gint *lbearing,gint *rbearing,gint *width,gint *ascent,gint *descent
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_text_extents_wc</NAME>
+<RETURNS>void </RETURNS>
+GdkFont *font,const GdkWChar *text,gint text_length,gint *lbearing,gint *rbearing,gint *width,gint *ascent,gint *descent
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_string_extents</NAME>
+<RETURNS>void </RETURNS>
+GdkFont *font,const gchar *string,gint *lbearing,gint *rbearing,gint *width,gint *ascent,gint *descent
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_point</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkGC *gc,gint x,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_line</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkGC *gc,gint x1,gint y1,gint x2,gint y2
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_rectangle</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkGC *gc,gint filled,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_arc</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkGC *gc,gint filled,gint x,gint y,gint width,gint height,gint angle1,gint angle2
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_polygon</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkGC *gc,gint filled,GdkPoint *points,gint npoints
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_string</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkFont *font,GdkGC *gc,gint x,gint y,const gchar *string
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_text</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkFont *font,GdkGC *gc,gint x,gint y,const gchar *text,gint text_length
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_text_wc</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkFont *font,GdkGC *gc,gint x,gint y,const GdkWChar *text,gint text_length
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_pixmap</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkGC *gc,GdkDrawable *src,gint xsrc,gint ysrc,gint xdest,gint ydest,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_bitmap</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkGC *gc,GdkDrawable *src,gint xsrc,gint ysrc,gint xdest,gint ydest,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_image</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkGC *gc,GdkImage *image,gint xsrc,gint ysrc,gint xdest,gint ydest,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_points</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkGC *gc,GdkPoint *points,gint npoints
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_segments</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkGC *gc,GdkSegment *segs,gint nsegs
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_lines</NAME>
+<RETURNS>void </RETURNS>
+GdkDrawable *drawable,GdkGC *gc,GdkPoint *points,gint npoints
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_selection_owner_set</NAME>
+<RETURNS>gint </RETURNS>
+GdkWindow *owner,GdkAtom selection,guint32 time,gint send_event
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_selection_owner_get</NAME>
+<RETURNS>GdkWindow *</RETURNS>
+GdkAtom selection
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_selection_convert</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *requestor,GdkAtom selection,GdkAtom target,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_selection_property_get</NAME>
+<RETURNS>gint </RETURNS>
+GdkWindow *requestor,guchar **data,GdkAtom *prop_type,gint *prop_format
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_selection_send_notify</NAME>
+<RETURNS>void </RETURNS>
+guint32 requestor,GdkAtom selection,GdkAtom target,GdkAtom property,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_text_property_to_text_list</NAME>
+<RETURNS>gint </RETURNS>
+GdkAtom encoding, gint format,guchar *text, gint length,gchar ***list
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_free_text_list</NAME>
+<RETURNS>void </RETURNS>
+gchar **list
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_string_to_compound_text</NAME>
+<RETURNS>gint </RETURNS>
+gchar *str,GdkAtom *encoding, gint *format,guchar **ctext, gint *length
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_free_compound_text</NAME>
+<RETURNS>void </RETURNS>
+guchar *ctext
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_atom_intern</NAME>
+<RETURNS>GdkAtom </RETURNS>
+const gchar *atom_name,gint only_if_exists
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_atom_name</NAME>
+<RETURNS>gchar *</RETURNS>
+GdkAtom atom
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_property_get</NAME>
+<RETURNS>gint </RETURNS>
+GdkWindow *window,GdkAtom property,GdkAtom type,gulong offset,gulong length,gint pdelete,GdkAtom *actual_property_type,gint *actual_format,gint *actual_length,guchar **data
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_property_change</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkAtom property,GdkAtom type,gint format,GdkPropMode mode,guchar *data,gint nelements
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_property_delete</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,GdkAtom property
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rectangle_intersect</NAME>
+<RETURNS>gint </RETURNS>
+GdkRectangle *src1,GdkRectangle *src2,GdkRectangle *dest
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rectangle_union</NAME>
+<RETURNS>void </RETURNS>
+GdkRectangle *src1,GdkRectangle *src2,GdkRectangle *dest
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_init</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_exit</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_list_devices</NAME>
+<RETURNS>GList *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_set_extension_events</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,gint mask,GdkExtensionMode mode
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_set_source</NAME>
+<RETURNS>void </RETURNS>
+guint32 deviceid,GdkInputSource source
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_set_mode</NAME>
+<RETURNS>gint </RETURNS>
+guint32 deviceid,GdkInputMode mode
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_set_axes</NAME>
+<RETURNS>void </RETURNS>
+guint32 deviceid,GdkAxisUse *axes
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_set_key</NAME>
+<RETURNS>void </RETURNS>
+guint32 deviceid,guint index,guint keyval,GdkModifierType modifiers
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_window_get_pointer</NAME>
+<RETURNS>void </RETURNS>
+GdkWindow *window,guint32 deviceid,gdouble *x,gdouble *y,gdouble *pressure,gdouble *xtilt,gdouble *ytilt,GdkModifierType *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_input_motion_events</NAME>
+<RETURNS>GdkTimeCoord *</RETURNS>
+GdkWindow *window,guint32 deviceid,guint32 start,guint32 stop,gint *nevents_return
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_im_ready</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_im_begin</NAME>
+<RETURNS>void </RETURNS>
+GdkIC *ic,GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_im_end</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_im_decide_style</NAME>
+<RETURNS>GdkIMStyle </RETURNS>
+GdkIMStyle supported_style
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_im_set_best_style</NAME>
+<RETURNS>GdkIMStyle </RETURNS>
+GdkIMStyle best_allowed_style
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_ic_new</NAME>
+<RETURNS>GdkIC *</RETURNS>
+GdkICAttr *attr,GdkICAttributesType mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_ic_destroy</NAME>
+<RETURNS>void </RETURNS>
+GdkIC *ic
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_ic_get_style</NAME>
+<RETURNS>GdkIMStyle </RETURNS>
+GdkIC *ic
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_ic_get_events</NAME>
+<RETURNS>GdkEventMask </RETURNS>
+GdkIC *ic
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_ic_attr_new</NAME>
+<RETURNS>GdkICAttr *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_ic_attr_destroy</NAME>
+<RETURNS>void </RETURNS>
+GdkICAttr *attr
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_ic_set_attr</NAME>
+<RETURNS>GdkICAttributesType </RETURNS>
+GdkIC *ic,GdkICAttr *attr,GdkICAttributesType mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_ic_get_attr</NAME>
+<RETURNS>GdkICAttributesType </RETURNS>
+GdkIC *ic,GdkICAttr *attr,GdkICAttributesType mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_wcstombs</NAME>
+<RETURNS>gchar *</RETURNS>
+const GdkWChar *src
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_mbstowcs</NAME>
+<RETURNS>gint </RETURNS>
+GdkWChar *dest,const gchar *src,gint dest_max
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_new</NAME>
+<RETURNS>GdkColorContext *</RETURNS>
+GdkVisual *visual,GdkColormap *colormap
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_new_mono</NAME>
+<RETURNS>GdkColorContext *</RETURNS>
+GdkVisual *visual,GdkColormap *colormap
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_free</NAME>
+<RETURNS>void </RETURNS>
+GdkColorContext *cc
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_get_pixel</NAME>
+<RETURNS>gulong </RETURNS>
+GdkColorContext *cc,gushort red,gushort green,gushort blue,gint *failed
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_get_pixels</NAME>
+<RETURNS>void </RETURNS>
+GdkColorContext *cc,gushort *reds,gushort *greens,gushort *blues,gint ncolors,gulong *colors,gint *nallocated
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_get_pixels_incremental</NAME>
+<RETURNS>void </RETURNS>
+GdkColorContext *cc,gushort *reds,gushort *greens,gushort *blues,gint ncolors,gint *used,gulong *colors,gint *nallocated
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_query_color</NAME>
+<RETURNS>gint </RETURNS>
+GdkColorContext *cc,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_query_colors</NAME>
+<RETURNS>gint </RETURNS>
+GdkColorContext *cc,GdkColor *colors,gint num_colors
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_add_palette</NAME>
+<RETURNS>gint </RETURNS>
+GdkColorContext *cc,GdkColor *palette,gint num_palette
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_init_dither</NAME>
+<RETURNS>void </RETURNS>
+GdkColorContext *cc
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_free_dither</NAME>
+<RETURNS>void </RETURNS>
+GdkColorContext *cc
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_get_pixel_from_palette</NAME>
+<RETURNS>gulong </RETURNS>
+GdkColorContext *cc,gushort *red,gushort *green,gushort *blue,gint *failed
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_color_context_get_index_from_palette</NAME>
+<RETURNS>guchar </RETURNS>
+GdkColorContext *cc,gint *red,gint *green,gint *blue,gint *failed
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_region_new</NAME>
+<RETURNS>GdkRegion *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_region_destroy</NAME>
+<RETURNS>void </RETURNS>
+GdkRegion *region
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_region_get_clipbox</NAME>
+<RETURNS>void </RETURNS>
+GdkRegion *region,GdkRectangle *rectangle
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_region_empty</NAME>
+<RETURNS>gboolean </RETURNS>
+GdkRegion *region
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_region_equal</NAME>
+<RETURNS>gboolean </RETURNS>
+GdkRegion *region1,GdkRegion *region2
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_region_point_in</NAME>
+<RETURNS>gboolean </RETURNS>
+GdkRegion *region,int x,int y
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_region_rect_in</NAME>
+<RETURNS>GdkOverlapType </RETURNS>
+GdkRegion *region,GdkRectangle *rect
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_region_polygon</NAME>
+<RETURNS>GdkRegion *</RETURNS>
+GdkPoint *points,gint npoints,GdkFillRule fill_rule
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_region_offset</NAME>
+<RETURNS>void </RETURNS>
+GdkRegion *region,gint dx,gint dy
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_region_shrink</NAME>
+<RETURNS>void </RETURNS>
+GdkRegion *region,gint dx,gint dy
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_region_union_with_rect</NAME>
+<RETURNS>GdkRegion *</RETURNS>
+GdkRegion *region,GdkRectangle *rect
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_regions_intersect</NAME>
+<RETURNS>GdkRegion *</RETURNS>
+GdkRegion *source1,GdkRegion *source2
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_regions_union</NAME>
+<RETURNS>GdkRegion *</RETURNS>
+GdkRegion *source1,GdkRegion *source2
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_regions_subtract</NAME>
+<RETURNS>GdkRegion *</RETURNS>
+GdkRegion *source1,GdkRegion *source2
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_regions_xor</NAME>
+<RETURNS>GdkRegion *</RETURNS>
+GdkRegion *source1,GdkRegion *source2
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_event_send_clientmessage_toall</NAME>
+<RETURNS>void </RETURNS>
+GdkEvent *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_event_send_client_message</NAME>
+<RETURNS>gboolean </RETURNS>
+GdkEvent *event,guint32 xid
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_keyval_name</NAME>
+<RETURNS>gchar *</RETURNS>
+guint keyval
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_keyval_from_name</NAME>
+<RETURNS>guint </RETURNS>
+const gchar *keyval_name
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_keyval_to_upper</NAME>
+<RETURNS>guint </RETURNS>
+guint keyval
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_keyval_to_lower</NAME>
+<RETURNS>guint </RETURNS>
+guint keyval
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_keyval_is_upper</NAME>
+<RETURNS>gboolean </RETURNS>
+guint keyval
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_keyval_is_lower</NAME>
+<RETURNS>gboolean </RETURNS>
+guint keyval
+</FUNCTION>
+<VARIABLE>
+<NAME>gdk_threads_mutex</NAME>
+extern GMutex *gdk_threads_mutex;
+</VARIABLE>
+<FUNCTION>
+<NAME>gdk_threads_enter</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_threads_leave</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GDK_THREADS_ENTER</NAME>
+# define GDK_THREADS_ENTER() G_STMT_START { \
+ if (gdk_threads_mutex) \
+ g_mutex_lock (gdk_threads_mutex); \
+ } G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GDK_THREADS_LEAVE</NAME>
+# define GDK_THREADS_LEAVE() G_STMT_START { \
+ if (gdk_threads_mutex) \
+ g_mutex_unlock (gdk_threads_mutex); \
+ } G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GDK_THREADS_ENTER</NAME>
+# define GDK_THREADS_ENTER()
+</MACRO>
+<MACRO>
+<NAME>GDK_THREADS_LEAVE</NAME>
+# define GDK_THREADS_LEAVE()
+</MACRO>
+<MACRO>
+<NAME>GDK_NONE</NAME>
+#define GDK_NONE 0L
+</MACRO>
+<MACRO>
+<NAME>GDK_CURRENT_TIME</NAME>
+#define GDK_CURRENT_TIME 0L
+</MACRO>
+<MACRO>
+<NAME>GDK_PARENT_RELATIVE</NAME>
+#define GDK_PARENT_RELATIVE 1L
+</MACRO>
+<MACRO>
+<NAME>GDK_CORE_POINTER</NAME>
+#define GDK_CORE_POINTER 0xfedc
+</MACRO>
+<TYPEDEF>
+<NAME>GdkAtom</NAME>
+typedef gulong GdkAtom;
+</TYPEDEF>
+<STRUCT>
+<NAME>GdkColor</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkColormap</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkVisual</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkWindowAttr</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkWindow</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkGeometry</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkImage</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkGCValues</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkGC</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkPoint</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkRectangle</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkSegment</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkFont</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkCursor</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkColorContextDither</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkColorContext</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkDragContext</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventAny</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventExpose</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventNoExpose</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventVisibility</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventMotion</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventButton</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventKey</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventFocus</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventCrossing</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventConfigure</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventProperty</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventSelection</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventProximity</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventClient</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventDND</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkDeviceKey</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkDeviceInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkTimeCoord</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkRegion</NAME>
+</STRUCT>
+<USER_FUNCTION>
+<NAME>GdkEventFunc</NAME>
+<RETURNS>void </RETURNS>
+GdkEvent *event,
+ gpointer data
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GdkIC</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkICAttr</NAME>
+</STRUCT>
+<TYPEDEF>
+<NAME>GdkWChar</NAME>
+typedef guint32 GdkWChar;
+</TYPEDEF>
+<ENUM>
+<NAME>GdkWindowType</NAME>
+typedef enum
+{
+ GDK_WINDOW_ROOT,
+ GDK_WINDOW_TOPLEVEL,
+ GDK_WINDOW_CHILD,
+ GDK_WINDOW_DIALOG,
+ GDK_WINDOW_TEMP,
+ GDK_WINDOW_PIXMAP,
+ GDK_WINDOW_FOREIGN
+} GdkWindowType;
+</ENUM>
+<ENUM>
+<NAME>GdkWindowClass</NAME>
+typedef enum
+{
+ GDK_INPUT_OUTPUT,
+ GDK_INPUT_ONLY
+} GdkWindowClass;
+</ENUM>
+<ENUM>
+<NAME>GdkImageType</NAME>
+typedef enum
+{
+ GDK_IMAGE_NORMAL,
+ GDK_IMAGE_SHARED,
+ GDK_IMAGE_FASTEST
+} GdkImageType;
+</ENUM>
+<ENUM>
+<NAME>GdkVisualType</NAME>
+typedef enum
+{
+ GDK_VISUAL_STATIC_GRAY,
+ GDK_VISUAL_GRAYSCALE,
+ GDK_VISUAL_STATIC_COLOR,
+ GDK_VISUAL_PSEUDO_COLOR,
+ GDK_VISUAL_TRUE_COLOR,
+ GDK_VISUAL_DIRECT_COLOR
+} GdkVisualType;
+</ENUM>
+<ENUM>
+<NAME>GdkFontType</NAME>
+typedef enum
+{
+ GDK_FONT_FONT,
+ GDK_FONT_FONTSET
+} GdkFontType;
+</ENUM>
+<ENUM>
+<NAME>GdkWindowAttributesType</NAME>
+typedef enum
+{
+ GDK_WA_TITLE = 1 << 1,
+ GDK_WA_X = 1 << 2,
+ GDK_WA_Y = 1 << 3,
+ GDK_WA_CURSOR = 1 << 4,
+ GDK_WA_COLORMAP = 1 << 5,
+ GDK_WA_VISUAL = 1 << 6,
+ GDK_WA_WMCLASS = 1 << 7,
+ GDK_WA_NOREDIR = 1 << 8
+} GdkWindowAttributesType;
+</ENUM>
+<ENUM>
+<NAME>GdkWindowHints</NAME>
+typedef enum
+{
+ GDK_HINT_POS = 1 << 0,
+ GDK_HINT_MIN_SIZE = 1 << 1,
+ GDK_HINT_MAX_SIZE = 1 << 2,
+ GDK_HINT_BASE_SIZE = 1 << 3,
+ GDK_HINT_ASPECT = 1 << 4,
+ GDK_HINT_RESIZE_INC = 1 << 5
+} GdkWindowHints;
+</ENUM>
+<ENUM>
+<NAME>GdkFunction</NAME>
+typedef enum
+{
+ GDK_COPY,
+ GDK_INVERT,
+ GDK_XOR,
+ GDK_CLEAR,
+ GDK_AND,
+ GDK_AND_REVERSE,
+ GDK_AND_INVERT,
+ GDK_NOOP,
+ GDK_OR,
+ GDK_EQUIV,
+ GDK_OR_REVERSE,
+ GDK_COPY_INVERT,
+ GDK_OR_INVERT,
+ GDK_NAND,
+ GDK_SET
+} GdkFunction;
+</ENUM>
+<ENUM>
+<NAME>GdkFill</NAME>
+typedef enum
+{
+ GDK_SOLID,
+ GDK_TILED,
+ GDK_STIPPLED,
+ GDK_OPAQUE_STIPPLED
+} GdkFill;
+</ENUM>
+<ENUM>
+<NAME>GdkFillRule</NAME>
+typedef enum
+{
+ GDK_EVEN_ODD_RULE,
+ GDK_WINDING_RULE
+} GdkFillRule;
+</ENUM>
+<ENUM>
+<NAME>GdkLineStyle</NAME>
+typedef enum
+{
+ GDK_LINE_SOLID,
+ GDK_LINE_ON_OFF_DASH,
+ GDK_LINE_DOUBLE_DASH
+} GdkLineStyle;
+</ENUM>
+<ENUM>
+<NAME>GdkCapStyle</NAME>
+typedef enum
+{
+ GDK_CAP_NOT_LAST,
+ GDK_CAP_BUTT,
+ GDK_CAP_ROUND,
+ GDK_CAP_PROJECTING
+} GdkCapStyle;
+</ENUM>
+<ENUM>
+<NAME>GdkJoinStyle</NAME>
+typedef enum
+{
+ GDK_JOIN_MITER,
+ GDK_JOIN_ROUND,
+ GDK_JOIN_BEVEL
+} GdkJoinStyle;
+</ENUM>
+<ENUM>
+<NAME>GdkCursorType</NAME>
+typedef enum
+{
+#include <gdk/gdkcursors.h>
+ GDK_LAST_CURSOR,
+ GDK_CURSOR_IS_PIXMAP = -1
+} GdkCursorType;
+</ENUM>
+<ENUM>
+<NAME>GdkFilterReturn</NAME>
+typedef enum {
+ GDK_FILTER_CONTINUE, /* Event not handled, continue processesing */
+ GDK_FILTER_TRANSLATE, /* Translated event stored */
+ GDK_FILTER_REMOVE /* Terminate processing, removing event */
+} GdkFilterReturn;
+</ENUM>
+<ENUM>
+<NAME>GdkVisibilityState</NAME>
+typedef enum {
+ GDK_VISIBILITY_UNOBSCURED,
+ GDK_VISIBILITY_PARTIAL,
+ GDK_VISIBILITY_FULLY_OBSCURED
+} GdkVisibilityState;
+</ENUM>
+<ENUM>
+<NAME>GdkEventType</NAME>
+typedef enum
+{
+ GDK_NOTHING = -1,
+ GDK_DELETE = 0,
+ GDK_DESTROY = 1,
+ GDK_EXPOSE = 2,
+ GDK_MOTION_NOTIFY = 3,
+ GDK_BUTTON_PRESS = 4,
+ GDK_2BUTTON_PRESS = 5,
+ GDK_3BUTTON_PRESS = 6,
+ GDK_BUTTON_RELEASE = 7,
+ GDK_KEY_PRESS = 8,
+ GDK_KEY_RELEASE = 9,
+ GDK_ENTER_NOTIFY = 10,
+ GDK_LEAVE_NOTIFY = 11,
+ GDK_FOCUS_CHANGE = 12,
+ GDK_CONFIGURE = 13,
+ GDK_MAP = 14,
+ GDK_UNMAP = 15,
+ GDK_PROPERTY_NOTIFY = 16,
+ GDK_SELECTION_CLEAR = 17,
+ GDK_SELECTION_REQUEST = 18,
+ GDK_SELECTION_NOTIFY = 19,
+ GDK_PROXIMITY_IN = 20,
+ GDK_PROXIMITY_OUT = 21,
+ GDK_DRAG_ENTER = 22,
+ GDK_DRAG_LEAVE = 23,
+ GDK_DRAG_MOTION = 24,
+ GDK_DRAG_STATUS = 25,
+ GDK_DROP_START = 26,
+ GDK_DROP_FINISHED = 27,
+ GDK_CLIENT_EVENT = 28,
+ GDK_VISIBILITY_NOTIFY = 29,
+ GDK_NO_EXPOSE = 30
+} GdkEventType;
+</ENUM>
+<ENUM>
+<NAME>GdkEventMask</NAME>
+typedef enum
+{
+ GDK_EXPOSURE_MASK = 1 << 1,
+ GDK_POINTER_MOTION_MASK = 1 << 2,
+ GDK_POINTER_MOTION_HINT_MASK = 1 << 3,
+ GDK_BUTTON_MOTION_MASK = 1 << 4,
+ GDK_BUTTON1_MOTION_MASK = 1 << 5,
+ GDK_BUTTON2_MOTION_MASK = 1 << 6,
+ GDK_BUTTON3_MOTION_MASK = 1 << 7,
+ GDK_BUTTON_PRESS_MASK = 1 << 8,
+ GDK_BUTTON_RELEASE_MASK = 1 << 9,
+ GDK_KEY_PRESS_MASK = 1 << 10,
+ GDK_KEY_RELEASE_MASK = 1 << 11,
+ GDK_ENTER_NOTIFY_MASK = 1 << 12,
+ GDK_LEAVE_NOTIFY_MASK = 1 << 13,
+ GDK_FOCUS_CHANGE_MASK = 1 << 14,
+ GDK_STRUCTURE_MASK = 1 << 15,
+ GDK_PROPERTY_CHANGE_MASK = 1 << 16,
+ GDK_VISIBILITY_NOTIFY_MASK = 1 << 17,
+ GDK_PROXIMITY_IN_MASK = 1 << 18,
+ GDK_PROXIMITY_OUT_MASK = 1 << 19,
+ GDK_SUBSTRUCTURE_MASK = 1 << 20,
+ GDK_ALL_EVENTS_MASK = 0x0FFFFF
+} GdkEventMask;
+</ENUM>
+<ENUM>
+<NAME>GdkNotifyType</NAME>
+typedef enum
+{
+ GDK_NOTIFY_ANCESTOR = 0,
+ GDK_NOTIFY_VIRTUAL = 1,
+ GDK_NOTIFY_INFERIOR = 2,
+ GDK_NOTIFY_NONLINEAR = 3,
+ GDK_NOTIFY_NONLINEAR_VIRTUAL = 4,
+ GDK_NOTIFY_UNKNOWN = 5
+} GdkNotifyType;
+</ENUM>
+<ENUM>
+<NAME>GdkCrossingMode</NAME>
+typedef enum
+{
+ GDK_CROSSING_NORMAL,
+ GDK_CROSSING_GRAB,
+ GDK_CROSSING_UNGRAB
+} GdkCrossingMode;
+</ENUM>
+<ENUM>
+<NAME>GdkModifierType</NAME>
+typedef enum
+{
+ GDK_SHIFT_MASK = 1 << 0,
+ GDK_LOCK_MASK = 1 << 1,
+ GDK_CONTROL_MASK = 1 << 2,
+ GDK_MOD1_MASK = 1 << 3,
+ GDK_MOD2_MASK = 1 << 4,
+ GDK_MOD3_MASK = 1 << 5,
+ GDK_MOD4_MASK = 1 << 6,
+ GDK_MOD5_MASK = 1 << 7,
+ GDK_BUTTON1_MASK = 1 << 8,
+ GDK_BUTTON2_MASK = 1 << 9,
+ GDK_BUTTON3_MASK = 1 << 10,
+ GDK_BUTTON4_MASK = 1 << 11,
+ GDK_BUTTON5_MASK = 1 << 12,
+ GDK_RELEASE_MASK = 1 << 13,
+ GDK_MODIFIER_MASK = 0x3fff
+} GdkModifierType;
+</ENUM>
+<ENUM>
+<NAME>GdkSubwindowMode</NAME>
+typedef enum
+{
+ GDK_CLIP_BY_CHILDREN = 0,
+ GDK_INCLUDE_INFERIORS = 1
+} GdkSubwindowMode;
+</ENUM>
+<ENUM>
+<NAME>GdkInputCondition</NAME>
+typedef enum
+{
+ GDK_INPUT_READ = 1 << 0,
+ GDK_INPUT_WRITE = 1 << 1,
+ GDK_INPUT_EXCEPTION = 1 << 2
+} GdkInputCondition;
+</ENUM>
+<ENUM>
+<NAME>GdkStatus</NAME>
+typedef enum
+{
+ GDK_OK = 0,
+ GDK_ERROR = -1,
+ GDK_ERROR_PARAM = -2,
+ GDK_ERROR_FILE = -3,
+ GDK_ERROR_MEM = -4
+} GdkStatus;
+</ENUM>
+<ENUM>
+<NAME>GdkByteOrder</NAME>
+typedef enum
+{
+ GDK_LSB_FIRST,
+ GDK_MSB_FIRST
+} GdkByteOrder;
+</ENUM>
+<ENUM>
+<NAME>GdkGCValuesMask</NAME>
+typedef enum
+{
+ GDK_GC_FOREGROUND = 1 << 0,
+ GDK_GC_BACKGROUND = 1 << 1,
+ GDK_GC_FONT = 1 << 2,
+ GDK_GC_FUNCTION = 1 << 3,
+ GDK_GC_FILL = 1 << 4,
+ GDK_GC_TILE = 1 << 5,
+ GDK_GC_STIPPLE = 1 << 6,
+ GDK_GC_CLIP_MASK = 1 << 7,
+ GDK_GC_SUBWINDOW = 1 << 8,
+ GDK_GC_TS_X_ORIGIN = 1 << 9,
+ GDK_GC_TS_Y_ORIGIN = 1 << 10,
+ GDK_GC_CLIP_X_ORIGIN = 1 << 11,
+ GDK_GC_CLIP_Y_ORIGIN = 1 << 12,
+ GDK_GC_EXPOSURES = 1 << 13,
+ GDK_GC_LINE_WIDTH = 1 << 14,
+ GDK_GC_LINE_STYLE = 1 << 15,
+ GDK_GC_CAP_STYLE = 1 << 16,
+ GDK_GC_JOIN_STYLE = 1 << 17
+} GdkGCValuesMask;
+</ENUM>
+<ENUM>
+<NAME>GdkSelection</NAME>
+typedef enum
+{
+ GDK_SELECTION_PRIMARY = 1,
+ GDK_SELECTION_SECONDARY = 2
+} GdkSelection;
+</ENUM>
+<ENUM>
+<NAME>GdkPropertyState</NAME>
+typedef enum
+{
+ GDK_PROPERTY_NEW_VALUE,
+ GDK_PROPERTY_DELETE
+} GdkPropertyState;
+</ENUM>
+<ENUM>
+<NAME>GdkPropMode</NAME>
+typedef enum
+{
+ GDK_PROP_MODE_REPLACE,
+ GDK_PROP_MODE_PREPEND,
+ GDK_PROP_MODE_APPEND
+} GdkPropMode;
+</ENUM>
+<ENUM>
+<NAME>GdkInputSource</NAME>
+typedef enum
+{
+ GDK_SOURCE_MOUSE,
+ GDK_SOURCE_PEN,
+ GDK_SOURCE_ERASER,
+ GDK_SOURCE_CURSOR
+} GdkInputSource;
+</ENUM>
+<ENUM>
+<NAME>GdkInputMode</NAME>
+typedef enum
+{
+ GDK_MODE_DISABLED,
+ GDK_MODE_SCREEN,
+ GDK_MODE_WINDOW
+} GdkInputMode;
+</ENUM>
+<ENUM>
+<NAME>GdkAxisUse</NAME>
+typedef enum
+{
+ GDK_AXIS_IGNORE,
+ GDK_AXIS_X,
+ GDK_AXIS_Y,
+ GDK_AXIS_PRESSURE,
+ GDK_AXIS_XTILT,
+ GDK_AXIS_YTILT,
+ GDK_AXIS_LAST
+} GdkAxisUse;
+</ENUM>
+<ENUM>
+<NAME>GdkTarget</NAME>
+typedef enum
+{
+ GDK_TARGET_BITMAP = 5,
+ GDK_TARGET_COLORMAP = 7,
+ GDK_TARGET_DRAWABLE = 17,
+ GDK_TARGET_PIXMAP = 20,
+ GDK_TARGET_STRING = 31
+} GdkTarget;
+</ENUM>
+<ENUM>
+<NAME>GdkSelectionType</NAME>
+typedef enum
+{
+ GDK_SELECTION_TYPE_ATOM = 4,
+ GDK_SELECTION_TYPE_BITMAP = 5,
+ GDK_SELECTION_TYPE_COLORMAP = 7,
+ GDK_SELECTION_TYPE_DRAWABLE = 17,
+ GDK_SELECTION_TYPE_INTEGER = 19,
+ GDK_SELECTION_TYPE_PIXMAP = 20,
+ GDK_SELECTION_TYPE_WINDOW = 33,
+ GDK_SELECTION_TYPE_STRING = 31
+} GdkSelectionType;
+</ENUM>
+<ENUM>
+<NAME>GdkExtensionMode</NAME>
+typedef enum
+{
+ GDK_EXTENSION_EVENTS_NONE,
+ GDK_EXTENSION_EVENTS_ALL,
+ GDK_EXTENSION_EVENTS_CURSOR
+} GdkExtensionMode;
+</ENUM>
+<ENUM>
+<NAME>GdkIMStyle</NAME>
+typedef enum /*< flags >*/
+{
+ GDK_IM_PREEDIT_AREA = 0x0001,
+ GDK_IM_PREEDIT_CALLBACKS = 0x0002,
+ GDK_IM_PREEDIT_POSITION = 0x0004,
+ GDK_IM_PREEDIT_NOTHING = 0x0008,
+ GDK_IM_PREEDIT_NONE = 0x0010,
+ GDK_IM_PREEDIT_MASK = 0x001f,
+
+ GDK_IM_STATUS_AREA = 0x0100,
+ GDK_IM_STATUS_CALLBACKS = 0x0200,
+ GDK_IM_STATUS_NOTHING = 0x0400,
+ GDK_IM_STATUS_NONE = 0x0800,
+ GDK_IM_STATUS_MASK = 0x0f00
+} GdkIMStyle;
+</ENUM>
+<ENUM>
+<NAME>GdkICAttributesType</NAME>
+typedef enum
+{
+ GDK_IC_STYLE = 1 << 0,
+ GDK_IC_CLIENT_WINDOW = 1 << 1,
+ GDK_IC_FOCUS_WINDOW = 1 << 2,
+ GDK_IC_FILTER_EVENTS = 1 << 3,
+ GDK_IC_SPOT_LOCATION = 1 << 4,
+ GDK_IC_LINE_SPACING = 1 << 5,
+ GDK_IC_CURSOR = 1 << 6,
+
+ GDK_IC_PREEDIT_FONTSET = 1 << 10,
+ GDK_IC_PREEDIT_AREA = 1 << 11,
+ GDK_IC_PREEDIT_AREA_NEEDED = 1 << 12,
+ GDK_IC_PREEDIT_FOREGROUND = 1 << 13,
+ GDK_IC_PREEDIT_BACKGROUND = 1 << 14,
+ GDK_IC_PREEDIT_PIXMAP = 1 << 15,
+ GDK_IC_PREEDIT_COLORMAP = 1 << 16,
+
+ GDK_IC_STATUS_FONTSET = 1 << 21,
+ GDK_IC_STATUS_AREA = 1 << 22,
+ GDK_IC_STATUS_AREA_NEEDED = 1 << 23,
+ GDK_IC_STATUS_FOREGROUND = 1 << 24,
+ GDK_IC_STATUS_BACKGROUND = 1 << 25,
+ GDK_IC_STATUS_PIXMAP = 1 << 26,
+ GDK_IC_STATUS_COLORMAP = 1 << 27,
+
+ GDK_IC_ALL_REQ = GDK_IC_STYLE |
+ GDK_IC_CLIENT_WINDOW,
+
+ GDK_IC_PREEDIT_AREA_REQ = GDK_IC_PREEDIT_AREA |
+ GDK_IC_PREEDIT_FONTSET,
+ GDK_IC_PREEDIT_POSITION_REQ = GDK_IC_PREEDIT_AREA | GDK_IC_SPOT_LOCATION |
+ GDK_IC_PREEDIT_FONTSET,
+
+ GDK_IC_STATUS_AREA_REQ = GDK_IC_STATUS_AREA |
+ GDK_IC_STATUS_FONTSET
+} GdkICAttributesType;
+</ENUM>
+<ENUM>
+<NAME>GdkWMDecoration</NAME>
+typedef enum
+{
+ GDK_DECOR_ALL = 1 << 0,
+ GDK_DECOR_BORDER = 1 << 1,
+ GDK_DECOR_RESIZEH = 1 << 2,
+ GDK_DECOR_TITLE = 1 << 3,
+ GDK_DECOR_MENU = 1 << 4,
+ GDK_DECOR_MINIMIZE = 1 << 5,
+ GDK_DECOR_MAXIMIZE = 1 << 6
+} GdkWMDecoration;
+</ENUM>
+<ENUM>
+<NAME>GdkWMFunction</NAME>
+typedef enum
+{
+ GDK_FUNC_ALL = 1 << 0,
+ GDK_FUNC_RESIZE = 1 << 1,
+ GDK_FUNC_MOVE = 1 << 2,
+ GDK_FUNC_MINIMIZE = 1 << 3,
+ GDK_FUNC_MAXIMIZE = 1 << 4,
+ GDK_FUNC_CLOSE = 1 << 5
+} GdkWMFunction;
+</ENUM>
+<USER_FUNCTION>
+<NAME>GdkInputFunction</NAME>
+<RETURNS>void </RETURNS>
+gpointer data,
+ gint source,
+ GdkInputCondition condition
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GdkDestroyNotify</NAME>
+<RETURNS>void </RETURNS>
+gpointer data
+</USER_FUNCTION>
+<ENUM>
+<NAME>GdkColorContextMode</NAME>
+typedef enum
+{
+ GDK_CC_MODE_UNDEFINED,
+ GDK_CC_MODE_BW,
+ GDK_CC_MODE_STD_CMAP,
+ GDK_CC_MODE_TRUE,
+ GDK_CC_MODE_MY_GRAY,
+ GDK_CC_MODE_PALETTE
+} GdkColorContextMode;
+</ENUM>
+<ENUM>
+<NAME>GdkOverlapType</NAME>
+typedef enum
+{
+ GDK_OVERLAP_RECTANGLE_IN,
+ GDK_OVERLAP_RECTANGLE_OUT,
+ GDK_OVERLAP_RECTANGLE_PART
+} GdkOverlapType;
+</ENUM>
+<ENUM>
+<NAME>GdkDragAction</NAME>
+typedef enum {
+ GDK_ACTION_DEFAULT = 1 << 0,
+ GDK_ACTION_COPY = 1 << 1,
+ GDK_ACTION_MOVE = 1 << 2,
+ GDK_ACTION_LINK = 1 << 3,
+ GDK_ACTION_PRIVATE = 1 << 4,
+ GDK_ACTION_ASK = 1 << 5
+} GdkDragAction;
+</ENUM>
+<ENUM>
+<NAME>GdkDragProtocol</NAME>
+typedef enum {
+ GDK_DRAG_PROTO_MOTIF,
+ GDK_DRAG_PROTO_XDND,
+ GDK_DRAG_PROTO_ROOTWIN, /* A root window with nobody claiming
+ * drags */
+ GDK_DRAG_PROTO_NONE /* Not a valid drag window */
+} GdkDragProtocol;
+</ENUM>
+<STRUCT>
+<NAME>GdkColor</NAME>
+struct GdkColor
+{
+ gulong pixel;
+ gushort red;
+ gushort green;
+ gushort blue;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkColormap</NAME>
+struct GdkColormap
+{
+ gint size;
+ GdkColor *colors;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkVisual</NAME>
+struct GdkVisual
+{
+ GdkVisualType type;
+ gint depth;
+ GdkByteOrder byte_order;
+ gint colormap_size;
+ gint bits_per_rgb;
+
+ guint32 red_mask;
+ gint red_shift;
+ gint red_prec;
+
+ guint32 green_mask;
+ gint green_shift;
+ gint green_prec;
+
+ guint32 blue_mask;
+ gint blue_shift;
+ gint blue_prec;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkWindowAttr</NAME>
+struct GdkWindowAttr
+{
+ gchar *title;
+ gint event_mask;
+ gint16 x, y;
+ gint16 width;
+ gint16 height;
+ GdkWindowClass wclass;
+ GdkVisual *visual;
+ GdkColormap *colormap;
+ GdkWindowType window_type;
+ GdkCursor *cursor;
+ gchar *wmclass_name;
+ gchar *wmclass_class;
+ gboolean override_redirect;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkWindow</NAME>
+struct GdkWindow
+{
+ gpointer user_data;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkGeometry</NAME>
+struct GdkGeometry {
+ gint min_width;
+ gint min_height;
+ gint max_width;
+ gint max_height;
+ gint base_width;
+ gint base_height;
+ gint width_inc;
+ gint height_inc;
+ gdouble min_aspect;
+ gdouble max_aspect;
+ /* GdkGravity gravity; */
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkImage</NAME>
+struct GdkImage
+{
+ GdkImageType type;
+ GdkVisual *visual; /* visual used to create the image */
+ GdkByteOrder byte_order;
+ guint16 width;
+ guint16 height;
+ guint16 depth;
+ guint16 bpp; /* bytes per pixel */
+ guint16 bpl; /* bytes per line */
+ gpointer mem;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkGCValues</NAME>
+struct GdkGCValues
+{
+ GdkColor foreground;
+ GdkColor background;
+ GdkFont *font;
+ GdkFunction function;
+ GdkFill fill;
+ GdkPixmap *tile;
+ GdkPixmap *stipple;
+ GdkPixmap *clip_mask;
+ GdkSubwindowMode subwindow_mode;
+ gint ts_x_origin;
+ gint ts_y_origin;
+ gint clip_x_origin;
+ gint clip_y_origin;
+ gint graphics_exposures;
+ gint line_width;
+ GdkLineStyle line_style;
+ GdkCapStyle cap_style;
+ GdkJoinStyle join_style;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkGC</NAME>
+struct GdkGC
+{
+ gint dummy_var;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkPoint</NAME>
+struct GdkPoint
+{
+ gint16 x;
+ gint16 y;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkRectangle</NAME>
+struct GdkRectangle
+{
+ gint16 x;
+ gint16 y;
+ guint16 width;
+ guint16 height;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkSegment</NAME>
+struct GdkSegment
+{
+ gint16 x1;
+ gint16 y1;
+ gint16 x2;
+ gint16 y2;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkFont</NAME>
+struct GdkFont
+{
+ GdkFontType type;
+ gint ascent;
+ gint descent;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkCursor</NAME>
+struct GdkCursor
+{
+ GdkCursorType type;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkColorContextDither</NAME>
+struct GdkColorContextDither
+{
+ gint fast_rgb[32][32][32]; /* quick look-up table for faster rendering */
+ gint fast_err[32][32][32]; /* internal RGB error information */
+ gint fast_erg[32][32][32];
+ gint fast_erb[32][32][32];
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkColorContext</NAME>
+struct GdkColorContext
+{
+ GdkVisual *visual;
+ GdkColormap *colormap;
+
+ gint num_colors; /* available no. of colors in colormap */
+ gint max_colors; /* maximum no. of colors */
+ gint num_allocated; /* no. of allocated colors */
+
+ GdkColorContextMode mode;
+ gint need_to_free_colormap;
+ GdkAtom std_cmap_atom;
+
+ gulong *clut; /* color look-up table */
+ GdkColor *cmap; /* colormap */
+
+ GHashTable *color_hash; /* hash table of allocated colors */
+ GdkColor *palette; /* preallocated palette */
+ gint num_palette; /* size of palette */
+
+ GdkColorContextDither *fast_dither; /* fast dither matrix */
+
+ struct
+ {
+ gint red;
+ gint green;
+ gint blue;
+ } shifts;
+
+</STRUCT>
+<STRUCT>
+<NAME>GdkDeviceKey</NAME>
+struct GdkDeviceKey
+{
+ guint keyval;
+ GdkModifierType modifiers;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkDeviceInfo</NAME>
+struct GdkDeviceInfo
+{
+ guint32 deviceid;
+ gchar *name;
+ GdkInputSource source;
+ GdkInputMode mode;
+ gint has_cursor; /* TRUE if the X pointer follows device motion */
+ gint num_axes;
+ GdkAxisUse *axes; /* Specifies use for each axis */
+ gint num_keys;
+ GdkDeviceKey *keys;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkTimeCoord</NAME>
+struct GdkTimeCoord
+{
+ guint32 time;
+ gdouble x;
+ gdouble y;
+ gdouble pressure;
+ gdouble xtilt;
+ gdouble ytilt;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkDragContext</NAME>
+struct GdkDragContext {
+ GdkDragProtocol protocol;
+
+ gboolean is_source;
+
+ GdkWindow *source_window;
+ GdkWindow *dest_window;
+
+ GList *targets;
+ GdkDragAction actions;
+ GdkDragAction suggested_action;
+ GdkDragAction action;
+
+ guint32 start_time;
+};
+</STRUCT>
+<TYPEDEF>
+<NAME>GdkXEvent</NAME>
+typedef void GdkXEvent; /* Can be cast to XEvent */
+</TYPEDEF>
+<USER_FUNCTION>
+<NAME>GdkFilterFunc</NAME>
+<RETURNS>GdkFilterReturn </RETURNS>
+GdkXEvent *xevent,
+ GdkEvent *event,
+ gpointer data
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GdkEventAny</NAME>
+struct GdkEventAny
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventExpose</NAME>
+struct GdkEventExpose
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ GdkRectangle area;
+ gint count; /* If non-zero, how many more events follow. */
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventNoExpose</NAME>
+struct GdkEventNoExpose
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ /* XXX: does anyone need the X major_code or minor_code fields? */
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventVisibility</NAME>
+struct GdkEventVisibility
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ GdkVisibilityState state;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventMotion</NAME>
+struct GdkEventMotion
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ guint32 time;
+ gdouble x;
+ gdouble y;
+ gdouble pressure;
+ gdouble xtilt;
+ gdouble ytilt;
+ guint state;
+ gint16 is_hint;
+ GdkInputSource source;
+ guint32 deviceid;
+ gdouble x_root, y_root;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventButton</NAME>
+struct GdkEventButton
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ guint32 time;
+ gdouble x;
+ gdouble y;
+ gdouble pressure;
+ gdouble xtilt;
+ gdouble ytilt;
+ guint state;
+ guint button;
+ GdkInputSource source;
+ guint32 deviceid;
+ gdouble x_root, y_root;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventKey</NAME>
+struct GdkEventKey
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ guint32 time;
+ guint state;
+ guint keyval;
+ gint length;
+ gchar *string;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventCrossing</NAME>
+struct GdkEventCrossing
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ GdkWindow *subwindow;
+ guint32 time;
+ gdouble x;
+ gdouble y;
+ gdouble x_root;
+ gdouble y_root;
+ GdkCrossingMode mode;
+ GdkNotifyType detail;
+ gboolean focus;
+ guint state;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventFocus</NAME>
+struct GdkEventFocus
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ gint16 in;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventConfigure</NAME>
+struct GdkEventConfigure
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ gint16 x, y;
+ gint16 width;
+ gint16 height;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventProperty</NAME>
+struct GdkEventProperty
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ GdkAtom atom;
+ guint32 time;
+ guint state;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventSelection</NAME>
+struct GdkEventSelection
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ GdkAtom selection;
+ GdkAtom target;
+ GdkAtom property;
+ guint32 requestor;
+ guint32 time;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventProximity</NAME>
+struct GdkEventProximity
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ guint32 time;
+ GdkInputSource source;
+ guint32 deviceid;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventClient</NAME>
+struct GdkEventClient
+{
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ GdkAtom message_type;
+ gushort data_format;
+ union {
+ char b[20];
+ short s[10];
+ long l[5];
+ } data;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkEventDND</NAME>
+struct GdkEventDND {
+ GdkEventType type;
+ GdkWindow *window;
+ gint8 send_event;
+ GdkDragContext *context;
+
+ guint32 time;
+ gshort x_root, y_root;
+};
+</STRUCT>
+<UNION>
+<NAME>GdkEvent</NAME>
+union GdkEvent
+{
+ GdkEventType type;
+ GdkEventAny any;
+ GdkEventExpose expose;
+ GdkEventNoExpose no_expose;
+ GdkEventVisibility visibility;
+ GdkEventMotion motion;
+ GdkEventButton button;
+ GdkEventKey key;
+ GdkEventCrossing crossing;
+ GdkEventFocus focus_change;
+ GdkEventConfigure configure;
+ GdkEventProperty property;
+ GdkEventSelection selection;
+ GdkEventProximity proximity;
+ GdkEventClient client;
+ GdkEventDND dnd;
+};
+</UNION>
+<STRUCT>
+<NAME>GdkRegion</NAME>
+struct GdkRegion
+{
+ gpointer user_data;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkICAttr</NAME>
+struct GdkICAttr
+{
+ GdkIMStyle style;
+ GdkWindow *client_window;
+ GdkWindow *focus_window;
+ GdkEventMask filter_events;
+ GdkPoint spot_location;
+ gint line_spacing;
+ GdkCursor *cursor;
+
+ GdkFont *preedit_fontset;
+ GdkRectangle preedit_area;
+ GdkRectangle preedit_area_needed;
+ GdkColor preedit_foreground;
+ GdkColor preedit_background;
+ GdkPixmap *preedit_pixmap;
+ GdkColormap *preedit_colormap;
+
+ GdkFont *status_fontset;
+ GdkRectangle status_area;
+ GdkRectangle status_area_needed;
+ GdkColor status_foreground;
+ GdkColor status_background;
+ GdkPixmap *status_pixmap;
+ GdkColormap *status_colormap;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkRgbCmap</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GdkRgbCmap</NAME>
+struct GdkRgbCmap {
+ guint32 colors[256];
+ guchar lut[256]; /* for 8-bit modes */
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gdk_rgb_init</NAME>
+<RETURNS>void</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rgb_xpixel_from_rgb</NAME>
+<RETURNS>gulong</RETURNS>
+guint32 rgb
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rgb_gc_set_foreground</NAME>
+<RETURNS>void</RETURNS>
+GdkGC *gc, guint32 rgb
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rgb_gc_set_background</NAME>
+<RETURNS>void</RETURNS>
+GdkGC *gc, guint32 rgb
+</FUNCTION>
+<ENUM>
+<NAME>GdkRgbDither</NAME>
+typedef enum
+{
+ GDK_RGB_DITHER_NONE,
+ GDK_RGB_DITHER_NORMAL,
+ GDK_RGB_DITHER_MAX
+} GdkRgbDither;
+</ENUM>
+<FUNCTION>
+<NAME>gdk_draw_rgb_image</NAME>
+<RETURNS>void</RETURNS>
+GdkDrawable *drawable,GdkGC *gc,gint x,gint y,gint width,gint height,GdkRgbDither dith,guchar *rgb_buf,gint rowstride
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_rgb_image_dithalign</NAME>
+<RETURNS>void</RETURNS>
+GdkDrawable *drawable,GdkGC *gc,gint x,gint y,gint width,gint height,GdkRgbDither dith,guchar *rgb_buf,gint rowstride,gint xdith,gint ydith
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_rgb_32_image</NAME>
+<RETURNS>void</RETURNS>
+GdkDrawable *drawable,GdkGC *gc,gint x,gint y,gint width,gint height,GdkRgbDither dith,guchar *buf,gint rowstride
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_gray_image</NAME>
+<RETURNS>void</RETURNS>
+GdkDrawable *drawable,GdkGC *gc,gint x,gint y,gint width,gint height,GdkRgbDither dith,guchar *buf,gint rowstride
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rgb_cmap_new</NAME>
+<RETURNS>GdkRgbCmap *</RETURNS>
+guint32 *colors, gint n_colors
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rgb_cmap_free</NAME>
+<RETURNS>void</RETURNS>
+GdkRgbCmap *cmap
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_draw_indexed_image</NAME>
+<RETURNS>void</RETURNS>
+GdkDrawable *drawable,GdkGC *gc,gint x,gint y,gint width,gint height,GdkRgbDither dith,guchar *buf,gint rowstride,GdkRgbCmap *cmap
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rgb_ditherable</NAME>
+<RETURNS>gboolean</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rgb_set_verbose</NAME>
+<RETURNS>void</RETURNS>
+gboolean verbose
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rgb_set_install</NAME>
+<RETURNS>void</RETURNS>
+gboolean install
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rgb_set_min_colors</NAME>
+<RETURNS>void</RETURNS>
+gint min_colors
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rgb_get_cmap</NAME>
+<RETURNS>GdkColormap *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gdk_rgb_get_visual</NAME>
+<RETURNS>GdkVisual *</RETURNS>
+void
+</FUNCTION>
diff --git a/docs/reference/gdk/gdk-docs.sgml b/docs/reference/gdk/gdk-docs.sgml
new file mode 100644
index 000000000..022ded73b
--- /dev/null
+++ b/docs/reference/gdk/gdk-docs.sgml
@@ -0,0 +1,59 @@
+<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
+<!entity gdk-General SYSTEM "sgml/general.sgml">
+<!entity gdk-Bitmaps-and-Pixmaps SYSTEM "sgml/pixmaps.sgml">
+<!entity gdk-Images SYSTEM "sgml/images.sgml">
+<!entity gdk-GdkRGB SYSTEM "sgml/rgb.sgml">
+<!entity gdk-Colormaps-and-Colors SYSTEM "sgml/colors.sgml">
+<!entity gdk-Fonts SYSTEM "sgml/fonts.sgml">
+<!entity gdk-Drawing-Primitives SYSTEM "sgml/drawing.sgml">
+<!entity gdk-Graphics-Contexts SYSTEM "sgml/gcs.sgml">
+<!entity gdk-Visuals SYSTEM "sgml/visuals.sgml">
+<!entity gdk-Windows SYSTEM "sgml/windows.sgml">
+<!entity gdk-Selections SYSTEM "sgml/selections.sgml">
+<!entity gdk-Properties-and-Atoms SYSTEM "sgml/properties.sgml">
+<!entity gdk-Input-Methods SYSTEM "sgml/input_methods.sgml">
+<!entity gdk-Input-Contexts SYSTEM "sgml/input_contexts.sgml">
+<!entity gdk-Color-Contexts SYSTEM "sgml/color_contexts.sgml">
+<!entity gdk-Points-Rectangles-and-Regions SYSTEM "sgml/regions.sgml">
+<!entity gdk-Threads SYSTEM "sgml/threads.sgml">
+<!entity gdk-Key-Values SYSTEM "sgml/keys.sgml">
+<!entity gdk-Input-Devices SYSTEM "sgml/input_devices.sgml">
+<!entity gdk-Events SYSTEM "sgml/events.sgml">
+<!entity gdk-Event-Structures SYSTEM "sgml/event_structs.sgml">
+<!entity gdk-Cursors SYSTEM "sgml/cursors.sgml">
+<!entity gdk-Input SYSTEM "sgml/input.sgml">
+<!entity gdk-Drag-and-Drop SYSTEM "sgml/dnd.sgml">
+]>
+<book id="index">
+ <bookinfo>
+ <title>GDK Reference Manual</title>
+ </bookinfo>
+
+ <chapter id="gdk">
+ <title>GDK</title>
+ &gdk-General;
+ &gdk-Bitmaps-and-Pixmaps;
+ &gdk-Images;
+ &gdk-GdkRGB;
+ &gdk-Colormaps-and-Colors;
+ &gdk-Fonts;
+ &gdk-Drawing-Primitives;
+ &gdk-Graphics-Contexts;
+ &gdk-Visuals;
+ &gdk-Windows;
+ &gdk-Selections;
+ &gdk-Properties-and-Atoms;
+ &gdk-Input-Methods;
+ &gdk-Input-Contexts;
+ &gdk-Color-Contexts;
+ &gdk-Points-Rectangles-and-Regions;
+ &gdk-Threads;
+ &gdk-Key-Values;
+ &gdk-Input-Devices;
+ &gdk-Events;
+ &gdk-Event-Structures;
+ &gdk-Cursors;
+ &gdk-Input;
+ &gdk-Drag-and-Drop;
+ </chapter>
+</book>
diff --git a/docs/reference/gdk/gdk-overrides.txt b/docs/reference/gdk/gdk-overrides.txt
new file mode 100644
index 000000000..939122e78
--- /dev/null
+++ b/docs/reference/gdk/gdk-overrides.txt
@@ -0,0 +1,23 @@
+
+# GdkPixmap, GdkBitmap and GdkDrawable are the same as GdkWindow.
+<STRUCT>
+<NAME>GdkPixmap</NAME>
+struct GdkPixmap
+{
+ gpointer user_data;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkBitmap</NAME>
+struct GdkBitmap
+{
+ gpointer user_data;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GdkDrawable</NAME>
+struct GdkDrawable
+{
+ gpointer user_data;
+};
+</STRUCT>
diff --git a/docs/reference/gdk/gdk-sections.txt b/docs/reference/gdk/gdk-sections.txt
new file mode 100644
index 000000000..ec4626814
--- /dev/null
+++ b/docs/reference/gdk/gdk-sections.txt
@@ -0,0 +1,572 @@
+
+<INCLUDE>gdk/gdk.h</INCLUDE>
+
+<SECTION>
+<TITLE>General</TITLE>
+<FILE>general</FILE>
+gdk_init
+gdk_init_check
+gdk_exit
+GdkStatus
+GDK_NONE
+GDK_CURRENT_TIME
+GDK_PRIORITY_EVENTS
+gdk_set_locale
+gdk_get_show_events
+gdk_set_show_events
+gdk_add_client_message_filter
+gdk_set_sm_client_id
+gdk_get_use_xshm
+gdk_set_use_xshm
+gdk_get_display
+gdk_screen_width
+gdk_screen_height
+gdk_screen_width_mm
+gdk_screen_height_mm
+gdk_pointer_grab
+gdk_pointer_ungrab
+gdk_keyboard_grab
+gdk_keyboard_ungrab
+gdk_pointer_is_grabbed
+gdk_flush
+gdk_beep
+gdk_key_repeat_disable
+gdk_key_repeat_restore
+gdk_error_trap_push
+gdk_error_trap_pop
+
+<SUBSECTION Private>
+gdk_time_get
+gdk_timer_get
+gdk_timer_set
+gdk_timer_enable
+gdk_timer_disable
+</SECTION>
+
+<SECTION>
+<TITLE>Bitmaps and Pixmaps</TITLE>
+<FILE>pixmaps</FILE>
+GdkPixmap
+gdk_pixmap_new
+gdk_bitmap_create_from_data
+gdk_pixmap_create_from_data
+gdk_pixmap_create_from_xpm
+gdk_pixmap_colormap_create_from_xpm
+gdk_pixmap_create_from_xpm_d
+gdk_pixmap_colormap_create_from_xpm_d
+gdk_pixmap_ref
+gdk_pixmap_unref
+GdkBitmap
+gdk_bitmap_ref
+gdk_bitmap_unref
+</SECTION>
+
+<SECTION>
+<TITLE>Images</TITLE>
+<FILE>images</FILE>
+GdkImage
+GdkImageType
+gdk_image_new_bitmap
+gdk_image_new
+gdk_image_get
+gdk_image_put_pixel
+gdk_image_get_pixel
+gdk_image_destroy
+</SECTION>
+
+<SECTION>
+<TITLE>GdkRGB</TITLE>
+<FILE>rgb</FILE>
+GdkRgbCmap
+GdkRgbDither
+
+gdk_rgb_init
+gdk_rgb_cmap_new
+gdk_rgb_cmap_free
+
+gdk_rgb_gc_set_foreground
+gdk_rgb_gc_set_background
+
+gdk_draw_rgb_image
+gdk_draw_indexed_image
+gdk_draw_gray_image
+gdk_draw_rgb_32_image
+gdk_draw_rgb_image_dithalign
+gdk_rgb_xpixel_from_rgb
+
+gdk_rgb_set_verbose
+gdk_rgb_ditherable
+gdk_rgb_set_install
+gdk_rgb_set_min_colors
+gdk_rgb_get_visual
+gdk_rgb_get_cmap
+</SECTION>
+
+<SECTION>
+<TITLE>Colormaps and Colors</TITLE>
+<FILE>colors</FILE>
+GdkColor
+GdkColormap
+gdk_colormap_new
+gdk_colormap_ref
+gdk_colormap_unref
+gdk_colormap_get_system
+gdk_colormap_get_system_size
+gdk_colormap_change
+gdk_colormap_alloc_colors
+gdk_colormap_alloc_color
+gdk_colormap_free_colors
+gdk_colormap_get_visual
+gdk_colors_store
+gdk_color_copy
+gdk_color_free
+gdk_colors_alloc
+gdk_colors_free
+gdk_color_white
+gdk_color_black
+gdk_color_parse
+gdk_color_alloc
+gdk_color_change
+gdk_color_equal
+gdk_color_hash
+</SECTION>
+
+<SECTION>
+<TITLE>Fonts</TITLE>
+<FILE>fonts</FILE>
+GdkFont
+GdkFontType
+gdk_font_load
+gdk_fontset_load
+gdk_font_ref
+gdk_font_unref
+gdk_font_id
+gdk_font_equal
+
+<SUBSECTION>
+gdk_string_extents
+gdk_text_extents
+gdk_text_extents_wc
+gdk_string_width
+gdk_text_width
+gdk_text_width_wc
+gdk_char_width
+gdk_char_width_wc
+gdk_string_measure
+gdk_text_measure
+gdk_char_measure
+gdk_string_height
+gdk_text_height
+gdk_char_height
+</SECTION>
+
+<SECTION>
+<TITLE>Drawing Primitives</TITLE>
+<FILE>drawing</FILE>
+GdkFill
+GdkFillRule
+GdkLineStyle
+GdkCapStyle
+GdkJoinStyle
+
+gdk_draw_point
+gdk_draw_line
+gdk_draw_rectangle
+gdk_draw_arc
+gdk_draw_polygon
+gdk_draw_string
+gdk_draw_text
+gdk_draw_text_wc
+gdk_draw_pixmap
+gdk_draw_bitmap
+gdk_draw_image
+gdk_draw_points
+gdk_draw_segments
+GdkSegment
+gdk_draw_lines
+</SECTION>
+
+<SECTION>
+<TITLE>Graphics Contexts</TITLE>
+<FILE>gcs</FILE>
+GdkGC
+GdkGCValues
+GdkGCValuesMask
+
+GdkFunction
+
+gdk_gc_new
+gdk_gc_new_with_values
+gdk_gc_ref
+gdk_gc_unref
+gdk_gc_destroy
+gdk_gc_get_values
+gdk_gc_set_foreground
+gdk_gc_set_background
+gdk_gc_set_font
+gdk_gc_set_function
+gdk_gc_set_fill
+gdk_gc_set_tile
+gdk_gc_set_stipple
+gdk_gc_set_ts_origin
+gdk_gc_set_clip_origin
+gdk_gc_set_clip_mask
+gdk_gc_set_clip_rectangle
+gdk_gc_set_clip_region
+gdk_gc_set_subwindow
+GdkSubwindowMode
+gdk_gc_set_exposures
+gdk_gc_set_line_attributes
+gdk_gc_set_dashes
+gdk_gc_copy
+</SECTION>
+
+<SECTION>
+<TITLE>Visuals</TITLE>
+<FILE>visuals</FILE>
+GdkVisual
+GdkVisualType
+GdkByteOrder
+gdk_query_depths
+gdk_query_visual_types
+gdk_list_visuals
+
+gdk_visual_get_best_depth
+gdk_visual_get_best_type
+gdk_visual_get_system
+gdk_visual_get_best
+gdk_visual_get_best_with_depth
+gdk_visual_get_best_with_type
+gdk_visual_get_best_with_both
+gdk_visual_ref
+gdk_visual_unref
+</SECTION>
+
+<SECTION>
+<TITLE>Windows</TITLE>
+<FILE>windows</FILE>
+GdkWindowAttr
+GdkWindow
+GdkWindowType
+GdkWindowClass
+GdkWindowAttributesType
+GdkWindowHints
+GdkGeometry
+
+gdk_window_new
+gdk_window_destroy
+gdk_window_ref
+gdk_window_unref
+gdk_window_at_pointer
+gdk_window_show
+gdk_window_hide
+gdk_window_is_visible
+gdk_window_is_viewable
+gdk_window_withdraw
+gdk_window_move
+gdk_window_resize
+gdk_window_move_resize
+gdk_window_reparent
+gdk_window_clear
+gdk_window_clear_area
+gdk_window_clear_area_e
+gdk_window_copy_area
+gdk_window_raise
+gdk_window_lower
+gdk_window_register_dnd
+gdk_window_set_user_data
+gdk_window_set_override_redirect
+gdk_window_add_filter
+gdk_window_remove_filter
+GdkFilterFunc
+GdkFilterReturn
+gdk_window_shape_combine_mask
+gdk_window_set_child_shapes
+gdk_window_merge_child_shapes
+gdk_window_set_static_gravities
+gdk_window_set_hints
+gdk_window_set_title
+gdk_window_set_background
+gdk_window_set_back_pixmap
+GDK_PARENT_RELATIVE
+gdk_window_set_cursor
+gdk_window_set_colormap
+gdk_window_get_user_data
+gdk_window_get_geometry
+gdk_window_set_geometry_hints
+gdk_window_get_position
+gdk_window_get_root_origin
+gdk_window_get_size
+gdk_window_get_visual
+gdk_window_get_colormap
+gdk_window_get_type
+gdk_window_get_origin
+gdk_window_get_deskrelative_origin
+gdk_window_get_pointer
+GdkModifierType
+gdk_window_get_parent
+gdk_window_get_toplevel
+gdk_window_get_children
+gdk_window_get_events
+gdk_window_set_events
+gdk_window_set_icon
+gdk_window_set_icon_name
+gdk_window_set_transient_for
+gdk_window_set_role
+gdk_window_set_group
+gdk_window_set_decorations
+GdkWMDecoration
+gdk_window_set_functions
+GdkWMFunction
+gdk_window_get_toplevels
+GdkDrawable
+gdk_drawable_set_data
+</SECTION>
+
+<SECTION>
+<TITLE>Selections</TITLE>
+<FILE>selections</FILE>
+GdkSelection
+GdkSelectionType
+gdk_selection_owner_set
+gdk_selection_owner_get
+gdk_selection_convert
+gdk_selection_property_get
+gdk_selection_send_notify
+</SECTION>
+
+<SECTION>
+<TITLE>Properties and Atoms</TITLE>
+<FILE>properties</FILE>
+GdkAtom
+GdkPropertyState
+GdkPropMode
+GdkTarget
+gdk_text_property_to_text_list
+gdk_free_text_list
+gdk_string_to_compound_text
+gdk_free_compound_text
+gdk_atom_intern
+gdk_atom_name
+gdk_property_get
+gdk_property_change
+gdk_property_delete
+</SECTION>
+
+<SECTION>
+<TITLE>Input Methods</TITLE>
+<FILE>input_methods</FILE>
+GdkIMStyle
+GdkWChar
+gdk_im_ready
+gdk_im_begin
+gdk_im_end
+gdk_im_decide_style
+gdk_im_set_best_style
+
+gdk_wcstombs
+gdk_mbstowcs
+</SECTION>
+
+<SECTION>
+<TITLE>Input Contexts</TITLE>
+<FILE>input_contexts</FILE>
+GdkIC
+GdkICAttr
+GdkICAttributesType
+gdk_ic_new
+gdk_ic_destroy
+gdk_ic_get_style
+gdk_ic_set_attr
+gdk_ic_get_attr
+gdk_ic_get_events
+gdk_ic_attr_new
+gdk_ic_attr_destroy
+</SECTION>
+
+<SECTION>
+<TITLE>Color Contexts</TITLE>
+<FILE>color_contexts</FILE>
+GdkColorContext
+GdkColorContextDither
+GdkColorContextMode
+
+gdk_color_context_new
+gdk_color_context_new_mono
+gdk_color_context_free
+gdk_color_context_get_pixel
+gdk_color_context_get_pixels
+gdk_color_context_get_pixels_incremental
+gdk_color_context_query_color
+gdk_color_context_query_colors
+gdk_color_context_add_palette
+gdk_color_context_init_dither
+gdk_color_context_free_dither
+gdk_color_context_get_pixel_from_palette
+gdk_color_context_get_index_from_palette
+</SECTION>
+
+<SECTION>
+<TITLE>Points, Rectangles and Regions</TITLE>
+<FILE>regions</FILE>
+GdkPoint
+
+GdkRectangle
+gdk_rectangle_intersect
+gdk_rectangle_union
+
+GdkRegion
+gdk_region_new
+gdk_region_destroy
+gdk_region_get_clipbox
+gdk_region_empty
+gdk_region_equal
+gdk_region_point_in
+gdk_region_rect_in
+GdkOverlapType
+gdk_region_polygon
+gdk_region_offset
+gdk_region_shrink
+gdk_region_union_with_rect
+gdk_regions_intersect
+gdk_regions_union
+gdk_regions_subtract
+gdk_regions_xor
+</SECTION>
+
+<SECTION>
+<TITLE>Threads</TITLE>
+<FILE>threads</FILE>
+gdk_threads_mutex
+GDK_THREADS_ENTER
+GDK_THREADS_LEAVE
+gdk_threads_enter
+gdk_threads_leave
+</SECTION>
+
+<SECTION>
+<TITLE>Key Values</TITLE>
+<FILE>keys</FILE>
+gdk_keyval_name
+gdk_keyval_from_name
+
+<SUBSECTION>
+gdk_keyval_is_upper
+gdk_keyval_is_lower
+
+<SUBSECTION>
+gdk_keyval_to_upper
+gdk_keyval_to_lower
+</SECTION>
+
+<SECTION>
+<TITLE>Input Devices</TITLE>
+<FILE>input_devices</FILE>
+GDK_CORE_POINTER
+GdkExtensionMode
+GdkDeviceKey
+GdkDeviceInfo
+gdk_input_init
+gdk_input_exit
+gdk_input_list_devices
+gdk_input_set_extension_events
+gdk_input_set_source
+GdkInputSource
+gdk_input_set_mode
+GdkInputMode
+gdk_input_set_axes
+GdkAxisUse
+gdk_input_set_key
+gdk_input_window_get_pointer
+gdk_input_motion_events
+GdkTimeCoord
+</SECTION>
+
+<SECTION>
+<TITLE>Events</TITLE>
+<FILE>events</FILE>
+GdkEventType
+GdkEventMask
+
+gdk_events_pending
+gdk_event_peek
+gdk_event_get
+gdk_event_get_graphics_expose
+gdk_event_put
+gdk_event_copy
+gdk_event_free
+gdk_event_get_time
+gdk_event_handler_set
+gdk_event_send_client_message
+
+GdkEventFunc
+
+gdk_event_send_clientmessage_toall
+</SECTION>
+
+<SECTION>
+<TITLE>Event Structures</TITLE>
+<FILE>event_structs</FILE>
+GdkEventAny
+GdkEventExpose
+GdkEventNoExpose
+GdkEventVisibility
+GdkVisibilityState
+GdkEventMotion
+GdkEventButton
+GdkEventKey
+GdkEventCrossing
+GdkCrossingMode
+GdkNotifyType
+GdkEventFocus
+GdkEventConfigure
+GdkEventProperty
+GdkEventSelection
+GdkEventProximity
+GdkEventClient
+GdkEventDND
+GdkEvent
+GdkXEvent
+</SECTION>
+
+<SECTION>
+<TITLE>Cursors</TITLE>
+<FILE>cursors</FILE>
+GdkCursor
+GdkCursorType
+gdk_cursor_new
+gdk_cursor_new_from_pixmap
+gdk_cursor_destroy
+</SECTION>
+
+<SECTION>
+<TITLE>Input</TITLE>
+<FILE>input</FILE>
+gdk_input_add_full
+GdkInputCondition
+GdkInputFunction
+GdkDestroyNotify
+gdk_input_add
+gdk_input_remove
+</SECTION>
+
+<SECTION>
+<TITLE>Drag and Drop</TITLE>
+<FILE>dnd</FILE>
+gdk_drag_get_selection
+gdk_drag_abort
+gdk_drop_reply
+gdk_drag_context_new
+gdk_drag_drop
+gdk_drag_find_window
+gdk_drag_context_ref
+gdk_drag_begin
+gdk_drag_motion
+gdk_drop_finish
+gdk_drag_get_protocol
+GdkDragProtocol
+gdk_drag_context_unref
+GdkDragContext
+GdkDragAction
+gdk_drag_status
+</SECTION>
diff --git a/docs/reference/gdk/tmpl/color_contexts.sgml b/docs/reference/gdk/tmpl/color_contexts.sgml
new file mode 100644
index 000000000..506b77f51
--- /dev/null
+++ b/docs/reference/gdk/tmpl/color_contexts.sgml
@@ -0,0 +1,202 @@
+<!-- ##### SECTION Title ##### -->
+Color Contexts
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GdkColorContext ##### -->
+<para>
+
+</para>
+
+@visual:
+@colormap:
+@num_colors:
+@max_colors:
+@num_allocated:
+@mode:
+@need_to_free_colormap:
+@std_cmap_atom:
+@clut:
+@cmap:
+@color_hash:
+@palette:
+@num_palette:
+@fast_dither:
+
+<!-- ##### STRUCT GdkColorContextDither ##### -->
+<para>
+
+</para>
+
+@fast_rgb:
+@fast_err:
+@fast_erg:
+@fast_erb:
+
+<!-- ##### ENUM GdkColorContextMode ##### -->
+<para>
+
+</para>
+
+@GDK_CC_MODE_UNDEFINED:
+@GDK_CC_MODE_BW:
+@GDK_CC_MODE_STD_CMAP:
+@GDK_CC_MODE_TRUE:
+@GDK_CC_MODE_MY_GRAY:
+@GDK_CC_MODE_PALETTE:
+
+<!-- ##### FUNCTION gdk_color_context_new ##### -->
+<para>
+
+</para>
+
+@visual:
+@colormap:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_color_context_new_mono ##### -->
+<para>
+
+</para>
+
+@visual:
+@colormap:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_color_context_free ##### -->
+<para>
+
+</para>
+
+@cc:
+
+
+<!-- ##### FUNCTION gdk_color_context_get_pixel ##### -->
+<para>
+
+</para>
+
+@cc:
+@red:
+@green:
+@blue:
+@failed:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_color_context_get_pixels ##### -->
+<para>
+
+</para>
+
+@cc:
+@reds:
+@greens:
+@blues:
+@ncolors:
+@colors:
+@nallocated:
+
+
+<!-- ##### FUNCTION gdk_color_context_get_pixels_incremental ##### -->
+<para>
+
+</para>
+
+@cc:
+@reds:
+@greens:
+@blues:
+@ncolors:
+@used:
+@colors:
+@nallocated:
+
+
+<!-- ##### FUNCTION gdk_color_context_query_color ##### -->
+<para>
+
+</para>
+
+@cc:
+@color:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_color_context_query_colors ##### -->
+<para>
+
+</para>
+
+@cc:
+@colors:
+@num_colors:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_color_context_add_palette ##### -->
+<para>
+
+</para>
+
+@cc:
+@palette:
+@num_palette:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_color_context_init_dither ##### -->
+<para>
+
+</para>
+
+@cc:
+
+
+<!-- ##### FUNCTION gdk_color_context_free_dither ##### -->
+<para>
+
+</para>
+
+@cc:
+
+
+<!-- ##### FUNCTION gdk_color_context_get_pixel_from_palette ##### -->
+<para>
+
+</para>
+
+@cc:
+@red:
+@green:
+@blue:
+@failed:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_color_context_get_index_from_palette ##### -->
+<para>
+
+</para>
+
+@cc:
+@red:
+@green:
+@blue:
+@failed:
+@Returns:
+
+
diff --git a/docs/reference/gdk/tmpl/colors.sgml b/docs/reference/gdk/tmpl/colors.sgml
new file mode 100644
index 000000000..f9050d698
--- /dev/null
+++ b/docs/reference/gdk/tmpl/colors.sgml
@@ -0,0 +1,390 @@
+<!-- ##### SECTION Title ##### -->
+Colormaps and Colors
+
+<!-- ##### SECTION Short_Description ##### -->
+manipulation of colors and colormaps.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+These functions are used to modify colormaps.
+A colormap is an object that contains the mapping
+between the color values stored in memory and
+the RGB values that are used to display color
+values. In general, colormaps only contain
+significant information for pseudo-color visuals,
+but even for other visual types, a colormap object
+is required in some circumstances.
+</para>
+
+<para>
+There are a couple of special colormaps that can
+be retrieved. The system colormap (retrieved
+with gdk_colormap_get_system()) is the default
+colormap of the system. If you are using GdkRGB,
+there is another colormap that is important - the
+colormap in which GdkRGB works, retrieved with
+gdk_rgb_get_cmap(). However, when using GdkRGB,
+it is not generally necessary to allocate colors
+directly.
+</para>
+
+<para>
+In previous revisions of this interface, a number
+of functions that take a #GdkColormap parameter
+were replaced with functions whose names began
+with "gdk_colormap_". This process will probably
+be extended somewhat in the future -
+gdk_color_white(), gdk_color_black(), and
+gdk_color_change() will probably become aliases.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GdkColor ##### -->
+<para>
+The #GdkColor structure is used to describe an
+allocated or unallocated color.
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry><structfield>pixel</structfield></entry>
+<entry>For allocated colors, the value used to
+draw this color on the screen.</entry>
+</row>
+
+<row>
+<entry><structfield>red</structfield></entry>
+<entry>The red component of the color. This is
+a value between 0 and 65535, with 65535 indicating
+full intensitiy.</entry>
+</row>
+
+<row>
+<entry><structfield>green</structfield></entry>
+<entry>the blue component of the color.</entry>
+</row>
+
+<row>
+<entry><structfield>blue</structfield></entry>
+<entry>the green component of the color..</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@pixel:
+@red:
+@green:
+@blue:
+
+<!-- ##### STRUCT GdkColormap ##### -->
+<para>
+The colormap structure contains the following public
+fields.
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry><structfield>size</structfield></entry>
+<entry>For pseudo-color colormaps, the number of colors
+in the colormap..</entry>
+</row>
+
+<row>
+<entry><structfield>colors</structfield></entry>
+<entry>An array containing the current values in the
+colormap. This can be used to map from pixel values
+back to RGB values. This is only meaningful for
+pseudo-color colormaps.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@size:
+@colors:
+
+<!-- ##### FUNCTION gdk_colormap_new ##### -->
+<para>
+Create a new colormap for the given visual.
+</para>
+
+@visual: a #GdkVisual.
+@allocate: if %TRUE, the newly created colormap will be
+ a private colormap, and all colors in it will be
+ allocated for the applications use.
+@Returns: the new #GdkColormap.
+
+
+<!-- ##### FUNCTION gdk_colormap_ref ##### -->
+<para>
+Increase the reference count of a colormap.
+</para>
+
+@cmap: a #GdkColormap.
+@Returns: @cmap
+
+
+<!-- ##### FUNCTION gdk_colormap_unref ##### -->
+<para>
+Decrease the reference count of a colormap. If the
+resulting reference count is zero, destroys the colormap.
+</para>
+
+@cmap: a #GdkColormap.
+
+
+<!-- ##### FUNCTION gdk_colormap_get_system ##### -->
+<para>
+Returns the system's default colormap.
+</para>
+
+@Returns: the default colormap.
+
+
+<!-- ##### FUNCTION gdk_colormap_get_system_size ##### -->
+<para>
+Returns the size of the system's default colormap.
+(See the description of struct #GdkColormap for an
+explanation of the size of a colormap.)
+</para>
+
+@Returns: the size of the system's default colormap.
+
+
+<!-- ##### FUNCTION gdk_colormap_change ##### -->
+<para>
+Change the value of the first @ncolors in a private colormap
+to match the values in the <structfield>colors</structfield>
+array in the color map. This function is obsolete and
+should not be used. See gdk_color_change().
+</para>
+
+@colormap: a #GdkColormap.
+@ncolors: the number of colors to change.
+
+
+<!-- ##### FUNCTION gdk_colormap_alloc_colors ##### -->
+<para>
+Allocates colors from a colormap.
+</para>
+
+@colormap: a #GdkColormap.
+@colors: The color values to allocate. On return, the pixel
+ values for allocated colors will be filled in.
+@ncolors: The number of colors in @colors.
+@writeable: If %TRUE, the colors are allocated writeable
+ (their values can later be changed using gdk_color_change()).
+ Writeable colors cannot be shared between applications.
+@best_match: If %TRUE, GDK will attempt to do matching against
+ existing colors if the colors cannot be allocated as
+ requested.
+@success: An array of length @ncolors. On return, this
+ indicates whether the corresponding color in @colors was
+ sucessfully allocated or not.
+@Returns: The number of colors that were not sucessfully
+ allocated.
+
+
+<!-- ##### FUNCTION gdk_colormap_alloc_color ##### -->
+<para>
+Allocate a single color from a colormap.
+</para>
+
+@colormap: a #GdkColormap.
+@color: the color to allocate. On return the
+<structfield>pixel</structfield> field will be
+filled in if allocation succeeds.
+@writeable: If %TRUE, the color is allocated writeable
+ (their values can later be changed using gdk_color_change()).
+ Writeable colors cannot be shared between applications.
+@best_match: If %TRUE, GDK will attempt to do matching against
+ existing colors if the color cannot be allocated as
+ requested.
+@Returns: %TRUE if the allocation succeeded.
+
+
+<!-- ##### FUNCTION gdk_colormap_free_colors ##### -->
+<para>
+Free previously allocated colors.
+</para>
+
+@colormap: a #GdkColormap.
+@colors: the colors to free.
+@ncolors: the number of colors in @colors.
+
+
+<!-- ##### FUNCTION gdk_colormap_get_visual ##### -->
+<para>
+Return the visual for which a given colormap was created.
+</para>
+
+@colormap: a #GdkColormap.
+@Returns: the visual of the colormap.
+
+
+<!-- ##### FUNCTION gdk_colors_store ##### -->
+<para>
+Change the value of the first @ncolors colors in
+a private colormap. This function is obsolete and
+should not be used. See gdk_color_change().
+</para>
+
+@colormap: a #GdkColormap.
+@colors: the new color values.
+@ncolors: the number of colors to change.
+
+
+<!-- ##### FUNCTION gdk_color_copy ##### -->
+<para>
+Make a copy of a color structure. The result
+must be freed using gdk_color_free().
+</para>
+
+@color: a #GdkColor.
+@Returns: a copy of @color.
+
+
+<!-- ##### FUNCTION gdk_color_free ##### -->
+<para>
+Free a color structure created with
+gdk_color_copy().
+</para>
+
+@color: a #GdkColor.
+
+
+<!-- ##### FUNCTION gdk_colors_alloc ##### -->
+<para>
+Allocate colors from a colormap. This function
+is obsolete. See gdk_colormap_alloc_colors().
+For full documentation of the fields, see
+the Xlib documentation for XAllocColorCells.
+</para>
+
+@colormap: a #GdkColormap.
+@contiguous: if %TRUE, the colors should be allocated
+ in contiguous color cells.
+@planes: an array in which to store the plane masks.
+@nplanes: the number of planes to allocate. (Or zero,
+ to indicate that the color allocation should not be
+ planar.)
+@pixels: an array into which to store allocated pixel
+ values.
+@npixels: the number of pixels in each plane to allocate.
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_colors_free ##### -->
+<para>
+Free colors allocated with gdk_colors_alloc(). This
+function is obsolete. See gdk_colormap_free_colors().
+</para>
+
+@colormap: a #GdkColormap.
+@pixels: the pixel values of the colors to free.
+@npixels: the number of values in @pixels.
+@planes: the plane masks for all planes to free, OR'd
+ together.
+
+
+<!-- ##### FUNCTION gdk_color_white ##### -->
+<para>
+Return the white color for a given colormap. The resulting
+value has already allocated been allocated.
+</para>
+
+@colormap: a #GdkColormap.
+@color: the location to store the color.
+@Returns: %TRUE if the allocation succeeded.
+
+
+<!-- ##### FUNCTION gdk_color_black ##### -->
+<para>
+Return the black color for a given colormap. The resulting
+value has already benn allocated.
+</para>
+
+@colormap: a #GdkColormap.
+@color: the location to store the color.
+@Returns: %TRUE if the allocation succeeded.
+
+
+<!-- ##### FUNCTION gdk_color_parse ##### -->
+<para>
+Parse a textual specification of a color and fill in
+the <structfield>red</structfield>,
+<structfield>green</structfield>, and
+<structfield>blue</structfield> fields of a
+#GdkColor structure. The color is <emphasis>not</emphasis>
+allocated, you must call gdk_colormap_alloc_color() yourself.
+The text string can be in any of the forms accepted
+by <function>XParseColor</function>; these include
+name for a color from <filename>rgb.txt</filename>, such as
+<literal>DarkSlateGray</literal>, or a hex specification
+such as <literal>305050</literal>.
+</para>
+
+@spec: the string specifying the color.
+@color: the #GdkColor to fill in
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_color_alloc ##### -->
+<para>
+Allocate a single color from a colormap.
+This function is obsolete. See gdk_colormap_alloc_color().
+</para>
+
+@colormap: a #GdkColormap.
+@color: The color to allocate. On return, the
+<structfield>pixel</structfield> field will be
+filled in.
+@Returns: %TRUE if the allocation succeeded.
+
+
+<!-- ##### FUNCTION gdk_color_change ##### -->
+<para>
+Change the value of a color that has already
+been allocated. If @colormap is not a private
+colormap, then the color must have been allocated
+using gdk_colormap_alloc_colors() with the
+@writeable set to %TRUE.
+</para>
+
+@colormap: a #GdkColormap.
+@color: a #GdkColor, with the color to change
+in the <structfield>pixel</structfield> field,
+and the new value in the remaining fields.
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_color_equal ##### -->
+<para>
+Compare two colors.
+</para>
+
+@colora: a #GdkColor.
+@colorb: another #GdkColor.
+@Returns: %TRUE if the two colors compare equal
+
+
+<!-- ##### FUNCTION gdk_color_hash ##### -->
+<para>
+A hash function suitable for using for a hash
+table that stores #GdkColor's.
+</para>
+
+@colora: a #GdkColor.
+@colorb: NOT USED.
+@Returns: The hash function appled to @colora
+
+
diff --git a/docs/reference/gdk/tmpl/cursors.sgml b/docs/reference/gdk/tmpl/cursors.sgml
new file mode 100644
index 000000000..3757f955c
--- /dev/null
+++ b/docs/reference/gdk/tmpl/cursors.sgml
@@ -0,0 +1,98 @@
+<!-- ##### SECTION Title ##### -->
+Cursors
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GdkCursor ##### -->
+<para>
+
+</para>
+
+@type:
+
+<!-- ##### ENUM GdkCursorType ##### -->
+<para>
+The standard cursors available.
+</para>
+
+
+<!-- ##### FUNCTION gdk_cursor_new ##### -->
+<para>
+Creates a new standard cursor.
+</para>
+
+@cursor_type: the type of the cursor.
+@Returns: a new #GdkCursor.
+
+
+<!-- ##### FUNCTION gdk_cursor_new_from_pixmap ##### -->
+<para>
+Creates a new cursor from a given pixmap and mask. Both the pixmap and mask
+must have a depth of 1 (i.e. each pixel has only 2 values - on or off).
+</para>
+<example><title>Creating a custom cursor.</title>
+<programlisting>
+/* This data is in X bitmap format, and can be created with the 'bitmap'
+ utility. */
+#define cursor1_width 16
+#define cursor1_height 16
+static unsigned char cursor1_bits[] = {
+ 0x80, 0x01, 0x40, 0x02, 0x20, 0x04, 0x10, 0x08, 0x08, 0x10, 0x04, 0x20,
+ 0x82, 0x41, 0x41, 0x82, 0x41, 0x82, 0x82, 0x41, 0x04, 0x20, 0x08, 0x10,
+ 0x10, 0x08, 0x20, 0x04, 0x40, 0x02, 0x80, 0x01};
+
+static unsigned char cursor1mask_bits[] = {
+ 0x80, 0x01, 0xc0, 0x03, 0x60, 0x06, 0x30, 0x0c, 0x18, 0x18, 0x8c, 0x31,
+ 0xc6, 0x63, 0x63, 0xc6, 0x63, 0xc6, 0xc6, 0x63, 0x8c, 0x31, 0x18, 0x18,
+ 0x30, 0x0c, 0x60, 0x06, 0xc0, 0x03, 0x80, 0x01};
+
+
+ GdkCursor *cursor;
+ GdkPixmap *source, *mask;
+ GdkColor fg = { 0, 65535, 0, 0 }; /* Red. */
+ GdkColor bg = { 0, 0, 0, 65535 }; /* Blue. */
+
+
+ source = gdk_bitmap_create_from_data (NULL, cursor1_bits,
+ cursor1_width, cursor1_height);
+ mask = gdk_bitmap_create_from_data (NULL, cursor1mask_bits,
+ cursor1_width, cursor1_height);
+ cursor = gdk_cursor_new_from_pixmap (source, mask, &amp;fg, &amp;bg, 8, 8);
+ gdk_pixmap_unref (source);
+ gdk_pixmap_unref (mask);
+
+
+ gdk_window_set_cursor (widget->window, cursor);
+</programlisting>
+</example>
+
+@source: the pixmap specifying the cursor.
+@mask: the pixmap specifying the mask, which must be the same size as @source.
+@fg: the foreground color, used for the bits in the source which are 1.
+The color does not have to be allocated first.
+@bg: the background color, used for the bits in the source which are 0.
+The color does not have to be allocated first.
+@x: the horizontal offset of the 'hotspot' of the cursor.
+@y: the vertical offset of the 'hotspot' of the cursor.
+@Returns: a new #GdkCursor.
+
+
+<!-- ##### FUNCTION gdk_cursor_destroy ##### -->
+<para>
+Destroys a cursor, freeing any resources allocated for it.
+</para>
+
+@cursor: a #GdkCursor.
+
+
diff --git a/docs/reference/gdk/tmpl/dnd.sgml b/docs/reference/gdk/tmpl/dnd.sgml
new file mode 100644
index 000000000..1d7110169
--- /dev/null
+++ b/docs/reference/gdk/tmpl/dnd.sgml
@@ -0,0 +1,187 @@
+<!-- ##### SECTION Title ##### -->
+Drag and Drop
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gdk_drag_get_selection ##### -->
+<para>
+
+</para>
+
+@context:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_drag_abort ##### -->
+<para>
+
+</para>
+
+@context:
+@time:
+
+
+<!-- ##### FUNCTION gdk_drop_reply ##### -->
+<para>
+
+</para>
+
+@context:
+@ok:
+@time:
+
+
+<!-- ##### FUNCTION gdk_drag_context_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_drag_drop ##### -->
+<para>
+
+</para>
+
+@context:
+@time:
+
+
+<!-- ##### FUNCTION gdk_drag_find_window ##### -->
+<para>
+
+</para>
+
+@context:
+@drag_window:
+@x_root:
+@y_root:
+@dest_window:
+@protocol:
+
+
+<!-- ##### FUNCTION gdk_drag_context_ref ##### -->
+<para>
+
+</para>
+
+@context:
+
+
+<!-- ##### FUNCTION gdk_drag_begin ##### -->
+<para>
+
+</para>
+
+@window:
+@targets:
+@Returns:
+<!-- # Unused Parameters # -->
+@actions:
+
+
+<!-- ##### FUNCTION gdk_drag_motion ##### -->
+<para>
+
+</para>
+
+@context:
+@dest_window:
+@protocol:
+@x_root:
+@y_root:
+@suggested_action:
+@possible_actions:
+@time:
+@Returns:
+<!-- # Unused Parameters # -->
+@action:
+
+
+<!-- ##### FUNCTION gdk_drop_finish ##### -->
+<para>
+
+</para>
+
+@context:
+@success:
+@time:
+
+
+<!-- ##### FUNCTION gdk_drag_get_protocol ##### -->
+<para>
+
+</para>
+
+@xid:
+@protocol:
+@Returns:
+
+
+<!-- ##### ENUM GdkDragProtocol ##### -->
+<para>
+
+</para>
+
+@GDK_DRAG_PROTO_MOTIF:
+@GDK_DRAG_PROTO_XDND:
+@GDK_DRAG_PROTO_ROOTWIN:
+@GDK_DRAG_PROTO_NONE:
+
+<!-- ##### FUNCTION gdk_drag_context_unref ##### -->
+<para>
+
+</para>
+
+@context:
+
+
+<!-- ##### STRUCT GdkDragContext ##### -->
+<para>
+
+</para>
+
+@protocol:
+@is_source:
+@source_window:
+@dest_window:
+@targets:
+@actions:
+@suggested_action:
+@action:
+@start_time:
+
+<!-- ##### ENUM GdkDragAction ##### -->
+<para>
+
+</para>
+
+@GDK_ACTION_DEFAULT:
+@GDK_ACTION_COPY:
+@GDK_ACTION_MOVE:
+@GDK_ACTION_LINK:
+@GDK_ACTION_PRIVATE:
+@GDK_ACTION_ASK:
+
+<!-- ##### FUNCTION gdk_drag_status ##### -->
+<para>
+
+</para>
+
+@context:
+@action:
+@time:
+
+
diff --git a/docs/reference/gdk/tmpl/drawing.sgml b/docs/reference/gdk/tmpl/drawing.sgml
new file mode 100644
index 000000000..159690bac
--- /dev/null
+++ b/docs/reference/gdk/tmpl/drawing.sgml
@@ -0,0 +1,260 @@
+<!-- ##### SECTION Title ##### -->
+Drawing Primitives
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM GdkFill ##### -->
+<para>
+
+</para>
+
+@GDK_SOLID:
+@GDK_TILED:
+@GDK_STIPPLED:
+@GDK_OPAQUE_STIPPLED:
+
+<!-- ##### ENUM GdkFillRule ##### -->
+<para>
+
+</para>
+
+@GDK_EVEN_ODD_RULE:
+@GDK_WINDING_RULE:
+
+<!-- ##### ENUM GdkLineStyle ##### -->
+<para>
+
+</para>
+
+@GDK_LINE_SOLID:
+@GDK_LINE_ON_OFF_DASH:
+@GDK_LINE_DOUBLE_DASH:
+
+<!-- ##### ENUM GdkCapStyle ##### -->
+<para>
+
+</para>
+
+@GDK_CAP_NOT_LAST:
+@GDK_CAP_BUTT:
+@GDK_CAP_ROUND:
+@GDK_CAP_PROJECTING:
+
+<!-- ##### ENUM GdkJoinStyle ##### -->
+<para>
+
+</para>
+
+@GDK_JOIN_MITER:
+@GDK_JOIN_ROUND:
+@GDK_JOIN_BEVEL:
+
+<!-- ##### FUNCTION gdk_draw_point ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@x:
+@y:
+
+
+<!-- ##### FUNCTION gdk_draw_line ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@x1:
+@y1:
+@x2:
+@y2:
+
+
+<!-- ##### FUNCTION gdk_draw_rectangle ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@filled:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gdk_draw_arc ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@filled:
+@x:
+@y:
+@width:
+@height:
+@angle1:
+@angle2:
+
+
+<!-- ##### FUNCTION gdk_draw_polygon ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@filled:
+@points:
+@npoints:
+
+
+<!-- ##### FUNCTION gdk_draw_string ##### -->
+<para>
+
+</para>
+
+@drawable:
+@font:
+@gc:
+@x:
+@y:
+@string:
+
+
+<!-- ##### FUNCTION gdk_draw_text ##### -->
+<para>
+
+</para>
+
+@drawable:
+@font:
+@gc:
+@x:
+@y:
+@text:
+@text_length:
+
+
+<!-- ##### FUNCTION gdk_draw_text_wc ##### -->
+<para>
+
+</para>
+
+@drawable:
+@font:
+@gc:
+@x:
+@y:
+@text:
+@text_length:
+
+
+<!-- ##### FUNCTION gdk_draw_pixmap ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@src:
+@xsrc:
+@ysrc:
+@xdest:
+@ydest:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gdk_draw_bitmap ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@src:
+@xsrc:
+@ysrc:
+@xdest:
+@ydest:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gdk_draw_image ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@image:
+@xsrc:
+@ysrc:
+@xdest:
+@ydest:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gdk_draw_points ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@points:
+@npoints:
+
+
+<!-- ##### FUNCTION gdk_draw_segments ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@segs:
+@nsegs:
+
+
+<!-- ##### STRUCT GdkSegment ##### -->
+<para>
+
+</para>
+
+@x1:
+@y1:
+@x2:
+@y2:
+
+<!-- ##### FUNCTION gdk_draw_lines ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@points:
+@npoints:
+
+
diff --git a/docs/reference/gdk/tmpl/event_structs.sgml b/docs/reference/gdk/tmpl/event_structs.sgml
new file mode 100644
index 000000000..e2dac3942
--- /dev/null
+++ b/docs/reference/gdk/tmpl/event_structs.sgml
@@ -0,0 +1,257 @@
+<!-- ##### SECTION Title ##### -->
+Event Structures
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GdkEventAny ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+
+<!-- ##### STRUCT GdkEventExpose ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@area:
+@count:
+
+<!-- ##### STRUCT GdkEventNoExpose ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+
+<!-- ##### STRUCT GdkEventVisibility ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@state:
+
+<!-- ##### ENUM GdkVisibilityState ##### -->
+<para>
+
+</para>
+
+@GDK_VISIBILITY_UNOBSCURED:
+@GDK_VISIBILITY_PARTIAL:
+@GDK_VISIBILITY_FULLY_OBSCURED:
+
+<!-- ##### STRUCT GdkEventMotion ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@time:
+@x:
+@y:
+@pressure:
+@xtilt:
+@ytilt:
+@state:
+@is_hint:
+@source:
+@deviceid:
+@x_root:
+@y_root:
+
+<!-- ##### STRUCT GdkEventButton ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@time:
+@x:
+@y:
+@pressure:
+@xtilt:
+@ytilt:
+@state:
+@button:
+@source:
+@deviceid:
+@x_root:
+@y_root:
+
+<!-- ##### STRUCT GdkEventKey ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@time:
+@state:
+@keyval:
+@length:
+@string:
+
+<!-- ##### STRUCT GdkEventCrossing ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@subwindow:
+@time:
+@x:
+@y:
+@x_root:
+@y_root:
+@mode:
+@detail:
+@focus:
+@state:
+
+<!-- ##### ENUM GdkCrossingMode ##### -->
+<para>
+
+</para>
+
+@GDK_CROSSING_NORMAL:
+@GDK_CROSSING_GRAB:
+@GDK_CROSSING_UNGRAB:
+
+<!-- ##### ENUM GdkNotifyType ##### -->
+<para>
+
+</para>
+
+@GDK_NOTIFY_ANCESTOR:
+@GDK_NOTIFY_VIRTUAL:
+@GDK_NOTIFY_INFERIOR:
+@GDK_NOTIFY_NONLINEAR:
+@GDK_NOTIFY_NONLINEAR_VIRTUAL:
+@GDK_NOTIFY_UNKNOWN:
+
+<!-- ##### STRUCT GdkEventFocus ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@in:
+
+<!-- ##### STRUCT GdkEventConfigure ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@x:
+@y:
+@width:
+@height:
+
+<!-- ##### STRUCT GdkEventProperty ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@atom:
+@time:
+@state:
+
+<!-- ##### STRUCT GdkEventSelection ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@selection:
+@target:
+@property:
+@requestor:
+@time:
+
+<!-- ##### STRUCT GdkEventProximity ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@time:
+@source:
+@deviceid:
+
+<!-- ##### STRUCT GdkEventClient ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@message_type:
+@data_format:
+
+<!-- ##### STRUCT GdkEventDND ##### -->
+<para>
+
+</para>
+
+@type:
+@window:
+@send_event:
+@context:
+@time:
+@x_root:
+@y_root:
+
+<!-- ##### UNION GdkEvent ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### TYPEDEF GdkXEvent ##### -->
+<para>
+
+</para>
+
+
diff --git a/docs/reference/gdk/tmpl/events.sgml b/docs/reference/gdk/tmpl/events.sgml
new file mode 100644
index 000000000..126950238
--- /dev/null
+++ b/docs/reference/gdk/tmpl/events.sgml
@@ -0,0 +1,185 @@
+<!-- ##### SECTION Title ##### -->
+Events
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM GdkEventType ##### -->
+<para>
+
+</para>
+
+@GDK_NOTHING:
+@GDK_DELETE:
+@GDK_DESTROY:
+@GDK_EXPOSE:
+@GDK_MOTION_NOTIFY:
+@GDK_BUTTON_PRESS:
+@GDK_2BUTTON_PRESS:
+@GDK_3BUTTON_PRESS:
+@GDK_BUTTON_RELEASE:
+@GDK_KEY_PRESS:
+@GDK_KEY_RELEASE:
+@GDK_ENTER_NOTIFY:
+@GDK_LEAVE_NOTIFY:
+@GDK_FOCUS_CHANGE:
+@GDK_CONFIGURE:
+@GDK_MAP:
+@GDK_UNMAP:
+@GDK_PROPERTY_NOTIFY:
+@GDK_SELECTION_CLEAR:
+@GDK_SELECTION_REQUEST:
+@GDK_SELECTION_NOTIFY:
+@GDK_PROXIMITY_IN:
+@GDK_PROXIMITY_OUT:
+@GDK_DRAG_ENTER:
+@GDK_DRAG_LEAVE:
+@GDK_DRAG_MOTION:
+@GDK_DRAG_STATUS:
+@GDK_DROP_START:
+@GDK_DROP_FINISHED:
+@GDK_CLIENT_EVENT:
+@GDK_VISIBILITY_NOTIFY:
+@GDK_NO_EXPOSE:
+
+<!-- ##### ENUM GdkEventMask ##### -->
+<para>
+
+</para>
+
+@GDK_EXPOSURE_MASK:
+@GDK_POINTER_MOTION_MASK:
+@GDK_POINTER_MOTION_HINT_MASK:
+@GDK_BUTTON_MOTION_MASK:
+@GDK_BUTTON1_MOTION_MASK:
+@GDK_BUTTON2_MOTION_MASK:
+@GDK_BUTTON3_MOTION_MASK:
+@GDK_BUTTON_PRESS_MASK:
+@GDK_BUTTON_RELEASE_MASK:
+@GDK_KEY_PRESS_MASK:
+@GDK_KEY_RELEASE_MASK:
+@GDK_ENTER_NOTIFY_MASK:
+@GDK_LEAVE_NOTIFY_MASK:
+@GDK_FOCUS_CHANGE_MASK:
+@GDK_STRUCTURE_MASK:
+@GDK_PROPERTY_CHANGE_MASK:
+@GDK_VISIBILITY_NOTIFY_MASK:
+@GDK_PROXIMITY_IN_MASK:
+@GDK_PROXIMITY_OUT_MASK:
+@GDK_SUBSTRUCTURE_MASK:
+@GDK_ALL_EVENTS_MASK:
+
+<!-- ##### FUNCTION gdk_events_pending ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_event_peek ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_event_get ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_event_get_graphics_expose ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_event_put ##### -->
+<para>
+
+</para>
+
+@event:
+
+
+<!-- ##### FUNCTION gdk_event_copy ##### -->
+<para>
+
+</para>
+
+@event:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_event_free ##### -->
+<para>
+
+</para>
+
+@event:
+
+
+<!-- ##### FUNCTION gdk_event_get_time ##### -->
+<para>
+
+</para>
+
+@event:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_event_handler_set ##### -->
+<para>
+
+</para>
+
+@func:
+@data:
+@notify:
+
+
+<!-- ##### FUNCTION gdk_event_send_client_message ##### -->
+<para>
+
+</para>
+
+@event:
+@xid:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION GdkEventFunc ##### -->
+<para>
+
+</para>
+
+@event:
+@data:
+
+
+<!-- ##### FUNCTION gdk_event_send_clientmessage_toall ##### -->
+<para>
+
+</para>
+
+@event:
+
+
diff --git a/docs/reference/gdk/tmpl/fonts.sgml b/docs/reference/gdk/tmpl/fonts.sgml
new file mode 100644
index 000000000..841b58208
--- /dev/null
+++ b/docs/reference/gdk/tmpl/fonts.sgml
@@ -0,0 +1,581 @@
+<!-- ##### SECTION Title ##### -->
+Fonts
+
+<!-- ##### SECTION Short_Description ##### -->
+loading and manipulating fonts
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The GdkFont data type represents a font for drawing on
+the screen. These functions provide support for
+loading fonts, and also for determining the dimensions
+of characters and strings when drawn with a particular
+font.
+</para>
+
+<para>
+Fonts in X are specified by a
+<firstterm>X Logical Font Description</firstterm>.
+The following description is considerably simplified.
+For definitive information about XLFD's see the
+X reference documentation. A X Logical Font Description (XLFD)
+consists of a sequence of fields separated (and surrounded by) '-'
+characters. For example, Adobe Helvetica Bold 12 pt, has the
+full description:
+
+<programlisting>
+"-adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1"
+</programlisting>
+</para>
+
+<para>
+The fields in the XLFD are:
+
+<informaltable pgwide=1 frame="none">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>Foundry</entry>
+<entry>the company or organization where the font originated.</entry>
+</row>
+
+<row>
+<entry>Family</entry>
+<entry>the font family (a group of related font designs).</entry>
+</row>
+
+<row>
+<entry>Weight</entry>
+<entry>A name for the font's typographic weight
+For example, 'bold' or 'medium').</entry>
+</row>
+
+<row>
+<entry>Slant</entry>
+<entry>The slant of the font. Common values are 'R' for Roman,
+'I' for italoc, and 'O' for oblique.</entry>
+</row>
+
+<row>
+<entry>Set Width</entry>
+<entry>A name for the width of the font. For example,
+'normal' or 'condensed'.</entry>
+</row>
+
+<row>
+<entry>Add Style</entry>
+<entry>Additional information to distinguish a font from
+other fonts of the same family.</entry>
+</row>
+
+<row>
+<entry>Pixel Size</entry>
+<entry>The body size of the font in pixels.</entry>
+</row>
+
+<row>
+<entry>Point Size</entry>
+<entry>The body size of the font in 10ths of a point.
+(A <firstterm>point</firstterm> is 1/72.27 inch) </entry>
+</row>
+
+<row>
+<entry>Resolution X</entry>
+<entry>The horizontal resolution that the font was designed for.</entry>
+</row>
+
+<row>
+<entry>Resolution Y</entry>
+<entry>The vertical resolution that the font was designed for .</entry>
+</row>
+
+<row>
+<entry>Spacing</entry>
+<entry>The type of spacing for the font - can be 'p' for proportional,
+'m' for monospaced or 'c' for charcell.</entry>
+</row>
+
+<row>
+<entry>Average Width</entry>
+<entry>The average width of a glyph in the font. For monospaced
+and charcell fonts, all glyphs in the font have this width</entry>
+</row>
+
+<row>
+<entry>Charset Registry</entry>
+<entry>The registration authority that owns the encoding for
+the font. Together with the Charset Encoding field, this
+defines the character set for the font.</entry>
+</row>
+
+<row>
+<entry>Charset Encoding</entry>
+<entry>An identifier for the particular character set encoding.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+<para>
+When specifying a font via a X logical Font Description,
+'*' can be used as a wildcard to match any portion of
+the XLFD. For instance, the above example could
+also be specified as
+
+<programlisting>
+"-*-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-1"
+</programlisting>
+
+It is generally a good idea to use wildcards for any
+portion of the XLFD that your program does not care
+about specifically, since that will improve the
+chances of finding a matching font.
+</para>
+
+<para>
+A <firstterm>fontset</firstterm> is a list of fonts
+that is used for drawing international text that may
+contain characters from a number of different character
+sets. It is represented by a list of XLFD's.
+</para>
+
+<para>
+The font for a given character set is determined by going
+through the list of XLFD's in order. For each one, if
+the registry and and encoding fields match the desired
+character set, then that font is used, otherwise if
+the XLFD contains wild-cards for the registry and encoding
+fields, the registry and encoding for the desired character
+set are subsituted in and a lookup is done. If a match is found
+that font is used. Otherwise, processing continues
+on to the next font in the list.
+</para>
+
+<para>
+The functions for determining the metrics of a string
+come in several varieties that can take a number
+of forms of string input:
+
+<variablelist>
+ <varlistentry>
+ <term>8-bit string</term>
+ <listitem><para>
+ When using functions like gdk_string_width() that
+ take a <type>gchar *</type>, if the font is of type
+ %GDK_FONT_FONT and is an 8-bit font, then each
+ <type>gchar</type> indexes the glyphs in the font directly.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>16-bit string</term>
+ <listitem><para>
+ For functions taking a <type>gchar *</type>, if the
+ font is of type %GDK_FONT_FONT, and is a 16-bit
+ font, then the <type>gchar *</type> argument is
+ interpreted as a <type>guint16 *</type> cast to
+ a <type>gchar *</type> and each <type>guint16</type>
+ indexes the glyphs in the font directly.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Multibyte string</term>
+ <listitem><para>
+ For functions taking a <type>gchar *</type>, if the
+ font is of type %GDK_FONT_FONTSET, then the input
+ string is interpreted as a <firstterm>multibyte</firstterm>
+ encoded according to the current locale. (A multibyte
+ string is one in which each character may consist
+ of one or more bytes, with different lengths for different
+ characters in the string). They can be converted to and
+ from wide character strings (see below) using
+ gdk_wcstombs() and gdk_mbstowcs().) The string will
+ be rendered using one or more different fonts from
+ the fontset.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Wide character string</term>
+ <listitem><para>
+ For a number of the text-measuring functions, GTK+
+ provides a variant (such as gdk_text_width_wc()) which
+ takes a <type>GdkWChar *</type> instead of a
+ <type>gchar *</type>. The input is then taken to
+ be a wide character string in the encoding of the
+ current locale. (A wide character string is a string
+ in which each character consists of several bytes,
+ and the width of each character in the string is
+ constant.)
+ </para></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+<para>
+GDK provides functions to determine a number of different
+measurements (metrics) for a given string. (Need diagram
+here).
+
+<variablelist>
+ <varlistentry>
+ <term>ascent</term>
+ <listitem><para>
+ The vertical distance from the origin of the drawing
+ opereration to the top of the drawn character.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>descent</term>
+ <listitem><para>
+ The vertical distance from the origin of the drawing
+ opereration to the bottom of the drawn character.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>left bearing</term>
+ <listitem><para>
+ The horizontal distance from the origin of the drawing
+ operation to the left-most part of the drawn character.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>right bearing</term>
+ <listitem><para>
+ The horizontal distance from the origin of the drawing
+ operation to the right-most part of the drawn character.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>width bearing</term>
+ <listitem><para>
+ The horizontal distance from the origin of the drawing
+ operation to the correct origin for drawing another
+ string to follow the current one. Depending on the
+ font, this could be greater than or less than the
+ right bearing.
+ </para></listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GdkFont ##### -->
+<para>
+The GdkFont structure represents a font or fontset. It
+contains the following public fields. A new GdkFont
+structure is returned by gdk_font_load() or gdk_fontset_load(),
+and is reference counted with gdk_font_ref() and gdk_font_unref()
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry><structfield>type</structfield></entry>
+<entry>a value of type #GdkFontType which indicates
+whether this font is a single font or a fontset.</entry>
+</row>
+
+<row>
+<entry><structfield>ascent</structfield></entry>
+<entry>the maximum distance that the font, when drawn,
+ascends above the baseline.</entry>
+</row>
+
+<row>
+<entry><structfield>descent</structfield></entry>
+<entry>the maximum distance that the font, when drawn,
+descends below the baseline.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@type:
+@ascent:
+@descent:
+
+<!-- ##### ENUM GdkFontType ##### -->
+<para>
+Indicates the type of a font. The possible values
+are currently:
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GDK_FONT_FONT</entry>
+<entry>the font is a single font.</entry>
+</row>
+
+<row>
+<entry>GDK_FONT_FONT</entry>
+<entry>the font is a fontset.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@GDK_FONT_FONT:
+@GDK_FONT_FONTSET:
+
+<!-- ##### FUNCTION gdk_font_load ##### -->
+<para>
+Loads a font.
+</para>
+
+<para>
+Currently, this function will always return a new
+font, however, in the future, it may be changed to
+look up the font in a cache. You should make no
+assumptions about the initial reference count.
+</para>
+
+@font_name: a XLFD describing the font to load.
+@Returns: a #GdkFont, or NULL if the font could not be loaded.
+
+
+<!-- ##### FUNCTION gdk_fontset_load ##### -->
+<para>
+Loads a fontset.
+</para>
+<para>
+Currently this function will always return a new
+font, however, in the future, it may be changed to
+look up the font in a cache. You should make no
+assumptions about the initial reference count.
+</para>
+
+@fontset_name: a comma-separated list of XLFDs describing
+ the component fonts of the fontset to load.
+@Returns: a #GdkFont, or NULL if the fontset could not be loaded.
+
+
+<!-- ##### FUNCTION gdk_font_ref ##### -->
+<para>
+Increase the reference count of a count by one.
+</para>
+
+@font: a #GdkFont
+@Returns: @font
+
+
+<!-- ##### FUNCTION gdk_font_unref ##### -->
+<para>
+Decrease the reference count of a count by one.
+If the result is zero, destroys the font.
+</para>
+
+@font: a #GdkFont
+
+
+<!-- ##### FUNCTION gdk_font_id ##### -->
+<para>
+Returns the X Font ID for the given font.
+</para>
+
+@font: a #GdkFont.
+@Returns: the numeric X Font ID
+
+
+<!-- ##### FUNCTION gdk_font_equal ##### -->
+<para>
+Compares two fonts for equality. Single fonts compare equal
+if they have the same X font ID. This operation does
+not currently work correctly for fontsets.
+</para>
+
+@fonta: a #GdkFont.
+@fontb: another #GdkFont.
+@Returns: %TRUE if the fonts are equal.
+
+
+<!-- ##### FUNCTION gdk_string_extents ##### -->
+<para>
+Returns the metrics of a NULL-terminated string.
+</para>
+
+@font: a #GdkFont.
+@string: the NULL-terminated string to measure.
+@lbearing: the left bearing of the string.
+@rbearing: the right bearing of the string.
+@width: the width of the string.
+@ascent: the ascent of the string.
+@descent: the descent of the string.
+
+
+<!-- ##### FUNCTION gdk_text_extents ##### -->
+<para>
+Returns the metrics of a string.
+</para>
+
+@font: a #GdkFont
+@text: the text to measure
+@text_length: the length of the text in bytes. (If the
+ font is a 16-bit font, this is twice the length
+ of the text in characters.)
+@lbearing: the left bearing of the string.
+@rbearing: the right bearing of the string.
+@width: the width of the string.
+@ascent: the ascent of the string.
+@descent: the descent of the string.
+
+
+<!-- ##### FUNCTION gdk_text_extents_wc ##### -->
+<para>
+Returns the metrics of a string of wide characters.
+</para>
+
+@font: a #GdkFont
+@text: the text to measure.
+@text_length: the length of the text in character.
+@lbearing: the left bearing of the string.
+@rbearing: the right bearing of the string.
+@width: the width of the string.
+@ascent: the ascent of the string.
+@descent: the descent of the string.
+
+
+<!-- ##### FUNCTION gdk_string_width ##### -->
+<para>
+Determine the width of a NULL-terminated string.
+(The distance from the origin of the string to the
+point where the next string in a sequence of strings
+should be drawn)
+</para>
+
+@font: a #GdkFont
+@string: the NULL-terminated string to measure
+@Returns: the width of the string in pixels.
+
+
+<!-- ##### FUNCTION gdk_text_width ##### -->
+<para>
+Determine the width of a given string.
+</para>
+
+@font: a #GdkFont
+@text: the text to measure.
+@text_length: the length of the text in bytes.
+@Returns: the width of the string in pixels.
+
+
+<!-- ##### FUNCTION gdk_text_width_wc ##### -->
+<para>
+Determine the width of a given wide-character string.
+</para>
+
+@font: a #GdkFont
+@text: the text to measure.
+@text_length: the length of the text in characters.
+@Returns: the width of the string in pixels.
+
+
+<!-- ##### FUNCTION gdk_char_width ##### -->
+<para>
+Determine the width of a given character.
+</para>
+
+@font: a #GdkFont
+@character: the character to measure.
+@Returns: the width of the character in pixels.
+
+
+<!-- ##### FUNCTION gdk_char_width_wc ##### -->
+<para>
+Determine the width of a given wide character. (Encoded
+in the wide-character encoding of the current locale).
+</para>
+
+@font: a #GdkFont
+@character: the character to measure.
+@Returns: the width of the character in pixels.
+
+
+<!-- ##### FUNCTION gdk_string_measure ##### -->
+<para>
+Determines the distance from the origin to the rightmost
+portion of a NULL-terminated string when drawn. This is not the
+correct value for determining the origin of the next
+portion when drawing text in multiple pieces.
+See gdk_string_width().
+</para>
+
+@font: a #GdkFont
+@string: the NULL-terminated string to measure.
+@Returns: the right bearing of the string in pixels.
+
+
+<!-- ##### FUNCTION gdk_text_measure ##### -->
+<para>
+Determines the distance from the origin to the rightmost
+portion of a string when drawn. This is not the
+correct value for determining the origin of the next
+portion when drawing text in multiple pieces.
+See gdk_text_width().
+</para>
+
+@font: a #GdkFont
+@text: the text to measure.
+@text_length: the length of the text in bytes.
+@Returns: the right bearing of the string in pixels.
+
+
+<!-- ##### FUNCTION gdk_char_measure ##### -->
+<para>
+Determines the distance from the origin to the rightmost
+portion of a character when drawn. This is not the
+correct value for determining the origin of the next
+portion when drawing text in multiple pieces.
+</para>
+
+@font: a #GdkFont
+@character: the character to measure.
+@Returns: the right bearing of the character in pixels.
+
+
+<!-- ##### FUNCTION gdk_string_height ##### -->
+<para>
+Determines the total height of a given NULL-terminated
+string. This value is not generally useful, because you
+cannot determine how this total height will be drawn in
+relation to the baseline. See gdk_string_extents().
+</para>
+
+@font: a #GdkFont
+@string: the NULL-terminated string to measure.
+@Returns: the height of the string in pixels.
+
+
+<!-- ##### FUNCTION gdk_text_height ##### -->
+<para>
+Determines the total height of a given string.
+This value is not generally useful, because you cannot
+determine how this total height will be drawn in
+relation to the baseline. See gdk_text_extents().
+</para>
+
+@font: a #GdkFont
+@text: the text to measure.
+@text_length: the length of the text in bytes.
+@Returns: the height of the string in pixels.
+
+
+<!-- ##### FUNCTION gdk_char_height ##### -->
+<para>
+Determines the total height of a given character.
+This value is not generally useful, because you cannot
+determine how this total height will be drawn in
+relation to the baseline. See gdk_text_extents().
+</para>
+
+@font: a #GdkFont
+@character: the character to measure.
+@Returns: the height of the character in pixels.
+
+
diff --git a/docs/reference/gdk/tmpl/gcs.sgml b/docs/reference/gdk/tmpl/gcs.sgml
new file mode 100644
index 000000000..101e3a305
--- /dev/null
+++ b/docs/reference/gdk/tmpl/gcs.sgml
@@ -0,0 +1,314 @@
+<!-- ##### SECTION Title ##### -->
+Graphics Contexts
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GdkGC ##### -->
+<para>
+
+</para>
+
+@dummy_var:
+
+<!-- ##### STRUCT GdkGCValues ##### -->
+<para>
+
+</para>
+
+@foreground:
+@background:
+@font:
+@function:
+@fill:
+@tile:
+@stipple:
+@clip_mask:
+@subwindow_mode:
+@ts_x_origin:
+@ts_y_origin:
+@clip_x_origin:
+@clip_y_origin:
+@graphics_exposures:
+@line_width:
+@line_style:
+@cap_style:
+@join_style:
+
+<!-- ##### ENUM GdkGCValuesMask ##### -->
+<para>
+
+</para>
+
+@GDK_GC_FOREGROUND:
+@GDK_GC_BACKGROUND:
+@GDK_GC_FONT:
+@GDK_GC_FUNCTION:
+@GDK_GC_FILL:
+@GDK_GC_TILE:
+@GDK_GC_STIPPLE:
+@GDK_GC_CLIP_MASK:
+@GDK_GC_SUBWINDOW:
+@GDK_GC_TS_X_ORIGIN:
+@GDK_GC_TS_Y_ORIGIN:
+@GDK_GC_CLIP_X_ORIGIN:
+@GDK_GC_CLIP_Y_ORIGIN:
+@GDK_GC_EXPOSURES:
+@GDK_GC_LINE_WIDTH:
+@GDK_GC_LINE_STYLE:
+@GDK_GC_CAP_STYLE:
+@GDK_GC_JOIN_STYLE:
+
+<!-- ##### ENUM GdkFunction ##### -->
+<para>
+
+</para>
+
+@GDK_COPY:
+@GDK_INVERT:
+@GDK_XOR:
+@GDK_CLEAR:
+@GDK_AND:
+@GDK_AND_REVERSE:
+@GDK_AND_INVERT:
+@GDK_NOOP:
+@GDK_OR:
+@GDK_EQUIV:
+@GDK_OR_REVERSE:
+@GDK_COPY_INVERT:
+@GDK_OR_INVERT:
+@GDK_NAND:
+@GDK_SET:
+
+<!-- ##### FUNCTION gdk_gc_new ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_gc_new_with_values ##### -->
+<para>
+
+</para>
+
+@window:
+@values:
+@values_mask:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_gc_ref ##### -->
+<para>
+
+</para>
+
+@gc:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_gc_unref ##### -->
+<para>
+
+</para>
+
+@gc:
+
+
+<!-- ##### FUNCTION gdk_gc_destroy ##### -->
+<para>
+
+</para>
+
+@gc:
+
+
+<!-- ##### FUNCTION gdk_gc_get_values ##### -->
+<para>
+
+</para>
+
+@gc:
+@values:
+
+
+<!-- ##### FUNCTION gdk_gc_set_foreground ##### -->
+<para>
+
+</para>
+
+@gc:
+@color:
+
+
+<!-- ##### FUNCTION gdk_gc_set_background ##### -->
+<para>
+
+</para>
+
+@gc:
+@color:
+
+
+<!-- ##### FUNCTION gdk_gc_set_font ##### -->
+<para>
+
+</para>
+
+@gc:
+@font:
+
+
+<!-- ##### FUNCTION gdk_gc_set_function ##### -->
+<para>
+
+</para>
+
+@gc:
+@function:
+
+
+<!-- ##### FUNCTION gdk_gc_set_fill ##### -->
+<para>
+
+</para>
+
+@gc:
+@fill:
+
+
+<!-- ##### FUNCTION gdk_gc_set_tile ##### -->
+<para>
+
+</para>
+
+@gc:
+@tile:
+
+
+<!-- ##### FUNCTION gdk_gc_set_stipple ##### -->
+<para>
+
+</para>
+
+@gc:
+@stipple:
+
+
+<!-- ##### FUNCTION gdk_gc_set_ts_origin ##### -->
+<para>
+
+</para>
+
+@gc:
+@x:
+@y:
+
+
+<!-- ##### FUNCTION gdk_gc_set_clip_origin ##### -->
+<para>
+
+</para>
+
+@gc:
+@x:
+@y:
+
+
+<!-- ##### FUNCTION gdk_gc_set_clip_mask ##### -->
+<para>
+
+</para>
+
+@gc:
+@mask:
+
+
+<!-- ##### FUNCTION gdk_gc_set_clip_rectangle ##### -->
+<para>
+
+</para>
+
+@gc:
+@rectangle:
+
+
+<!-- ##### FUNCTION gdk_gc_set_clip_region ##### -->
+<para>
+
+</para>
+
+@gc:
+@region:
+
+
+<!-- ##### FUNCTION gdk_gc_set_subwindow ##### -->
+<para>
+
+</para>
+
+@gc:
+@mode:
+
+
+<!-- ##### ENUM GdkSubwindowMode ##### -->
+<para>
+
+</para>
+
+@GDK_CLIP_BY_CHILDREN:
+@GDK_INCLUDE_INFERIORS:
+
+<!-- ##### FUNCTION gdk_gc_set_exposures ##### -->
+<para>
+
+</para>
+
+@gc:
+@exposures:
+
+
+<!-- ##### FUNCTION gdk_gc_set_line_attributes ##### -->
+<para>
+
+</para>
+
+@gc:
+@line_width:
+@line_style:
+@cap_style:
+@join_style:
+
+
+<!-- ##### FUNCTION gdk_gc_set_dashes ##### -->
+<para>
+
+</para>
+
+@gc:
+@dash_offset:
+@dash_list:
+@n:
+
+
+<!-- ##### FUNCTION gdk_gc_copy ##### -->
+<para>
+
+</para>
+
+@dst_gc:
+@src_gc:
+
+
diff --git a/docs/reference/gdk/tmpl/gdk-unused.sgml b/docs/reference/gdk/tmpl/gdk-unused.sgml
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/docs/reference/gdk/tmpl/gdk-unused.sgml
diff --git a/docs/reference/gdk/tmpl/general.sgml b/docs/reference/gdk/tmpl/general.sgml
new file mode 100644
index 000000000..a2fe3a5b2
--- /dev/null
+++ b/docs/reference/gdk/tmpl/general.sgml
@@ -0,0 +1,265 @@
+<!-- ##### SECTION Title ##### -->
+General
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gdk_init ##### -->
+<para>
+
+</para>
+
+@argc:
+@argv:
+
+
+<!-- ##### FUNCTION gdk_init_check ##### -->
+<para>
+
+</para>
+
+@argc:
+@argv:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_exit ##### -->
+<para>
+
+</para>
+
+@error_code:
+
+
+<!-- ##### ENUM GdkStatus ##### -->
+<para>
+
+</para>
+
+@GDK_OK:
+@GDK_ERROR:
+@GDK_ERROR_PARAM:
+@GDK_ERROR_FILE:
+@GDK_ERROR_MEM:
+
+<!-- ##### MACRO GDK_NONE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GDK_CURRENT_TIME ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GDK_PRIORITY_EVENTS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_set_locale ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_get_show_events ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_set_show_events ##### -->
+<para>
+
+</para>
+
+@show_events:
+
+
+<!-- ##### FUNCTION gdk_add_client_message_filter ##### -->
+<para>
+
+</para>
+
+@message_type:
+@func:
+@data:
+
+
+<!-- ##### FUNCTION gdk_set_sm_client_id ##### -->
+<para>
+
+</para>
+
+@sm_client_id:
+
+
+<!-- ##### FUNCTION gdk_get_use_xshm ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_set_use_xshm ##### -->
+<para>
+
+</para>
+
+@use_xshm:
+
+
+<!-- ##### FUNCTION gdk_get_display ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_screen_width ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_screen_height ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_screen_width_mm ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_screen_height_mm ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_pointer_grab ##### -->
+<para>
+
+</para>
+
+@window:
+@owner_events:
+@event_mask:
+@confine_to:
+@cursor:
+@time:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_pointer_ungrab ##### -->
+<para>
+
+</para>
+
+@time:
+
+
+<!-- ##### FUNCTION gdk_keyboard_grab ##### -->
+<para>
+
+</para>
+
+@window:
+@owner_events:
+@time:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_keyboard_ungrab ##### -->
+<para>
+
+</para>
+
+@time:
+
+
+<!-- ##### FUNCTION gdk_pointer_is_grabbed ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_flush ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_beep ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_key_repeat_disable ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_key_repeat_restore ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_error_trap_push ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_error_trap_pop ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
diff --git a/docs/reference/gdk/tmpl/images.sgml b/docs/reference/gdk/tmpl/images.sgml
new file mode 100644
index 000000000..cb7744411
--- /dev/null
+++ b/docs/reference/gdk/tmpl/images.sgml
@@ -0,0 +1,107 @@
+<!-- ##### SECTION Title ##### -->
+Images
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GdkImage ##### -->
+<para>
+
+</para>
+
+@type:
+@visual:
+@byte_order:
+@width:
+@height:
+@depth:
+@bpp:
+@bpl:
+@mem:
+
+<!-- ##### ENUM GdkImageType ##### -->
+<para>
+
+</para>
+
+@GDK_IMAGE_NORMAL:
+@GDK_IMAGE_SHARED:
+@GDK_IMAGE_FASTEST:
+
+<!-- ##### FUNCTION gdk_image_new_bitmap ##### -->
+<para>
+
+</para>
+
+@visual:
+@data:
+@width:
+@height:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_image_new ##### -->
+<para>
+
+</para>
+
+@type:
+@visual:
+@width:
+@height:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_image_get ##### -->
+<para>
+
+</para>
+
+@window:
+@x:
+@y:
+@width:
+@height:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_image_put_pixel ##### -->
+<para>
+
+</para>
+
+@image:
+@x:
+@y:
+@pixel:
+
+
+<!-- ##### FUNCTION gdk_image_get_pixel ##### -->
+<para>
+
+</para>
+
+@image:
+@x:
+@y:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_image_destroy ##### -->
+<para>
+
+</para>
+
+@image:
+
+
diff --git a/docs/reference/gdk/tmpl/input.sgml b/docs/reference/gdk/tmpl/input.sgml
new file mode 100644
index 000000000..057b1c1c5
--- /dev/null
+++ b/docs/reference/gdk/tmpl/input.sgml
@@ -0,0 +1,130 @@
+<!-- ##### SECTION Title ##### -->
+Input
+
+<!-- ##### SECTION Short_Description ##### -->
+Callbacks on file descriptors.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The functions in this section are used to establish
+callbacks when some condition becomes true for
+a file descriptor. They are currently just wrappers around
+the <link linkend="glib-IO-Channels">IO Channel</link>
+facility.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term><link linkend="glib-The-Main-Event-Loop">GLib Main Loop</link></term>
+<listitem><para>The main loop in which input callbacks run.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><link linkend="glib-IO-Channels">IO Channels</link></term>
+<listitem><para>A newer and more flexible way of doing IO
+callbacks.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### FUNCTION gdk_input_add_full ##### -->
+<para>
+Establish a callback when a condition becomes true on
+a file descriptor.
+</para>
+
+@source: a file descriptor.
+@condition: the condition.
+@function: the callback function.
+@data: callback data passed to @function.
+@destroy: callback function to call with @data when the input
+ handler is removed.
+@Returns: a tag that can later be used as an argument to
+ gdk_input_remove().
+
+
+<!-- ##### ENUM GdkInputCondition ##### -->
+<para>
+A set of bit flags used to specify conditions for which
+an input callback will be triggered. The three members
+of this enumeration correspond to the @readfds,
+@writefds, and @exceptfds arguments to the
+<function>select</function> system call.
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GDK_INPUT_READ</entry>
+<entry>the file descriptor has become available for reading.
+(Or, as is standard in Unix, a socket or pipe was closed
+at the other end; this is the case if a subsequent read
+on the file descriptor returns a count of zero.)</entry>
+</row>
+
+<row>
+<entry>GDK_INPUT_WRITE</entry>
+<entry>the file descriptor has become available for writing.</entry>
+</row>
+
+<row>
+<entry>GDK_INPUT_EXCEPTION</entry>
+<entry>an exception was raised on the file descriptor.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@GDK_INPUT_READ:
+@GDK_INPUT_WRITE:
+@GDK_INPUT_EXCEPTION:
+
+<!-- ##### USER_FUNCTION GdkInputFunction ##### -->
+<para>
+A callback function that will be called when some condition
+occurs.
+</para>
+
+@data: the user data passed to gdk_input_add() or gdk_input_add_full().
+@source: the source where the condition occurred.
+@condition: the triggering condition.
+
+
+<!-- ##### USER_FUNCTION GdkDestroyNotify ##### -->
+<para>
+A callback function called when a piece of user data is
+no longer being stored by GDK. Will typically free the
+structure or object that @data points to.
+</para>
+
+@data: the user data.
+
+
+<!-- ##### FUNCTION gdk_input_add ##### -->
+<para>
+Establish a callback when a condition becomes true on
+a file descriptor.
+</para>
+
+@source: a file descriptor.
+@condition: the condition.
+@function: the callback function.
+@data: callback data passed to @function.
+@Returns: a tag that can later be used as an argument to
+ gdk_input_remove().
+
+
+<!-- ##### FUNCTION gdk_input_remove ##### -->
+<para>
+Remove a callback added with gdk_input_add() or
+gdk_input_add_full().
+</para>
+
+@tag: the tag returned when the callback was set up.
+
+
diff --git a/docs/reference/gdk/tmpl/input_contexts.sgml b/docs/reference/gdk/tmpl/input_contexts.sgml
new file mode 100644
index 000000000..ce23f99e6
--- /dev/null
+++ b/docs/reference/gdk/tmpl/input_contexts.sgml
@@ -0,0 +1,154 @@
+<!-- ##### SECTION Title ##### -->
+Input Contexts
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GdkIC ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GdkICAttr ##### -->
+<para>
+
+</para>
+
+@style:
+@client_window:
+@focus_window:
+@filter_events:
+@spot_location:
+@line_spacing:
+@cursor:
+@preedit_fontset:
+@preedit_area:
+@preedit_area_needed:
+@preedit_foreground:
+@preedit_background:
+@preedit_pixmap:
+@preedit_colormap:
+@status_fontset:
+@status_area:
+@status_area_needed:
+@status_foreground:
+@status_background:
+@status_pixmap:
+@status_colormap:
+
+<!-- ##### ENUM GdkICAttributesType ##### -->
+<para>
+
+</para>
+
+@GDK_IC_STYLE:
+@GDK_IC_CLIENT_WINDOW:
+@GDK_IC_FOCUS_WINDOW:
+@GDK_IC_FILTER_EVENTS:
+@GDK_IC_SPOT_LOCATION:
+@GDK_IC_LINE_SPACING:
+@GDK_IC_CURSOR:
+@GDK_IC_PREEDIT_FONTSET:
+@GDK_IC_PREEDIT_AREA:
+@GDK_IC_PREEDIT_AREA_NEEDED:
+@GDK_IC_PREEDIT_FOREGROUND:
+@GDK_IC_PREEDIT_BACKGROUND:
+@GDK_IC_PREEDIT_PIXMAP:
+@GDK_IC_PREEDIT_COLORMAP:
+@GDK_IC_STATUS_FONTSET:
+@GDK_IC_STATUS_AREA:
+@GDK_IC_STATUS_AREA_NEEDED:
+@GDK_IC_STATUS_FOREGROUND:
+@GDK_IC_STATUS_BACKGROUND:
+@GDK_IC_STATUS_PIXMAP:
+@GDK_IC_STATUS_COLORMAP:
+@GDK_IC_ALL_REQ:
+@GDK_IC_PREEDIT_AREA_REQ:
+@GDK_IC_PREEDIT_POSITION_REQ:
+@GDK_IC_STATUS_AREA_REQ:
+
+<!-- ##### FUNCTION gdk_ic_new ##### -->
+<para>
+
+</para>
+
+@attr:
+@mask:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_ic_destroy ##### -->
+<para>
+
+</para>
+
+@ic:
+
+
+<!-- ##### FUNCTION gdk_ic_get_style ##### -->
+<para>
+
+</para>
+
+@ic:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_ic_set_attr ##### -->
+<para>
+
+</para>
+
+@ic:
+@attr:
+@mask:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_ic_get_attr ##### -->
+<para>
+
+</para>
+
+@ic:
+@attr:
+@mask:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_ic_get_events ##### -->
+<para>
+
+</para>
+
+@ic:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_ic_attr_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_ic_attr_destroy ##### -->
+<para>
+
+</para>
+
+@attr:
+
+
diff --git a/docs/reference/gdk/tmpl/input_devices.sgml b/docs/reference/gdk/tmpl/input_devices.sgml
new file mode 100644
index 000000000..b8875e842
--- /dev/null
+++ b/docs/reference/gdk/tmpl/input_devices.sgml
@@ -0,0 +1,198 @@
+<!-- ##### SECTION Title ##### -->
+Input Devices
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GDK_CORE_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### ENUM GdkExtensionMode ##### -->
+<para>
+
+</para>
+
+@GDK_EXTENSION_EVENTS_NONE:
+@GDK_EXTENSION_EVENTS_ALL:
+@GDK_EXTENSION_EVENTS_CURSOR:
+
+<!-- ##### STRUCT GdkDeviceKey ##### -->
+<para>
+
+</para>
+
+@keyval:
+@modifiers:
+
+<!-- ##### STRUCT GdkDeviceInfo ##### -->
+<para>
+
+</para>
+
+@deviceid:
+@name:
+@source:
+@mode:
+@has_cursor:
+@num_axes:
+@axes:
+@num_keys:
+@keys:
+
+<!-- ##### FUNCTION gdk_input_init ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_input_exit ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_input_list_devices ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_input_set_extension_events ##### -->
+<para>
+
+</para>
+
+@window:
+@mask:
+@mode:
+
+
+<!-- ##### FUNCTION gdk_input_set_source ##### -->
+<para>
+
+</para>
+
+@deviceid:
+@source:
+
+
+<!-- ##### ENUM GdkInputSource ##### -->
+<para>
+
+</para>
+
+@GDK_SOURCE_MOUSE:
+@GDK_SOURCE_PEN:
+@GDK_SOURCE_ERASER:
+@GDK_SOURCE_CURSOR:
+
+<!-- ##### FUNCTION gdk_input_set_mode ##### -->
+<para>
+
+</para>
+
+@deviceid:
+@mode:
+@Returns:
+
+
+<!-- ##### ENUM GdkInputMode ##### -->
+<para>
+
+</para>
+
+@GDK_MODE_DISABLED:
+@GDK_MODE_SCREEN:
+@GDK_MODE_WINDOW:
+
+<!-- ##### FUNCTION gdk_input_set_axes ##### -->
+<para>
+
+</para>
+
+@deviceid:
+@axes:
+
+
+<!-- ##### ENUM GdkAxisUse ##### -->
+<para>
+
+</para>
+
+@GDK_AXIS_IGNORE:
+@GDK_AXIS_X:
+@GDK_AXIS_Y:
+@GDK_AXIS_PRESSURE:
+@GDK_AXIS_XTILT:
+@GDK_AXIS_YTILT:
+@GDK_AXIS_LAST:
+
+<!-- ##### FUNCTION gdk_input_set_key ##### -->
+<para>
+
+</para>
+
+@deviceid:
+@index:
+@keyval:
+@modifiers:
+
+
+<!-- ##### FUNCTION gdk_input_window_get_pointer ##### -->
+<para>
+
+</para>
+
+@window:
+@deviceid:
+@x:
+@y:
+@pressure:
+@xtilt:
+@ytilt:
+@mask:
+
+
+<!-- ##### FUNCTION gdk_input_motion_events ##### -->
+<para>
+
+</para>
+
+@window:
+@deviceid:
+@start:
+@stop:
+@nevents_return:
+@Returns:
+
+
+<!-- ##### STRUCT GdkTimeCoord ##### -->
+<para>
+
+</para>
+
+@time:
+@x:
+@y:
+@pressure:
+@xtilt:
+@ytilt:
+
diff --git a/docs/reference/gdk/tmpl/input_methods.sgml b/docs/reference/gdk/tmpl/input_methods.sgml
new file mode 100644
index 000000000..0f86c1313
--- /dev/null
+++ b/docs/reference/gdk/tmpl/input_methods.sgml
@@ -0,0 +1,101 @@
+<!-- ##### SECTION Title ##### -->
+Input Methods
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM GdkIMStyle ##### -->
+<para>
+
+</para>
+
+@GDK_IM_PREEDIT_AREA:
+@GDK_IM_PREEDIT_CALLBACKS:
+@GDK_IM_PREEDIT_POSITION:
+@GDK_IM_PREEDIT_NOTHING:
+@GDK_IM_PREEDIT_NONE:
+@GDK_IM_PREEDIT_MASK:
+@GDK_IM_STATUS_AREA:
+@GDK_IM_STATUS_CALLBACKS:
+@GDK_IM_STATUS_NOTHING:
+@GDK_IM_STATUS_NONE:
+@GDK_IM_STATUS_MASK:
+
+<!-- ##### TYPEDEF GdkWChar ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION gdk_im_ready ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_im_begin ##### -->
+<para>
+
+</para>
+
+@ic:
+@window:
+
+
+<!-- ##### FUNCTION gdk_im_end ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_im_decide_style ##### -->
+<para>
+
+</para>
+
+@supported_style:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_im_set_best_style ##### -->
+<para>
+
+</para>
+
+@best_allowed_style:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_wcstombs ##### -->
+<para>
+
+</para>
+
+@src:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_mbstowcs ##### -->
+<para>
+
+</para>
+
+@dest:
+@src:
+@dest_max:
+@Returns:
+
+
diff --git a/docs/reference/gdk/tmpl/keys.sgml b/docs/reference/gdk/tmpl/keys.sgml
new file mode 100644
index 000000000..e014c6e10
--- /dev/null
+++ b/docs/reference/gdk/tmpl/keys.sgml
@@ -0,0 +1,93 @@
+<!-- ##### SECTION Title ##### -->
+Key Values
+
+<!-- ##### SECTION Short_Description ##### -->
+functions for manipulating keyboard codes.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+Key values are the codes which are sent whenever a key is pressed or released.
+They appear in the <structfield>keyval</structfield> field of the
+#GdkEventKey structure, which is passed to signal handlers for the
+"key-press-event" and "key-release-event" signals.
+The complete list of key values can be found in the &lt;gdk/gdkkeysyms.h&gt;
+header file.
+</para>
+<para>
+Key values can be converted into a string representation using
+gdk_keyval_name(). The reverse function, converting a string to a key value,
+is provided by gdk_keyval_from_name().
+</para>
+<para>
+The case of key values can be determined using gdk_keyval_is_upper() and
+gdk_keyval_is_lower(). Key values can be converted to upper or lower case
+using gdk_keyval_to_upper() and gdk_keyval_to_lower().
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gdk_keyval_name ##### -->
+<para>
+Converts a key value into a symbolic name.
+The names are the same as those in the &lt;gdk/gdkkeysyms.h&gt; header file
+but without the leading "GDK_".
+</para>
+
+@keyval: a key value.
+@Returns: a string containing the name of the key, or NULL if @keyval is not
+a valid key. The string should not be modified.
+
+
+<!-- ##### FUNCTION gdk_keyval_from_name ##### -->
+<para>
+Converts a key name to a key value.
+</para>
+
+@keyval_name: a key name.
+@Returns: the corresponding key value, or %GDK_VoidSymbol if the key name is
+not a valid key.
+
+
+<!-- ##### FUNCTION gdk_keyval_is_upper ##### -->
+<para>
+Returns TRUE if the given key value is in upper case.
+</para>
+
+@keyval: a key value.
+@Returns: TRUE if @keyval is in upper case, or if @keyval is not subject to
+case conversion.
+
+
+<!-- ##### FUNCTION gdk_keyval_is_lower ##### -->
+<para>
+Returns TRUE if the given key value is in lower case.
+</para>
+
+@keyval: a key value.
+@Returns: TRUE if @keyval is in lower case, or if @keyval is not subject to
+case conversion.
+
+
+<!-- ##### FUNCTION gdk_keyval_to_upper ##### -->
+<para>
+Converts a key value to upper case, if applicable.
+</para>
+
+@keyval: a key value.
+@Returns: the upper case form of @keyval, or @keyval itself if it is already
+in upper case or it is not subject to case conversion.
+
+
+<!-- ##### FUNCTION gdk_keyval_to_lower ##### -->
+<para>
+Converts a key value to lower case, if applicable.
+</para>
+
+@keyval: a key value.
+@Returns: the lower case form of @keyval, or @keyval itself if it is already
+in lower case or it is not subject to case conversion.
+
+
diff --git a/docs/reference/gdk/tmpl/pixmaps.sgml b/docs/reference/gdk/tmpl/pixmaps.sgml
new file mode 100644
index 000000000..ea7de9ebd
--- /dev/null
+++ b/docs/reference/gdk/tmpl/pixmaps.sgml
@@ -0,0 +1,196 @@
+<!-- ##### SECTION Title ##### -->
+Bitmaps and Pixmaps
+
+<!-- ##### SECTION Short_Description ##### -->
+Offscreen drawables.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+Pixmaps are offscreen drawables. They can be drawn upon with the
+standard drawing primitives, then copied to another drawable (such as
+a #GdkWindow) with gdk_pixmap_draw(). The depth of a pixmap
+is the number of bits per pixels. Bitmaps are simply pixmaps
+with a depth of 1. (That is, they are monochrome bitmaps - each
+pixel can be either on or off).
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+</para>
+
+<!-- ##### STRUCT GdkPixmap ##### -->
+<para>
+An opaque structure representing an offscreen drawable.
+Pointers to structures of type #GdkPixmap, #GdkBitmap,
+and #GdkWindow, can often be used interchangeably.
+The type #GdkDrawable refers generically to any of
+these types.
+</para>
+
+@user_data:
+
+<!-- ##### FUNCTION gdk_pixmap_new ##### -->
+<para>
+Create a new pixmap with a given size and depth.
+</para>
+
+@window: a #GdkWindow, used to determine default values for the
+ new pixmap. Can be %NULL if @depth is specified,
+@width: The width of the new pixmap in pixels.
+@height: The height of the new pixmap in pixels.
+@depth: The depth (number of bits per pixel) of the new pixmap.
+ If -1, and @window is not %NULL, the depth of the new
+ pixmap will be equal to that of @window.
+@Returns: the #GdkBitmap
+
+
+<!-- ##### FUNCTION gdk_bitmap_create_from_data ##### -->
+<para>
+Creates a new bitmap from data in XBM format.
+</para>
+
+@window: a #GdkWindow, used to determine default values for the
+ new pixmap. Can be %NULL, in which case the root window is
+ used.
+@data: a pointer to the XBM data.
+@width: the width of the new pixmap in pixels.
+@height: the height of the new pixmap in pixels.
+@Returns: the #GdkBitmap
+
+
+<!-- ##### FUNCTION gdk_pixmap_create_from_data ##### -->
+<para>
+Create a two-color pixmap from data in XBM data.
+</para>
+
+@window: a #GdkWindow, used to determine default values for the
+ new pixmap. Can be %NULL, if the depth is given.
+@data: a pointer to the data.
+@width: the width of the new pixmap in pixels.
+@height: the height of the new pixmap in pixels.
+@depth: the depth (number of bits per pixel) of the new pixmap.
+@fg: the foreground color.
+@bg: the background color.
+@Returns: the #GdkPixmap
+
+
+<!-- ##### FUNCTION gdk_pixmap_create_from_xpm ##### -->
+<para>
+Create a pixmap from a XPM file.
+</para>
+
+@window: a #GdkWindow, used to determine default values for the
+ new pixmap.
+@mask: a pointer to a place to store a bitmap representing
+the transparency mask of the XPM file. Can be %NULL,
+in which case transparency will be ignored.
+@transparent_color: the color to be used for the pixels
+that are transparent in the input file. Can be %NULL,
+in which case a default color will be used.
+@filename: the filename of a file containing XPM data.
+@Returns: the #GdkPixmap
+
+
+<!-- ##### FUNCTION gdk_pixmap_colormap_create_from_xpm ##### -->
+<para>
+Create a pixmap from a XPM file using a particular colormap.
+</para>
+
+@window: a #GdkWindow, used to determine default values for the
+ new pixmap. Can be %NULL if @colormap is given.
+@colormap: the #GdkColormap that the new pixmap will be use.
+ If omitted, the colormap for @window will be used.
+@mask: a pointer to a place to store a bitmap representing
+the transparency mask of the XPM file. Can be %NULL,
+in which case transparency will be ignored.
+@transparent_color: the color to be used for the pixels
+that are transparent in the input file. Can be %NULL,
+in which case a default color will be used.
+@filename: the filename of a file containing XPM data.
+@Returns: the #GdkPixmap.
+
+
+<!-- ##### FUNCTION gdk_pixmap_create_from_xpm_d ##### -->
+<para>
+Create a pixmap from data in XPM format.
+</para>
+
+@window: a #GdkWindow, used to determine default values for the
+ new pixmap.
+@mask: Pointer to a place to store a bitmap representing
+the transparency mask of the XPM file. Can be %NULL,
+in which case transparency will be ignored.
+@transparent_color: This color will be used for the pixels
+that are transparent in the input file. Can be %NULL
+in which case a default color will be used.
+@data: Pointer to a string containing the XPM data.
+@Returns: the #GdkPixmap
+
+
+<!-- ##### FUNCTION gdk_pixmap_colormap_create_from_xpm_d ##### -->
+<para>
+Create a pixmap from data in XPM format using a particular
+colormap.
+</para>
+
+@window: a #GdkWindow, used to determine default values for the
+ new pixmap. Can be %NULL if @colormap is given.
+@colormap: the #GdkColormap that the new pixmap will be use.
+ If omitted, the colormap for @window will be used.
+@mask: a pointer to a place to store a bitmap representing
+the transparency mask of the XPM file. Can be %NULL,
+in which case transparency will be ignored.
+@transparent_color: the color to be used for the pixels
+that are transparent in the input file. Can be %NULL,
+in which case a default color will be used.
+@data: Pointer to a string containing the XPM data.
+@Returns: the #GdkPixmap.
+
+
+<!-- ##### FUNCTION gdk_pixmap_ref ##### -->
+<para>
+Increase the reference count of a pixmap.
+</para>
+
+@pixmap: a #GdkPixmap
+@Returns: @pixmap
+
+
+<!-- ##### FUNCTION gdk_pixmap_unref ##### -->
+<para>
+Decrease the reference count of a pixmap. If the resulting
+reference count is zero, destroy the pixmap.
+</para>
+
+@pixmap: a #GdkPixmap
+
+
+<!-- ##### STRUCT GdkBitmap ##### -->
+<para>
+An opaque structure representing an offscreen drawable of depth
+1. Pointers to structures of type GdkPixmap, #GdkBitmap, and
+#GdkWindow, can often be used interchangeably. The type #GdkDrawable
+refers generically to any of these types.
+</para>
+
+@user_data:
+
+<!-- ##### FUNCTION gdk_bitmap_ref ##### -->
+<para>
+Increase the reference count of a bitmap. An alias
+for gdk_pixmap_ref().
+</para>
+
+@pixmap:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_bitmap_unref ##### -->
+<para>
+Decrease the reference count of a bitmap. An alias
+for gdk_pixmap_unref().
+</para>
+
+@pixmap:
+
+
diff --git a/docs/reference/gdk/tmpl/properties.sgml b/docs/reference/gdk/tmpl/properties.sgml
new file mode 100644
index 000000000..674c39ec2
--- /dev/null
+++ b/docs/reference/gdk/tmpl/properties.sgml
@@ -0,0 +1,152 @@
+<!-- ##### SECTION Title ##### -->
+Properties and Atoms
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### TYPEDEF GdkAtom ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### ENUM GdkPropertyState ##### -->
+<para>
+
+</para>
+
+@GDK_PROPERTY_NEW_VALUE:
+@GDK_PROPERTY_DELETE:
+
+<!-- ##### ENUM GdkPropMode ##### -->
+<para>
+
+</para>
+
+@GDK_PROP_MODE_REPLACE:
+@GDK_PROP_MODE_PREPEND:
+@GDK_PROP_MODE_APPEND:
+
+<!-- ##### ENUM GdkTarget ##### -->
+<para>
+
+</para>
+
+@GDK_TARGET_BITMAP:
+@GDK_TARGET_COLORMAP:
+@GDK_TARGET_DRAWABLE:
+@GDK_TARGET_PIXMAP:
+@GDK_TARGET_STRING:
+
+<!-- ##### FUNCTION gdk_text_property_to_text_list ##### -->
+<para>
+
+</para>
+
+@encoding:
+@format:
+@text:
+@length:
+@list:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_free_text_list ##### -->
+<para>
+
+</para>
+
+@list:
+
+
+<!-- ##### FUNCTION gdk_string_to_compound_text ##### -->
+<para>
+
+</para>
+
+@str:
+@encoding:
+@format:
+@ctext:
+@length:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_free_compound_text ##### -->
+<para>
+
+</para>
+
+@ctext:
+
+
+<!-- ##### FUNCTION gdk_atom_intern ##### -->
+<para>
+
+</para>
+
+@atom_name:
+@only_if_exists:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_atom_name ##### -->
+<para>
+
+</para>
+
+@atom:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_property_get ##### -->
+<para>
+
+</para>
+
+@window:
+@property:
+@type:
+@offset:
+@length:
+@pdelete:
+@actual_property_type:
+@actual_format:
+@actual_length:
+@data:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_property_change ##### -->
+<para>
+
+</para>
+
+@window:
+@property:
+@type:
+@format:
+@mode:
+@data:
+@nelements:
+
+
+<!-- ##### FUNCTION gdk_property_delete ##### -->
+<para>
+
+</para>
+
+@window:
+@property:
+
+
diff --git a/docs/reference/gdk/tmpl/regions.sgml b/docs/reference/gdk/tmpl/regions.sgml
new file mode 100644
index 000000000..5f4f228d2
--- /dev/null
+++ b/docs/reference/gdk/tmpl/regions.sgml
@@ -0,0 +1,217 @@
+<!-- ##### SECTION Title ##### -->
+Points, Rectangles and Regions
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GdkPoint ##### -->
+<para>
+
+</para>
+
+@x:
+@y:
+
+<!-- ##### STRUCT GdkRectangle ##### -->
+<para>
+
+</para>
+
+@x:
+@y:
+@width:
+@height:
+
+<!-- ##### FUNCTION gdk_rectangle_intersect ##### -->
+<para>
+
+</para>
+
+@src1:
+@src2:
+@dest:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_rectangle_union ##### -->
+<para>
+
+</para>
+
+@src1:
+@src2:
+@dest:
+
+
+<!-- ##### STRUCT GdkRegion ##### -->
+<para>
+
+</para>
+
+@user_data:
+
+<!-- ##### FUNCTION gdk_region_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_region_destroy ##### -->
+<para>
+
+</para>
+
+@region:
+
+
+<!-- ##### FUNCTION gdk_region_get_clipbox ##### -->
+<para>
+
+</para>
+
+@region:
+@rectangle:
+
+
+<!-- ##### FUNCTION gdk_region_empty ##### -->
+<para>
+
+</para>
+
+@region:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_region_equal ##### -->
+<para>
+
+</para>
+
+@region1:
+@region2:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_region_point_in ##### -->
+<para>
+
+</para>
+
+@region:
+@x:
+@y:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_region_rect_in ##### -->
+<para>
+
+</para>
+
+@region:
+@rect:
+@Returns:
+
+
+<!-- ##### ENUM GdkOverlapType ##### -->
+<para>
+
+</para>
+
+@GDK_OVERLAP_RECTANGLE_IN:
+@GDK_OVERLAP_RECTANGLE_OUT:
+@GDK_OVERLAP_RECTANGLE_PART:
+
+<!-- ##### FUNCTION gdk_region_polygon ##### -->
+<para>
+
+</para>
+
+@points:
+@npoints:
+@fill_rule:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_region_offset ##### -->
+<para>
+
+</para>
+
+@region:
+@dx:
+@dy:
+
+
+<!-- ##### FUNCTION gdk_region_shrink ##### -->
+<para>
+
+</para>
+
+@region:
+@dx:
+@dy:
+
+
+<!-- ##### FUNCTION gdk_region_union_with_rect ##### -->
+<para>
+
+</para>
+
+@region:
+@rect:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_regions_intersect ##### -->
+<para>
+
+</para>
+
+@source1:
+@source2:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_regions_union ##### -->
+<para>
+
+</para>
+
+@source1:
+@source2:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_regions_subtract ##### -->
+<para>
+
+</para>
+
+@source1:
+@source2:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_regions_xor ##### -->
+<para>
+
+</para>
+
+@source1:
+@source2:
+@Returns:
+
+
diff --git a/docs/reference/gdk/tmpl/rgb.sgml b/docs/reference/gdk/tmpl/rgb.sgml
new file mode 100644
index 000000000..12b8f72d8
--- /dev/null
+++ b/docs/reference/gdk/tmpl/rgb.sgml
@@ -0,0 +1,216 @@
+<!-- ##### SECTION Title ##### -->
+GdkRGB
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GdkRgbCmap ##### -->
+<para>
+
+</para>
+
+@colors:
+@lut:
+
+<!-- ##### ENUM GdkRgbDither ##### -->
+<para>
+
+</para>
+
+@GDK_RGB_DITHER_NONE:
+@GDK_RGB_DITHER_NORMAL:
+@GDK_RGB_DITHER_MAX:
+
+<!-- ##### FUNCTION gdk_rgb_init ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_rgb_cmap_new ##### -->
+<para>
+
+</para>
+
+@colors:
+@n_colors:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_rgb_cmap_free ##### -->
+<para>
+
+</para>
+
+@cmap:
+
+
+<!-- ##### FUNCTION gdk_rgb_gc_set_foreground ##### -->
+<para>
+
+</para>
+
+@gc:
+@rgb:
+
+
+<!-- ##### FUNCTION gdk_rgb_gc_set_background ##### -->
+<para>
+
+</para>
+
+@gc:
+@rgb:
+
+
+<!-- ##### FUNCTION gdk_draw_rgb_image ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@x:
+@y:
+@width:
+@height:
+@dith:
+@rgb_buf:
+@rowstride:
+
+
+<!-- ##### FUNCTION gdk_draw_indexed_image ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@x:
+@y:
+@width:
+@height:
+@dith:
+@buf:
+@rowstride:
+@cmap:
+
+
+<!-- ##### FUNCTION gdk_draw_gray_image ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@x:
+@y:
+@width:
+@height:
+@dith:
+@buf:
+@rowstride:
+
+
+<!-- ##### FUNCTION gdk_draw_rgb_32_image ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@x:
+@y:
+@width:
+@height:
+@dith:
+@buf:
+@rowstride:
+
+
+<!-- ##### FUNCTION gdk_draw_rgb_image_dithalign ##### -->
+<para>
+
+</para>
+
+@drawable:
+@gc:
+@x:
+@y:
+@width:
+@height:
+@dith:
+@rgb_buf:
+@rowstride:
+@xdith:
+@ydith:
+
+
+<!-- ##### FUNCTION gdk_rgb_xpixel_from_rgb ##### -->
+<para>
+
+</para>
+
+@rgb:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_rgb_set_verbose ##### -->
+<para>
+
+</para>
+
+@verbose:
+
+
+<!-- ##### FUNCTION gdk_rgb_ditherable ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_rgb_set_install ##### -->
+<para>
+
+</para>
+
+@install:
+
+
+<!-- ##### FUNCTION gdk_rgb_set_min_colors ##### -->
+<para>
+
+</para>
+
+@min_colors:
+
+
+<!-- ##### FUNCTION gdk_rgb_get_visual ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_rgb_get_cmap ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
diff --git a/docs/reference/gdk/tmpl/selections.sgml b/docs/reference/gdk/tmpl/selections.sgml
new file mode 100644
index 000000000..c02f982c7
--- /dev/null
+++ b/docs/reference/gdk/tmpl/selections.sgml
@@ -0,0 +1,94 @@
+<!-- ##### SECTION Title ##### -->
+Selections
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM GdkSelection ##### -->
+<para>
+
+</para>
+
+@GDK_SELECTION_PRIMARY:
+@GDK_SELECTION_SECONDARY:
+
+<!-- ##### ENUM GdkSelectionType ##### -->
+<para>
+
+</para>
+
+@GDK_SELECTION_TYPE_ATOM:
+@GDK_SELECTION_TYPE_BITMAP:
+@GDK_SELECTION_TYPE_COLORMAP:
+@GDK_SELECTION_TYPE_DRAWABLE:
+@GDK_SELECTION_TYPE_INTEGER:
+@GDK_SELECTION_TYPE_PIXMAP:
+@GDK_SELECTION_TYPE_WINDOW:
+@GDK_SELECTION_TYPE_STRING:
+
+<!-- ##### FUNCTION gdk_selection_owner_set ##### -->
+<para>
+
+</para>
+
+@owner:
+@selection:
+@time:
+@send_event:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_selection_owner_get ##### -->
+<para>
+
+</para>
+
+@selection:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_selection_convert ##### -->
+<para>
+
+</para>
+
+@requestor:
+@selection:
+@target:
+@time:
+
+
+<!-- ##### FUNCTION gdk_selection_property_get ##### -->
+<para>
+
+</para>
+
+@requestor:
+@data:
+@prop_type:
+@prop_format:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_selection_send_notify ##### -->
+<para>
+
+</para>
+
+@requestor:
+@selection:
+@target:
+@property:
+@time:
+
+
diff --git a/docs/reference/gdk/tmpl/threads.sgml b/docs/reference/gdk/tmpl/threads.sgml
new file mode 100644
index 000000000..3b14e8ce3
--- /dev/null
+++ b/docs/reference/gdk/tmpl/threads.sgml
@@ -0,0 +1,50 @@
+<!-- ##### SECTION Title ##### -->
+Threads
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### VARIABLE gdk_threads_mutex ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GDK_THREADS_ENTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GDK_THREADS_LEAVE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_threads_enter ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_threads_leave ##### -->
+<para>
+
+</para>
+
+
+
diff --git a/docs/reference/gdk/tmpl/visuals.sgml b/docs/reference/gdk/tmpl/visuals.sgml
new file mode 100644
index 000000000..bff192930
--- /dev/null
+++ b/docs/reference/gdk/tmpl/visuals.sgml
@@ -0,0 +1,391 @@
+<!-- ##### SECTION Title ##### -->
+Visuals
+
+<!-- ##### SECTION Short_Description ##### -->
+manipulation of visuals.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The way that the data stored on the screen is stored
+in memory can vary considerably between different X
+servers; some X servers even support multiple formats
+used simultaneously. An X <firstterm>visual</firstterm>
+represents a particular format for screen data.
+It includes information about the number of bits
+used for each color, the way the bits are translated
+into an RGB value for display, and the way the bits
+are stored in memory.
+</para>
+<para>
+There are several standard visuals. The visual returned
+by gdk_visual_get_system() is the system's default
+visual. gdk_rgb_get_visual() return the visual most
+suited to displaying full-color image data. If you
+use the calls in GdkRGB, you should create your windows
+using this visual (and the colormap returned by
+gdk_rgb_get_colormap()).
+</para>
+<para>
+A number of functions are provided for determining
+the "best" available visual. For the purposes of
+making this determination, higher bit depths are
+considered better, and for visuals of the same
+bit depth, %GDK_VISUAL_PSEUDO_COLOR is preferred at
+8bpp, otherwise, the visual types are ranked in the
+order of (highest to lowest) %GDK_VISUAL_DIRECT_COLOR,
+%GDK_VISUAL_TRUE_COLOR, %GDK_VISUAL_PSEUDO_COLOR,
+%GDK_VISUAL_STATIC_COLOR, %GDK_VISUAL_GRAYSCALE,
+then %GDK_VISUAL_STATIC_GRAY.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GdkVisual ##### -->
+<para>
+The GdkVisual structure contains information about
+a particular visual. It contains the following
+public fields.
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry><structfield>type</structfield></entry>
+<entry>The type of this visual.</entry>
+</row>
+
+<row>
+<entry><structfield>depth</structfield></entry>
+<entry>The number of bits per pixel.</entry>
+</row>
+
+<row>
+<entry><structfield>byte_order</structfield></entry>
+<entry>The byte-order for this visual.</entry>
+</row>
+
+<row>
+<entry><structfield>colormap_size</structfield></entry>
+<entry>The number of entries in the colormap, for
+visuals of type GDK_VISUAL_PSEUDO_COLOR or
+GDK_VISUAL_GRAY_SCALE. For other visual types, it
+is the number of possible levels per color component.
+If the visual has different numbers of levels for
+different components, the value of this field is
+undefined.</entry>
+</row>
+
+<row>
+<entry><structfield>bits_per_rgb</structfield></entry>
+<entry>
+The number of significant bits per red, green, or blue
+when specifying colors for this visual. (For instance,
+for gdk_colormap_alloc_color())
+</entry>
+</row>
+
+<row>
+<entry><structfield>red_mask</structfield></entry>
+<entry>
+A mask giving the bits in a pixel value that
+correspond to the red field. Significant only for
+%GDK_VISUAL_PSEUDOCOLOR and %GDK_VISUAL_DIRECTCOLOR.
+</entry>
+</row>
+
+<row>
+<entry><structfield>red_shift, red_prec</structfield></entry>
+<entry>
+The <structfield>red_shift</structfield> and
+<structfield>red_prec</structfield> give an alternate presentation
+of the information in <structfield>red_mask</structfield>.
+<structfield>red_mask</structfield> is a contiguous sequence
+of <structfield>red_prec</structfield> starting at bit
+number <structfield>red_shift</structfield>. For example,
+<xref linkend="rgbmask"> shows constructing a pixel value
+out of three 16 bit color values.
+
+</entry>
+</row>
+
+<row>
+<entry><structfield>green_mask</structfield></entry>
+<entry>
+A mask giving the bits in a pixel value that
+correspond to the green field.
+</entry>
+</row>
+
+<row>
+<entry><structfield>green_shift, green_prec</structfield></entry>
+<entry>
+The <structfield>green_shift</structfield> and
+<structfield>green_prec</structfield> give an alternate presentation
+of the information in <structfield>green_mask</structfield>.
+</entry>
+</row>
+
+<row>
+<entry><structfield>blue_mask</structfield></entry>
+<entry>
+A mask giving the bits in a pixel value that
+correspond to the blue field.
+</entry>
+</row>
+
+<row>
+<entry><structfield>blue_shift, blue_prec</structfield></entry>
+<entry>
+The <structfield>blue_shift</structfield> and
+<structfield>blue_prec</structfield> give an alternate presentation
+of the information in <structfield>blue_mask</structfield>.
+</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+<figure float="1" id="rgbmask">
+<title>Constructing a pixel value from components</title>
+<programlisting>
+guint
+pixel_from_rgb (GdkVisual *visual,
+ guchar r, guchar b, guchar g)
+{
+ return ((r >> (16 - visual->red_prec)) << visual->red_shift) |
+ ((g >> (16 - visual->green_prec)) << visual->green_shift) |
+ ((r >> (16 - visual->blue_prec)) << visual->blue_shift);
+}
+</programlisting>
+</figure>
+
+@type:
+@depth:
+@byte_order:
+@colormap_size:
+@bits_per_rgb:
+@red_mask:
+@red_shift:
+@red_prec:
+@green_mask:
+@green_shift:
+@green_prec:
+@blue_mask:
+@blue_shift:
+@blue_prec:
+
+<!-- ##### ENUM GdkVisualType ##### -->
+<para>
+A set of values that describe the manner in which the
+pixel values for a visual are converted into RGB
+values for display.
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GDK_VISUAL_STATIC_GRAY</entry>
+<entry>Each pixel value indexes a grayscale value directly.</entry>
+</row>
+
+<row>
+<entry>GDK_VISUAL_GRAYSCALE</entry>
+<entry>Each pixel is an index into a color map that maps
+pixel values into grayscale values. The color map can
+be changed by an application.</entry>
+</row>
+
+<row>
+<entry>GDK_VISUAL_STATIC_COLOR</entry>
+<entry>Each pixel value is an index into a predefined,
+unmodifiable color map that maps pixel values into
+rgb values.</entry>
+</row>
+
+<row>
+<entry>GDK_VISUAL_PSEUDO_COLOR</entry>
+<entry>Each pixel is an index into a color map that maps
+pixel values into rgb values. The color map can
+be changed by an application.</entry>
+</row>
+
+<row>
+<entry>GDK_TRUE_COLOR</entry>
+<entry>Each pixel value directly contains red, green,
+and blue components. The <structfield>red_mask</structfield>,
+<structfield>green_mask</structfield>, and
+<structfield>blue_mask</structfield> fields of the #GdkVisual
+structure describe how the components are assembled into
+a pixel value.
+.</entry>
+</row>
+
+<row>
+<entry>GDK_DIRECT_COLOR</entry>
+<entry>Each pixel value contains red, green, and blue
+components as for %GDK_TRUE_COLOR, but the components
+are mapped via a color table into the final output
+table instead of being converted directly..</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@GDK_VISUAL_STATIC_GRAY:
+@GDK_VISUAL_GRAYSCALE:
+@GDK_VISUAL_STATIC_COLOR:
+@GDK_VISUAL_PSEUDO_COLOR:
+@GDK_VISUAL_TRUE_COLOR:
+@GDK_VISUAL_DIRECT_COLOR:
+
+<!-- ##### ENUM GdkByteOrder ##### -->
+<para>
+A set of values describing the possible byte-orders
+for storing pixel values in memory.
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GDK_LSB_FIRST</entry>
+<entry>The values are stored with the least-significant byte
+first. For instance, the 32-bit value 0xffeecc would be stored
+in memory as 0xcc, 0xee, 0xff, 0x00.</entry>
+</row>
+
+<row>
+<entry>GDK_MSB_FIRST</entry>
+<entry>The values are stored with the least-significant byte
+first. For instance, the 32-bit value 0xffeecc would be stored
+in memory as 0xff, 0xee, 0xcc, 0x00.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@GDK_LSB_FIRST:
+@GDK_MSB_FIRST:
+
+<!-- ##### FUNCTION gdk_query_depths ##### -->
+<para>
+Lists the available color depths. The returned values
+are pointers to static storage and should not be
+modified or freed.
+</para>
+
+@depths: a location to store a pointer to an array
+ holding the available color depths.
+@count: a location to store the number of values in @depths.
+
+
+<!-- ##### FUNCTION gdk_query_visual_types ##### -->
+<para>
+Lists the available visual types. The returned values
+are pointers to static storage and should not be
+modified or freed.
+</para>
+
+@visual_types: a location to store a pointer to an
+ array holding the available visual types.
+@count: a location to store the number of values in @visual types.
+
+
+<!-- ##### FUNCTION gdk_list_visuals ##### -->
+<para>
+Lists the available visuals.
+</para>
+
+@Returns: A #GList of the available visuals. The list
+should be freed this list with g_list_free().
+
+
+<!-- ##### FUNCTION gdk_visual_get_best_depth ##### -->
+<para>
+Returns the best available color depth.
+</para>
+
+@Returns: the best available color depth.
+
+
+<!-- ##### FUNCTION gdk_visual_get_best_type ##### -->
+<para>
+Returns the best available visual type.
+</para>
+
+@Returns: the best available visual type.
+
+
+<!-- ##### FUNCTION gdk_visual_get_system ##### -->
+<para>
+Returns the system's default visual.
+</para>
+
+@Returns: the system's default visual.
+
+
+<!-- ##### FUNCTION gdk_visual_get_best ##### -->
+<para>
+Returns the best available visual.
+</para>
+
+@Returns: the best available visual.
+
+
+<!-- ##### FUNCTION gdk_visual_get_best_with_depth ##### -->
+<para>
+Returns the best available visual with a certain depth.
+</para>
+
+@depth: the desired color depth
+@Returns: the best available visual with @depth bits per pixel
+or %NULL if no visuals with that type are available.
+
+
+<!-- ##### FUNCTION gdk_visual_get_best_with_type ##### -->
+<para>
+Returns the best available visual of a certain visual type.
+</para>
+
+@visual_type: the desired visual type.
+@Returns: the visual of the given type with the highest depth
+or %NULL if no visuals of that type are available.
+
+
+<!-- ##### FUNCTION gdk_visual_get_best_with_both ##### -->
+<para>
+Returns the best available visual
+</para>
+
+@depth: the desired visual type.
+@visual_type: the desired depth.
+@Returns: the best available visual with the given depth
+and visual type, or %NULL if no matching visuals are
+available.
+
+
+<!-- ##### FUNCTION gdk_visual_ref ##### -->
+<para>
+In theory, increases the reference count of a visual. However,
+the set of visuals is determined statically when GTK+ is
+initialized, so this operation does nothing.
+</para>
+
+@visual: a #GdkVisual.
+@Returns: @visual.
+
+
+<!-- ##### FUNCTION gdk_visual_unref ##### -->
+<para>
+In theory, decreases the reference count of a visual. Like
+gdk_visual_ref(), this operation does nothing.
+</para>
+
+@visual: a #GdkVisual.
+
+
diff --git a/docs/reference/gdk/tmpl/windows.sgml b/docs/reference/gdk/tmpl/windows.sgml
new file mode 100644
index 000000000..78addd966
--- /dev/null
+++ b/docs/reference/gdk/tmpl/windows.sgml
@@ -0,0 +1,777 @@
+<!-- ##### SECTION Title ##### -->
+Windows
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GdkWindowAttr ##### -->
+<para>
+
+</para>
+
+@title:
+@event_mask:
+@x:
+@y:
+@width:
+@height:
+@wclass:
+@visual:
+@colormap:
+@window_type:
+@cursor:
+@wmclass_name:
+@wmclass_class:
+@override_redirect:
+
+<!-- ##### STRUCT GdkWindow ##### -->
+<para>
+
+</para>
+
+@user_data:
+
+<!-- ##### ENUM GdkWindowType ##### -->
+<para>
+
+</para>
+
+@GDK_WINDOW_ROOT:
+@GDK_WINDOW_TOPLEVEL:
+@GDK_WINDOW_CHILD:
+@GDK_WINDOW_DIALOG:
+@GDK_WINDOW_TEMP:
+@GDK_WINDOW_PIXMAP:
+@GDK_WINDOW_FOREIGN:
+
+<!-- ##### ENUM GdkWindowClass ##### -->
+<para>
+
+</para>
+
+@GDK_INPUT_OUTPUT:
+@GDK_INPUT_ONLY:
+
+<!-- ##### ENUM GdkWindowAttributesType ##### -->
+<para>
+
+</para>
+
+@GDK_WA_TITLE:
+@GDK_WA_X:
+@GDK_WA_Y:
+@GDK_WA_CURSOR:
+@GDK_WA_COLORMAP:
+@GDK_WA_VISUAL:
+@GDK_WA_WMCLASS:
+@GDK_WA_NOREDIR:
+
+<!-- ##### ENUM GdkWindowHints ##### -->
+<para>
+
+</para>
+
+@GDK_HINT_POS:
+@GDK_HINT_MIN_SIZE:
+@GDK_HINT_MAX_SIZE:
+@GDK_HINT_BASE_SIZE:
+@GDK_HINT_ASPECT:
+@GDK_HINT_RESIZE_INC:
+
+<!-- ##### STRUCT GdkGeometry ##### -->
+<para>
+
+</para>
+
+@min_width:
+@min_height:
+@max_width:
+@max_height:
+@base_width:
+@base_height:
+@width_inc:
+@height_inc:
+@min_aspect:
+@max_aspect:
+
+<!-- ##### FUNCTION gdk_window_new ##### -->
+<para>
+
+</para>
+
+@parent:
+@attributes:
+@attributes_mask:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_destroy ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### FUNCTION gdk_window_ref ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_unref ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### FUNCTION gdk_window_at_pointer ##### -->
+<para>
+
+</para>
+
+@win_x:
+@win_y:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_show ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### FUNCTION gdk_window_hide ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### FUNCTION gdk_window_is_visible ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_is_viewable ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_withdraw ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### FUNCTION gdk_window_move ##### -->
+<para>
+
+</para>
+
+@window:
+@x:
+@y:
+
+
+<!-- ##### FUNCTION gdk_window_resize ##### -->
+<para>
+
+</para>
+
+@window:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gdk_window_move_resize ##### -->
+<para>
+
+</para>
+
+@window:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gdk_window_reparent ##### -->
+<para>
+
+</para>
+
+@window:
+@new_parent:
+@x:
+@y:
+
+
+<!-- ##### FUNCTION gdk_window_clear ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### FUNCTION gdk_window_clear_area ##### -->
+<para>
+
+</para>
+
+@window:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gdk_window_clear_area_e ##### -->
+<para>
+
+</para>
+
+@window:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gdk_window_copy_area ##### -->
+<para>
+
+</para>
+
+@window:
+@gc:
+@x:
+@y:
+@source_window:
+@source_x:
+@source_y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gdk_window_raise ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### FUNCTION gdk_window_lower ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### FUNCTION gdk_window_register_dnd ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### FUNCTION gdk_window_set_user_data ##### -->
+<para>
+
+</para>
+
+@window:
+@user_data:
+
+
+<!-- ##### FUNCTION gdk_window_set_override_redirect ##### -->
+<para>
+
+</para>
+
+@window:
+@override_redirect:
+
+
+<!-- ##### FUNCTION gdk_window_add_filter ##### -->
+<para>
+
+</para>
+
+@window:
+@function:
+@data:
+
+
+<!-- ##### FUNCTION gdk_window_remove_filter ##### -->
+<para>
+
+</para>
+
+@window:
+@function:
+@data:
+
+
+<!-- ##### USER_FUNCTION GdkFilterFunc ##### -->
+<para>
+
+</para>
+
+@xevent:
+@event:
+@data:
+@Returns:
+
+
+<!-- ##### ENUM GdkFilterReturn ##### -->
+<para>
+
+</para>
+
+@GDK_FILTER_CONTINUE:
+@GDK_FILTER_TRANSLATE:
+@GDK_FILTER_REMOVE:
+
+<!-- ##### FUNCTION gdk_window_shape_combine_mask ##### -->
+<para>
+
+</para>
+
+@window:
+@shape_mask:
+@offset_x:
+@offset_y:
+
+
+<!-- ##### FUNCTION gdk_window_set_child_shapes ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### FUNCTION gdk_window_merge_child_shapes ##### -->
+<para>
+
+</para>
+
+@window:
+
+
+<!-- ##### FUNCTION gdk_window_set_static_gravities ##### -->
+<para>
+
+</para>
+
+@window:
+@use_static:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_set_hints ##### -->
+<para>
+
+</para>
+
+@window:
+@x:
+@y:
+@min_width:
+@min_height:
+@max_width:
+@max_height:
+@flags:
+
+
+<!-- ##### FUNCTION gdk_window_set_title ##### -->
+<para>
+
+</para>
+
+@window:
+@title:
+
+
+<!-- ##### FUNCTION gdk_window_set_background ##### -->
+<para>
+
+</para>
+
+@window:
+@color:
+
+
+<!-- ##### FUNCTION gdk_window_set_back_pixmap ##### -->
+<para>
+
+</para>
+
+@window:
+@pixmap:
+@parent_relative:
+
+
+<!-- ##### MACRO GDK_PARENT_RELATIVE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gdk_window_set_cursor ##### -->
+<para>
+
+</para>
+
+@window:
+@cursor:
+
+
+<!-- ##### FUNCTION gdk_window_set_colormap ##### -->
+<para>
+
+</para>
+
+@window:
+@colormap:
+
+
+<!-- ##### FUNCTION gdk_window_get_user_data ##### -->
+<para>
+
+</para>
+
+@window:
+@data:
+
+
+<!-- ##### FUNCTION gdk_window_get_geometry ##### -->
+<para>
+
+</para>
+
+@window:
+@x:
+@y:
+@width:
+@height:
+@depth:
+
+
+<!-- ##### FUNCTION gdk_window_set_geometry_hints ##### -->
+<para>
+
+</para>
+
+@window:
+@geometry:
+@flags:
+
+
+<!-- ##### FUNCTION gdk_window_get_position ##### -->
+<para>
+
+</para>
+
+@window:
+@x:
+@y:
+
+
+<!-- ##### FUNCTION gdk_window_get_root_origin ##### -->
+<para>
+
+</para>
+
+@window:
+@x:
+@y:
+
+
+<!-- ##### FUNCTION gdk_window_get_size ##### -->
+<para>
+
+</para>
+
+@window:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gdk_window_get_visual ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_get_colormap ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_get_type ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_get_origin ##### -->
+<para>
+
+</para>
+
+@window:
+@x:
+@y:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_get_deskrelative_origin ##### -->
+<para>
+
+</para>
+
+@window:
+@x:
+@y:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_get_pointer ##### -->
+<para>
+
+</para>
+
+@window:
+@x:
+@y:
+@mask:
+@Returns:
+
+
+<!-- ##### ENUM GdkModifierType ##### -->
+<para>
+
+</para>
+
+@GDK_SHIFT_MASK:
+@GDK_LOCK_MASK:
+@GDK_CONTROL_MASK:
+@GDK_MOD1_MASK:
+@GDK_MOD2_MASK:
+@GDK_MOD3_MASK:
+@GDK_MOD4_MASK:
+@GDK_MOD5_MASK:
+@GDK_BUTTON1_MASK:
+@GDK_BUTTON2_MASK:
+@GDK_BUTTON3_MASK:
+@GDK_BUTTON4_MASK:
+@GDK_BUTTON5_MASK:
+@GDK_RELEASE_MASK:
+@GDK_MODIFIER_MASK:
+
+<!-- ##### FUNCTION gdk_window_get_parent ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_get_toplevel ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_get_children ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_get_events ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gdk_window_set_events ##### -->
+<para>
+
+</para>
+
+@window:
+@event_mask:
+
+
+<!-- ##### FUNCTION gdk_window_set_icon ##### -->
+<para>
+
+</para>
+
+@window:
+@icon_window:
+@pixmap:
+@mask:
+
+
+<!-- ##### FUNCTION gdk_window_set_icon_name ##### -->
+<para>
+
+</para>
+
+@window:
+@name:
+
+
+<!-- ##### FUNCTION gdk_window_set_transient_for ##### -->
+<para>
+
+</para>
+
+@window:
+@leader:
+
+
+<!-- ##### FUNCTION gdk_window_set_role ##### -->
+<para>
+
+</para>
+
+@window:
+@role:
+
+
+<!-- ##### FUNCTION gdk_window_set_group ##### -->
+<para>
+
+</para>
+
+@window:
+@leader:
+
+
+<!-- ##### FUNCTION gdk_window_set_decorations ##### -->
+<para>
+
+</para>
+
+@window:
+@decorations:
+
+
+<!-- ##### ENUM GdkWMDecoration ##### -->
+<para>
+
+</para>
+
+@GDK_DECOR_ALL:
+@GDK_DECOR_BORDER:
+@GDK_DECOR_RESIZEH:
+@GDK_DECOR_TITLE:
+@GDK_DECOR_MENU:
+@GDK_DECOR_MINIMIZE:
+@GDK_DECOR_MAXIMIZE:
+
+<!-- ##### FUNCTION gdk_window_set_functions ##### -->
+<para>
+
+</para>
+
+@window:
+@functions:
+
+
+<!-- ##### ENUM GdkWMFunction ##### -->
+<para>
+
+</para>
+
+@GDK_FUNC_ALL:
+@GDK_FUNC_RESIZE:
+@GDK_FUNC_MOVE:
+@GDK_FUNC_MINIMIZE:
+@GDK_FUNC_MAXIMIZE:
+@GDK_FUNC_CLOSE:
+
+<!-- ##### FUNCTION gdk_window_get_toplevels ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### STRUCT GdkDrawable ##### -->
+<para>
+
+</para>
+
+@user_data:
+
+<!-- ##### FUNCTION gdk_drawable_set_data ##### -->
+<para>
+
+</para>
+
+@drawable:
+@key:
+@data:
+@destroy_func:
+
+
diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am
new file mode 100644
index 000000000..a83672348
--- /dev/null
+++ b/docs/reference/gtk/Makefile.am
@@ -0,0 +1,59 @@
+## Process this file with automake to produce Makefile.in
+
+# The name of the module.
+DOC_MODULE=gtk
+
+# The top-level SGML file.
+DOC_MAIN_SGML_FILE=gtk-docs.sgml
+
+# We could alternatively use this for using installed headers.
+INCLUDE_DIR=`gtk-config --prefix`/include/gtk
+
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+CFLAGS=`gtk-config --cflags`
+LDFLAGS=`gtk-config --libs`
+
+scan:
+ CFLAGS=$(CFLAGS) LDFLAGS=$(LDFLAGS) gtkdoc-scanobj --module=$(DOC_MODULE)
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers='gtkintl.h' $(INCLUDE_DIR)/*.h
+
+templates: scan
+ gtkdoc-mktmpl --module=$(DOC_MODULE)
+
+sgml:
+ gtkdoc-mkdb --module=$(DOC_MODULE)
+
+html:
+ if ! test -d html ; then mkdir html ; fi
+ -cd html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+
+clean-local:
+ rm -f *~ *.bak *.hierarchy *.signals *.args *-unused.txt
+
+maintainer-clean-local: clean
+ rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+
+install-data-local:
+ install -d -m 0755 $(TARGET_DIR)
+ install -m 0644 html/*.html $(TARGET_DIR)
+ install -m 0644 html/index.sgml $(TARGET_DIR)
+ gtkdoc-fixxref --module=$(DOC_MODULE) --html-dir=$(HTML_DIR)
+
+EXTRA_DIST = \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ gtk-overrides.txt \
+ gtk-decl.txt \
+ gtk.hierarchy \
+ gtk.signals \
+ gtk.args \
+ gtk.types \
+ objects_grouped.sgml
+
+dist-hook:
+ mkdir $(distdir)/tmpl
+ cp -p tmpl/*.sgml $(distdir)/tmpl
+
+.PHONY : html sgml templates scan
diff --git a/docs/reference/gtk/gtk-decl.txt b/docs/reference/gtk/gtk-decl.txt
new file mode 100644
index 000000000..06169bfa5
--- /dev/null
+++ b/docs/reference/gtk/gtk-decl.txt
@@ -0,0 +1,13819 @@
+<STRUCT>
+<NAME>GtkAccelGroup</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkAccelEntry</NAME>
+</STRUCT>
+<ENUM>
+<NAME>GtkAccelFlags</NAME>
+typedef enum
+{
+ /* should the accelerator appear in
+ * the widget's display?
+ */
+ GTK_ACCEL_VISIBLE = 1 << 0,
+ /* should the signal associated with
+ * this accelerator be also visible?
+ */
+ GTK_ACCEL_SIGNAL_VISIBLE = 1 << 1,
+ /* may the accelerator be removed
+ * again?
+ */
+ GTK_ACCEL_LOCKED = 1 << 2,
+ GTK_ACCEL_MASK = 0x07
+} GtkAccelFlags;
+</ENUM>
+<STRUCT>
+<NAME>GtkAccelGroup</NAME>
+struct GtkAccelGroup
+{
+ guint ref_count;
+ guint lock_count;
+ GdkModifierType modifier_mask;
+ GSList *attach_objects;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkAccelEntry</NAME>
+struct GtkAccelEntry
+{
+ /* key portion
+ */
+ GtkAccelGroup *accel_group;
+ guint accelerator_key;
+ GdkModifierType accelerator_mods;
+
+ GtkAccelFlags accel_flags;
+ GtkObject *object;
+ guint signal_id;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_accel_group_new</NAME>
+<RETURNS>GtkAccelGroup *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_get_default</NAME>
+<RETURNS>GtkAccelGroup *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_ref</NAME>
+<RETURNS>GtkAccelGroup *</RETURNS>
+GtkAccelGroup *accel_group
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_unref</NAME>
+<RETURNS>void </RETURNS>
+GtkAccelGroup *accel_group
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_activate</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkAccelGroup *accel_group,guint accel_key,GdkModifierType accel_mods
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_groups_activate</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkObject *object,guint accel_key,GdkModifierType accel_mods
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_attach</NAME>
+<RETURNS>void </RETURNS>
+GtkAccelGroup *accel_group,GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_detach</NAME>
+<RETURNS>void </RETURNS>
+GtkAccelGroup *accel_group,GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_lock</NAME>
+<RETURNS>void </RETURNS>
+GtkAccelGroup *accel_group
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_unlock</NAME>
+<RETURNS>void </RETURNS>
+GtkAccelGroup *accel_group
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_get_entry</NAME>
+<RETURNS>GtkAccelEntry *</RETURNS>
+GtkAccelGroup *accel_group,guint accel_key,GdkModifierType accel_mods
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_lock_entry</NAME>
+<RETURNS>void </RETURNS>
+GtkAccelGroup *accel_group,guint accel_key,GdkModifierType accel_mods
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_unlock_entry</NAME>
+<RETURNS>void </RETURNS>
+GtkAccelGroup *accel_group,guint accel_key,GdkModifierType accel_mods
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_add</NAME>
+<RETURNS>void </RETURNS>
+GtkAccelGroup *accel_group,guint accel_key,GdkModifierType accel_mods,GtkAccelFlags accel_flags,GtkObject *object,const gchar *accel_signal
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_remove</NAME>
+<RETURNS>void </RETURNS>
+GtkAccelGroup *accel_group,guint accel_key,GdkModifierType accel_mods,GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_handle_add</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,guint accel_signal_id,GtkAccelGroup *accel_group,guint accel_key,GdkModifierType accel_mods,GtkAccelFlags accel_flags
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_handle_remove</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GtkAccelGroup *accel_group,guint accel_key,GdkModifierType accel_mods
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_create_add</NAME>
+<RETURNS>guint </RETURNS>
+GtkType class_type,GtkSignalRunType signal_flags,guint handler_offset
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_create_remove</NAME>
+<RETURNS>guint </RETURNS>
+GtkType class_type,GtkSignalRunType signal_flags,guint handler_offset
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_marshal_add</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GtkSignalFunc func,gpointer func_data,GtkArg *args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_marshal_remove</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GtkSignalFunc func,gpointer func_data,GtkArg *args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_groups_from_object</NAME>
+<RETURNS>GSList *</RETURNS>
+GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_group_entries_from_object</NAME>
+<RETURNS>GSList *</RETURNS>
+GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accelerator_valid</NAME>
+<RETURNS>gboolean </RETURNS>
+guint keyval,GdkModifierType modifiers
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accelerator_parse</NAME>
+<RETURNS>void </RETURNS>
+const gchar *accelerator,guint *accelerator_key,GdkModifierType *accelerator_mods
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accelerator_name</NAME>
+<RETURNS>gchar *</RETURNS>
+guint accelerator_key,GdkModifierType accelerator_mods
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accelerator_set_default_mod_mask</NAME>
+<RETURNS>void </RETURNS>
+GdkModifierType default_mod_mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accelerator_get_default_mod_mask</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_ACCEL_LABEL</NAME>
+#define GTK_TYPE_ACCEL_LABEL (gtk_accel_label_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_ACCEL_LABEL</NAME>
+#define GTK_ACCEL_LABEL(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_ACCEL_LABEL, GtkAccelLabel))
+</MACRO>
+<MACRO>
+<NAME>GTK_ACCEL_LABEL_CLASS</NAME>
+#define GTK_ACCEL_LABEL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ACCEL_LABEL, GtkAccelLabelClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ACCEL_LABEL</NAME>
+#define GTK_IS_ACCEL_LABEL(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_ACCEL_LABEL))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ACCEL_LABEL_CLASS</NAME>
+#define GTK_IS_ACCEL_LABEL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ACCEL_LABEL))
+</MACRO>
+<STRUCT>
+<NAME>GtkAccelLabel</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkAccelLabelClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkAccelLabel</NAME>
+struct GtkAccelLabel
+{
+ GtkLabel label;
+
+ guint queue_id;
+ guint accel_padding;
+ GtkWidget *accel_widget;
+ gchar *accel_string;
+ guint16 accel_string_width;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_accel_label_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_label_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *string
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_label_get_accel_width</NAME>
+<RETURNS>guint </RETURNS>
+GtkAccelLabel *accel_label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_label_set_accel_widget</NAME>
+<RETURNS>void </RETURNS>
+GtkAccelLabel *accel_label,GtkWidget *accel_widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_accel_label_refetch</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkAccelLabel *accel_label
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_ADJUSTMENT</NAME>
+#define GTK_TYPE_ADJUSTMENT (gtk_adjustment_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_ADJUSTMENT</NAME>
+#define GTK_ADJUSTMENT(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_ADJUSTMENT, GtkAdjustment))
+</MACRO>
+<MACRO>
+<NAME>GTK_ADJUSTMENT_CLASS</NAME>
+#define GTK_ADJUSTMENT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ADJUSTMENT, GtkAdjustmentClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ADJUSTMENT</NAME>
+#define GTK_IS_ADJUSTMENT(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_ADJUSTMENT))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ADJUSTMENT_CLASS</NAME>
+#define GTK_IS_ADJUSTMENT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ADJUSTMENT))
+</MACRO>
+<STRUCT>
+<NAME>GtkAdjustment</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkAdjustmentClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkAdjustment</NAME>
+struct GtkAdjustment
+{
+ GtkData data;
+
+ gfloat lower;
+ gfloat upper;
+ gfloat value;
+ gfloat step_increment;
+ gfloat page_increment;
+ gfloat page_size;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_adjustment_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_adjustment_new</NAME>
+<RETURNS>GtkObject *</RETURNS>
+gfloat value,gfloat lower,gfloat upper,gfloat step_increment,gfloat page_increment,gfloat page_size
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_adjustment_changed</NAME>
+<RETURNS>void </RETURNS>
+GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_adjustment_value_changed</NAME>
+<RETURNS>void </RETURNS>
+GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_adjustment_clamp_page</NAME>
+<RETURNS>void </RETURNS>
+GtkAdjustment *adjustment,gfloat lower,gfloat upper
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_adjustment_set_value</NAME>
+<RETURNS>void </RETURNS>
+GtkAdjustment *adjustment,gfloat value
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_ALIGNMENT</NAME>
+#define GTK_TYPE_ALIGNMENT (gtk_alignment_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_ALIGNMENT</NAME>
+#define GTK_ALIGNMENT(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_ALIGNMENT, GtkAlignment))
+</MACRO>
+<MACRO>
+<NAME>GTK_ALIGNMENT_CLASS</NAME>
+#define GTK_ALIGNMENT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ALIGNMENT, GtkAlignmentClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ALIGNMENT</NAME>
+#define GTK_IS_ALIGNMENT(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_ALIGNMENT))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ALIGNMENT_CLASS</NAME>
+#define GTK_IS_ALIGNMENT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ALIGNMENT))
+</MACRO>
+<STRUCT>
+<NAME>GtkAlignment</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkAlignmentClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkAlignment</NAME>
+struct GtkAlignment
+{
+ GtkBin bin;
+
+ gfloat xalign;
+ gfloat yalign;
+ gfloat xscale;
+ gfloat yscale;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_alignment_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_alignment_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+gfloat xalign,gfloat yalign,gfloat xscale,gfloat yscale
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_alignment_set</NAME>
+<RETURNS>void </RETURNS>
+GtkAlignment *alignment,gfloat xalign,gfloat yalign,gfloat xscale,gfloat yscale
+</FUNCTION>
+<STRUCT>
+<NAME>GtkArgInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkArgInfo</NAME>
+struct GtkArgInfo
+{
+ /* hash key portion */
+ GtkType class_type;
+ gchar *name;
+
+ GtkType type;
+ guint arg_flags;
+ gchar *full_name;
+
+ /* private fields */
+ guint arg_id;
+ guint seq_id;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_arg_new</NAME>
+<RETURNS>GtkArg *</RETURNS>
+GtkType arg_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_arg_copy</NAME>
+<RETURNS>GtkArg *</RETURNS>
+GtkArg *src_arg,GtkArg *dest_arg
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_arg_free</NAME>
+<RETURNS>void </RETURNS>
+GtkArg *arg,gboolean free_contents
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_arg_reset</NAME>
+<RETURNS>void </RETURNS>
+GtkArg *arg
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_arg_values_equal</NAME>
+<RETURNS>gboolean </RETURNS>
+const GtkArg *arg1,const GtkArg *arg2
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_args_collect</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkType object_type,GHashTable *arg_info_hash_table,GSList **arg_list_p,GSList **info_list_p,const gchar *first_arg_name,va_list var_args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_args_collect_cleanup</NAME>
+<RETURNS>void </RETURNS>
+GSList *arg_list,GSList *info_list
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_arg_get_info</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkType object_type,GHashTable *arg_info_hash_table,const gchar *arg_name,GtkArgInfo **info_p
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_arg_type_new_static</NAME>
+<RETURNS>GtkArgInfo *</RETURNS>
+GtkType base_class_type,const gchar *arg_name,guint class_n_args_offset,GHashTable *arg_info_hash_table,GtkType arg_type,guint arg_flags,guint arg_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_args_query</NAME>
+<RETURNS>GtkArg *</RETURNS>
+GtkType class_type,GHashTable *arg_info_hash_table,guint32 **arg_flags,guint *n_args_p
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_arg_name_strip_type</NAME>
+<RETURNS>gchar *</RETURNS>
+const gchar *arg_name
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_arg_info_equal</NAME>
+<RETURNS>gint </RETURNS>
+gconstpointer arg_info_1,gconstpointer arg_info_2
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_arg_info_hash</NAME>
+<RETURNS>guint </RETURNS>
+gconstpointer arg_info
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_arg_to_valueloc</NAME>
+<RETURNS>void </RETURNS>
+GtkArg *arg,gpointer value_pointer
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_ARROW</NAME>
+#define GTK_TYPE_ARROW (gtk_arrow_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_ARROW</NAME>
+#define GTK_ARROW(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_ARROW, GtkArrow))
+</MACRO>
+<MACRO>
+<NAME>GTK_ARROW_CLASS</NAME>
+#define GTK_ARROW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ARROW, GtkArrowClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ARROW</NAME>
+#define GTK_IS_ARROW(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_ARROW))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ARROW_CLASS</NAME>
+#define GTK_IS_ARROW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ARROW))
+</MACRO>
+<STRUCT>
+<NAME>GtkArrow</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkArrowClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkArrow</NAME>
+struct GtkArrow
+{
+ GtkMisc misc;
+
+ gint16 arrow_type;
+ gint16 shadow_type;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_arrow_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_arrow_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkArrowType arrow_type,GtkShadowType shadow_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_arrow_set</NAME>
+<RETURNS>void </RETURNS>
+GtkArrow *arrow,GtkArrowType arrow_type,GtkShadowType shadow_type
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_ASPECT_FRAME</NAME>
+#define GTK_TYPE_ASPECT_FRAME (gtk_aspect_frame_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_ASPECT_FRAME</NAME>
+#define GTK_ASPECT_FRAME(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_ASPECT_FRAME, GtkAspectFrame))
+</MACRO>
+<MACRO>
+<NAME>GTK_ASPECT_FRAME_CLASS</NAME>
+#define GTK_ASPECT_FRAME_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ASPECT_FRAME, GtkAspectFrameClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ASPECT_FRAME</NAME>
+#define GTK_IS_ASPECT_FRAME(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_ASPECT_FRAME))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ASPECT_FRAME_CLASS</NAME>
+#define GTK_IS_ASPECT_FRAME_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ASPECT_FRAME))
+</MACRO>
+<STRUCT>
+<NAME>GtkAspectFrame</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkAspectFrameClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkAspectFrame</NAME>
+struct GtkAspectFrame
+{
+ GtkFrame frame;
+
+ gfloat xalign;
+ gfloat yalign;
+ gfloat ratio;
+ gint obey_child;
+
+ GtkAllocation center_allocation;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_aspect_frame_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_aspect_frame_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *label,gfloat xalign,gfloat yalign,gfloat ratio,gint obey_child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_aspect_frame_set</NAME>
+<RETURNS>void </RETURNS>
+GtkAspectFrame *aspect_frame,gfloat xalign,gfloat yalign,gfloat ratio,gint obey_child
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_BUTTON_BOX</NAME>
+#define GTK_TYPE_BUTTON_BOX (gtk_button_box_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_BUTTON_BOX</NAME>
+#define GTK_BUTTON_BOX(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_BUTTON_BOX, GtkButtonBox))
+</MACRO>
+<MACRO>
+<NAME>GTK_BUTTON_BOX_CLASS</NAME>
+#define GTK_BUTTON_BOX_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_BUTTON_BOX, GtkButtonBoxClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_BUTTON_BOX</NAME>
+#define GTK_IS_BUTTON_BOX(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_BUTTON_BOX))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_BUTTON_BOX_CLASS</NAME>
+#define GTK_IS_BUTTON_BOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BUTTON_BOX))
+</MACRO>
+<MACRO>
+<NAME>GTK_BUTTONBOX_DEFAULT</NAME>
+#define GTK_BUTTONBOX_DEFAULT -1
+</MACRO>
+<STRUCT>
+<NAME>GtkButtonBox</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkButtonBoxClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkButtonBox</NAME>
+struct GtkButtonBox
+{
+ GtkBox box;
+ gint spacing;
+ gint child_min_width;
+ gint child_min_height;
+ gint child_ipad_x;
+ gint child_ipad_y;
+ GtkButtonBoxStyle layout_style;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_button_box_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_get_child_size_default</NAME>
+<RETURNS>void </RETURNS>
+gint *min_width, gint *min_height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_get_child_ipadding_default</NAME>
+<RETURNS>void </RETURNS>
+gint *ipad_x, gint *ipad_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_set_child_size_default</NAME>
+<RETURNS>void </RETURNS>
+gint min_width, gint min_height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_set_child_ipadding_default</NAME>
+<RETURNS>void </RETURNS>
+gint ipad_x, gint ipad_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_get_spacing</NAME>
+<RETURNS>gint </RETURNS>
+GtkButtonBox *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_get_layout</NAME>
+<RETURNS>GtkButtonBoxStyle </RETURNS>
+GtkButtonBox *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_get_child_size</NAME>
+<RETURNS>void </RETURNS>
+GtkButtonBox *widget,gint *min_width, gint *min_height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_get_child_ipadding</NAME>
+<RETURNS>void </RETURNS>
+GtkButtonBox *widget, gint *ipad_x, gint *ipad_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_set_spacing</NAME>
+<RETURNS>void </RETURNS>
+GtkButtonBox *widget, gint spacing
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_set_layout</NAME>
+<RETURNS>void </RETURNS>
+GtkButtonBox *widget,GtkButtonBoxStyle layout_style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_set_child_size</NAME>
+<RETURNS>void </RETURNS>
+GtkButtonBox *widget,gint min_width, gint min_height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_set_child_ipadding</NAME>
+<RETURNS>void </RETURNS>
+GtkButtonBox *widget, gint ipad_x, gint ipad_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_box_child_requisition</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,int *nvis_children,int *width,int *height
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_BIN</NAME>
+#define GTK_TYPE_BIN (gtk_bin_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_BIN</NAME>
+#define GTK_BIN(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_BIN, GtkBin))
+</MACRO>
+<MACRO>
+<NAME>GTK_BIN_CLASS</NAME>
+#define GTK_BIN_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_BIN, GtkBinClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_BIN</NAME>
+#define GTK_IS_BIN(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_BIN))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_BIN_CLASS</NAME>
+#define GTK_IS_BIN_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BIN))
+</MACRO>
+<STRUCT>
+<NAME>GtkBin</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkBinClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkBin</NAME>
+struct GtkBin
+{
+ GtkContainer container;
+
+ GtkWidget *child;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_bin_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<STRUCT>
+<NAME>GtkPatternSpec</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPatternSpec</NAME>
+struct GtkPatternSpec
+{
+ GtkMatchType match_type;
+ guint pattern_length;
+ gchar *pattern;
+ gchar *pattern_reversed;
+ gpointer user_data;
+ guint seq_id;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_pattern_spec_init</NAME>
+<RETURNS>void </RETURNS>
+GtkPatternSpec *pspec,const gchar *pattern
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_pattern_spec_free_segs</NAME>
+<RETURNS>void </RETURNS>
+GtkPatternSpec *pspec
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_pattern_match</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkPatternSpec *pspec,guint string_length,const gchar *string,const gchar *string_reversed
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_pattern_match_string</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkPatternSpec *pspec,const gchar *string
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_pattern_match_simple</NAME>
+<RETURNS>gboolean </RETURNS>
+const gchar *pattern,const gchar *string
+</FUNCTION>
+<STRUCT>
+<NAME>GtkBindingSet</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkBindingEntry</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkBindingSignal</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkBindingArg</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkBindingSet</NAME>
+struct GtkBindingSet
+{
+ gchar *set_name;
+ gint priority;
+ GSList *widget_path_pspecs;
+ GSList *widget_class_pspecs;
+ GSList *class_branch_pspecs;
+ GtkBindingEntry *entries;
+ GtkBindingEntry *current;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkBindingEntry</NAME>
+struct GtkBindingEntry
+{
+ /* key portion
+ */
+ guint keyval;
+ guint modifiers;
+
+ GtkBindingSet *binding_set;
+ guint destroyed : 1;
+ guint in_emission : 1;
+ GtkBindingEntry *set_next;
+ GtkBindingEntry *hash_next;
+ GtkBindingSignal *signals;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkBindingSignal</NAME>
+struct GtkBindingSignal
+{
+ GtkBindingSignal *next;
+ gchar *signal_name;
+ guint n_args;
+ GtkBindingArg *args;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkBindingArg</NAME>
+struct GtkBindingArg
+{
+ GtkType arg_type;
+ union {
+ glong long_data;
+ gdouble double_data;
+ gchar *string_data;
+ } d;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_binding_set_new</NAME>
+<RETURNS>GtkBindingSet *</RETURNS>
+const gchar *set_name
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_binding_set_by_class</NAME>
+<RETURNS>GtkBindingSet *</RETURNS>
+gpointer object_class
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_binding_set_find</NAME>
+<RETURNS>GtkBindingSet *</RETURNS>
+const gchar *set_name
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_bindings_activate</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkObject *object,guint keyval,guint modifiers
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_binding_set_activate</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkBindingSet *binding_set,guint keyval,guint modifiers,GtkObject *object
+</FUNCTION>
+<MACRO>
+<NAME>gtk_binding_entry_add</NAME>
+#define gtk_binding_entry_add gtk_binding_entry_clear
+</MACRO>
+<FUNCTION>
+<NAME>gtk_binding_entry_clear</NAME>
+<RETURNS>void </RETURNS>
+GtkBindingSet *binding_set,guint keyval,guint modifiers
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_binding_entry_add_signal</NAME>
+<RETURNS>void </RETURNS>
+GtkBindingSet *binding_set,guint keyval,guint modifiers,const gchar *signal_name,guint n_args,...
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_binding_set_add_path</NAME>
+<RETURNS>void </RETURNS>
+GtkBindingSet *binding_set,GtkPathType path_type,const gchar *path_pattern,GtkPathPriorityType priority
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_binding_entry_remove</NAME>
+<RETURNS>void </RETURNS>
+GtkBindingSet *binding_set,guint keyval,guint modifiers
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_binding_entry_add_signall</NAME>
+<RETURNS>void </RETURNS>
+GtkBindingSet *binding_set,guint keyval,guint modifiers,const gchar *signal_name,GSList *binding_args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_binding_parse_binding</NAME>
+<RETURNS>guint </RETURNS>
+GScanner *scanner
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_BOX</NAME>
+#define GTK_TYPE_BOX (gtk_box_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_BOX</NAME>
+#define GTK_BOX(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_BOX, GtkBox))
+</MACRO>
+<MACRO>
+<NAME>GTK_BOX_CLASS</NAME>
+#define GTK_BOX_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_BOX, GtkBoxClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_BOX</NAME>
+#define GTK_IS_BOX(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_BOX))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_BOX_CLASS</NAME>
+#define GTK_IS_BOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BOX))
+</MACRO>
+<STRUCT>
+<NAME>GtkBox</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkBoxClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkBoxChild</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkBox</NAME>
+struct GtkBox
+{
+ GtkContainer container;
+
+ GList *children;
+ gint16 spacing;
+ guint homogeneous : 1;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkBoxChild</NAME>
+struct GtkBoxChild
+{
+ GtkWidget *widget;
+ guint16 padding;
+ guint expand : 1;
+ guint fill : 1;
+ guint pack : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_box_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_box_pack_start</NAME>
+<RETURNS>void </RETURNS>
+GtkBox *box,GtkWidget *child,gboolean expand,gboolean fill,guint padding
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_box_pack_end</NAME>
+<RETURNS>void </RETURNS>
+GtkBox *box,GtkWidget *child,gboolean expand,gboolean fill,guint padding
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_box_pack_start_defaults</NAME>
+<RETURNS>void </RETURNS>
+GtkBox *box,GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_box_pack_end_defaults</NAME>
+<RETURNS>void </RETURNS>
+GtkBox *box,GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_box_set_homogeneous</NAME>
+<RETURNS>void </RETURNS>
+GtkBox *box,gboolean homogeneous
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_box_set_spacing</NAME>
+<RETURNS>void </RETURNS>
+GtkBox *box,gint spacing
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_box_reorder_child</NAME>
+<RETURNS>void </RETURNS>
+GtkBox *box,GtkWidget *child,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_box_query_child_packing</NAME>
+<RETURNS>void </RETURNS>
+GtkBox *box,GtkWidget *child,gboolean *expand,gboolean *fill,guint *padding,GtkPackType *pack_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_box_set_child_packing</NAME>
+<RETURNS>void </RETURNS>
+GtkBox *box,GtkWidget *child,gboolean expand,gboolean fill,guint padding,GtkPackType pack_type
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_BUTTON</NAME>
+#define GTK_TYPE_BUTTON (gtk_button_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_BUTTON</NAME>
+#define GTK_BUTTON(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_BUTTON, GtkButton))
+</MACRO>
+<MACRO>
+<NAME>GTK_BUTTON_CLASS</NAME>
+#define GTK_BUTTON_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_BUTTON, GtkButtonClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_BUTTON</NAME>
+#define GTK_IS_BUTTON(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_BUTTON))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_BUTTON_CLASS</NAME>
+#define GTK_IS_BUTTON_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_BUTTON))
+</MACRO>
+<STRUCT>
+<NAME>GtkButton</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkButtonClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkButton</NAME>
+struct GtkButton
+{
+ GtkBin bin;
+
+ GtkWidget *child /* deprecapted field,
+ * use GTK_BIN (button)->child instead
+ */;
+
+ guint in_button : 1;
+ guint button_down : 1;
+ guint relief : 2;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_button_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_new_with_label</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_pressed</NAME>
+<RETURNS>void </RETURNS>
+GtkButton *button
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_released</NAME>
+<RETURNS>void </RETURNS>
+GtkButton *button
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_clicked</NAME>
+<RETURNS>void </RETURNS>
+GtkButton *button
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_enter</NAME>
+<RETURNS>void </RETURNS>
+GtkButton *button
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_leave</NAME>
+<RETURNS>void </RETURNS>
+GtkButton *button
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_set_relief</NAME>
+<RETURNS>void </RETURNS>
+GtkButton *button,GtkReliefStyle newstyle
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_button_get_relief</NAME>
+<RETURNS>GtkReliefStyle </RETURNS>
+GtkButton *button
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_CALENDAR</NAME>
+#define GTK_TYPE_CALENDAR (gtk_calendar_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_CALENDAR</NAME>
+#define GTK_CALENDAR(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_CALENDAR, GtkCalendar))
+</MACRO>
+<MACRO>
+<NAME>GTK_CALENDAR_CLASS</NAME>
+#define GTK_CALENDAR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_CALENDAR, GtkCalendarClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CALENDAR</NAME>
+#define GTK_IS_CALENDAR(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_CALENDAR))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CALENDAR_CLASS</NAME>
+#define GTK_IS_CALENDAR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CALENDAR))
+</MACRO>
+<STRUCT>
+<NAME>GtkCalendar</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCalendarClass</NAME>
+</STRUCT>
+<ENUM>
+<NAME>GtkCalendarDisplayOptions</NAME>
+typedef enum
+{
+ GTK_CALENDAR_SHOW_HEADING = 1 << 0,
+ GTK_CALENDAR_SHOW_DAY_NAMES = 1 << 1,
+ GTK_CALENDAR_NO_MONTH_CHANGE = 1 << 2,
+ GTK_CALENDAR_SHOW_WEEK_NUMBERS = 1 << 3,
+ GTK_CALENDAR_WEEK_START_MONDAY = 1 << 4
+} GtkCalendarDisplayOptions;
+</ENUM>
+<STRUCT>
+<NAME>GtkCalendar</NAME>
+struct GtkCalendar
+{
+ GtkWidget widget;
+
+ GtkStyle *header_style;
+ GtkStyle *label_style;
+
+ gint month;
+ gint year;
+ gint selected_day;
+
+ gint day_month[6][7];
+ gint day[6][7];
+
+ gint num_marked_dates;
+ gint marked_date[31];
+ GtkCalendarDisplayOptions display_flags;
+ GdkColor marked_date_color[31];
+
+ GdkGC *gc;
+ GdkGC *xor_gc;
+
+ gint focus_row;
+ gint focus_col;
+
+ gint highlight_row;
+ gint highlight_col;
+
+ gpointer private_data;
+ gchar grow_space [32];
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_calendar_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_calendar_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_calendar_select_month</NAME>
+<RETURNS>gint </RETURNS>
+GtkCalendar *calendar,guint month,guint year
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_calendar_select_day</NAME>
+<RETURNS>void </RETURNS>
+GtkCalendar *calendar,guint day
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_calendar_mark_day</NAME>
+<RETURNS>gint </RETURNS>
+GtkCalendar *calendar,guint day
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_calendar_unmark_day</NAME>
+<RETURNS>gint </RETURNS>
+GtkCalendar *calendar,guint day
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_calendar_clear_marks</NAME>
+<RETURNS>void </RETURNS>
+GtkCalendar *calendar
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_calendar_display_options</NAME>
+<RETURNS>void </RETURNS>
+GtkCalendar *calendar,GtkCalendarDisplayOptions flags
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_calendar_get_date</NAME>
+<RETURNS>void </RETURNS>
+GtkCalendar *calendar,guint *year,guint *month,guint *day
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_calendar_freeze</NAME>
+<RETURNS>void </RETURNS>
+GtkCalendar *calendar
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_calendar_thaw</NAME>
+<RETURNS>void </RETURNS>
+GtkCalendar *calendar
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_CHECK_BUTTON</NAME>
+#define GTK_TYPE_CHECK_BUTTON (gtk_check_button_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_CHECK_BUTTON</NAME>
+#define GTK_CHECK_BUTTON(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_CHECK_BUTTON, GtkCheckButton))
+</MACRO>
+<MACRO>
+<NAME>GTK_CHECK_BUTTON_CLASS</NAME>
+#define GTK_CHECK_BUTTON_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_CHECK_BUTTON, GtkCheckButtonClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CHECK_BUTTON</NAME>
+#define GTK_IS_CHECK_BUTTON(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_CHECK_BUTTON))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CHECK_BUTTON_CLASS</NAME>
+#define GTK_IS_CHECK_BUTTON_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CHECK_BUTTON))
+</MACRO>
+<STRUCT>
+<NAME>GtkCheckButton</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCheckButtonClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCheckButton</NAME>
+struct GtkCheckButton
+{
+ GtkToggleButton toggle_button;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_check_button_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_check_button_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_check_button_new_with_label</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *label
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_CHECK_MENU_ITEM</NAME>
+#define GTK_TYPE_CHECK_MENU_ITEM (gtk_check_menu_item_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_CHECK_MENU_ITEM</NAME>
+#define GTK_CHECK_MENU_ITEM(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_CHECK_MENU_ITEM, GtkCheckMenuItem))
+</MACRO>
+<MACRO>
+<NAME>GTK_CHECK_MENU_ITEM_CLASS</NAME>
+#define GTK_CHECK_MENU_ITEM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_CHECK_MENU_ITEM, GtkCheckMenuItemClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CHECK_MENU_ITEM</NAME>
+#define GTK_IS_CHECK_MENU_ITEM(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_CHECK_MENU_ITEM))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CHECK_MENU_ITEM_CLASS</NAME>
+#define GTK_IS_CHECK_MENU_ITEM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CHECK_MENU_ITEM))
+</MACRO>
+<STRUCT>
+<NAME>GtkCheckMenuItem</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCheckMenuItemClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCheckMenuItem</NAME>
+struct GtkCheckMenuItem
+{
+ GtkMenuItem menu_item;
+
+ guint active : 1;
+ guint always_show_toggle : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_check_menu_item_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_check_menu_item_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_check_menu_item_new_with_label</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_check_menu_item_set_active</NAME>
+<RETURNS>void </RETURNS>
+GtkCheckMenuItem *check_menu_item,gboolean is_active
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_check_menu_item_set_show_toggle</NAME>
+<RETURNS>void </RETURNS>
+GtkCheckMenuItem *menu_item,gboolean always
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_check_menu_item_toggled</NAME>
+<RETURNS>void </RETURNS>
+GtkCheckMenuItem *check_menu_item
+</FUNCTION>
+<ENUM>
+<NAME>GtkCellType</NAME>
+typedef enum
+{
+ GTK_CELL_EMPTY,
+ GTK_CELL_TEXT,
+ GTK_CELL_PIXMAP,
+ GTK_CELL_PIXTEXT,
+ GTK_CELL_WIDGET
+} GtkCellType;
+</ENUM>
+<ENUM>
+<NAME>GtkCListDragPos</NAME>
+typedef enum
+{
+ GTK_CLIST_DRAG_NONE,
+ GTK_CLIST_DRAG_BEFORE,
+ GTK_CLIST_DRAG_INTO,
+ GTK_CLIST_DRAG_AFTER
+} GtkCListDragPos;
+</ENUM>
+<ENUM>
+<NAME>GtkButtonAction</NAME>
+typedef enum
+{
+ GTK_BUTTON_IGNORED = 0,
+ GTK_BUTTON_SELECTS = 1 << 0,
+ GTK_BUTTON_DRAGS = 1 << 1,
+ GTK_BUTTON_EXPANDS = 1 << 2
+} GtkButtonAction;
+</ENUM>
+<MACRO>
+<NAME>GTK_TYPE_CLIST</NAME>
+#define GTK_TYPE_CLIST (gtk_clist_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST</NAME>
+#define GTK_CLIST(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_CLIST, GtkCList))
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_CLASS</NAME>
+#define GTK_CLIST_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_CLIST, GtkCListClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CLIST</NAME>
+#define GTK_IS_CLIST(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_CLIST))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CLIST_CLASS</NAME>
+#define GTK_IS_CLIST_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CLIST))
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_FLAGS</NAME>
+#define GTK_CLIST_FLAGS(clist) (GTK_CLIST (clist)->flags)
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_SET_FLAG</NAME>
+#define GTK_CLIST_SET_FLAG(clist,flag) (GTK_CLIST_FLAGS (clist) |= (GTK_ ## flag))
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_UNSET_FLAG</NAME>
+#define GTK_CLIST_UNSET_FLAG(clist,flag) (GTK_CLIST_FLAGS (clist) &= ~(GTK_ ## flag))
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_IN_DRAG</NAME>
+#define GTK_CLIST_IN_DRAG(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_IN_DRAG)
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_ROW_HEIGHT_SET</NAME>
+#define GTK_CLIST_ROW_HEIGHT_SET(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_ROW_HEIGHT_SET)
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_SHOW_TITLES</NAME>
+#define GTK_CLIST_SHOW_TITLES(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_SHOW_TITLES)
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_CHILD_HAS_FOCUS</NAME>
+#define GTK_CLIST_CHILD_HAS_FOCUS(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_CHILD_HAS_FOCUS)
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_ADD_MODE</NAME>
+#define GTK_CLIST_ADD_MODE(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_ADD_MODE)
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_AUTO_SORT</NAME>
+#define GTK_CLIST_AUTO_SORT(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_AUTO_SORT)
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_AUTO_RESIZE_BLOCKED</NAME>
+#define GTK_CLIST_AUTO_RESIZE_BLOCKED(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_AUTO_RESIZE_BLOCKED)
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_REORDERABLE</NAME>
+#define GTK_CLIST_REORDERABLE(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_REORDERABLE)
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_USE_DRAG_ICONS</NAME>
+#define GTK_CLIST_USE_DRAG_ICONS(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_USE_DRAG_ICONS)
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_DRAW_DRAG_LINE</NAME>
+#define GTK_CLIST_DRAW_DRAG_LINE(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_DRAW_DRAG_LINE)
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_DRAW_DRAG_RECT</NAME>
+#define GTK_CLIST_DRAW_DRAG_RECT(clist) (GTK_CLIST_FLAGS (clist) & GTK_CLIST_DRAW_DRAG_RECT)
+</MACRO>
+<MACRO>
+<NAME>GTK_CLIST_ROW</NAME>
+#define GTK_CLIST_ROW(_glist_) ((GtkCListRow *)((_glist_)->data))
+</MACRO>
+<MACRO>
+<NAME>GTK_CELL_TEXT</NAME>
+#define GTK_CELL_TEXT(cell) (((GtkCellText *) &(cell)))
+</MACRO>
+<MACRO>
+<NAME>GTK_CELL_PIXMAP</NAME>
+#define GTK_CELL_PIXMAP(cell) (((GtkCellPixmap *) &(cell)))
+</MACRO>
+<MACRO>
+<NAME>GTK_CELL_PIXTEXT</NAME>
+#define GTK_CELL_PIXTEXT(cell) (((GtkCellPixText *) &(cell)))
+</MACRO>
+<MACRO>
+<NAME>GTK_CELL_WIDGET</NAME>
+#define GTK_CELL_WIDGET(cell) (((GtkCellWidget *) &(cell)))
+</MACRO>
+<STRUCT>
+<NAME>GtkCList</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCListClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCListColumn</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCListRow</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCell</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCellText</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCellPixmap</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCellPixText</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCellWidget</NAME>
+</STRUCT>
+<USER_FUNCTION>
+<NAME>GtkCListCompareFunc</NAME>
+<RETURNS>gint </RETURNS>
+GtkCList *clist,
+ gconstpointer ptr1,
+ gconstpointer ptr2
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GtkCListCellInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCListDestInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCListCellInfo</NAME>
+struct GtkCListCellInfo
+{
+ gint row;
+ gint column;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkCListDestInfo</NAME>
+struct GtkCListDestInfo
+{
+ GtkCListCellInfo cell;
+ GtkCListDragPos insert_pos;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkCList</NAME>
+struct GtkCList
+{
+ GtkContainer container;
+
+ guint16 flags;
+
+ /* mem chunks */
+ GMemChunk *row_mem_chunk;
+ GMemChunk *cell_mem_chunk;
+
+ guint freeze_count;
+
+ /* allocation rectangle after the conatiner_border_width
+ * and the width of the shadow border */
+ GdkRectangle internal_allocation;
+
+ /* rows */
+ gint rows;
+ gint row_center_offset;
+ gint row_height;
+ GList *row_list;
+ GList *row_list_end;
+
+ /* columns */
+ gint columns;
+ GdkRectangle column_title_area;
+ GdkWindow *title_window;
+
+ /* dynamicly allocated array of column structures */
+ GtkCListColumn *column;
+
+ /*the scrolling window and it's height and width to
+ * make things a little speedier */
+ GdkWindow *clist_window;
+ gint clist_window_width;
+ gint clist_window_height;
+
+ /* offsets for scrolling */
+ gint hoffset;
+ gint voffset;
+
+ /* border shadow style */
+ GtkShadowType shadow_type;
+
+ /* the list's selection mode (gtkenums.h) */
+ GtkSelectionMode selection_mode;
+
+ /* list of selected rows */
+ GList *selection;
+ GList *selection_end;
+
+ GList *undo_selection;
+ GList *undo_unselection;
+ gint undo_anchor;
+
+ /* mouse buttons */
+ guint8 button_actions[5];
+
+ guint8 drag_button;
+
+ /* dnd */
+ GtkCListCellInfo click_cell;
+
+ /* scroll adjustments */
+ GtkAdjustment *hadjustment;
+ GtkAdjustment *vadjustment;
+
+ /* xor GC for the vertical drag line */
+ GdkGC *xor_gc;
+
+ /* gc for drawing unselected cells */
+ GdkGC *fg_gc;
+ GdkGC *bg_gc;
+
+ /* cursor used to indicate dragging */
+ GdkCursor *cursor_drag;
+
+ /* the current x-pixel location of the xor-drag line */
+ gint x_drag;
+
+ /* focus handling */
+ gint focus_row;
+
+ /* dragging the selection */
+ gint anchor;
+ GtkStateType anchor_state;
+ gint drag_pos;
+ gint htimer;
+ gint vtimer;
+
+ GtkSortType sort_type;
+ GtkCListCompareFunc compare;
+ gint sort_column;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkCListColumn</NAME>
+struct GtkCListColumn
+{
+ gchar *title;
+ GdkRectangle area;
+
+ GtkWidget *button;
+ GdkWindow *window;
+
+ gint width;
+ gint min_width;
+ gint max_width;
+ GtkJustification justification;
+
+ guint visible : 1;
+ guint width_set : 1;
+ guint resizeable : 1;
+ guint auto_resize : 1;
+ guint button_passive : 1;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkCListRow</NAME>
+struct GtkCListRow
+{
+ GtkCell *cell;
+ GtkStateType state;
+
+ GdkColor foreground;
+ GdkColor background;
+
+ GtkStyle *style;
+
+ gpointer data;
+ GtkDestroyNotify destroy;
+
+ guint fg_set : 1;
+ guint bg_set : 1;
+ guint selectable : 1;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkCellText</NAME>
+struct GtkCellText
+{
+ GtkCellType type;
+
+ gint16 vertical;
+ gint16 horizontal;
+
+ GtkStyle *style;
+
+ gchar *text;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkCellPixmap</NAME>
+struct GtkCellPixmap
+{
+ GtkCellType type;
+
+ gint16 vertical;
+ gint16 horizontal;
+
+ GtkStyle *style;
+
+ GdkPixmap *pixmap;
+ GdkBitmap *mask;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkCellPixText</NAME>
+struct GtkCellPixText
+{
+ GtkCellType type;
+
+ gint16 vertical;
+ gint16 horizontal;
+
+ GtkStyle *style;
+
+ gchar *text;
+ guint8 spacing;
+ GdkPixmap *pixmap;
+ GdkBitmap *mask;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkCellWidget</NAME>
+struct GtkCellWidget
+{
+ GtkCellType type;
+
+ gint16 vertical;
+ gint16 horizontal;
+
+ GtkStyle *style;
+
+ GtkWidget *widget;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkCell</NAME>
+struct GtkCell
+{
+ GtkCellType type;
+
+ gint16 vertical;
+ gint16 horizontal;
+
+ GtkStyle *style;
+
+ union {
+ gchar *text;
+
+ struct {
+ GdkPixmap *pixmap;
+ GdkBitmap *mask;
+ } pm;
+
+ struct {
+ gchar *text;
+ guint8 spacing;
+ GdkPixmap *pixmap;
+ GdkBitmap *mask;
+ } pt;
+
+ GtkWidget *widget;
+ } u;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_clist_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_construct</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint columns,gchar *titles[]
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+gint columns
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_new_with_titles</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+gint columns,gchar *titles[]
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_hadjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_vadjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_hadjustment</NAME>
+<RETURNS>GtkAdjustment *</RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_vadjustment</NAME>
+<RETURNS>GtkAdjustment *</RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_shadow_type</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,GtkShadowType type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_selection_mode</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,GtkSelectionMode mode
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_reorderable</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gboolean reorderable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_use_drag_icons</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gboolean use_icons
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_button_actions</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,guint button,guint8 button_actions
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_freeze</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_thaw</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_column_titles_show</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_column_titles_hide</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_column_title_active</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_column_title_passive</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_column_titles_active</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_column_titles_passive</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_column_title</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint column,const gchar *title
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_column_title</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkCList *clist,gint column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_column_widget</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint column,GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_column_widget</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkCList *clist,gint column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_column_justification</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint column,GtkJustification justification
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_column_visibility</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint column,gboolean visible
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_column_resizeable</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint column,gboolean resizeable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_column_auto_resize</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint column,gboolean auto_resize
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_columns_autosize</NAME>
+<RETURNS>gint </RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_optimal_column_width</NAME>
+<RETURNS>gint </RETURNS>
+GtkCList *clist,gint column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_column_width</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint column,gint width
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_column_min_width</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint column,gint min_width
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_column_max_width</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint column,gint max_width
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_row_height</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,guint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_moveto</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,gint column,gfloat row_align,gfloat col_align
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_row_is_visible</NAME>
+<RETURNS>GtkVisibility </RETURNS>
+GtkCList *clist,gint row
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_cell_type</NAME>
+<RETURNS>GtkCellType </RETURNS>
+GtkCList *clist,gint row,gint column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_text</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,gint column,const gchar *text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_text</NAME>
+<RETURNS>gint </RETURNS>
+GtkCList *clist,gint row,gint column,gchar **text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_pixmap</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,gint column,GdkPixmap *pixmap,GdkBitmap *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_pixmap</NAME>
+<RETURNS>gint </RETURNS>
+GtkCList *clist,gint row,gint column,GdkPixmap **pixmap,GdkBitmap **mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_pixtext</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,gint column,const gchar *text,guint8 spacing,GdkPixmap *pixmap,GdkBitmap *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_pixtext</NAME>
+<RETURNS>gint </RETURNS>
+GtkCList *clist,gint row,gint column,gchar **text,guint8 *spacing,GdkPixmap **pixmap,GdkBitmap **mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_foreground</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_background</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_cell_style</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,gint column,GtkStyle *style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_cell_style</NAME>
+<RETURNS>GtkStyle *</RETURNS>
+GtkCList *clist,gint row,gint column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_row_style</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,GtkStyle *style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_row_style</NAME>
+<RETURNS>GtkStyle *</RETURNS>
+GtkCList *clist,gint row
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_shift</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,gint column,gint vertical,gint horizontal
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_selectable</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,gboolean selectable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_selectable</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkCList *clist,gint row
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_prepend</NAME>
+<RETURNS>gint </RETURNS>
+GtkCList *clist,gchar *text[]
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_append</NAME>
+<RETURNS>gint </RETURNS>
+GtkCList *clist,gchar *text[]
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_insert</NAME>
+<RETURNS>gint </RETURNS>
+GtkCList *clist,gint row,gchar *text[]
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_remove</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_row_data</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_row_data_full</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,gpointer data,GtkDestroyNotify destroy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_row_data</NAME>
+<RETURNS>gpointer </RETURNS>
+GtkCList *clist,gint row
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_find_row_from_data</NAME>
+<RETURNS>gint </RETURNS>
+GtkCList *clist,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_select_row</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,gint column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_unselect_row</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row,gint column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_undo_selection</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_clear</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_get_selection_info</NAME>
+<RETURNS>gint </RETURNS>
+GtkCList *clist,gint x,gint y,gint *row,gint *column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_select_all</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_unselect_all</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_swap_rows</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint row1,gint row2
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_row_move</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint source_row,gint dest_row
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_compare_func</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,GtkCListCompareFunc cmp_func
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_sort_column</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gint column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_sort_type</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,GtkSortType sort_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_sort</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_clist_set_auto_sort</NAME>
+<RETURNS>void </RETURNS>
+GtkCList *clist,gboolean auto_sort
+</FUNCTION>
+<MACRO>
+<NAME>GTK_COLOR_SELECTION</NAME>
+#define GTK_COLOR_SELECTION(obj) GTK_CHECK_CAST (obj, gtk_color_selection_get_type (), GtkColorSelection)
+</MACRO>
+<MACRO>
+<NAME>GTK_COLOR_SELECTION_CLASS</NAME>
+#define GTK_COLOR_SELECTION_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_color_selection_get_type (), GtkColorSelectionClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_COLOR_SELECTION</NAME>
+#define GTK_IS_COLOR_SELECTION(obj) GTK_CHECK_TYPE (obj, gtk_color_selection_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_COLOR_SELECTION_DIALOG</NAME>
+#define GTK_COLOR_SELECTION_DIALOG(obj) GTK_CHECK_CAST (obj, gtk_color_selection_dialog_get_type (), GtkColorSelectionDialog)
+</MACRO>
+<MACRO>
+<NAME>GTK_COLOR_SELECTION_DIALOG_CLASS</NAME>
+#define GTK_COLOR_SELECTION_DIALOG_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_color_selection_dialog_get_type (), GtkColorSelectionDialogClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_COLOR_SELECTION_DIALOG</NAME>
+#define GTK_IS_COLOR_SELECTION_DIALOG(obj) GTK_CHECK_TYPE (obj, gtk_color_selection_dialog_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkColorSelection</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkColorSelectionClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkColorSelectionDialog</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkColorSelectionDialogClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkColorSelection</NAME>
+struct GtkColorSelection
+{
+ GtkVBox vbox;
+
+ GtkWidget *wheel_area;
+ GtkWidget *value_area;
+ GtkWidget *sample_area;
+ GtkWidget *sample_area_eb;
+
+ GtkWidget *scales[8];
+ GtkWidget *entries[8];
+ GtkWidget *opacity_label;
+
+ GdkGC *wheel_gc;
+ GdkGC *value_gc;
+ GdkGC *sample_gc;
+
+ GtkUpdateType policy;
+ gint use_opacity;
+ gint timer_active;
+ gint timer_tag;
+ gdouble values[8];
+ gdouble old_values[8];
+
+ guchar *wheel_buf;
+ guchar *value_buf;
+ guchar *sample_buf;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkColorSelectionDialog</NAME>
+struct GtkColorSelectionDialog
+{
+ GtkWindow window;
+
+ GtkWidget *colorsel;
+ GtkWidget *main_vbox;
+ GtkWidget *ok_button;
+ GtkWidget *reset_button;
+ GtkWidget *cancel_button;
+ GtkWidget *help_button;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_color_selection_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_color_selection_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_color_selection_set_update_policy</NAME>
+<RETURNS>void </RETURNS>
+GtkColorSelection *colorsel,GtkUpdateType policy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_color_selection_set_opacity</NAME>
+<RETURNS>void </RETURNS>
+GtkColorSelection *colorsel,gint use_opacity
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_color_selection_set_color</NAME>
+<RETURNS>void </RETURNS>
+GtkColorSelection *colorsel,gdouble *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_color_selection_get_color</NAME>
+<RETURNS>void </RETURNS>
+GtkColorSelection *colorsel,gdouble *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_color_selection_dialog_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_color_selection_dialog_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *title
+</FUNCTION>
+<MACRO>
+<NAME>GTK_COMBO</NAME>
+#define GTK_COMBO(obj) GTK_CHECK_CAST (obj, gtk_combo_get_type (), GtkCombo)
+</MACRO>
+<MACRO>
+<NAME>GTK_COMBO_CLASS</NAME>
+#define GTK_COMBO_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_combo_get_type (), GtkComboClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_COMBO</NAME>
+#define GTK_IS_COMBO(obj) GTK_CHECK_TYPE (obj, gtk_combo_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkCombo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkComboClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCombo</NAME>
+struct GtkCombo {
+ GtkHBox hbox;
+ GtkWidget *entry;
+ GtkWidget *button;
+ GtkWidget *popup;
+ GtkWidget *popwin;
+ GtkWidget *list;
+
+ guint entry_change_id;
+ guint list_change_id;
+
+ guint value_in_list:1;
+ guint ok_if_empty:1;
+ guint case_sensitive:1;
+ guint use_arrows:1;
+ guint use_arrows_always:1;
+
+ guint16 current_button;
+ guint activate_id;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_combo_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_combo_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_combo_set_value_in_list</NAME>
+<RETURNS>void </RETURNS>
+GtkCombo* combo,gint val,gint ok_if_empty
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_combo_set_use_arrows</NAME>
+<RETURNS>void </RETURNS>
+GtkCombo* combo,gint val
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_combo_set_use_arrows_always</NAME>
+<RETURNS>void </RETURNS>
+GtkCombo* combo,gint val
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_combo_set_case_sensitive</NAME>
+<RETURNS>void </RETURNS>
+GtkCombo* combo,gint val
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_combo_set_item_string</NAME>
+<RETURNS>void </RETURNS>
+GtkCombo* combo,GtkItem* item,const gchar* item_value
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_combo_set_popdown_strings</NAME>
+<RETURNS>void </RETURNS>
+GtkCombo* combo,GList *strings
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_combo_disable_activate</NAME>
+<RETURNS>void </RETURNS>
+GtkCombo* combo
+</FUNCTION>
+<MACRO>
+<NAME>gtk_accel_label_accelerator_width</NAME>
+#define gtk_accel_label_accelerator_width gtk_accel_label_get_accel_width
+</MACRO>
+<MACRO>
+<NAME>gtk_container_border_width</NAME>
+#define gtk_container_border_width gtk_container_set_border_width
+</MACRO>
+<MACRO>
+<NAME>gtk_notebook_current_page</NAME>
+#define gtk_notebook_current_page gtk_notebook_get_current_page
+</MACRO>
+<MACRO>
+<NAME>gtk_packer_configure</NAME>
+#define gtk_packer_configure gtk_packer_set_child_packing
+</MACRO>
+<MACRO>
+<NAME>gtk_paned_gutter_size</NAME>
+#define gtk_paned_gutter_size gtk_paned_set_gutter_size
+</MACRO>
+<MACRO>
+<NAME>gtk_paned_handle_size</NAME>
+#define gtk_paned_handle_size gtk_paned_set_handle_size
+</MACRO>
+<MACRO>
+<NAME>gtk_scale_value_width</NAME>
+#define gtk_scale_value_width gtk_scale_get_value_width
+</MACRO>
+<MACRO>
+<NAME>gtk_window_position</NAME>
+#define gtk_window_position gtk_window_set_position
+</MACRO>
+<MACRO>
+<NAME>gtk_toggle_button_set_state</NAME>
+#define gtk_toggle_button_set_state gtk_toggle_button_set_active
+</MACRO>
+<MACRO>
+<NAME>gtk_check_menu_item_set_state</NAME>
+#define gtk_check_menu_item_set_state gtk_check_menu_item_set_active
+</MACRO>
+<MACRO>
+<NAME>gtk_ctree_set_reorderable</NAME>
+#define gtk_ctree_set_reorderable(t,r) gtk_clist_set_reorderable((GtkCList*) (t),(r))
+</MACRO>
+<MACRO>
+<NAME>gtk_style_apply_default_pixmap</NAME>
+#define gtk_style_apply_default_pixmap(s,gw,st,a,x,y,w,h) \
+ gtk_style_apply_default_background (s,gw,TRUE,st,a,x,y,w,h)
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_CONTAINER</NAME>
+#define GTK_TYPE_CONTAINER (gtk_container_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_CONTAINER</NAME>
+#define GTK_CONTAINER(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_CONTAINER, GtkContainer))
+</MACRO>
+<MACRO>
+<NAME>GTK_CONTAINER_CLASS</NAME>
+#define GTK_CONTAINER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_CONTAINER, GtkContainerClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CONTAINER</NAME>
+#define GTK_IS_CONTAINER(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_CONTAINER))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CONTAINER_CLASS</NAME>
+#define GTK_IS_CONTAINER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CONTAINER))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_RESIZE_CONTAINER</NAME>
+#define GTK_IS_RESIZE_CONTAINER(widget) (GTK_IS_CONTAINER (widget) && ((GtkContainer*) (widget))->resize_mode != GTK_RESIZE_PARENT)
+</MACRO>
+<STRUCT>
+<NAME>GtkContainer</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkContainerClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkContainer</NAME>
+struct GtkContainer
+{
+ GtkWidget widget;
+
+ GtkWidget *focus_child;
+
+ guint border_width : 16;
+ guint need_resize : 1;
+ guint resize_mode : 2;
+
+
+ /* The list of children that requested a resize
+ */
+ GSList *resize_widgets;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_container_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_set_border_width</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,guint border_width
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_add</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_remove</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_set_resize_mode</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkResizeMode resize_mode
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_check_resize</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_foreach</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkCallback callback,gpointer callback_data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_foreach_full</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkCallback callback,GtkCallbackMarshal marshal,gpointer callback_data,GtkDestroyNotify notify
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_children</NAME>
+<RETURNS>GList *</RETURNS>
+GtkContainer *container
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_focus</NAME>
+<RETURNS>gint </RETURNS>
+GtkContainer *container,GtkDirectionType direction
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_set_focus_child</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_set_focus_vadjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_set_focus_hadjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_register_toplevel</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_unregister_toplevel</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_get_toplevels</NAME>
+<RETURNS>GList *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_resize_children</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_child_type</NAME>
+<RETURNS>GtkType </RETURNS>
+GtkContainer *container
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_add_child_arg_type</NAME>
+<RETURNS>void </RETURNS>
+const gchar *arg_name,GtkType arg_type,guint arg_flags,guint arg_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_query_child_args</NAME>
+<RETURNS>GtkArg *</RETURNS>
+GtkType class_type,guint32 **arg_flags,guint *nargs
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_child_getv</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkWidget *child,guint n_args,GtkArg *args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_child_setv</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkWidget *child,guint n_args,GtkArg *args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_add_with_args</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkWidget *widget,const gchar *first_arg_name,...
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_addv</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkWidget *widget,guint n_args,GtkArg *args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_child_set</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkWidget *child,const gchar *first_arg_name,...
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_queue_resize</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_clear_resize_widgets</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_arg_set</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkWidget *child,GtkArg *arg,GtkArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_arg_get</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkWidget *child,GtkArg *arg,GtkArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_child_args_collect</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkType object_type,GSList **arg_list_p,GSList **info_list_p,const gchar *first_arg_name,va_list args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_child_arg_get_info</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkType object_type,const gchar *arg_name,GtkArgInfo **info_p
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_forall</NAME>
+<RETURNS>void </RETURNS>
+GtkContainer *container,GtkCallback callback,gpointer callback_data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_container_child_composite_name</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkContainer *container,GtkWidget *child
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_CTREE</NAME>
+#define GTK_TYPE_CTREE (gtk_ctree_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_CTREE</NAME>
+#define GTK_CTREE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_CTREE, GtkCTree))
+</MACRO>
+<MACRO>
+<NAME>GTK_CTREE_CLASS</NAME>
+#define GTK_CTREE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_CTREE, GtkCTreeClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CTREE</NAME>
+#define GTK_IS_CTREE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_CTREE))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CTREE_CLASS</NAME>
+#define GTK_IS_CTREE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CTREE))
+</MACRO>
+<MACRO>
+<NAME>GTK_CTREE_ROW</NAME>
+#define GTK_CTREE_ROW(_node_) ((GtkCTreeRow *)(((GList *)(_node_))->data))
+</MACRO>
+<MACRO>
+<NAME>GTK_CTREE_NODE</NAME>
+#define GTK_CTREE_NODE(_node_) ((GtkCTreeNode *)((_node_)))
+</MACRO>
+<MACRO>
+<NAME>GTK_CTREE_NODE_NEXT</NAME>
+#define GTK_CTREE_NODE_NEXT(_nnode_) ((GtkCTreeNode *)(((GList *)(_nnode_))->next))
+</MACRO>
+<MACRO>
+<NAME>GTK_CTREE_NODE_PREV</NAME>
+#define GTK_CTREE_NODE_PREV(_pnode_) ((GtkCTreeNode *)(((GList *)(_pnode_))->prev))
+</MACRO>
+<MACRO>
+<NAME>GTK_CTREE_FUNC</NAME>
+#define GTK_CTREE_FUNC(_func_) ((GtkCTreeFunc)(_func_))
+</MACRO>
+<ENUM>
+<NAME>GtkCTreePos</NAME>
+typedef enum
+{
+ GTK_CTREE_POS_BEFORE,
+ GTK_CTREE_POS_AS_CHILD,
+ GTK_CTREE_POS_AFTER
+} GtkCTreePos;
+</ENUM>
+<ENUM>
+<NAME>GtkCTreeLineStyle</NAME>
+typedef enum
+{
+ GTK_CTREE_LINES_NONE,
+ GTK_CTREE_LINES_SOLID,
+ GTK_CTREE_LINES_DOTTED,
+ GTK_CTREE_LINES_TABBED
+} GtkCTreeLineStyle;
+</ENUM>
+<ENUM>
+<NAME>GtkCTreeExpanderStyle</NAME>
+typedef enum
+{
+ GTK_CTREE_EXPANDER_NONE,
+ GTK_CTREE_EXPANDER_SQUARE,
+ GTK_CTREE_EXPANDER_TRIANGLE,
+ GTK_CTREE_EXPANDER_CIRCULAR
+} GtkCTreeExpanderStyle;
+</ENUM>
+<ENUM>
+<NAME>GtkCTreeExpansionType</NAME>
+typedef enum
+{
+ GTK_CTREE_EXPANSION_EXPAND,
+ GTK_CTREE_EXPANSION_EXPAND_RECURSIVE,
+ GTK_CTREE_EXPANSION_COLLAPSE,
+ GTK_CTREE_EXPANSION_COLLAPSE_RECURSIVE,
+ GTK_CTREE_EXPANSION_TOGGLE,
+ GTK_CTREE_EXPANSION_TOGGLE_RECURSIVE
+} GtkCTreeExpansionType;
+</ENUM>
+<STRUCT>
+<NAME>GtkCTree</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCTreeClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCTreeRow</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCTreeNode</NAME>
+</STRUCT>
+<USER_FUNCTION>
+<NAME>GtkCTreeFunc</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,
+ GtkCTreeNode *node,
+ gpointer data
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkCTreeGNodeFunc</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkCTree *ctree,
+ guint depth,
+ GNode *gnode,
+ GtkCTreeNode *cnode,
+ gpointer data
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkCTreeCompareDragFunc</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkCTree *ctree,
+ GtkCTreeNode *source_node,
+ GtkCTreeNode *new_parent,
+ GtkCTreeNode *new_sibling
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GtkCTree</NAME>
+struct GtkCTree
+{
+ GtkCList clist;
+
+ GdkGC *lines_gc;
+
+ gint tree_indent;
+ gint tree_spacing;
+ gint tree_column;
+
+ guint line_style : 2;
+ guint expander_style : 2;
+ guint show_stub : 1;
+
+ GtkCTreeCompareDragFunc drag_compare;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkCTreeRow</NAME>
+struct GtkCTreeRow
+{
+ GtkCListRow row;
+
+ GtkCTreeNode *parent;
+ GtkCTreeNode *sibling;
+ GtkCTreeNode *children;
+
+ GdkPixmap *pixmap_closed;
+ GdkBitmap *mask_closed;
+ GdkPixmap *pixmap_opened;
+ GdkBitmap *mask_opened;
+
+ guint16 level;
+
+ guint is_leaf : 1;
+ guint expanded : 1;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkCTreeNode</NAME>
+struct GtkCTreeNode {
+ GList list;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_ctree_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_construct</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,gint columns,gint tree_column,gchar *titles[]
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_new_with_titles</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+gint columns,gint tree_column,gchar *titles[]
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+gint columns,gint tree_column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_insert_node</NAME>
+<RETURNS>GtkCTreeNode *</RETURNS>
+GtkCTree *ctree,GtkCTreeNode *parent,GtkCTreeNode *sibling,gchar *text[],guint8 spacing,GdkPixmap *pixmap_closed,GdkBitmap *mask_closed,GdkPixmap *pixmap_opened,GdkBitmap *mask_opened,gboolean is_leaf,gboolean expanded
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_remove_node</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_insert_gnode</NAME>
+<RETURNS>GtkCTreeNode *</RETURNS>
+GtkCTree *ctree,GtkCTreeNode *parent,GtkCTreeNode *sibling,GNode *gnode,GtkCTreeGNodeFunc func,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_export_to_gnode</NAME>
+<RETURNS>GNode *</RETURNS>
+GtkCTree *ctree,GNode *parent,GNode *sibling,GtkCTreeNode *node,GtkCTreeGNodeFunc func,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_post_recursive</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,GtkCTreeFunc func,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_post_recursive_to_depth</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint depth,GtkCTreeFunc func,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_pre_recursive</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,GtkCTreeFunc func,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_pre_recursive_to_depth</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint depth,GtkCTreeFunc func,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_is_viewable</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_last</NAME>
+<RETURNS>GtkCTreeNode *</RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_find_node_ptr</NAME>
+<RETURNS>GtkCTreeNode *</RETURNS>
+GtkCTree *ctree,GtkCTreeRow *ctree_row
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_nth</NAME>
+<RETURNS>GtkCTreeNode *</RETURNS>
+GtkCTree *ctree,guint row
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_find</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,GtkCTreeNode *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_is_ancestor</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,GtkCTreeNode *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_find_by_row_data</NAME>
+<RETURNS>GtkCTreeNode *</RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_find_all_by_row_data</NAME>
+<RETURNS>GList *</RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_find_by_row_data_custom</NAME>
+<RETURNS>GtkCTreeNode *</RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gpointer data,GCompareFunc func
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_find_all_by_row_data_custom</NAME>
+<RETURNS>GList *</RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gpointer data,GCompareFunc func
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_is_hot_spot</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkCTree *ctree,gint x,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_move</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,GtkCTreeNode *new_parent,GtkCTreeNode *new_sibling
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_expand</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_expand_recursive</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_expand_to_depth</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint depth
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_collapse</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_collapse_recursive</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_collapse_to_depth</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint depth
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_toggle_expansion</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_toggle_expansion_recursive</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_select</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_select_recursive</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_unselect</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_unselect_recursive</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_real_select_recursive</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint state
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_set_text</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint column,const gchar *text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_set_pixmap</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint column,GdkPixmap *pixmap,GdkBitmap *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_set_pixtext</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint column,const gchar *text,guint8 spacing,GdkPixmap *pixmap,GdkBitmap *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_set_node_info</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,const gchar *text,guint8 spacing,GdkPixmap *pixmap_closed,GdkBitmap *mask_closed,GdkPixmap *pixmap_opened,GdkBitmap *mask_opened,gboolean is_leaf,gboolean expanded
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_set_shift</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint column,gint vertical,gint horizontal
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_set_selectable</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gboolean selectable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_get_selectable</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_get_cell_type</NAME>
+<RETURNS>GtkCellType </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_get_text</NAME>
+<RETURNS>gint </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint column,gchar **text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_get_pixmap</NAME>
+<RETURNS>gint </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint column,GdkPixmap **pixmap,GdkBitmap **mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_get_pixtext</NAME>
+<RETURNS>gint </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint column,gchar **text,guint8 *spacing,GdkPixmap **pixmap,GdkBitmap **mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_get_node_info</NAME>
+<RETURNS>gint </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gchar **text,guint8 *spacing,GdkPixmap **pixmap_closed,GdkBitmap **mask_closed,GdkPixmap **pixmap_opened,GdkBitmap **mask_opened,gboolean *is_leaf,gboolean *expanded
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_set_row_style</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,GtkStyle *style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_get_row_style</NAME>
+<RETURNS>GtkStyle *</RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_set_cell_style</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint column,GtkStyle *style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_get_cell_style</NAME>
+<RETURNS>GtkStyle *</RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint column
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_set_foreground</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_set_background</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_set_row_data</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_set_row_data_full</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gpointer data,GtkDestroyNotify destroy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_get_row_data</NAME>
+<RETURNS>gpointer </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_moveto</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node,gint column,gfloat row_align,gfloat col_align
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_node_is_visible</NAME>
+<RETURNS>GtkVisibility </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_set_indent</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,gint indent
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_set_spacing</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,gint spacing
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_set_show_stub</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,gboolean show_stub
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_set_line_style</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeLineStyle line_style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_set_expander_style</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeExpanderStyle expander_style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_set_drag_compare_func</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeCompareDragFunc cmp_func
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_sort_node</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ctree_sort_recursive</NAME>
+<RETURNS>void </RETURNS>
+GtkCTree *ctree,GtkCTreeNode *node
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_CURVE</NAME>
+#define GTK_TYPE_CURVE (gtk_curve_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_CURVE</NAME>
+#define GTK_CURVE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_CURVE, GtkCurve))
+</MACRO>
+<MACRO>
+<NAME>GTK_CURVE_CLASS</NAME>
+#define GTK_CURVE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_CURVE, GtkCurveClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CURVE</NAME>
+#define GTK_IS_CURVE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_CURVE))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_CURVE_CLASS</NAME>
+#define GTK_IS_CURVE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CURVE))
+</MACRO>
+<STRUCT>
+<NAME>GtkCurve</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCurveClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkCurve</NAME>
+struct GtkCurve
+{
+ GtkDrawingArea graph;
+
+ gint cursor_type;
+ gfloat min_x;
+ gfloat max_x;
+ gfloat min_y;
+ gfloat max_y;
+ GdkPixmap *pixmap;
+ GtkCurveType curve_type;
+ gint height; /* (cached) graph height in pixels */
+ gint grab_point; /* point currently grabbed */
+ gint last;
+
+ /* (cached) curve points: */
+ gint num_points;
+ GdkPoint *point;
+
+ /* control points: */
+ gint num_ctlpoints; /* number of control points */
+ gfloat (*ctlpoint)[2]; /* array of control points */
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_curve_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_curve_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_curve_reset</NAME>
+<RETURNS>void </RETURNS>
+GtkCurve *curve
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_curve_set_gamma</NAME>
+<RETURNS>void </RETURNS>
+GtkCurve *curve, gfloat gamma
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_curve_set_range</NAME>
+<RETURNS>void </RETURNS>
+GtkCurve *curve,gfloat min_x, gfloat max_x,gfloat min_y, gfloat max_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_curve_get_vector</NAME>
+<RETURNS>void </RETURNS>
+GtkCurve *curve,int veclen, gfloat vector[]
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_curve_set_vector</NAME>
+<RETURNS>void </RETURNS>
+GtkCurve *curve,int veclen, gfloat vector[]
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_curve_set_curve_type</NAME>
+<RETURNS>void </RETURNS>
+GtkCurve *curve, GtkCurveType type
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_DATA</NAME>
+#define GTK_TYPE_DATA (gtk_data_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_DATA</NAME>
+#define GTK_DATA(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_DATA, GtkData))
+</MACRO>
+<MACRO>
+<NAME>GTK_DATA_CLASS</NAME>
+#define GTK_DATA_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_DATA, GtkDataClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_DATA</NAME>
+#define GTK_IS_DATA(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_DATA))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_DATA_CLASS</NAME>
+#define GTK_IS_DATA_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DATA))
+</MACRO>
+<STRUCT>
+<NAME>GtkData</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkDataClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkData</NAME>
+struct GtkData
+{
+ GtkObject object;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_data_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<ENUM>
+<NAME>GtkDebugFlag</NAME>
+typedef enum {
+ GTK_DEBUG_OBJECTS = 1 << 0,
+ GTK_DEBUG_MISC = 1 << 1,
+ GTK_DEBUG_SIGNALS = 1 << 2,
+ GTK_DEBUG_DND = 1 << 3,
+ GTK_DEBUG_PLUGSOCKET = 1 << 4
+} GtkDebugFlag;
+</ENUM>
+<MACRO>
+<NAME>GTK_NOTE</NAME>
+#define GTK_NOTE(type,action) G_STMT_START { \
+ if (gtk_debug_flags & GTK_DEBUG_##type) \
+ { action; }; } G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GTK_NOTE</NAME>
+#define GTK_NOTE(type, action)
+</MACRO>
+<VARIABLE>
+<NAME>gtk_debug_flags</NAME>
+extern guint gtk_debug_flags;
+</VARIABLE>
+<MACRO>
+<NAME>GTK_TYPE_DIALOG</NAME>
+#define GTK_TYPE_DIALOG (gtk_dialog_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_DIALOG</NAME>
+#define GTK_DIALOG(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_DIALOG, GtkDialog))
+</MACRO>
+<MACRO>
+<NAME>GTK_DIALOG_CLASS</NAME>
+#define GTK_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_DIALOG, GtkDialogClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_DIALOG</NAME>
+#define GTK_IS_DIALOG(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_DIALOG))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_DIALOG_CLASS</NAME>
+#define GTK_IS_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DIALOG))
+</MACRO>
+<STRUCT>
+<NAME>GtkDialog</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkDialogClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkDialogButton</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkDialog</NAME>
+struct GtkDialog
+{
+ GtkWindow window;
+
+ GtkWidget *vbox;
+ GtkWidget *action_area;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_dialog_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_dialog_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<ENUM>
+<NAME>GtkDestDefaults</NAME>
+typedef enum {
+ GTK_DEST_DEFAULT_MOTION = 1 << 0, /* respond to "drag_motion" */
+ GTK_DEST_DEFAULT_HIGHLIGHT = 1 << 1, /* auto-highlight */
+ GTK_DEST_DEFAULT_DROP = 1 << 2, /* respond to "drag_drop" */
+ GTK_DEST_DEFAULT_ALL = 0x07
+} GtkDestDefaults;
+</ENUM>
+<ENUM>
+<NAME>GtkTargetFlags</NAME>
+typedef enum {
+ GTK_TARGET_SAME_APP = 1 << 0, /*< nick=same-app >*/
+ GTK_TARGET_SAME_WIDGET = 1 << 1 /*< nick=same-widget >*/
+} GtkTargetFlags;
+</ENUM>
+<FUNCTION>
+<NAME>gtk_drag_get_data</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkDragContext *context,GdkAtom target,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_finish</NAME>
+<RETURNS>void </RETURNS>
+GdkDragContext *context,gboolean success,gboolean del,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_get_source_widget</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GdkDragContext *context
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_highlight</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_unhighlight</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_dest_set</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GtkDestDefaults flags,const GtkTargetEntry *targets,gint n_targets,GdkDragAction actions
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_dest_set_proxy</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkWindow *proxy_window,GdkDragProtocol protocol,gboolean use_coordinates
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_dest_unset</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_source_set</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkModifierType start_button_mask,const GtkTargetEntry *targets,gint n_targets,GdkDragAction actions
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_source_unset</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_source_set_icon</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkColormap *colormap,GdkPixmap *pixmap,GdkBitmap *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_begin</NAME>
+<RETURNS>GdkDragContext *</RETURNS>
+GtkWidget *widget,GtkTargetList *targets,GdkDragAction actions,gint button,GdkEvent *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_set_icon_widget</NAME>
+<RETURNS>void </RETURNS>
+GdkDragContext *context,GtkWidget *widget,gint hot_x,gint hot_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_set_icon_pixmap</NAME>
+<RETURNS>void </RETURNS>
+GdkDragContext *context,GdkColormap *colormap,GdkPixmap *pixmap,GdkBitmap *mask,gint hot_x,gint hot_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_set_icon_default</NAME>
+<RETURNS>void </RETURNS>
+GdkDragContext *context
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_set_default_icon</NAME>
+<RETURNS>void </RETURNS>
+GdkColormap *colormap,GdkPixmap *pixmap,GdkBitmap *mask,gint hot_x,gint hot_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_source_handle_event</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkEvent *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drag_dest_handle_event</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *toplevel,GdkEvent *event
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_DRAWING_AREA</NAME>
+#define GTK_TYPE_DRAWING_AREA (gtk_drawing_area_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_DRAWING_AREA</NAME>
+#define GTK_DRAWING_AREA(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_DRAWING_AREA, GtkDrawingArea))
+</MACRO>
+<MACRO>
+<NAME>GTK_DRAWING_AREA_CLASS</NAME>
+#define GTK_DRAWING_AREA_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_DRAWING_AREA, GtkDrawingAreaClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_DRAWING_AREA</NAME>
+#define GTK_IS_DRAWING_AREA(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_DRAWING_AREA))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_DRAWING_AREA_CLASS</NAME>
+#define GTK_IS_DRAWING_AREA_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_DRAWING_AREA))
+</MACRO>
+<STRUCT>
+<NAME>GtkDrawingArea</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkDrawingAreaClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkDrawingArea</NAME>
+struct GtkDrawingArea
+{
+ GtkWidget widget;
+
+ gpointer draw_data;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_drawing_area_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drawing_area_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_drawing_area_size</NAME>
+<RETURNS>void </RETURNS>
+GtkDrawingArea *darea,gint width,gint height
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_EDITABLE</NAME>
+#define GTK_TYPE_EDITABLE (gtk_editable_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_EDITABLE</NAME>
+#define GTK_EDITABLE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_EDITABLE, GtkEditable))
+</MACRO>
+<MACRO>
+<NAME>GTK_EDITABLE_CLASS</NAME>
+#define GTK_EDITABLE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_EDITABLE, GtkEditableClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_EDITABLE</NAME>
+#define GTK_IS_EDITABLE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_EDITABLE))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_EDITABLE_CLASS</NAME>
+#define GTK_IS_EDITABLE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_EDITABLE))
+</MACRO>
+<STRUCT>
+<NAME>GtkEditable</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkEditableClass</NAME>
+</STRUCT>
+<USER_FUNCTION>
+<NAME>GtkTextFunction</NAME>
+<RETURNS>void </RETURNS>
+GtkEditable *editable, guint32 time
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GtkEditable</NAME>
+struct GtkEditable
+{
+ GtkWidget widget;
+
+ /*< public >*/
+ guint current_pos;
+
+ guint selection_start_pos;
+ guint selection_end_pos;
+ guint has_selection : 1;
+
+ /*< private >*/
+ guint editable : 1;
+ guint visible : 1;
+ GdkIC *ic;
+ GdkICAttr *ic_attr;
+
+ gchar *clipboard_text;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_editable_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_select_region</NAME>
+<RETURNS>void </RETURNS>
+GtkEditable *editable,gint start,gint end
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_insert_text</NAME>
+<RETURNS>void </RETURNS>
+GtkEditable *editable,const gchar *new_text,gint new_text_length,gint *position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_delete_text</NAME>
+<RETURNS>void </RETURNS>
+GtkEditable *editable,gint start_pos,gint end_pos
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_get_chars</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkEditable *editable,gint start_pos,gint end_pos
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_cut_clipboard</NAME>
+<RETURNS>void </RETURNS>
+GtkEditable *editable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_copy_clipboard</NAME>
+<RETURNS>void </RETURNS>
+GtkEditable *editable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_paste_clipboard</NAME>
+<RETURNS>void </RETURNS>
+GtkEditable *editable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_claim_selection</NAME>
+<RETURNS>void </RETURNS>
+GtkEditable *editable,gboolean claim,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_delete_selection</NAME>
+<RETURNS>void </RETURNS>
+GtkEditable *editable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_changed</NAME>
+<RETURNS>void </RETURNS>
+GtkEditable *editable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_set_position</NAME>
+<RETURNS>void </RETURNS>
+GtkEditable *editable,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_get_position</NAME>
+<RETURNS>gint </RETURNS>
+GtkEditable *editable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_editable_set_editable</NAME>
+<RETURNS>void </RETURNS>
+GtkEditable *editable,gboolean is_editable
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_ENTRY</NAME>
+#define GTK_TYPE_ENTRY (gtk_entry_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_ENTRY</NAME>
+#define GTK_ENTRY(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_ENTRY, GtkEntry))
+</MACRO>
+<MACRO>
+<NAME>GTK_ENTRY_CLASS</NAME>
+#define GTK_ENTRY_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ENTRY, GtkEntryClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ENTRY</NAME>
+#define GTK_IS_ENTRY(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_ENTRY))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ENTRY_CLASS</NAME>
+#define GTK_IS_ENTRY_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ENTRY))
+</MACRO>
+<STRUCT>
+<NAME>GtkEntry</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkEntryClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkEntry</NAME>
+struct GtkEntry
+{
+ GtkEditable editable;
+
+ GdkWindow *text_area;
+ GdkPixmap *backing_pixmap;
+ GdkCursor *cursor;
+ GdkWChar *text;
+
+ guint16 text_size; /* allocated size */
+ guint16 text_length; /* length in use */
+ guint16 text_max_length;
+ gint scroll_offset;
+ guint visible : 1; /* deprecated - see editable->visible */
+ guint32 timer;
+ guint button;
+
+ /* The x-offset of each character (including the last insertion position)
+ * only valid when the widget is realized */
+ gint *char_offset;
+
+ /* Same as 'text', but in multibyte */
+ gchar *text_mb;
+ /* If true, 'text' and 'text_mb' are not coherent */
+ guint text_mb_dirty : 1;
+ /* If true, we use the encoding of wchar_t as the encoding of 'text'.
+ * Otherwise we use the encoding of multi-byte characters instead. */
+ guint use_wchar : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_entry_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_entry_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_entry_new_with_max_length</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+guint16 max
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_entry_set_text</NAME>
+<RETURNS>void </RETURNS>
+GtkEntry *entry,const gchar *text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_entry_append_text</NAME>
+<RETURNS>void </RETURNS>
+GtkEntry *entry,const gchar *text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_entry_prepend_text</NAME>
+<RETURNS>void </RETURNS>
+GtkEntry *entry,const gchar *text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_entry_set_position</NAME>
+<RETURNS>void </RETURNS>
+GtkEntry *entry,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_entry_get_text</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkEntry *entry
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_entry_select_region</NAME>
+<RETURNS>void </RETURNS>
+GtkEntry *entry,gint start,gint end
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_entry_set_visibility</NAME>
+<RETURNS>void </RETURNS>
+GtkEntry *entry,gboolean visible
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_entry_set_editable</NAME>
+<RETURNS>void </RETURNS>
+GtkEntry *entry,gboolean editable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_entry_set_max_length</NAME>
+<RETURNS>void </RETURNS>
+GtkEntry *entry,guint16 max
+</FUNCTION>
+<ENUM>
+<NAME>GtkArrowType</NAME>
+typedef enum
+{
+ GTK_ARROW_UP,
+ GTK_ARROW_DOWN,
+ GTK_ARROW_LEFT,
+ GTK_ARROW_RIGHT
+} GtkArrowType;
+</ENUM>
+<ENUM>
+<NAME>GtkAttachOptions</NAME>
+typedef enum
+{
+ GTK_EXPAND = 1 << 0,
+ GTK_SHRINK = 1 << 1,
+ GTK_FILL = 1 << 2
+} GtkAttachOptions;
+</ENUM>
+<ENUM>
+<NAME>GtkButtonBoxStyle</NAME>
+typedef enum
+{
+ GTK_BUTTONBOX_DEFAULT_STYLE,
+ GTK_BUTTONBOX_SPREAD,
+ GTK_BUTTONBOX_EDGE,
+ GTK_BUTTONBOX_START,
+ GTK_BUTTONBOX_END
+} GtkButtonBoxStyle;
+</ENUM>
+<ENUM>
+<NAME>GtkCurveType</NAME>
+typedef enum
+{
+ GTK_CURVE_TYPE_LINEAR, /* linear interpolation */
+ GTK_CURVE_TYPE_SPLINE, /* spline interpolation */
+ GTK_CURVE_TYPE_FREE /* free form curve */
+} GtkCurveType;
+</ENUM>
+<ENUM>
+<NAME>GtkDirectionType</NAME>
+typedef enum
+{
+ GTK_DIR_TAB_FORWARD,
+ GTK_DIR_TAB_BACKWARD,
+ GTK_DIR_UP,
+ GTK_DIR_DOWN,
+ GTK_DIR_LEFT,
+ GTK_DIR_RIGHT
+} GtkDirectionType;
+</ENUM>
+<ENUM>
+<NAME>GtkJustification</NAME>
+typedef enum
+{
+ GTK_JUSTIFY_LEFT,
+ GTK_JUSTIFY_RIGHT,
+ GTK_JUSTIFY_CENTER,
+ GTK_JUSTIFY_FILL
+} GtkJustification;
+</ENUM>
+<ENUM>
+<NAME>GtkMatchType</NAME>
+typedef enum
+{
+ GTK_MATCH_ALL, /* "*A?A*" */
+ GTK_MATCH_ALL_TAIL, /* "*A?AA" */
+ GTK_MATCH_HEAD, /* "AAAA*" */
+ GTK_MATCH_TAIL, /* "*AAAA" */
+ GTK_MATCH_EXACT, /* "AAAAA" */
+ GTK_MATCH_LAST
+} GtkMatchType;
+</ENUM>
+<ENUM>
+<NAME>GtkMenuDirectionType</NAME>
+typedef enum
+{
+ GTK_MENU_DIR_PARENT,
+ GTK_MENU_DIR_CHILD,
+ GTK_MENU_DIR_NEXT,
+ GTK_MENU_DIR_PREV
+} GtkMenuDirectionType;
+</ENUM>
+<ENUM>
+<NAME>GtkMenuFactoryType</NAME>
+typedef enum
+{
+ GTK_MENU_FACTORY_MENU,
+ GTK_MENU_FACTORY_MENU_BAR,
+ GTK_MENU_FACTORY_OPTION_MENU
+} GtkMenuFactoryType;
+</ENUM>
+<ENUM>
+<NAME>GtkMetricType</NAME>
+typedef enum
+{
+ GTK_PIXELS,
+ GTK_INCHES,
+ GTK_CENTIMETERS
+} GtkMetricType;
+</ENUM>
+<ENUM>
+<NAME>GtkOrientation</NAME>
+typedef enum
+{
+ GTK_ORIENTATION_HORIZONTAL,
+ GTK_ORIENTATION_VERTICAL
+} GtkOrientation;
+</ENUM>
+<ENUM>
+<NAME>GtkCornerType</NAME>
+typedef enum
+{
+ GTK_CORNER_TOP_LEFT,
+ GTK_CORNER_BOTTOM_LEFT,
+ GTK_CORNER_TOP_RIGHT,
+ GTK_CORNER_BOTTOM_RIGHT
+} GtkCornerType;
+</ENUM>
+<ENUM>
+<NAME>GtkPackType</NAME>
+typedef enum
+{
+ GTK_PACK_START,
+ GTK_PACK_END
+} GtkPackType;
+</ENUM>
+<ENUM>
+<NAME>GtkPathPriorityType</NAME>
+typedef enum
+{
+ GTK_PATH_PRIO_LOWEST = 0,
+ GTK_PATH_PRIO_GTK = 4,
+ GTK_PATH_PRIO_APPLICATION = 8,
+ GTK_PATH_PRIO_RC = 12,
+ GTK_PATH_PRIO_HIGHEST = 15,
+ GTK_PATH_PRIO_MASK = 0x0f
+} GtkPathPriorityType;
+</ENUM>
+<ENUM>
+<NAME>GtkPathType</NAME>
+typedef enum
+{
+ GTK_PATH_WIDGET,
+ GTK_PATH_WIDGET_CLASS,
+ GTK_PATH_CLASS
+} GtkPathType;
+</ENUM>
+<ENUM>
+<NAME>GtkPolicyType</NAME>
+typedef enum
+{
+ GTK_POLICY_ALWAYS,
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_NEVER
+} GtkPolicyType;
+</ENUM>
+<ENUM>
+<NAME>GtkPositionType</NAME>
+typedef enum
+{
+ GTK_POS_LEFT,
+ GTK_POS_RIGHT,
+ GTK_POS_TOP,
+ GTK_POS_BOTTOM
+} GtkPositionType;
+</ENUM>
+<ENUM>
+<NAME>GtkPreviewType</NAME>
+typedef enum
+{
+ GTK_PREVIEW_COLOR,
+ GTK_PREVIEW_GRAYSCALE
+} GtkPreviewType;
+</ENUM>
+<ENUM>
+<NAME>GtkReliefStyle</NAME>
+typedef enum
+{
+ GTK_RELIEF_NORMAL,
+ GTK_RELIEF_HALF,
+ GTK_RELIEF_NONE
+} GtkReliefStyle;
+</ENUM>
+<ENUM>
+<NAME>GtkResizeMode</NAME>
+typedef enum
+{
+ GTK_RESIZE_PARENT, /* Pass resize request to the parent */
+ GTK_RESIZE_QUEUE, /* Queue resizes on this widget */
+ GTK_RESIZE_IMMEDIATE /* Perform the resizes now */
+} GtkResizeMode;
+</ENUM>
+<ENUM>
+<NAME>GtkSignalRunType</NAME>
+typedef enum /*< flags >*/
+{
+ GTK_RUN_FIRST = 1 << 0,
+ GTK_RUN_LAST = 1 << 1,
+ GTK_RUN_BOTH = (GTK_RUN_FIRST | GTK_RUN_LAST),
+ GTK_RUN_NO_RECURSE = 1 << 2,
+ GTK_RUN_ACTION = 1 << 3,
+ GTK_RUN_NO_HOOKS = 1 << 4
+} GtkSignalRunType;
+</ENUM>
+<ENUM>
+<NAME>GtkScrollType</NAME>
+typedef enum
+{
+ GTK_SCROLL_NONE,
+ GTK_SCROLL_STEP_BACKWARD,
+ GTK_SCROLL_STEP_FORWARD,
+ GTK_SCROLL_PAGE_BACKWARD,
+ GTK_SCROLL_PAGE_FORWARD,
+ GTK_SCROLL_JUMP
+} GtkScrollType;
+</ENUM>
+<ENUM>
+<NAME>GtkSelectionMode</NAME>
+typedef enum
+{
+ GTK_SELECTION_SINGLE,
+ GTK_SELECTION_BROWSE,
+ GTK_SELECTION_MULTIPLE,
+ GTK_SELECTION_EXTENDED
+} GtkSelectionMode;
+</ENUM>
+<ENUM>
+<NAME>GtkShadowType</NAME>
+typedef enum
+{
+ GTK_SHADOW_NONE,
+ GTK_SHADOW_IN,
+ GTK_SHADOW_OUT,
+ GTK_SHADOW_ETCHED_IN,
+ GTK_SHADOW_ETCHED_OUT
+} GtkShadowType;
+</ENUM>
+<ENUM>
+<NAME>GtkStateType</NAME>
+typedef enum
+{
+ GTK_STATE_NORMAL,
+ GTK_STATE_ACTIVE,
+ GTK_STATE_PRELIGHT,
+ GTK_STATE_SELECTED,
+ GTK_STATE_INSENSITIVE
+} GtkStateType;
+</ENUM>
+<ENUM>
+<NAME>GtkSubmenuDirection</NAME>
+typedef enum
+{
+ GTK_DIRECTION_LEFT,
+ GTK_DIRECTION_RIGHT
+} GtkSubmenuDirection;
+</ENUM>
+<ENUM>
+<NAME>GtkSubmenuPlacement</NAME>
+typedef enum
+{
+ GTK_TOP_BOTTOM,
+ GTK_LEFT_RIGHT
+} GtkSubmenuPlacement;
+</ENUM>
+<ENUM>
+<NAME>GtkToolbarStyle</NAME>
+typedef enum
+{
+ GTK_TOOLBAR_ICONS,
+ GTK_TOOLBAR_TEXT,
+ GTK_TOOLBAR_BOTH
+} GtkToolbarStyle;
+</ENUM>
+<ENUM>
+<NAME>GtkTroughType</NAME>
+typedef enum
+{
+ GTK_TROUGH_NONE,
+ GTK_TROUGH_START,
+ GTK_TROUGH_END,
+ GTK_TROUGH_JUMP
+} GtkTroughType;
+</ENUM>
+<ENUM>
+<NAME>GtkUpdateType</NAME>
+typedef enum
+{
+ GTK_UPDATE_CONTINUOUS,
+ GTK_UPDATE_DISCONTINUOUS,
+ GTK_UPDATE_DELAYED
+} GtkUpdateType;
+</ENUM>
+<ENUM>
+<NAME>GtkVisibility</NAME>
+typedef enum
+{
+ GTK_VISIBILITY_NONE,
+ GTK_VISIBILITY_PARTIAL,
+ GTK_VISIBILITY_FULL
+} GtkVisibility;
+</ENUM>
+<ENUM>
+<NAME>GtkWindowPosition</NAME>
+typedef enum
+{
+ GTK_WIN_POS_NONE,
+ GTK_WIN_POS_CENTER,
+ GTK_WIN_POS_MOUSE
+} GtkWindowPosition;
+</ENUM>
+<ENUM>
+<NAME>GtkWindowType</NAME>
+typedef enum
+{
+ GTK_WINDOW_TOPLEVEL,
+ GTK_WINDOW_DIALOG,
+ GTK_WINDOW_POPUP
+} GtkWindowType;
+</ENUM>
+<ENUM>
+<NAME>GtkSortType</NAME>
+typedef enum
+{
+ GTK_SORT_ASCENDING,
+ GTK_SORT_DESCENDING
+} GtkSortType;
+</ENUM>
+<MACRO>
+<NAME>GTK_TYPE_EVENT_BOX</NAME>
+#define GTK_TYPE_EVENT_BOX (gtk_event_box_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_EVENT_BOX</NAME>
+#define GTK_EVENT_BOX(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_EVENT_BOX, GtkEventBox))
+</MACRO>
+<MACRO>
+<NAME>GTK_EVENT_BOX_CLASS</NAME>
+#define GTK_EVENT_BOX_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_EVENT_BOX, GtkEventBoxClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_EVENT_BOX</NAME>
+#define GTK_IS_EVENT_BOX(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_EVENT_BOX))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_EVENT_BOX_CLASS</NAME>
+#define GTK_IS_EVENT_BOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_EVENT_BOX))
+</MACRO>
+<STRUCT>
+<NAME>GtkEventBox</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkEventBoxClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkEventBox</NAME>
+struct GtkEventBox
+{
+ GtkBin bin;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_event_box_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_event_box_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_MAJOR_VERSION</NAME>
+#define GTK_MAJOR_VERSION (1)
+</MACRO>
+<MACRO>
+<NAME>GTK_MINOR_VERSION</NAME>
+#define GTK_MINOR_VERSION (2)
+</MACRO>
+<MACRO>
+<NAME>GTK_MICRO_VERSION</NAME>
+#define GTK_MICRO_VERSION (3)
+</MACRO>
+<MACRO>
+<NAME>GTK_BINARY_AGE</NAME>
+#define GTK_BINARY_AGE (3)
+</MACRO>
+<MACRO>
+<NAME>GTK_INTERFACE_AGE</NAME>
+#define GTK_INTERFACE_AGE (1)
+</MACRO>
+<MACRO>
+<NAME>GTK_CHECK_VERSION</NAME>
+#define GTK_CHECK_VERSION(major,minor,micro) \
+ (GTK_MAJOR_VERSION > (major) || \
+ (GTK_MAJOR_VERSION == (major) && GTK_MINOR_VERSION > (minor)) || \
+ (GTK_MAJOR_VERSION == (major) && GTK_MINOR_VERSION == (minor) && \
+ GTK_MICRO_VERSION >= (micro)))
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_CONTAINER_FOCUS_ADJUSTMENTS</NAME>
+#define GTK_HAVE_CONTAINER_FOCUS_ADJUSTMENTS 1-0-1
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_SIGNAL_INIT</NAME>
+#define GTK_HAVE_SIGNAL_INIT 1-0-2
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_0</NAME>
+#define GTK_HAVE_FEATURES_1_1_0 1-1-0
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_2</NAME>
+#define GTK_HAVE_FEATURES_1_1_2 1-1-2
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_4</NAME>
+#define GTK_HAVE_FEATURES_1_1_4 1-1-4
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_5</NAME>
+#define GTK_HAVE_FEATURES_1_1_5 1-1-5
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_6</NAME>
+#define GTK_HAVE_FEATURES_1_1_6 1-1-6
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_7</NAME>
+#define GTK_HAVE_FEATURES_1_1_7 1-1-7
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_8</NAME>
+#define GTK_HAVE_FEATURES_1_1_8 1-1-8
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_9</NAME>
+#define GTK_HAVE_FEATURES_1_1_9 1-1-9
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_10</NAME>
+#define GTK_HAVE_FEATURES_1_1_10 1-1-10
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_11</NAME>
+#define GTK_HAVE_FEATURES_1_1_11 1-1-11
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_12</NAME>
+#define GTK_HAVE_FEATURES_1_1_12 1-1-12
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_13</NAME>
+#define GTK_HAVE_FEATURES_1_1_13 1-1-13
+</MACRO>
+<MACRO>
+<NAME>GTK_HAVE_FEATURES_1_1_14</NAME>
+#define GTK_HAVE_FEATURES_1_1_14 1-1-14
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_FILE_SELECTION</NAME>
+#define GTK_TYPE_FILE_SELECTION (gtk_file_selection_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_FILE_SELECTION</NAME>
+#define GTK_FILE_SELECTION(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_FILE_SELECTION, GtkFileSelection))
+</MACRO>
+<MACRO>
+<NAME>GTK_FILE_SELECTION_CLASS</NAME>
+#define GTK_FILE_SELECTION_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_FILE_SELECTION, GtkFileSelectionClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_FILE_SELECTION</NAME>
+#define GTK_IS_FILE_SELECTION(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_FILE_SELECTION))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_FILE_SELECTION_CLASS</NAME>
+#define GTK_IS_FILE_SELECTION_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FILE_SELECTION))
+</MACRO>
+<STRUCT>
+<NAME>GtkFileSelection</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkFileSelectionClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkFileSelection</NAME>
+struct GtkFileSelection
+{
+ GtkWindow window;
+
+ GtkWidget *dir_list;
+ GtkWidget *file_list;
+ GtkWidget *selection_entry;
+ GtkWidget *selection_text;
+ GtkWidget *main_vbox;
+ GtkWidget *ok_button;
+ GtkWidget *cancel_button;
+ GtkWidget *help_button;
+ GtkWidget *history_pulldown;
+ GtkWidget *history_menu;
+ GList *history_list;
+ GtkWidget *fileop_dialog;
+ GtkWidget *fileop_entry;
+ gchar *fileop_file;
+ gpointer cmpl_state;
+
+ GtkWidget *fileop_c_dir;
+ GtkWidget *fileop_del_file;
+ GtkWidget *fileop_ren_file;
+
+ GtkWidget *button_area;
+ GtkWidget *action_area;
+
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_file_selection_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_file_selection_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *title
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_file_selection_set_filename</NAME>
+<RETURNS>void </RETURNS>
+GtkFileSelection *filesel,const gchar *filename
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_file_selection_get_filename</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkFileSelection *filesel
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_file_selection_complete</NAME>
+<RETURNS>void </RETURNS>
+GtkFileSelection *filesel,const gchar *pattern
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_file_selection_show_fileop_buttons</NAME>
+<RETURNS>void </RETURNS>
+GtkFileSelection *filesel
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_file_selection_hide_fileop_buttons</NAME>
+<RETURNS>void </RETURNS>
+GtkFileSelection *filesel
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_FIXED</NAME>
+#define GTK_TYPE_FIXED (gtk_fixed_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_FIXED</NAME>
+#define GTK_FIXED(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_FIXED, GtkFixed))
+</MACRO>
+<MACRO>
+<NAME>GTK_FIXED_CLASS</NAME>
+#define GTK_FIXED_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_FIXED, GtkFixedClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_FIXED</NAME>
+#define GTK_IS_FIXED(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_FIXED))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_FIXED_CLASS</NAME>
+#define GTK_IS_FIXED_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FIXED))
+</MACRO>
+<STRUCT>
+<NAME>GtkFixed</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkFixedClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkFixedChild</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkFixed</NAME>
+struct GtkFixed
+{
+ GtkContainer container;
+
+ GList *children;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkFixedChild</NAME>
+struct GtkFixedChild
+{
+ GtkWidget *widget;
+ gint16 x;
+ gint16 y;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_fixed_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_fixed_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_fixed_put</NAME>
+<RETURNS>void </RETURNS>
+GtkFixed *fixed,GtkWidget *widget,gint16 x,gint16 y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_fixed_move</NAME>
+<RETURNS>void </RETURNS>
+GtkFixed *fixed,GtkWidget *widget,gint16 x,gint16 y
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_FONT_SELECTION</NAME>
+#define GTK_TYPE_FONT_SELECTION (gtk_font_selection_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_FONT_SELECTION</NAME>
+#define GTK_FONT_SELECTION(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_FONT_SELECTION, GtkFontSelection))
+</MACRO>
+<MACRO>
+<NAME>GTK_FONT_SELECTION_CLASS</NAME>
+#define GTK_FONT_SELECTION_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_FONT_SELECTION, GtkFontSelectionClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_FONT_SELECTION</NAME>
+#define GTK_IS_FONT_SELECTION(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_FONT_SELECTION))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_FONT_SELECTION_CLASS</NAME>
+#define GTK_IS_FONT_SELECTION_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FONT_SELECTION))
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_FONT_SELECTION_DIALOG</NAME>
+#define GTK_TYPE_FONT_SELECTION_DIALOG (gtk_font_selection_dialog_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_FONT_SELECTION_DIALOG</NAME>
+#define GTK_FONT_SELECTION_DIALOG(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_FONT_SELECTION_DIALOG, GtkFontSelectionDialog))
+</MACRO>
+<MACRO>
+<NAME>GTK_FONT_SELECTION_DIALOG_CLASS</NAME>
+#define GTK_FONT_SELECTION_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_FONT_SELECTION_DIALOG, GtkFontSelectionDialogClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_FONT_SELECTION_DIALOG</NAME>
+#define GTK_IS_FONT_SELECTION_DIALOG(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_FONT_SELECTION_DIALOG))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_FONT_SELECTION_DIALOG_CLASS</NAME>
+#define GTK_IS_FONT_SELECTION_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FONT_SELECTION_DIALOG))
+</MACRO>
+<STRUCT>
+<NAME>GtkFontSelection</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkFontSelectionClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkFontSelectionDialog</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkFontSelectionDialogClass</NAME>
+</STRUCT>
+<MACRO>
+<NAME>GTK_NUM_FONT_PROPERTIES</NAME>
+#define GTK_NUM_FONT_PROPERTIES 6
+</MACRO>
+<MACRO>
+<NAME>GTK_NUM_STYLE_PROPERTIES</NAME>
+#define GTK_NUM_STYLE_PROPERTIES 5
+</MACRO>
+<ENUM>
+<NAME>GtkFontMetricType</NAME>
+typedef enum
+{
+ GTK_FONT_METRIC_PIXELS,
+ GTK_FONT_METRIC_POINTS
+} GtkFontMetricType;
+</ENUM>
+<ENUM>
+<NAME>GtkFontType</NAME>
+typedef enum
+{
+ GTK_FONT_BITMAP = 1 << 0,
+ GTK_FONT_SCALABLE = 1 << 1,
+ GTK_FONT_SCALABLE_BITMAP = 1 << 2,
+
+ GTK_FONT_ALL = 0x07
+} GtkFontType;
+</ENUM>
+<MACRO>
+<NAME>GTK_NUM_FONT_FILTERS</NAME>
+#define GTK_NUM_FONT_FILTERS 2
+</MACRO>
+<ENUM>
+<NAME>GtkFontFilterType</NAME>
+typedef enum
+{
+ GTK_FONT_FILTER_BASE,
+ GTK_FONT_FILTER_USER
+} GtkFontFilterType;
+</ENUM>
+<STRUCT>
+<NAME>GtkFontFilter</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkFontFilter</NAME>
+struct GtkFontFilter
+{
+ gint font_type;
+ guint16 *property_filters[GTK_NUM_FONT_PROPERTIES];
+ guint16 property_nfilters[GTK_NUM_FONT_PROPERTIES];
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkFontSelection</NAME>
+struct GtkFontSelection
+{
+ GtkNotebook notebook;
+
+ /* These are on the font page. */
+ GtkWidget *main_vbox;
+ GtkWidget *font_label;
+ GtkWidget *font_entry;
+ GtkWidget *font_clist;
+ GtkWidget *font_style_entry;
+ GtkWidget *font_style_clist;
+ GtkWidget *size_entry;
+ GtkWidget *size_clist;
+ GtkWidget *pixels_button;
+ GtkWidget *points_button;
+ GtkWidget *filter_button;
+ GtkWidget *preview_entry;
+ GtkWidget *message_label;
+
+ /* These are on the font info page. */
+ GtkWidget *info_vbox;
+ GtkWidget *info_clist;
+ GtkWidget *requested_font_name;
+ GtkWidget *actual_font_name;
+
+ /* These are on the filter page. */
+ GtkWidget *filter_vbox;
+ GtkWidget *type_bitmaps_button;
+ GtkWidget *type_scalable_button;
+ GtkWidget *type_scaled_bitmaps_button;
+ GtkWidget *filter_clists[GTK_NUM_FONT_PROPERTIES];
+
+ GdkFont *font;
+ gint font_index;
+ gint style;
+ GtkFontMetricType metric;
+ /* The size is either in pixels or deci-points, depending on the metric. */
+ gint size;
+
+ /* This is the last size explicitly selected. When the user selects different
+ fonts we try to find the nearest size to this. */
+ gint selected_size;
+
+ /* These are the current property settings. They are indexes into the
+ strings in the GtkFontSelInfo properties array. */
+ guint16 property_values[GTK_NUM_STYLE_PROPERTIES];
+
+ /* These are the base and user font filters. */
+ GtkFontFilter filters[GTK_NUM_FONT_FILTERS];
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkFontSelectionDialog</NAME>
+struct GtkFontSelectionDialog
+{
+ GtkWindow window;
+
+ GtkWidget *fontsel;
+
+ GtkWidget *main_vbox;
+ GtkWidget *action_area;
+ GtkWidget *ok_button;
+ /* The 'Apply' button is not shown by default but you can show/hide it. */
+ GtkWidget *apply_button;
+ GtkWidget *cancel_button;
+
+ /* If the user changes the width of the dialog, we turn auto-shrink off. */
+ gint dialog_width;
+ gboolean auto_resize;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_font_selection_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_get_font_name</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkFontSelection *fontsel
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_get_font</NAME>
+<RETURNS>GdkFont *</RETURNS>
+GtkFontSelection *fontsel
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_set_font_name</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkFontSelection *fontsel,const gchar *fontname
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_set_filter</NAME>
+<RETURNS>void </RETURNS>
+GtkFontSelection *fontsel,GtkFontFilterType filter_type,GtkFontType font_type,gchar **foundries,gchar **weights,gchar **slants,gchar **setwidths,gchar **spacings,gchar **charsets
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_get_preview_text</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkFontSelection *fontsel
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_set_preview_text</NAME>
+<RETURNS>void </RETURNS>
+GtkFontSelection *fontsel,const gchar *text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_dialog_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_dialog_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *title
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_dialog_get_font_name</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkFontSelectionDialog *fsd
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_dialog_get_font</NAME>
+<RETURNS>GdkFont *</RETURNS>
+GtkFontSelectionDialog *fsd
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_dialog_set_font_name</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkFontSelectionDialog *fsd,const gchar *fontname
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_dialog_set_filter</NAME>
+<RETURNS>void </RETURNS>
+GtkFontSelectionDialog *fsd,GtkFontFilterType filter_type,GtkFontType font_type,gchar **foundries,gchar **weights,gchar **slants,gchar **setwidths,gchar **spacings,gchar **charsets
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_dialog_get_preview_text</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkFontSelectionDialog *fsd
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_font_selection_dialog_set_preview_text</NAME>
+<RETURNS>void </RETURNS>
+GtkFontSelectionDialog *fsd,const gchar *text
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_FRAME</NAME>
+#define GTK_TYPE_FRAME (gtk_frame_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_FRAME</NAME>
+#define GTK_FRAME(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_FRAME, GtkFrame))
+</MACRO>
+<MACRO>
+<NAME>GTK_FRAME_CLASS</NAME>
+#define GTK_FRAME_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_FRAME, GtkFrameClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_FRAME</NAME>
+#define GTK_IS_FRAME(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_FRAME))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_FRAME_CLASS</NAME>
+#define GTK_IS_FRAME_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_FRAME))
+</MACRO>
+<STRUCT>
+<NAME>GtkFrame</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkFrameClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkFrame</NAME>
+struct GtkFrame
+{
+ GtkBin bin;
+
+ gchar *label;
+ gint16 shadow_type;
+ gint16 label_width;
+ gint16 label_height;
+ gfloat label_xalign;
+ gfloat label_yalign;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_frame_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_frame_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_frame_set_label</NAME>
+<RETURNS>void </RETURNS>
+GtkFrame *frame,const gchar *label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_frame_set_label_align</NAME>
+<RETURNS>void </RETURNS>
+GtkFrame *frame,gfloat xalign,gfloat yalign
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_frame_set_shadow_type</NAME>
+<RETURNS>void </RETURNS>
+GtkFrame *frame,GtkShadowType type
+</FUNCTION>
+<MACRO>
+<NAME>GTK_GAMMA_CURVE</NAME>
+#define GTK_GAMMA_CURVE(obj) \
+ GTK_CHECK_CAST (obj, gtk_gamma_curve_get_type (), GtkGammaCurve)
+</MACRO>
+<MACRO>
+<NAME>GTK_GAMMA_CURVE_CLASS</NAME>
+#define GTK_GAMMA_CURVE_CLASS(klass) \
+ GTK_CHECK_CLASS_CAST (klass, gtk_gamma_curve_get_type, GtkGammaCurveClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_GAMMA_CURVE</NAME>
+#define GTK_IS_GAMMA_CURVE(obj) \
+ GTK_CHECK_TYPE (obj, gtk_gamma_curve_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkGammaCurve</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkGammaCurveClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkGammaCurve</NAME>
+struct GtkGammaCurve
+{
+ GtkVBox vbox;
+
+ GtkWidget *table;
+ GtkWidget *curve;
+ GtkWidget *button[5]; /* spline, linear, free, gamma, reset */
+
+ gfloat gamma;
+ GtkWidget *gamma_dialog;
+ GtkWidget *gamma_text;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_gamma_curve_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_gamma_curve_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_gc_get</NAME>
+<RETURNS>GdkGC *</RETURNS>
+gint depth,GdkColormap *colormap,GdkGCValues *values,GdkGCValuesMask values_mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_gc_release</NAME>
+<RETURNS>void </RETURNS>
+GdkGC *gc
+</FUNCTION>
+<MACRO>
+<NAME>GTK_HANDLE_BOX</NAME>
+#define GTK_HANDLE_BOX(obj) GTK_CHECK_CAST (obj, gtk_handle_box_get_type (), GtkHandleBox)
+</MACRO>
+<MACRO>
+<NAME>GTK_HANDLE_BOX_CLASS</NAME>
+#define GTK_HANDLE_BOX_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_handle_box_get_type (), GtkHandleBoxClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_HANDLE_BOX</NAME>
+#define GTK_IS_HANDLE_BOX(obj) GTK_CHECK_TYPE (obj, gtk_handle_box_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkHandleBox</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHandleBoxClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHandleBox</NAME>
+struct GtkHandleBox
+{
+ GtkBin bin;
+
+ GdkWindow *bin_window; /* parent window for children */
+ GdkWindow *float_window;
+ GtkShadowType shadow_type;
+ guint handle_position : 2;
+ guint float_window_mapped : 1;
+ guint child_detached : 1;
+ guint in_drag : 1;
+ guint shrink_on_detach : 1;
+
+ gint snap_edge : 3; /* -1 == unset */
+
+ /* Variables used during a drag
+ */
+ gint deskoff_x, deskoff_y; /* Offset between root relative coordinates
+ * and deskrelative coordinates */
+ GtkAllocation attach_allocation;
+ GtkAllocation float_allocation;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_handle_box_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_handle_box_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_handle_box_set_shadow_type</NAME>
+<RETURNS>void </RETURNS>
+GtkHandleBox *handle_box,GtkShadowType type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_handle_box_set_handle_position</NAME>
+<RETURNS>void </RETURNS>
+GtkHandleBox *handle_box,GtkPositionType position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_handle_box_set_snap_edge</NAME>
+<RETURNS>void </RETURNS>
+GtkHandleBox *handle_box,GtkPositionType edge
+</FUNCTION>
+<MACRO>
+<NAME>GTK_HBUTTON_BOX</NAME>
+#define GTK_HBUTTON_BOX(obj) GTK_CHECK_CAST (obj, gtk_hbutton_box_get_type (), GtkHButtonBox)
+</MACRO>
+<MACRO>
+<NAME>GTK_HBUTTON_BOX_CLASS</NAME>
+#define GTK_HBUTTON_BOX_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_hbutton_box_get_type (), GtkHButtonBoxClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_HBUTTON_BOX</NAME>
+#define GTK_IS_HBUTTON_BOX(obj) GTK_CHECK_TYPE (obj, gtk_hbutton_box_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkHButtonBox</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHButtonBoxClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHButtonBox</NAME>
+struct GtkHButtonBox
+{
+ GtkButtonBox button_box;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_hbutton_box_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_hbutton_box_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_hbutton_box_get_spacing_default</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_hbutton_box_get_layout_default</NAME>
+<RETURNS>GtkButtonBoxStyle </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_hbutton_box_set_spacing_default</NAME>
+<RETURNS>void </RETURNS>
+gint spacing
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_hbutton_box_set_layout_default</NAME>
+<RETURNS>void </RETURNS>
+GtkButtonBoxStyle layout
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_HBOX</NAME>
+#define GTK_TYPE_HBOX (gtk_hbox_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_HBOX</NAME>
+#define GTK_HBOX(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_HBOX, GtkHBox))
+</MACRO>
+<MACRO>
+<NAME>GTK_HBOX_CLASS</NAME>
+#define GTK_HBOX_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_HBOX, GtkHBoxClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_HBOX</NAME>
+#define GTK_IS_HBOX(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_HBOX))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_HBOX_CLASS</NAME>
+#define GTK_IS_HBOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_HBOX))
+</MACRO>
+<STRUCT>
+<NAME>GtkHBox</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHBoxClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHBox</NAME>
+struct GtkHBox
+{
+ GtkBox box;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_hbox_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_hbox_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+gboolean homogeneous,gint spacing
+</FUNCTION>
+<MACRO>
+<NAME>GTK_HPANED</NAME>
+#define GTK_HPANED(obj) GTK_CHECK_CAST (obj, gtk_hpaned_get_type (), GtkHPaned)
+</MACRO>
+<MACRO>
+<NAME>GTK_HPANED_CLASS</NAME>
+#define GTK_HPANED_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_hpaned_get_type (), GtkHPanedClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_HPANED</NAME>
+#define GTK_IS_HPANED(obj) GTK_CHECK_TYPE (obj, gtk_hpaned_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkHPaned</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHPanedClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHPaned</NAME>
+struct GtkHPaned
+{
+ GtkPaned paned;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_hpaned_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_hpaned_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_HRULER</NAME>
+#define GTK_HRULER(obj) GTK_CHECK_CAST (obj, gtk_hruler_get_type (), GtkHRuler)
+</MACRO>
+<MACRO>
+<NAME>GTK_HRULER_CLASS</NAME>
+#define GTK_HRULER_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_hruler_get_type (), GtkHRulerClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_HRULER</NAME>
+#define GTK_IS_HRULER(obj) GTK_CHECK_TYPE (obj, gtk_hruler_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkHRuler</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHRulerClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHRuler</NAME>
+struct GtkHRuler
+{
+ GtkRuler ruler;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_hruler_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_hruler_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_HSCALE</NAME>
+#define GTK_TYPE_HSCALE (gtk_hscale_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_HSCALE</NAME>
+#define GTK_HSCALE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_HSCALE, GtkHScale))
+</MACRO>
+<MACRO>
+<NAME>GTK_HSCALE_CLASS</NAME>
+#define GTK_HSCALE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_HSCALE, GtkHScaleClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_HSCALE</NAME>
+#define GTK_IS_HSCALE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_HSCALE))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_HSCALE_CLASS</NAME>
+#define GTK_IS_HSCALE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_HSCALE))
+</MACRO>
+<STRUCT>
+<NAME>GtkHScale</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHScaleClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHScale</NAME>
+struct GtkHScale
+{
+ GtkScale scale;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_hscale_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_hscale_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkAdjustment *adjustment
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_HSCROLLBAR</NAME>
+#define GTK_TYPE_HSCROLLBAR (gtk_hscrollbar_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_HSCROLLBAR</NAME>
+#define GTK_HSCROLLBAR(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_HSCROLLBAR, GtkHScrollbar))
+</MACRO>
+<MACRO>
+<NAME>GTK_HSCROLLBAR_CLASS</NAME>
+#define GTK_HSCROLLBAR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_HSCROLLBAR, GtkHScrollbarClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_HSCROLLBAR</NAME>
+#define GTK_IS_HSCROLLBAR(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_HSCROLLBAR))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_HSCROLLBAR_CLASS</NAME>
+#define GTK_IS_HSCROLLBAR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_HSCROLLBAR))
+</MACRO>
+<STRUCT>
+<NAME>GtkHScrollbar</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHScrollbarClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHScrollbar</NAME>
+struct GtkHScrollbar
+{
+ GtkScrollbar scrollbar;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_hscrollbar_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_hscrollbar_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkAdjustment *adjustment
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_HSEPARATOR</NAME>
+#define GTK_TYPE_HSEPARATOR (gtk_hseparator_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_HSEPARATOR</NAME>
+#define GTK_HSEPARATOR(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_HSEPARATOR, GtkHSeparator))
+</MACRO>
+<MACRO>
+<NAME>GTK_HSEPARATOR_CLASS</NAME>
+#define GTK_HSEPARATOR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_HSEPARATOR, GtkHSeparatorClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_HSEPARATOR</NAME>
+#define GTK_IS_HSEPARATOR(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_HSEPARATOR))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_HSEPARATOR_CLASS</NAME>
+#define GTK_IS_HSEPARATOR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_HSEPARATOR))
+</MACRO>
+<STRUCT>
+<NAME>GtkHSeparator</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHSeparatorClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkHSeparator</NAME>
+struct GtkHSeparator
+{
+ GtkSeparator separator;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_hseparator_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_hseparator_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_IMAGE</NAME>
+#define GTK_TYPE_IMAGE (gtk_image_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_IMAGE</NAME>
+#define GTK_IMAGE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_IMAGE, GtkImage))
+</MACRO>
+<MACRO>
+<NAME>GTK_IMAGE_CLASS</NAME>
+#define GTK_IMAGE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_IMAGE, GtkImageClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_IMAGE</NAME>
+#define GTK_IS_IMAGE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_IMAGE))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_IMAGE_CLASS</NAME>
+#define GTK_IS_IMAGE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IMAGE))
+</MACRO>
+<STRUCT>
+<NAME>GtkImage</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkImageClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkImage</NAME>
+struct GtkImage
+{
+ GtkMisc misc;
+
+ GdkImage *image;
+ GdkBitmap *mask;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_image_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_image_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GdkImage *val,GdkBitmap *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_image_set</NAME>
+<RETURNS>void </RETURNS>
+GtkImage *image,GdkImage *val,GdkBitmap *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_image_get</NAME>
+<RETURNS>void </RETURNS>
+GtkImage *image,GdkImage **val,GdkBitmap **mask
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_INPUT_DIALOG</NAME>
+#define GTK_TYPE_INPUT_DIALOG (gtk_input_dialog_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_INPUT_DIALOG</NAME>
+#define GTK_INPUT_DIALOG(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_INPUT_DIALOG, GtkInputDialog))
+</MACRO>
+<MACRO>
+<NAME>GTK_INPUT_DIALOG_CLASS</NAME>
+#define GTK_INPUT_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_INPUT_DIALOG, GtkInputDialogClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_INPUT_DIALOG</NAME>
+#define GTK_IS_INPUT_DIALOG(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_INPUT_DIALOG))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_INPUT_DIALOG_CLASS</NAME>
+#define GTK_IS_INPUT_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_INPUT_DIALOG))
+</MACRO>
+<STRUCT>
+<NAME>GtkInputDialog</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkInputDialogClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkInputDialog</NAME>
+struct GtkInputDialog
+{
+ GtkDialog dialog;
+
+ GtkWidget *axis_list;
+ GtkWidget *axis_listbox;
+ GtkWidget *mode_optionmenu;
+
+ GtkWidget *close_button;
+ GtkWidget *save_button;
+
+ GtkWidget *axis_items[GDK_AXIS_LAST];
+ guint32 current_device;
+
+ GtkWidget *keys_list;
+ GtkWidget *keys_listbox;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_input_dialog_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_input_dialog_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_INVISIBLE</NAME>
+#define GTK_TYPE_INVISIBLE (gtk_invisible_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_INVISIBLE</NAME>
+#define GTK_INVISIBLE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_INVISIBLE, GtkInvisible))
+</MACRO>
+<MACRO>
+<NAME>GTK_INVISIBLE_CLASS</NAME>
+#define GTK_INVISIBLE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_INVISIBLE, GtkInvisibleClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_INVISIBLE</NAME>
+#define GTK_IS_INVISIBLE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_INVISIBLE))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_INVISIBLE_CLASS</NAME>
+#define GTK_IS_INVISIBLE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_INVISIBLE))
+</MACRO>
+<STRUCT>
+<NAME>GtkInvisible</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkInvisibleClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkInvisible</NAME>
+struct GtkInvisible
+{
+ GtkBin bin;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_invisible_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_invisible_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_ITEM</NAME>
+#define GTK_TYPE_ITEM (gtk_item_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_ITEM</NAME>
+#define GTK_ITEM(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_ITEM, GtkItem))
+</MACRO>
+<MACRO>
+<NAME>GTK_ITEM_CLASS</NAME>
+#define GTK_ITEM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ITEM, GtkItemClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ITEM</NAME>
+#define GTK_IS_ITEM(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_ITEM))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ITEM_CLASS</NAME>
+#define GTK_IS_ITEM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ITEM))
+</MACRO>
+<STRUCT>
+<NAME>GtkItem</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkItemClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkItem</NAME>
+struct GtkItem
+{
+ GtkBin bin;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_item_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_select</NAME>
+<RETURNS>void </RETURNS>
+GtkItem *item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_deselect</NAME>
+<RETURNS>void </RETURNS>
+GtkItem *item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_toggle</NAME>
+<RETURNS>void </RETURNS>
+GtkItem *item
+</FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkPrintFunc</NAME>
+<RETURNS>void </RETURNS>
+gpointer func_data,
+ gchar *str
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkTranslateFunc</NAME>
+<RETURNS>gchar *</RETURNS>
+const gchar *path,
+ gpointer func_data
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkItemFactoryCallback</NAME>
+<RETURNS>void </RETURNS>
+
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkItemFactoryCallback1</NAME>
+<RETURNS>void </RETURNS>
+gpointer callback_data,
+ guint callback_action,
+ GtkWidget *widget
+</USER_FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_ITEM_FACTORY</NAME>
+#define GTK_TYPE_ITEM_FACTORY (gtk_item_factory_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_ITEM_FACTORY</NAME>
+#define GTK_ITEM_FACTORY(object) (GTK_CHECK_CAST (object, GTK_TYPE_ITEM_FACTORY, GtkItemFactory))
+</MACRO>
+<MACRO>
+<NAME>GTK_ITEM_FACTORY_CLASS</NAME>
+#define GTK_ITEM_FACTORY_CLASS(klass) (GTK_CHECK_CLASS_CAST (klass, GTK_TYPE_ITEM_FACTORY, GtkItemFactoryClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ITEM_FACTORY</NAME>
+#define GTK_IS_ITEM_FACTORY(object) (GTK_CHECK_TYPE (object, GTK_TYPE_ITEM_FACTORY))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ITEM_FACTORY_CLASS</NAME>
+#define GTK_IS_ITEM_FACTORY_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ITEM_FACTORY))
+</MACRO>
+<STRUCT>
+<NAME>GtkItemFactory</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkItemFactoryClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkItemFactoryEntry</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkItemFactoryItem</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkItemFactory</NAME>
+struct GtkItemFactory
+{
+ GtkObject object;
+
+ gchar *path;
+ GtkAccelGroup *accel_group;
+ GtkWidget *widget;
+ GSList *items;
+
+ GtkTranslateFunc translate_func;
+ gpointer translate_data;
+ GtkDestroyNotify translate_notify;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkItemFactoryEntry</NAME>
+struct GtkItemFactoryEntry
+{
+ gchar *path;
+ gchar *accelerator;
+
+ GtkItemFactoryCallback callback;
+ guint callback_action;
+
+ /* possible values:
+ * NULL -> "<Item>"
+ * "" -> "<Item>"
+ * "<Title>" -> create a title item
+ * "<Item>" -> create a simple item
+ * "<CheckItem>" -> create a check item
+ * "<ToggleItem>" -> create a toggle item
+ * "<RadioItem>" -> create a radio item
+ * <path> -> path of a radio item to link against
+ * "<Separator>" -> create a separator
+ * "<Branch>" -> create an item to hold sub items
+ * "<LastBranch>" -> create a right justified item to hold sub items
+ */
+ gchar *item_type;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkItemFactoryItem</NAME>
+struct GtkItemFactoryItem
+{
+ gchar *path;
+ guint accelerator_key;
+ guint accelerator_mods;
+ guint modified : 1;
+ guint in_propagation : 1;
+ gchar *dummy;
+
+ GSList *widgets;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_item_factory_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_new</NAME>
+<RETURNS>GtkItemFactory *</RETURNS>
+GtkType container_type,const gchar *path,GtkAccelGroup *accel_group
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_construct</NAME>
+<RETURNS>void </RETURNS>
+GtkItemFactory *ifactory,GtkType container_type,const gchar *path,GtkAccelGroup *accel_group
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_parse_rc</NAME>
+<RETURNS>void </RETURNS>
+const gchar *file_name
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_parse_rc_string</NAME>
+<RETURNS>void </RETURNS>
+const gchar *rc_string
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_parse_rc_scanner</NAME>
+<RETURNS>void </RETURNS>
+GScanner *scanner
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_add_foreign</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *accel_widget,const gchar *full_path,GtkAccelGroup *accel_group,guint keyval,GdkModifierType modifiers
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_from_widget</NAME>
+<RETURNS>GtkItemFactory *</RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_path_from_widget</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_get_item</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkItemFactory *ifactory,const gchar *path
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_get_widget</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkItemFactory *ifactory,const gchar *path
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_get_widget_by_action</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkItemFactory *ifactory,guint action
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_get_item_by_action</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkItemFactory *ifactory,guint action
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_dump_items</NAME>
+<RETURNS>void </RETURNS>
+GtkPatternSpec *path_pspec,gboolean modified_only,GtkPrintFunc print_func,gpointer func_data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_dump_rc</NAME>
+<RETURNS>void </RETURNS>
+const gchar *file_name,GtkPatternSpec *path_pspec,gboolean modified_only
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_print_func</NAME>
+<RETURNS>void </RETURNS>
+gpointer FILE_pointer,gchar *string
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_create_item</NAME>
+<RETURNS>void </RETURNS>
+GtkItemFactory *ifactory,GtkItemFactoryEntry *entry,gpointer callback_data,guint callback_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_create_items</NAME>
+<RETURNS>void </RETURNS>
+GtkItemFactory *ifactory,guint n_entries,GtkItemFactoryEntry *entries,gpointer callback_data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_delete_item</NAME>
+<RETURNS>void </RETURNS>
+GtkItemFactory *ifactory,const gchar *path
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_delete_entry</NAME>
+<RETURNS>void </RETURNS>
+GtkItemFactory *ifactory,GtkItemFactoryEntry *entry
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_delete_entries</NAME>
+<RETURNS>void </RETURNS>
+GtkItemFactory *ifactory,guint n_entries,GtkItemFactoryEntry *entries
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_popup</NAME>
+<RETURNS>void </RETURNS>
+GtkItemFactory *ifactory,guint x,guint y,guint mouse_button,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_popup_with_data</NAME>
+<RETURNS>void </RETURNS>
+GtkItemFactory *ifactory,gpointer popup_data,GtkDestroyNotify destroy,guint x,guint y,guint mouse_button,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_popup_data</NAME>
+<RETURNS>gpointer </RETURNS>
+GtkItemFactory *ifactory
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_popup_data_from_widget</NAME>
+<RETURNS>gpointer </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_set_translate_func</NAME>
+<RETURNS>void </RETURNS>
+GtkItemFactory *ifactory,GtkTranslateFunc func,gpointer data,GtkDestroyNotify notify
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_from_path</NAME>
+<RETURNS>GtkItemFactory *</RETURNS>
+const gchar *path
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_create_menu_entries</NAME>
+<RETURNS>void </RETURNS>
+guint n_entries,GtkMenuEntry *entries
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factories_path_delete</NAME>
+<RETURNS>void </RETURNS>
+const gchar *ifactory_path,const gchar *path
+</FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkItemFactoryCallback2</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,
+ gpointer callback_data,
+ guint callback_action
+</USER_FUNCTION>
+<FUNCTION>
+<NAME>gtk_item_factory_create_items_ac</NAME>
+<RETURNS>void </RETURNS>
+GtkItemFactory *ifactory,guint n_entries,GtkItemFactoryEntry *entries,gpointer callback_data,guint callback_type
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_LABEL</NAME>
+#define GTK_TYPE_LABEL (gtk_label_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_LABEL</NAME>
+#define GTK_LABEL(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_LABEL, GtkLabel))
+</MACRO>
+<MACRO>
+<NAME>GTK_LABEL_CLASS</NAME>
+#define GTK_LABEL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_LABEL, GtkLabelClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_LABEL</NAME>
+#define GTK_IS_LABEL(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_LABEL))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_LABEL_CLASS</NAME>
+#define GTK_IS_LABEL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_LABEL))
+</MACRO>
+<STRUCT>
+<NAME>GtkLabel</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkLabelClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkLabelWord</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkLabel</NAME>
+struct GtkLabel
+{
+ GtkMisc misc;
+
+ gchar *label;
+ GdkWChar *label_wc;
+ gchar *pattern;
+
+ GtkLabelWord *words;
+
+ guint max_width : 16;
+ guint jtype : 2;
+ gboolean wrap;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_label_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_label_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *str
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_label_set_text</NAME>
+<RETURNS>void </RETURNS>
+GtkLabel *label,const gchar *str
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_label_set_justify</NAME>
+<RETURNS>void </RETURNS>
+GtkLabel *label,GtkJustification jtype
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_label_set_pattern</NAME>
+<RETURNS>void </RETURNS>
+GtkLabel *label,const gchar *pattern
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_label_set_line_wrap</NAME>
+<RETURNS>void </RETURNS>
+GtkLabel *label,gboolean wrap
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_label_get</NAME>
+<RETURNS>void </RETURNS>
+GtkLabel *label,gchar **str
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_label_parse_uline</NAME>
+<RETURNS>guint </RETURNS>
+GtkLabel *label,const gchar *string
+</FUNCTION>
+<MACRO>
+<NAME>gtk_label_set</NAME>
+# define gtk_label_set gtk_label_set_text
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_LAYOUT</NAME>
+#define GTK_TYPE_LAYOUT (gtk_layout_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_LAYOUT</NAME>
+#define GTK_LAYOUT(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_LAYOUT, GtkLayout))
+</MACRO>
+<MACRO>
+<NAME>GTK_LAYOUT_CLASS</NAME>
+#define GTK_LAYOUT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_LAYOUT, GtkLayoutClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_LAYOUT</NAME>
+#define GTK_IS_LAYOUT(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_LAYOUT))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_LAYOUT_CLASS</NAME>
+#define GTK_IS_LAYOUT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_LAYOUT))
+</MACRO>
+<STRUCT>
+<NAME>GtkLayout</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkLayoutClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkLayout</NAME>
+struct GtkLayout {
+ GtkContainer container;
+
+ GList *children;
+
+ guint width;
+ guint height;
+
+ guint xoffset;
+ guint yoffset;
+
+ GtkAdjustment *hadjustment;
+ GtkAdjustment *vadjustment;
+
+ GdkWindow *bin_window;
+
+ GdkVisibilityState visibility;
+ gulong configure_serial;
+ gint scroll_x;
+ gint scroll_y;
+
+ guint freeze_count;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_layout_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_layout_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkAdjustment *hadjustment,GtkAdjustment *vadjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_layout_put</NAME>
+<RETURNS>void </RETURNS>
+GtkLayout *layout,GtkWidget *widget,gint x,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_layout_move</NAME>
+<RETURNS>void </RETURNS>
+GtkLayout *layout,GtkWidget *widget,gint x,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_layout_set_size</NAME>
+<RETURNS>void </RETURNS>
+GtkLayout *layout,guint width,guint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_layout_get_hadjustment</NAME>
+<RETURNS>GtkAdjustment *</RETURNS>
+GtkLayout *layout
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_layout_get_vadjustment</NAME>
+<RETURNS>GtkAdjustment *</RETURNS>
+GtkLayout *layout
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_layout_set_hadjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkLayout *layout,GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_layout_set_vadjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkLayout *layout,GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_layout_freeze</NAME>
+<RETURNS>void </RETURNS>
+GtkLayout *layout
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_layout_thaw</NAME>
+<RETURNS>void </RETURNS>
+GtkLayout *layout
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_LIST</NAME>
+#define GTK_TYPE_LIST (gtk_list_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_LIST</NAME>
+#define GTK_LIST(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_LIST, GtkList))
+</MACRO>
+<MACRO>
+<NAME>GTK_LIST_CLASS</NAME>
+#define GTK_LIST_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_LIST, GtkListClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_LIST</NAME>
+#define GTK_IS_LIST(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_LIST))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_LIST_CLASS</NAME>
+#define GTK_IS_LIST_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_LIST))
+</MACRO>
+<STRUCT>
+<NAME>GtkList</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkListClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkList</NAME>
+struct GtkList
+{
+ GtkContainer container;
+
+ GList *children;
+ GList *selection;
+
+ GList *undo_selection;
+ GList *undo_unselection;
+
+ GtkWidget *last_focus_child;
+ GtkWidget *undo_focus_child;
+
+ guint htimer;
+ guint vtimer;
+
+ gint anchor;
+ gint drag_pos;
+ GtkStateType anchor_state;
+
+ guint selection_mode : 2;
+ guint drag_selection:1;
+ guint add_mode:1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_list_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_insert_items</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,GList *items,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_append_items</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,GList *items
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_prepend_items</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,GList *items
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_remove_items</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,GList *items
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_remove_items_no_unref</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,GList *items
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_clear_items</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,gint start,gint end
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_select_item</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,gint item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_unselect_item</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,gint item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_select_child</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_unselect_child</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_child_position</NAME>
+<RETURNS>gint </RETURNS>
+GtkList *list,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_set_selection_mode</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,GtkSelectionMode mode
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_extend_selection</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,GtkScrollType scroll_type,gfloat position,gboolean auto_start_selection
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_start_selection</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_end_selection</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_select_all</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_unselect_all</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_scroll_horizontal</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,GtkScrollType scroll_type,gfloat position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_scroll_vertical</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,GtkScrollType scroll_type,gfloat position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_toggle_add_mode</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_toggle_focus_row</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_toggle_row</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list,GtkWidget *item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_undo_selection</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_end_drag_selection</NAME>
+<RETURNS>void </RETURNS>
+GtkList *list
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_LIST_ITEM</NAME>
+#define GTK_TYPE_LIST_ITEM (gtk_list_item_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_LIST_ITEM</NAME>
+#define GTK_LIST_ITEM(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_LIST_ITEM, GtkListItem))
+</MACRO>
+<MACRO>
+<NAME>GTK_LIST_ITEM_CLASS</NAME>
+#define GTK_LIST_ITEM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_LIST_ITEM, GtkListItemClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_LIST_ITEM</NAME>
+#define GTK_IS_LIST_ITEM(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_LIST_ITEM))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_LIST_ITEM_CLASS</NAME>
+#define GTK_IS_LIST_ITEM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_LIST_ITEM))
+</MACRO>
+<STRUCT>
+<NAME>GtkListItem</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkListItemClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkListItem</NAME>
+struct GtkListItem
+{
+ GtkItem item;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_list_item_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_item_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_item_new_with_label</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_item_select</NAME>
+<RETURNS>void </RETURNS>
+GtkListItem *list_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_list_item_deselect</NAME>
+<RETURNS>void </RETURNS>
+GtkListItem *list_item
+</FUNCTION>
+<MACRO>
+<NAME>GTK_PRIORITY_REDRAW</NAME>
+#define GTK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20)
+</MACRO>
+<MACRO>
+<NAME>GTK_PRIORITY_RESIZE</NAME>
+#define GTK_PRIORITY_RESIZE (G_PRIORITY_HIGH_IDLE + 10)
+</MACRO>
+<MACRO>
+<NAME>GTK_PRIORITY_HIGH</NAME>
+#define GTK_PRIORITY_HIGH G_PRIORITY_HIGH
+</MACRO>
+<MACRO>
+<NAME>GTK_PRIORITY_INTERNAL</NAME>
+#define GTK_PRIORITY_INTERNAL GTK_PRIORITY_REDRAW
+</MACRO>
+<MACRO>
+<NAME>GTK_PRIORITY_DEFAULT</NAME>
+#define GTK_PRIORITY_DEFAULT G_PRIORITY_DEFAULT_IDLE
+</MACRO>
+<MACRO>
+<NAME>GTK_PRIORITY_LOW</NAME>
+#define GTK_PRIORITY_LOW G_PRIORITY_LOW
+</MACRO>
+<USER_FUNCTION>
+<NAME>GtkModuleInitFunc</NAME>
+<RETURNS>void </RETURNS>
+gint *argc,
+ gchar ***argv
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkKeySnoopFunc</NAME>
+<RETURNS>gint </RETURNS>
+GtkWidget *grab_widget,
+ GdkEventKey *event,
+ gpointer func_data
+</USER_FUNCTION>
+<VARIABLE>
+<NAME>gtk_major_version</NAME>
+extern const guint gtk_major_version;
+</VARIABLE>
+<VARIABLE>
+<NAME>gtk_minor_version</NAME>
+extern const guint gtk_minor_version;
+</VARIABLE>
+<VARIABLE>
+<NAME>gtk_micro_version</NAME>
+extern const guint gtk_micro_version;
+</VARIABLE>
+<VARIABLE>
+<NAME>gtk_binary_age</NAME>
+extern const guint gtk_binary_age;
+</VARIABLE>
+<VARIABLE>
+<NAME>gtk_interface_age</NAME>
+extern const guint gtk_interface_age;
+</VARIABLE>
+<FUNCTION>
+<NAME>gtk_check_version</NAME>
+<RETURNS>gchar *</RETURNS>
+guint required_major,guint required_minor,guint required_micro
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_init</NAME>
+<RETURNS>void </RETURNS>
+int *argc,char ***argv
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_init_check</NAME>
+<RETURNS>gboolean </RETURNS>
+int *argc,char ***argv
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_exit</NAME>
+<RETURNS>void </RETURNS>
+gint error_code
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_set_locale</NAME>
+<RETURNS>gchar *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_events_pending</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_main_do_event</NAME>
+<RETURNS>void </RETURNS>
+GdkEvent *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_main</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_main_level</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_main_quit</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_main_iteration</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_main_iteration_do</NAME>
+<RETURNS>gint </RETURNS>
+gboolean blocking
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_true</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_false</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_grab_add</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_grab_get_current</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_grab_remove</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_init_add</NAME>
+<RETURNS>void </RETURNS>
+GtkFunction function,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_quit_add_destroy</NAME>
+<RETURNS>void </RETURNS>
+guint main_level,GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_quit_add</NAME>
+<RETURNS>guint </RETURNS>
+guint main_level,GtkFunction function,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_quit_add_full</NAME>
+<RETURNS>guint </RETURNS>
+guint main_level,GtkFunction function,GtkCallbackMarshal marshal,gpointer data,GtkDestroyNotify destroy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_quit_remove</NAME>
+<RETURNS>void </RETURNS>
+guint quit_handler_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_quit_remove_by_data</NAME>
+<RETURNS>void </RETURNS>
+gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_timeout_add</NAME>
+<RETURNS>guint </RETURNS>
+guint32 interval,GtkFunction function,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_timeout_add_full</NAME>
+<RETURNS>guint </RETURNS>
+guint32 interval,GtkFunction function,GtkCallbackMarshal marshal,gpointer data,GtkDestroyNotify destroy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_timeout_remove</NAME>
+<RETURNS>void </RETURNS>
+guint timeout_handler_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_idle_add</NAME>
+<RETURNS>guint </RETURNS>
+GtkFunction function,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_idle_add_priority</NAME>
+<RETURNS>guint </RETURNS>
+gint priority,GtkFunction function,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_idle_add_full</NAME>
+<RETURNS>guint </RETURNS>
+gint priority,GtkFunction function,GtkCallbackMarshal marshal,gpointer data,GtkDestroyNotify destroy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_idle_remove</NAME>
+<RETURNS>void </RETURNS>
+guint idle_handler_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_idle_remove_by_data</NAME>
+<RETURNS>void </RETURNS>
+gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_input_add_full</NAME>
+<RETURNS>guint </RETURNS>
+gint source,GdkInputCondition condition,GdkInputFunction function,GtkCallbackMarshal marshal,gpointer data,GtkDestroyNotify destroy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_input_remove</NAME>
+<RETURNS>void </RETURNS>
+guint input_handler_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_key_snooper_install</NAME>
+<RETURNS>guint </RETURNS>
+GtkKeySnoopFunc snooper,gpointer func_data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_key_snooper_remove</NAME>
+<RETURNS>void </RETURNS>
+guint snooper_handler_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_get_current_event</NAME>
+<RETURNS>GdkEvent *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_get_event_widget</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GdkEvent *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_propagate_event</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkEvent *event
+</FUNCTION>
+<MACRO>
+<NAME>gtk_signal_default_marshaller</NAME>
+#define gtk_signal_default_marshaller gtk_marshal_NONE__NONE
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_BOOL__NONE</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_BOOL__POINTER</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_BOOL__POINTER_POINTER_INT_INT</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_BOOL__POINTER_INT_INT</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_BOOL__POINTER_INT_INT_UINT</NAME>
+#define gtk_marshal_BOOL__POINTER_INT_INT_UINT gtk_marshal_BOOL__POINTER_INT_INT_INT
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_BOOL__POINTER_INT_INT_INT</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_BOOL__POINTER_STRING_STRING_POINTER</NAME>
+#define gtk_marshal_BOOL__POINTER_STRING_STRING_POINTER gtk_marshal_BOOL__POINTER_POINTER_POINTER_POINTER
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_BOOL__POINTER_POINTER_POINTER_POINTER</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_ENUM__ENUM</NAME>
+#define gtk_marshal_ENUM__ENUM gtk_marshal_INT__INT
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_INT__INT</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_INT__POINTER</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_INT__POINTER_CHAR_CHAR</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__BOOL</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_NONE__BOXED</NAME>
+#define gtk_marshal_NONE__BOXED gtk_marshal_NONE__POINTER
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__POINTER</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__C_CALLBACK</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__C_CALLBACK_C_CALLBACK</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_NONE__ENUM</NAME>
+#define gtk_marshal_NONE__ENUM gtk_marshal_NONE__INT
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__INT</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_NONE__ENUM_FLOAT</NAME>
+#define gtk_marshal_NONE__ENUM_FLOAT gtk_marshal_NONE__INT_FLOAT
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__INT_FLOAT</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_NONE__ENUM_FLOAT_BOOL</NAME>
+#define gtk_marshal_NONE__ENUM_FLOAT_BOOL gtk_marshal_NONE__INT_FLOAT_BOOL
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__INT_FLOAT_BOOL</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__INT_INT</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__INT_INT_POINTER</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__NONE</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_NONE__OBJECT</NAME>
+#define gtk_marshal_NONE__OBJECT gtk_marshal_NONE__POINTER
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__POINTER_INT</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__POINTER_POINTER</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__POINTER_POINTER_POINTER</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_NONE__POINTER_STRING_STRING</NAME>
+#define gtk_marshal_NONE__POINTER_STRING_STRING gtk_marshal_NONE__POINTER_POINTER_POINTER
+</MACRO>
+<MACRO>
+<NAME>gtk_marshal_NONE__POINTER_UINT</NAME>
+#define gtk_marshal_NONE__POINTER_UINT gtk_marshal_NONE__POINTER_INT
+</MACRO>
+<MACRO>
+<NAME>gtk_marshal_NONE__POINTER_UINT_ENUM</NAME>
+#define gtk_marshal_NONE__POINTER_UINT_ENUM gtk_marshal_NONE__POINTER_INT_INT
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__POINTER_INT_INT</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_NONE__POINTER_POINTER_UINT_UINT</NAME>
+#define gtk_marshal_NONE__POINTER_POINTER_UINT_UINT gtk_marshal_NONE__POINTER_POINTER_INT_INT
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__POINTER_POINTER_INT_INT</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_NONE__POINTER_INT_INT_POINTER_UINT_UINT</NAME>
+#define gtk_marshal_NONE__POINTER_INT_INT_POINTER_UINT_UINT gtk_marshal_NONE__POINTER_INT_INT_POINTER_INT_INT
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__POINTER_INT_INT_POINTER_INT_INT</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_NONE__POINTER_UINT_UINT</NAME>
+#define gtk_marshal_NONE__POINTER_UINT_UINT gtk_marshal_NONE__POINTER_INT_INT
+</MACRO>
+<MACRO>
+<NAME>gtk_marshal_NONE__STRING</NAME>
+#define gtk_marshal_NONE__STRING gtk_marshal_NONE__POINTER
+</MACRO>
+<MACRO>
+<NAME>gtk_marshal_NONE__STRING_INT_POINTER</NAME>
+#define gtk_marshal_NONE__STRING_INT_POINTER gtk_marshal_NONE__POINTER_INT_POINTER
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__POINTER_INT_POINTER</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_NONE__UINT</NAME>
+#define gtk_marshal_NONE__UINT gtk_marshal_NONE__INT
+</MACRO>
+<MACRO>
+<NAME>gtk_marshal_NONE__UINT_POINTER_UINT_ENUM_ENUM_POINTER</NAME>
+#define gtk_marshal_NONE__UINT_POINTER_UINT_ENUM_ENUM_POINTER gtk_marshal_NONE__INT_POINTER_INT_INT_INT_POINTER
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__INT_POINTER_INT_INT_INT_POINTER</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_NONE__UINT_POINTER_UINT_UINT_ENUM</NAME>
+#define gtk_marshal_NONE__UINT_POINTER_UINT_UINT_ENUM gtk_marshal_NONE__INT_POINTER_INT_INT_INT
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__INT_POINTER_INT_INT_INT</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>gtk_marshal_NONE__UINT_STRING</NAME>
+#define gtk_marshal_NONE__UINT_STRING gtk_marshal_NONE__INT_POINTER
+</MACRO>
+<FUNCTION>
+<NAME>gtk_marshal_NONE__INT_POINTER</NAME>
+<RETURNS>void </RETURNS>
+GtkObject * object,GtkSignalFunc func,gpointer func_data,GtkArg * args
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_MENU</NAME>
+#define GTK_TYPE_MENU (gtk_menu_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_MENU</NAME>
+#define GTK_MENU(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_MENU, GtkMenu))
+</MACRO>
+<MACRO>
+<NAME>GTK_MENU_CLASS</NAME>
+#define GTK_MENU_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU, GtkMenuClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_MENU</NAME>
+#define GTK_IS_MENU(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_MENU))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_MENU_CLASS</NAME>
+#define GTK_IS_MENU_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU))
+</MACRO>
+<STRUCT>
+<NAME>GtkMenu</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkMenuClass</NAME>
+</STRUCT>
+<USER_FUNCTION>
+<NAME>GtkMenuPositionFunc</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu,
+ gint *x,
+ gint *y,
+ gpointer user_data
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkMenuDetachFunc</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *attach_widget,
+ GtkMenu *menu
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GtkMenu</NAME>
+struct GtkMenu
+{
+ GtkMenuShell menu_shell;
+
+ GtkWidget *parent_menu_item;
+ GtkWidget *old_active_menu_item;
+
+ GtkAccelGroup *accel_group;
+ GtkMenuPositionFunc position_func;
+ gpointer position_func_data;
+
+ /* Do _not_ touch these widgets directly. We hide the reference
+ * count from the toplevel to the menu, so it must be restored
+ * before operating on these widgets
+ */
+ GtkWidget *toplevel;
+ GtkWidget *tearoff_window;
+
+ guint torn_off : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_menu_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_append</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_prepend</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_insert</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu,GtkWidget *child,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_popup</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu,GtkWidget *parent_menu_shell,GtkWidget *parent_menu_item,GtkMenuPositionFunc func,gpointer data,guint button,guint32 activate_time
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_reposition</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_popdown</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_get_active</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkMenu *menu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_set_active</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu,guint index
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_set_accel_group</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu,GtkAccelGroup *accel_group
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_get_accel_group</NAME>
+<RETURNS>GtkAccelGroup *</RETURNS>
+GtkMenu *menu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_get_uline_accel_group</NAME>
+<RETURNS>GtkAccelGroup *</RETURNS>
+GtkMenu *menu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_ensure_uline_accel_group</NAME>
+<RETURNS>GtkAccelGroup *</RETURNS>
+GtkMenu *menu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_attach_to_widget</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu,GtkWidget *attach_widget,GtkMenuDetachFunc detacher
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_detach</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_get_attach_widget</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkMenu *menu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_detach</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_set_tearoff_state</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu,gboolean torn_off
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_set_title</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu,const gchar *title
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_reorder_child</NAME>
+<RETURNS>void </RETURNS>
+GtkMenu *menu,GtkWidget *child,gint position
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_MENU_BAR</NAME>
+#define GTK_TYPE_MENU_BAR (gtk_menu_bar_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_MENU_BAR</NAME>
+#define GTK_MENU_BAR(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_MENU_BAR, GtkMenuBar))
+</MACRO>
+<MACRO>
+<NAME>GTK_MENU_BAR_CLASS</NAME>
+#define GTK_MENU_BAR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_BAR, GtkMenuBarClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_MENU_BAR</NAME>
+#define GTK_IS_MENU_BAR(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_MENU_BAR))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_MENU_BAR_CLASS</NAME>
+#define GTK_IS_MENU_BAR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_BAR))
+</MACRO>
+<STRUCT>
+<NAME>GtkMenuBar</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkMenuBarClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkMenuBar</NAME>
+struct GtkMenuBar
+{
+ GtkMenuShell menu_shell;
+
+ GtkShadowType shadow_type;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_menu_bar_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_bar_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_bar_append</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuBar *menu_bar,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_bar_prepend</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuBar *menu_bar,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_bar_insert</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuBar *menu_bar,GtkWidget *child,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_bar_set_shadow_type</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuBar *menu_bar,GtkShadowType type
+</FUNCTION>
+<STRUCT>
+<NAME>GtkMenuEntry</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkMenuPath</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkMenuFactory</NAME>
+</STRUCT>
+<USER_FUNCTION>
+<NAME>GtkMenuCallback</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,
+ gpointer user_data
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GtkMenuEntry</NAME>
+struct GtkMenuEntry
+{
+ gchar *path;
+ gchar *accelerator;
+ GtkMenuCallback callback;
+ gpointer callback_data;
+ GtkWidget *widget;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkMenuPath</NAME>
+struct GtkMenuPath
+{
+ char *path;
+ GtkWidget *widget;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkMenuFactory</NAME>
+struct GtkMenuFactory
+{
+ gchar *path;
+ GtkMenuFactoryType type;
+ GtkAccelGroup *accel_group;
+ GtkWidget *widget;
+ GList *subfactories;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_menu_factory_new</NAME>
+<RETURNS>GtkMenuFactory *</RETURNS>
+GtkMenuFactoryType type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_factory_destroy</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuFactory *factory
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_factory_add_entries</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuFactory *factory,GtkMenuEntry *entries,int nentries
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_factory_add_subfactory</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuFactory *factory,GtkMenuFactory *subfactory,const char *path
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_factory_remove_paths</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuFactory *factory,char **paths,int npaths
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_factory_remove_entries</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuFactory *factory,GtkMenuEntry *entries,int nentries
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_factory_remove_subfactory</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuFactory *factory,GtkMenuFactory *subfactory,const char *path
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_factory_find</NAME>
+<RETURNS>GtkMenuPath *</RETURNS>
+GtkMenuFactory *factory,const char *path
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_MENU_ITEM</NAME>
+#define GTK_TYPE_MENU_ITEM (gtk_menu_item_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_MENU_ITEM</NAME>
+#define GTK_MENU_ITEM(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_MENU_ITEM, GtkMenuItem))
+</MACRO>
+<MACRO>
+<NAME>GTK_MENU_ITEM_CLASS</NAME>
+#define GTK_MENU_ITEM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_ITEM, GtkMenuItemClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_MENU_ITEM</NAME>
+#define GTK_IS_MENU_ITEM(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_MENU_ITEM))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_MENU_ITEM_CLASS</NAME>
+#define GTK_IS_MENU_ITEM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_ITEM))
+</MACRO>
+<STRUCT>
+<NAME>GtkMenuItem</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkMenuItemClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkMenuItem</NAME>
+struct GtkMenuItem
+{
+ GtkItem item;
+
+ GtkWidget *submenu;
+
+ guint accelerator_signal;
+ guint16 toggle_size;
+ guint16 accelerator_width;
+
+ guint show_toggle_indicator : 1;
+ guint show_submenu_indicator : 1;
+ guint submenu_placement : 1;
+ guint submenu_direction : 1;
+ guint right_justify: 1;
+ guint timer;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_menu_item_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_item_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_item_new_with_label</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_item_set_submenu</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuItem *menu_item,GtkWidget *submenu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_item_remove_submenu</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuItem *menu_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_item_set_placement</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuItem *menu_item,GtkSubmenuPlacement placement
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_item_configure</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuItem *menu_item,gint show_toggle_indicator,gint show_submenu_indicator
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_item_select</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuItem *menu_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_item_deselect</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuItem *menu_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_item_activate</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuItem *menu_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_item_right_justify</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuItem *menu_item
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_MENU_SHELL</NAME>
+#define GTK_TYPE_MENU_SHELL (gtk_menu_shell_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_MENU_SHELL</NAME>
+#define GTK_MENU_SHELL(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_MENU_SHELL, GtkMenuShell))
+</MACRO>
+<MACRO>
+<NAME>GTK_MENU_SHELL_CLASS</NAME>
+#define GTK_MENU_SHELL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_SHELL, GtkMenuShellClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_MENU_SHELL</NAME>
+#define GTK_IS_MENU_SHELL(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_MENU_SHELL))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_MENU_SHELL_CLASS</NAME>
+#define GTK_IS_MENU_SHELL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_SHELL))
+</MACRO>
+<STRUCT>
+<NAME>GtkMenuShell</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkMenuShellClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkMenuShell</NAME>
+struct GtkMenuShell
+{
+ GtkContainer container;
+
+ GList *children;
+ GtkWidget *active_menu_item;
+ GtkWidget *parent_menu_shell;
+
+ guint active : 1;
+ guint have_grab : 1;
+ guint have_xgrab : 1;
+ guint button : 2;
+ guint ignore_leave : 1;
+ guint menu_flag : 1;
+ guint ignore_enter : 1;
+
+ guint32 activate_time;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_menu_shell_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_shell_append</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuShell *menu_shell,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_shell_prepend</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuShell *menu_shell,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_shell_insert</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuShell *menu_shell,GtkWidget *child,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_shell_deactivate</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuShell *menu_shell
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_shell_select_item</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuShell *menu_shell,GtkWidget *menu_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_shell_deselect</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuShell *menu_shell
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_menu_shell_activate_item</NAME>
+<RETURNS>void </RETURNS>
+GtkMenuShell *menu_shell,GtkWidget *menu_item,gboolean force_deactivate
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_MISC</NAME>
+#define GTK_TYPE_MISC (gtk_misc_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_MISC</NAME>
+#define GTK_MISC(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_MISC, GtkMisc))
+</MACRO>
+<MACRO>
+<NAME>GTK_MISC_CLASS</NAME>
+#define GTK_MISC_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_MISC, GtkMiscClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_MISC</NAME>
+#define GTK_IS_MISC(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_MISC))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_MISC_CLASS</NAME>
+#define GTK_IS_MISC_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MISC))
+</MACRO>
+<STRUCT>
+<NAME>GtkMisc</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkMiscClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkMisc</NAME>
+struct GtkMisc
+{
+ GtkWidget widget;
+
+ gfloat xalign;
+ gfloat yalign;
+
+ guint16 xpad;
+ guint16 ypad;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_misc_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_misc_set_alignment</NAME>
+<RETURNS>void </RETURNS>
+GtkMisc *misc,gfloat xalign,gfloat yalign
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_misc_set_padding</NAME>
+<RETURNS>void </RETURNS>
+GtkMisc *misc,gint xpad,gint ypad
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_NOTEBOOK</NAME>
+#define GTK_TYPE_NOTEBOOK (gtk_notebook_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_NOTEBOOK</NAME>
+#define GTK_NOTEBOOK(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_NOTEBOOK, GtkNotebook))
+</MACRO>
+<MACRO>
+<NAME>GTK_NOTEBOOK_CLASS</NAME>
+#define GTK_NOTEBOOK_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_NOTEBOOK, GtkNotebookClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_NOTEBOOK</NAME>
+#define GTK_IS_NOTEBOOK(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_NOTEBOOK))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_NOTEBOOK_CLASS</NAME>
+#define GTK_IS_NOTEBOOK_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_NOTEBOOK))
+</MACRO>
+<MACRO>
+<NAME>GTK_NOTEBOOK_PAGE</NAME>
+#define GTK_NOTEBOOK_PAGE(_glist_) ((GtkNotebookPage *)((GList *)(_glist_))->data)
+</MACRO>
+<STRUCT>
+<NAME>GtkNotebook</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkNotebookClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkNotebookPage</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkNotebook</NAME>
+struct GtkNotebook
+{
+ GtkContainer container;
+
+ GtkNotebookPage *cur_page;
+ GList *children;
+ GList *first_tab;
+ GList *focus_tab;
+
+ GtkWidget *menu;
+ GdkWindow *panel;
+
+ guint32 timer;
+
+ guint16 tab_hborder;
+ guint16 tab_vborder;
+
+ guint show_tabs : 1;
+ guint homogeneous : 1;
+ guint show_border : 1;
+ guint tab_pos : 2;
+ guint scrollable : 1;
+ guint in_child : 2;
+ guint click_child : 2;
+ guint button : 2;
+ guint need_timer : 1;
+ guint child_has_focus : 1;
+ guint have_visible_child : 1;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkNotebookPage</NAME>
+struct GtkNotebookPage
+{
+ GtkWidget *child;
+ GtkWidget *tab_label;
+ GtkWidget *menu_label;
+
+ guint default_menu : 1;
+ guint default_tab : 1;
+ guint expand : 1;
+ guint fill : 1;
+ guint pack : 1;
+
+ GtkRequisition requisition;
+ GtkAllocation allocation;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_notebook_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_append_page</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,GtkWidget *tab_label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_append_page_menu</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,GtkWidget *tab_label,GtkWidget *menu_label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_prepend_page</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,GtkWidget *tab_label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_prepend_page_menu</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,GtkWidget *tab_label,GtkWidget *menu_label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_insert_page</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,GtkWidget *tab_label,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_insert_page_menu</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,GtkWidget *tab_label,GtkWidget *menu_label,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_remove_page</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,gint page_num
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_get_current_page</NAME>
+<RETURNS>gint </RETURNS>
+GtkNotebook *notebook
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_get_nth_page</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkNotebook *notebook,gint page_num
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_page_num</NAME>
+<RETURNS>gint </RETURNS>
+GtkNotebook *notebook,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_page</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,gint page_num
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_next_page</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_prev_page</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_show_border</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,gboolean show_border
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_show_tabs</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,gboolean show_tabs
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_tab_pos</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkPositionType pos
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_homogeneous_tabs</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,gboolean homogeneous
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_tab_border</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,guint border_width
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_tab_hborder</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,guint tab_hborder
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_tab_vborder</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,guint tab_vborder
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_scrollable</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,gboolean scrollable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_popup_enable</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_popup_disable</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_get_tab_label</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkNotebook *notebook,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_tab_label</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,GtkWidget *tab_label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_tab_label_text</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,const gchar *tab_text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_get_menu_label</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkNotebook *notebook,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_menu_label</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,GtkWidget *menu_label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_menu_label_text</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,const gchar *menu_text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_query_tab_label_packing</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,gboolean *expand,gboolean *fill,GtkPackType *pack_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_set_tab_label_packing</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,gboolean expand,gboolean fill,GtkPackType pack_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_notebook_reorder_child</NAME>
+<RETURNS>void </RETURNS>
+GtkNotebook *notebook,GtkWidget *child,gint position
+</FUNCTION>
+<MACRO>
+<NAME>GTK_OBJECT</NAME>
+#define GTK_OBJECT(object) ( \
+ GTK_IS_OBJECT (object) ? \
+ (GtkObject*) (object) : \
+ (GtkObject*) gtk_type_check_object_cast ((GtkTypeObject*) (object), GTK_TYPE_OBJECT) \
+)
+</MACRO>
+<MACRO>
+<NAME>GTK_OBJECT_CLASS</NAME>
+#define GTK_OBJECT_CLASS(klass) ( \
+ GTK_IS_OBJECT_CLASS (klass) ? \
+ (GtkObjectClass*) (klass) : \
+ (GtkObjectClass*) gtk_type_check_class_cast ((GtkTypeClass*) (klass), GTK_TYPE_OBJECT) \
+)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_OBJECT</NAME>
+#define GTK_IS_OBJECT(object) ( \
+ (object) != NULL && \
+ GTK_IS_OBJECT_CLASS (((GtkObject*) (object))->klass) \
+)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_OBJECT_CLASS</NAME>
+#define GTK_IS_OBJECT_CLASS(klass) ( \
+ (klass) != NULL && \
+ GTK_FUNDAMENTAL_TYPE (((GtkObjectClass*) (klass))->type) == GTK_TYPE_OBJECT \
+)
+</MACRO>
+<MACRO>
+<NAME>GTK_OBJECT_TYPE</NAME>
+#define GTK_OBJECT_TYPE(obj) (GTK_OBJECT (obj)->klass->type)
+</MACRO>
+<MACRO>
+<NAME>GTK_OBJECT_SIGNALS</NAME>
+#define GTK_OBJECT_SIGNALS(obj) (GTK_OBJECT (obj)->klass->signals)
+</MACRO>
+<MACRO>
+<NAME>GTK_OBJECT_NSIGNALS</NAME>
+#define GTK_OBJECT_NSIGNALS(obj) (GTK_OBJECT (obj)->klass->nsignals)
+</MACRO>
+<ENUM>
+<NAME>GtkObjectFlags</NAME>
+typedef enum
+{
+ GTK_DESTROYED = 1 << 0,
+ GTK_FLOATING = 1 << 1,
+ GTK_CONNECTED = 1 << 2,
+ GTK_CONSTRUCTED = 1 << 3
+} GtkObjectFlags;
+</ENUM>
+<MACRO>
+<NAME>GTK_OBJECT_FLAGS</NAME>
+#define GTK_OBJECT_FLAGS(obj) (GTK_OBJECT (obj)->flags)
+</MACRO>
+<MACRO>
+<NAME>GTK_OBJECT_DESTROYED</NAME>
+#define GTK_OBJECT_DESTROYED(obj) ((GTK_OBJECT_FLAGS (obj) & GTK_DESTROYED) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_OBJECT_FLOATING</NAME>
+#define GTK_OBJECT_FLOATING(obj) ((GTK_OBJECT_FLAGS (obj) & GTK_FLOATING) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_OBJECT_CONNECTED</NAME>
+#define GTK_OBJECT_CONNECTED(obj) ((GTK_OBJECT_FLAGS (obj) & GTK_CONNECTED) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_OBJECT_CONSTRUCTED</NAME>
+#define GTK_OBJECT_CONSTRUCTED(obj) ((GTK_OBJECT_FLAGS (obj) & GTK_CONSTRUCTED) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_OBJECT_SET_FLAGS</NAME>
+#define GTK_OBJECT_SET_FLAGS(obj,flag) G_STMT_START{ (GTK_OBJECT_FLAGS (obj) |= (flag)); }G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GTK_OBJECT_UNSET_FLAGS</NAME>
+#define GTK_OBJECT_UNSET_FLAGS(obj,flag) G_STMT_START{ (GTK_OBJECT_FLAGS (obj) &= ~(flag)); }G_STMT_END
+</MACRO>
+<ENUM>
+<NAME>GtkArgFlags</NAME>
+typedef enum
+{
+ GTK_ARG_READABLE = 1 << 0,
+ GTK_ARG_WRITABLE = 1 << 1,
+ GTK_ARG_CONSTRUCT = 1 << 2,
+ GTK_ARG_CONSTRUCT_ONLY = 1 << 3,
+ GTK_ARG_CHILD_ARG = 1 << 4,
+ GTK_ARG_MASK = 0x1f,
+
+ /* aliases
+ */
+ GTK_ARG_READWRITE = GTK_ARG_READABLE | GTK_ARG_WRITABLE
+} GtkArgFlags;
+</ENUM>
+<STRUCT>
+<NAME>GtkObjectClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkObject</NAME>
+struct GtkObject
+{
+ /* GtkTypeObject related fields: */
+ GtkObjectClass *klass;
+
+
+ /* 32 bits of flags. GtkObject only uses 4 of these bits and
+ * GtkWidget uses the rest. This is done because structs are
+ * aligned on 4 or 8 byte boundaries. If a new bitfield were
+ * used in GtkWidget much space would be wasted.
+ */
+ guint32 flags;
+
+ /* reference count.
+ * refer to the file docs/refcounting.txt on this issue.
+ */
+ guint ref_count;
+
+ /* A list of keyed data pointers, used for e.g. the list of signal
+ * handlers or an object's user_data.
+ */
+ GData *object_data;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_object_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_class_user_signal_new</NAME>
+<RETURNS>guint </RETURNS>
+GtkObjectClass *klass,const gchar *name,GtkSignalRunType signal_flags,GtkSignalMarshaller marshaller,GtkType return_val,guint nparams,...
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_class_user_signal_newv</NAME>
+<RETURNS>guint </RETURNS>
+GtkObjectClass *klass,const gchar *name,GtkSignalRunType signal_flags,GtkSignalMarshaller marshaller,GtkType return_val,guint nparams,GtkType *params
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_new</NAME>
+<RETURNS>GtkObject *</RETURNS>
+GtkType type,const gchar *first_arg_name,...
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_newv</NAME>
+<RETURNS>GtkObject *</RETURNS>
+GtkType object_type,guint n_args,GtkArg *args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_default_construct</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_constructed</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_sink</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_ref</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_unref</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_weakref</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GtkDestroyNotify notify,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_weakunref</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GtkDestroyNotify notify,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_destroy</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_getv</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,guint n_args,GtkArg *args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_get</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,const gchar *first_arg_name,...
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_set</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,const gchar *first_arg_name,...
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_setv</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,guint n_args,GtkArg *args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_query_args</NAME>
+<RETURNS>GtkArg *</RETURNS>
+GtkType class_type,guint32 **arg_flags,guint *n_args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_set_data</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,const gchar *key,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_set_data_full</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,const gchar *key,gpointer data,GtkDestroyNotify destroy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_remove_data</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,const gchar *key
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_get_data</NAME>
+<RETURNS>gpointer </RETURNS>
+GtkObject *object,const gchar *key
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_remove_no_notify</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,const gchar *key
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_set_user_data</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_get_user_data</NAME>
+<RETURNS>gpointer </RETURNS>
+GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_class_add_signals</NAME>
+<RETURNS>void </RETURNS>
+GtkObjectClass *klass,guint *signals,guint nsignals
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_add_arg_type</NAME>
+<RETURNS>void </RETURNS>
+const gchar *arg_name,GtkType arg_type,guint arg_flags,guint arg_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_set_data_by_id</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GQuark data_id,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_set_data_by_id_full</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GQuark data_id,gpointer data,GtkDestroyNotify destroy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_get_data_by_id</NAME>
+<RETURNS>gpointer </RETURNS>
+GtkObject *object,GQuark data_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_remove_data_by_id</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GQuark data_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_remove_no_notify_by_id</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GQuark key_id
+</FUNCTION>
+<MACRO>
+<NAME>gtk_object_data_try_key</NAME>
+#define gtk_object_data_try_key g_quark_try_string
+</MACRO>
+<MACRO>
+<NAME>gtk_object_data_force_id</NAME>
+#define gtk_object_data_force_id g_quark_from_string
+</MACRO>
+<FUNCTION>
+<NAME>gtk_object_arg_set</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GtkArg *arg,GtkArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_arg_get</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GtkArg *arg,GtkArgInfo *info
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_args_collect</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkType object_type,GSList **arg_list_p,GSList **info_list_p,const gchar *first_arg_name,va_list var_args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_object_arg_get_info</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkType object_type,const gchar *arg_name,GtkArgInfo **info_p
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_trace_referencing</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,const gchar *func,guint dummy,guint line,gboolean do_ref
+</FUNCTION>
+<MACRO>
+<NAME>gtk_object_ref</NAME>
+# define gtk_object_ref(o) G_STMT_START{gtk_trace_referencing((o),G_GNUC_PRETTY_FUNCTION,0,__LINE__,1);}G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>gtk_object_unref</NAME>
+# define gtk_object_unref(o) G_STMT_START{gtk_trace_referencing((o),G_GNUC_PRETTY_FUNCTION,0,__LINE__,0);}G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_OPTION_MENU</NAME>
+#define GTK_TYPE_OPTION_MENU (gtk_option_menu_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_OPTION_MENU</NAME>
+#define GTK_OPTION_MENU(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_OPTION_MENU, GtkOptionMenu))
+</MACRO>
+<MACRO>
+<NAME>GTK_OPTION_MENU_CLASS</NAME>
+#define GTK_OPTION_MENU_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_OPTION_MENU, GtkOptionMenuClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_OPTION_MENU</NAME>
+#define GTK_IS_OPTION_MENU(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_OPTION_MENU))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_OPTION_MENU_CLASS</NAME>
+#define GTK_IS_OPTION_MENU_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_OPTION_MENU))
+</MACRO>
+<STRUCT>
+<NAME>GtkOptionMenu</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkOptionMenuClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkOptionMenu</NAME>
+struct GtkOptionMenu
+{
+ GtkButton button;
+
+ GtkWidget *menu;
+ GtkWidget *menu_item;
+
+ guint16 width;
+ guint16 height;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_option_menu_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_option_menu_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_option_menu_get_menu</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkOptionMenu *option_menu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_option_menu_set_menu</NAME>
+<RETURNS>void </RETURNS>
+GtkOptionMenu *option_menu,GtkWidget *menu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_option_menu_remove_menu</NAME>
+<RETURNS>void </RETURNS>
+GtkOptionMenu *option_menu
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_option_menu_set_history</NAME>
+<RETURNS>void </RETURNS>
+GtkOptionMenu *option_menu,guint index
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_PACKER</NAME>
+#define GTK_TYPE_PACKER (gtk_packer_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_PACKER</NAME>
+#define GTK_PACKER(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_PACKER, GtkPacker))
+</MACRO>
+<MACRO>
+<NAME>GTK_PACKER_CLASS</NAME>
+#define GTK_PACKER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_PACKER, GtkPackerClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_PACKER</NAME>
+#define GTK_IS_PACKER(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_PACKER))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_PACKER_CLASS</NAME>
+#define GTK_IS_PACKER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PACKER))
+</MACRO>
+<STRUCT>
+<NAME>GtkPacker</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPackerClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPackerChild</NAME>
+</STRUCT>
+<ENUM>
+<NAME>GtkPackerOptions</NAME>
+typedef enum
+{
+ GTK_PACK_EXPAND = 1 << 0, /*< nick=expand >*/
+ GTK_FILL_X = 1 << 1,
+ GTK_FILL_Y = 1 << 2
+} GtkPackerOptions;
+</ENUM>
+<ENUM>
+<NAME>GtkSideType</NAME>
+typedef enum
+{
+ GTK_SIDE_TOP,
+ GTK_SIDE_BOTTOM,
+ GTK_SIDE_LEFT,
+ GTK_SIDE_RIGHT
+} GtkSideType;
+</ENUM>
+<ENUM>
+<NAME>GtkAnchorType</NAME>
+typedef enum
+{
+ GTK_ANCHOR_CENTER,
+ GTK_ANCHOR_NORTH,
+ GTK_ANCHOR_NORTH_WEST,
+ GTK_ANCHOR_NORTH_EAST,
+ GTK_ANCHOR_SOUTH,
+ GTK_ANCHOR_SOUTH_WEST,
+ GTK_ANCHOR_SOUTH_EAST,
+ GTK_ANCHOR_WEST,
+ GTK_ANCHOR_EAST,
+ GTK_ANCHOR_N = GTK_ANCHOR_NORTH,
+ GTK_ANCHOR_NW = GTK_ANCHOR_NORTH_WEST,
+ GTK_ANCHOR_NE = GTK_ANCHOR_NORTH_EAST,
+ GTK_ANCHOR_S = GTK_ANCHOR_SOUTH,
+ GTK_ANCHOR_SW = GTK_ANCHOR_SOUTH_WEST,
+ GTK_ANCHOR_SE = GTK_ANCHOR_SOUTH_EAST,
+ GTK_ANCHOR_W = GTK_ANCHOR_WEST,
+ GTK_ANCHOR_E = GTK_ANCHOR_EAST
+} GtkAnchorType;
+</ENUM>
+<STRUCT>
+<NAME>GtkPackerChild</NAME>
+struct GtkPackerChild
+{
+ GtkWidget *widget;
+
+ GtkAnchorType anchor;
+ GtkSideType side;
+ GtkPackerOptions options;
+
+ guint use_default : 1;
+
+ guint border_width : 16;
+ guint pad_x : 16;
+ guint pad_y : 16;
+ guint i_pad_x : 16;
+ guint i_pad_y : 16;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkPacker</NAME>
+struct GtkPacker
+{
+ GtkContainer parent;
+
+ GList *children;
+
+ guint spacing;
+
+ guint default_border_width : 16;
+ guint default_pad_x : 16;
+ guint default_pad_y : 16;
+ guint default_i_pad_x : 16;
+ guint default_i_pad_y : 16;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_packer_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_packer_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_packer_add_defaults</NAME>
+<RETURNS>void </RETURNS>
+GtkPacker *packer,GtkWidget *child,GtkSideType side,GtkAnchorType anchor,GtkPackerOptions options
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_packer_add</NAME>
+<RETURNS>void </RETURNS>
+GtkPacker *packer,GtkWidget *child,GtkSideType side,GtkAnchorType anchor,GtkPackerOptions options,guint border_width,guint pad_x,guint pad_y,guint i_pad_x,guint i_pad_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_packer_set_child_packing</NAME>
+<RETURNS>void </RETURNS>
+GtkPacker *packer,GtkWidget *child,GtkSideType side,GtkAnchorType anchor,GtkPackerOptions options,guint border_width,guint pad_x,guint pad_y,guint i_pad_x,guint i_pad_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_packer_reorder_child</NAME>
+<RETURNS>void </RETURNS>
+GtkPacker *packer,GtkWidget *child,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_packer_set_spacing</NAME>
+<RETURNS>void </RETURNS>
+GtkPacker *packer,guint spacing
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_packer_set_default_border_width</NAME>
+<RETURNS>void </RETURNS>
+GtkPacker *packer,guint border
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_packer_set_default_pad</NAME>
+<RETURNS>void </RETURNS>
+GtkPacker *packer,guint pad_x,guint pad_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_packer_set_default_ipad</NAME>
+<RETURNS>void </RETURNS>
+GtkPacker *packer,guint i_pad_x,guint i_pad_y
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_PANED</NAME>
+#define GTK_TYPE_PANED (gtk_paned_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_PANED</NAME>
+#define GTK_PANED(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_PANED, GtkPaned))
+</MACRO>
+<MACRO>
+<NAME>GTK_PANED_CLASS</NAME>
+#define GTK_PANED_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_PANED, GtkPanedClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_PANED</NAME>
+#define GTK_IS_PANED(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_PANED))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_PANED_CLASS</NAME>
+#define GTK_IS_PANED_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PANED))
+</MACRO>
+<STRUCT>
+<NAME>GtkPaned</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPanedClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPaned</NAME>
+struct GtkPaned
+{
+ GtkContainer container;
+
+ GtkWidget *child1;
+ GtkWidget *child2;
+
+ GdkWindow *handle;
+ GdkRectangle groove_rectangle;
+ GdkGC *xor_gc;
+
+ /*< public >*/
+ guint16 handle_size;
+ guint16 gutter_size;
+
+ /*< private >*/
+ gint child1_size;
+ gint last_allocation;
+ gint min_position;
+ gint max_position;
+
+ guint position_set : 1;
+ guint in_drag : 1;
+ guint child1_shrink : 1;
+ guint child1_resize : 1;
+ guint child2_shrink : 1;
+ guint child2_resize : 1;
+
+ gint16 handle_xpos;
+ gint16 handle_ypos;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_paned_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paned_add1</NAME>
+<RETURNS>void </RETURNS>
+GtkPaned *paned,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paned_add2</NAME>
+<RETURNS>void </RETURNS>
+GtkPaned *paned,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paned_pack1</NAME>
+<RETURNS>void </RETURNS>
+GtkPaned *paned,GtkWidget *child,gboolean resize,gboolean shrink
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paned_pack2</NAME>
+<RETURNS>void </RETURNS>
+GtkPaned *paned,GtkWidget *child,gboolean resize,gboolean shrink
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paned_set_position</NAME>
+<RETURNS>void </RETURNS>
+GtkPaned *paned,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paned_set_handle_size</NAME>
+<RETURNS>void </RETURNS>
+GtkPaned *paned,guint16 size
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paned_set_gutter_size</NAME>
+<RETURNS>void </RETURNS>
+GtkPaned *paned,guint16 size
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paned_compute_position</NAME>
+<RETURNS>void </RETURNS>
+GtkPaned *paned,gint allocation,gint child1_req,gint child2_req
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_PIXMAP</NAME>
+#define GTK_TYPE_PIXMAP (gtk_pixmap_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_PIXMAP</NAME>
+#define GTK_PIXMAP(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_PIXMAP, GtkPixmap))
+</MACRO>
+<MACRO>
+<NAME>GTK_PIXMAP_CLASS</NAME>
+#define GTK_PIXMAP_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_PIXMAP, GtkPixmapClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_PIXMAP</NAME>
+#define GTK_IS_PIXMAP(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_PIXMAP))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_PIXMAP_CLASS</NAME>
+#define GTK_IS_PIXMAP_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PIXMAP))
+</MACRO>
+<STRUCT>
+<NAME>GtkPixmap</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPixmapClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPixmap</NAME>
+struct GtkPixmap
+{
+ GtkMisc misc;
+
+ GdkPixmap *pixmap;
+ GdkBitmap *mask;
+
+ GdkPixmap *pixmap_insensitive;
+ guint build_insensitive : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_pixmap_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_pixmap_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GdkPixmap *pixmap,GdkBitmap *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_pixmap_set</NAME>
+<RETURNS>void </RETURNS>
+GtkPixmap *pixmap,GdkPixmap *val,GdkBitmap *mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_pixmap_get</NAME>
+<RETURNS>void </RETURNS>
+GtkPixmap *pixmap,GdkPixmap **val,GdkBitmap **mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_pixmap_set_build_insensitive</NAME>
+<RETURNS>void </RETURNS>
+GtkPixmap *pixmap,guint build
+</FUNCTION>
+<MACRO>
+<NAME>GTK_PLUG</NAME>
+#define GTK_PLUG(obj) GTK_CHECK_CAST (obj, gtk_plug_get_type (), GtkPlug)
+</MACRO>
+<MACRO>
+<NAME>GTK_PLUG_CLASS</NAME>
+#define GTK_PLUG_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_plug_get_type (), GtkPlugClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_PLUG</NAME>
+#define GTK_IS_PLUG(obj) GTK_CHECK_TYPE (obj, gtk_plug_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkPlug</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPlugClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPlug</NAME>
+struct GtkPlug
+{
+ GtkWindow window;
+
+ GdkWindow *socket_window;
+ gint same_app;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_plug_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_plug_construct</NAME>
+<RETURNS>void </RETURNS>
+GtkPlug *plug, guint32 socket_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_plug_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+guint32 socket_id
+</FUNCTION>
+<MACRO>
+<NAME>GTK_PREVIEW</NAME>
+#define GTK_PREVIEW(obj) GTK_CHECK_CAST (obj, gtk_preview_get_type (), GtkPreview)
+</MACRO>
+<MACRO>
+<NAME>GTK_PREVIEW_CLASS</NAME>
+#define GTK_PREVIEW_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_preview_get_type (), GtkPreviewClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_PREVIEW</NAME>
+#define GTK_IS_PREVIEW(obj) GTK_CHECK_TYPE (obj, gtk_preview_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkPreview</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPreviewInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPreviewClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPreview</NAME>
+struct GtkPreview
+{
+ GtkWidget widget;
+
+ guchar *buffer;
+ guint16 buffer_width;
+ guint16 buffer_height;
+
+ guint16 bpp;
+ guint16 rowstride;
+
+ GdkRgbDither dither;
+
+ guint type : 1;
+ guint expand : 1;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkPreviewInfo</NAME>
+struct GtkPreviewInfo
+{
+ GdkVisual *visual;
+ GdkColormap *cmap;
+
+ guchar *lookup;
+
+ gdouble gamma;
+};
+</STRUCT>
+<UNION>
+<NAME>GtkDitherInfo</NAME>
+union GtkDitherInfo
+{
+ gushort s[2];
+ guchar c[4];
+};
+</UNION>
+<FUNCTION>
+<NAME>gtk_preview_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_uninit</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkPreviewType type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_size</NAME>
+<RETURNS>void </RETURNS>
+GtkPreview *preview,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_put</NAME>
+<RETURNS>void </RETURNS>
+GtkPreview *preview,GdkWindow *window,GdkGC *gc,gint srcx,gint srcy,gint destx,gint desty,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_draw_row</NAME>
+<RETURNS>void </RETURNS>
+GtkPreview *preview,guchar *data,gint x,gint y,gint w
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_set_expand</NAME>
+<RETURNS>void </RETURNS>
+GtkPreview *preview,gint expand
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_set_gamma</NAME>
+<RETURNS>void </RETURNS>
+double gamma
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_set_color_cube</NAME>
+<RETURNS>void </RETURNS>
+guint nred_shades,guint ngreen_shades,guint nblue_shades,guint ngray_shades
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_set_install_cmap</NAME>
+<RETURNS>void </RETURNS>
+gint install_cmap
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_set_reserved</NAME>
+<RETURNS>void </RETURNS>
+gint nreserved
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_set_dither</NAME>
+<RETURNS>void </RETURNS>
+GtkPreview *preview,GdkRgbDither dither
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_get_visual</NAME>
+<RETURNS>GdkVisual *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_get_cmap</NAME>
+<RETURNS>GdkColormap *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_get_info</NAME>
+<RETURNS>GtkPreviewInfo *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_preview_reset</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<ENUM>
+<NAME>GtkPrivateFlags</NAME>
+typedef enum
+{
+ PRIVATE_GTK_USER_STYLE = 1 << 0,
+ PRIVATE_GTK_REDRAW_PENDING = 1 << 1,
+ PRIVATE_GTK_RESIZE_PENDING = 1 << 2,
+ PRIVATE_GTK_RESIZE_NEEDED = 1 << 3,
+ PRIVATE_GTK_LEAVE_PENDING = 1 << 4,
+ PRIVATE_GTK_HAS_SHAPE_MASK = 1 << 5,
+ PRIVATE_GTK_IN_REPARENT = 1 << 6,
+ PRIVATE_GTK_IS_OFFSCREEN = 1 << 7
+} GtkPrivateFlags;
+</ENUM>
+<MACRO>
+<NAME>GTK_PRIVATE_FLAGS</NAME>
+#define GTK_PRIVATE_FLAGS(wid) (GTK_WIDGET (wid)->private_flags)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_USER_STYLE</NAME>
+#define GTK_WIDGET_USER_STYLE(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_USER_STYLE) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_REDRAW_PENDING</NAME>
+#define GTK_WIDGET_REDRAW_PENDING(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_REDRAW_PENDING) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_CONTAINER_RESIZE_PENDING</NAME>
+#define GTK_CONTAINER_RESIZE_PENDING(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_RESIZE_PENDING) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_RESIZE_NEEDED</NAME>
+#define GTK_WIDGET_RESIZE_NEEDED(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_RESIZE_NEEDED) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_LEAVE_PENDING</NAME>
+#define GTK_WIDGET_LEAVE_PENDING(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_LEAVE_PENDING) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_HAS_SHAPE_MASK</NAME>
+#define GTK_WIDGET_HAS_SHAPE_MASK(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_HAS_SHAPE_MASK) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_IN_REPARENT</NAME>
+#define GTK_WIDGET_IN_REPARENT(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_IN_REPARENT) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_IS_OFFSCREEN</NAME>
+#define GTK_WIDGET_IS_OFFSCREEN(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_IS_OFFSCREEN) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_PRIVATE_SET_FLAG</NAME>
+#define GTK_PRIVATE_SET_FLAG(wid,flag) G_STMT_START{ (GTK_PRIVATE_FLAGS (wid) |= (PRIVATE_ ## flag)); }G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GTK_PRIVATE_UNSET_FLAG</NAME>
+#define GTK_PRIVATE_UNSET_FLAG(wid,flag) G_STMT_START{ (GTK_PRIVATE_FLAGS (wid) &= ~(PRIVATE_ ## flag)); }G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_PROGRESS</NAME>
+#define GTK_TYPE_PROGRESS (gtk_progress_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_PROGRESS</NAME>
+#define GTK_PROGRESS(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_PROGRESS, GtkProgress))
+</MACRO>
+<MACRO>
+<NAME>GTK_PROGRESS_CLASS</NAME>
+#define GTK_PROGRESS_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_PROGRESS, GtkProgressClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_PROGRESS</NAME>
+#define GTK_IS_PROGRESS(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_PROGRESS))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_PROGRESS_CLASS</NAME>
+#define GTK_IS_PROGRESS_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PROGRESS))
+</MACRO>
+<STRUCT>
+<NAME>GtkProgress</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkProgressClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkProgress</NAME>
+struct GtkProgress
+{
+ GtkWidget widget;
+
+ GtkAdjustment *adjustment;
+ GdkPixmap *offscreen_pixmap;
+ gchar *format;
+ gfloat x_align;
+ gfloat y_align;
+
+ guint show_text : 1;
+ guint activity_mode : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_progress_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_set_show_text</NAME>
+<RETURNS>void </RETURNS>
+GtkProgress *progress,gint show_text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_set_text_alignment</NAME>
+<RETURNS>void </RETURNS>
+GtkProgress *progress,gfloat x_align,gfloat y_align
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_set_format_string</NAME>
+<RETURNS>void </RETURNS>
+GtkProgress *progress,gchar *format
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_set_adjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkProgress *progress,GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_configure</NAME>
+<RETURNS>void </RETURNS>
+GtkProgress *progress,gfloat value,gfloat min,gfloat max
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_set_percentage</NAME>
+<RETURNS>void </RETURNS>
+GtkProgress *progress,gfloat percentage
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_set_value</NAME>
+<RETURNS>void </RETURNS>
+GtkProgress *progress,gfloat value
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_get_value</NAME>
+<RETURNS>gfloat </RETURNS>
+GtkProgress *progress
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_set_activity_mode</NAME>
+<RETURNS>void </RETURNS>
+GtkProgress *progress,guint activity_mode
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_get_current_text</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkProgress *progress
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_get_text_from_value</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkProgress *progress,gfloat value
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_get_current_percentage</NAME>
+<RETURNS>gfloat </RETURNS>
+GtkProgress *progress
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_get_percentage_from_value</NAME>
+<RETURNS>gfloat </RETURNS>
+GtkProgress *progress,gfloat value
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_PROGRESS_BAR</NAME>
+#define GTK_TYPE_PROGRESS_BAR (gtk_progress_bar_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_PROGRESS_BAR</NAME>
+#define GTK_PROGRESS_BAR(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_PROGRESS_BAR, GtkProgressBar))
+</MACRO>
+<MACRO>
+<NAME>GTK_PROGRESS_BAR_CLASS</NAME>
+#define GTK_PROGRESS_BAR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_PROGRESS_BAR, GtkProgressBarClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_PROGRESS_BAR</NAME>
+#define GTK_IS_PROGRESS_BAR(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_PROGRESS_BAR))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_PROGRESS_BAR_CLASS</NAME>
+#define GTK_IS_PROGRESS_BAR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PROGRESS_BAR))
+</MACRO>
+<STRUCT>
+<NAME>GtkProgressBar</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkProgressBarClass</NAME>
+</STRUCT>
+<ENUM>
+<NAME>GtkProgressBarStyle</NAME>
+typedef enum
+{
+ GTK_PROGRESS_CONTINUOUS,
+ GTK_PROGRESS_DISCRETE
+} GtkProgressBarStyle;
+</ENUM>
+<ENUM>
+<NAME>GtkProgressBarOrientation</NAME>
+typedef enum
+{
+ GTK_PROGRESS_LEFT_TO_RIGHT,
+ GTK_PROGRESS_RIGHT_TO_LEFT,
+ GTK_PROGRESS_BOTTOM_TO_TOP,
+ GTK_PROGRESS_TOP_TO_BOTTOM
+} GtkProgressBarOrientation;
+</ENUM>
+<STRUCT>
+<NAME>GtkProgressBar</NAME>
+struct GtkProgressBar
+{
+ GtkProgress progress;
+
+ GtkProgressBarStyle bar_style;
+ GtkProgressBarOrientation orientation;
+
+ guint blocks;
+ gint in_block;
+
+ gint activity_pos;
+ guint activity_step;
+ guint activity_blocks;
+ guint activity_dir : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_progress_bar_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_bar_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_bar_new_with_adjustment</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_bar_set_bar_style</NAME>
+<RETURNS>void </RETURNS>
+GtkProgressBar *pbar,GtkProgressBarStyle style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_bar_set_discrete_blocks</NAME>
+<RETURNS>void </RETURNS>
+GtkProgressBar *pbar,guint blocks
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_bar_set_activity_step</NAME>
+<RETURNS>void </RETURNS>
+GtkProgressBar *pbar,guint step
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_bar_set_activity_blocks</NAME>
+<RETURNS>void </RETURNS>
+GtkProgressBar *pbar,guint blocks
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_bar_set_orientation</NAME>
+<RETURNS>void </RETURNS>
+GtkProgressBar *pbar,GtkProgressBarOrientation orientation
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_progress_bar_update</NAME>
+<RETURNS>void </RETURNS>
+GtkProgressBar *pbar,gfloat percentage
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_RADIO_BUTTON</NAME>
+#define GTK_TYPE_RADIO_BUTTON (gtk_radio_button_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_RADIO_BUTTON</NAME>
+#define GTK_RADIO_BUTTON(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_RADIO_BUTTON, GtkRadioButton))
+</MACRO>
+<MACRO>
+<NAME>GTK_RADIO_BUTTON_CLASS</NAME>
+#define GTK_RADIO_BUTTON_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_RADIO_BUTTON, GtkRadioButtonClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_RADIO_BUTTON</NAME>
+#define GTK_IS_RADIO_BUTTON(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_RADIO_BUTTON))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_RADIO_BUTTON_CLASS</NAME>
+#define GTK_IS_RADIO_BUTTON_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RADIO_BUTTON))
+</MACRO>
+<STRUCT>
+<NAME>GtkRadioButton</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkRadioButtonClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkRadioButton</NAME>
+struct GtkRadioButton
+{
+ GtkCheckButton check_button;
+
+ GSList *group;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_radio_button_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_radio_button_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GSList *group
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_radio_button_new_from_widget</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkRadioButton *group
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_radio_button_new_with_label</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GSList *group,const gchar *label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_radio_button_new_with_label_from_widget</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkRadioButton *group,const gchar *label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_radio_button_group</NAME>
+<RETURNS>GSList *</RETURNS>
+GtkRadioButton *radio_button
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_radio_button_set_group</NAME>
+<RETURNS>void </RETURNS>
+GtkRadioButton *radio_button,GSList *group
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_RADIO_MENU_ITEM</NAME>
+#define GTK_TYPE_RADIO_MENU_ITEM (gtk_radio_menu_item_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_RADIO_MENU_ITEM</NAME>
+#define GTK_RADIO_MENU_ITEM(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_RADIO_MENU_ITEM, GtkRadioMenuItem))
+</MACRO>
+<MACRO>
+<NAME>GTK_RADIO_MENU_ITEM_CLASS</NAME>
+#define GTK_RADIO_MENU_ITEM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_RADIO_MENU_ITEM, GtkRadioMenuItemClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_RADIO_MENU_ITEM</NAME>
+#define GTK_IS_RADIO_MENU_ITEM(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_RADIO_MENU_ITEM))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_RADIO_MENU_ITEM_CLASS</NAME>
+#define GTK_IS_RADIO_MENU_ITEM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RADIO_MENU_ITEM))
+</MACRO>
+<STRUCT>
+<NAME>GtkRadioMenuItem</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkRadioMenuItemClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkRadioMenuItem</NAME>
+struct GtkRadioMenuItem
+{
+ GtkCheckMenuItem check_menu_item;
+
+ GSList *group;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_radio_menu_item_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_radio_menu_item_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GSList *group
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_radio_menu_item_new_with_label</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GSList *group,const gchar *label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_radio_menu_item_group</NAME>
+<RETURNS>GSList *</RETURNS>
+GtkRadioMenuItem *radio_menu_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_radio_menu_item_set_group</NAME>
+<RETURNS>void </RETURNS>
+GtkRadioMenuItem *radio_menu_item,GSList *group
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_RANGE</NAME>
+#define GTK_TYPE_RANGE (gtk_range_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_RANGE</NAME>
+#define GTK_RANGE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_RANGE, GtkRange))
+</MACRO>
+<MACRO>
+<NAME>GTK_RANGE_CLASS</NAME>
+#define GTK_RANGE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_RANGE, GtkRangeClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_RANGE</NAME>
+#define GTK_IS_RANGE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_RANGE))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_RANGE_CLASS</NAME>
+#define GTK_IS_RANGE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_RANGE))
+</MACRO>
+<STRUCT>
+<NAME>GtkRange</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkRangeClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkRange</NAME>
+struct GtkRange
+{
+ GtkWidget widget;
+
+ GdkWindow *trough;
+ GdkWindow *slider;
+ GdkWindow *step_forw;
+ GdkWindow *step_back;
+
+ gint16 x_click_point;
+ gint16 y_click_point;
+
+ guint8 button;
+ gint8 digits;
+ guint policy : 2;
+ guint scroll_type : 3;
+ guint in_child : 3;
+ guint click_child : 3;
+ guint need_timer : 1;
+
+ guint32 timer;
+
+ gfloat old_value;
+ gfloat old_lower;
+ gfloat old_upper;
+ gfloat old_page_size;
+
+ GtkAdjustment *adjustment;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_range_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_get_adjustment</NAME>
+<RETURNS>GtkAdjustment *</RETURNS>
+GtkRange *range
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_set_update_policy</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range,GtkUpdateType policy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_set_adjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range,GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_draw_background</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_clear_background</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_draw_trough</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_draw_slider</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_draw_step_forw</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_draw_step_back</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_slider_update</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_trough_click</NAME>
+<RETURNS>gint </RETURNS>
+GtkRange *range,gint x,gint y,gfloat *jump_perc
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_default_hslider_update</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_default_vslider_update</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_default_htrough_click</NAME>
+<RETURNS>gint </RETURNS>
+GtkRange *range,gint x,gint y,gfloat *jump_perc
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_default_vtrough_click</NAME>
+<RETURNS>gint </RETURNS>
+GtkRange *range,gint x,gint y,gfloat *jump_perc
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_default_hmotion</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range,gint xdelta,gint ydelta
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_range_default_vmotion</NAME>
+<RETURNS>void </RETURNS>
+GtkRange *range,gint xdelta,gint ydelta
+</FUNCTION>
+<ENUM>
+<NAME>GtkRcFlags</NAME>
+typedef enum {
+ GTK_RC_FG = 1 << 0,
+ GTK_RC_BG = 1 << 1,
+ GTK_RC_TEXT = 1 << 2,
+ GTK_RC_BASE = 1 << 3
+} GtkRcFlags;
+</ENUM>
+<STRUCT>
+<NAME>GtkRcStyle</NAME>
+struct GtkRcStyle
+{
+ gchar *name;
+ gchar *font_name;
+ gchar *fontset_name;
+ gchar *bg_pixmap_name[5];
+
+ GtkRcFlags color_flags[5];
+ GdkColor fg[5];
+ GdkColor bg[5];
+ GdkColor text[5];
+ GdkColor base[5];
+
+ GtkThemeEngine *engine;
+ gpointer engine_data;
+
+ /* Private */
+ guint ref_count;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_rc_init</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_add_default_file</NAME>
+<RETURNS>void </RETURNS>
+const gchar *filename
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_set_default_files</NAME>
+<RETURNS>void </RETURNS>
+gchar **filenames
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_get_default_files</NAME>
+<RETURNS>gchar **</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_parse</NAME>
+<RETURNS>void </RETURNS>
+const gchar *filename
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_parse_string</NAME>
+<RETURNS>void </RETURNS>
+const gchar *rc_string
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_reparse_all</NAME>
+<RETURNS>gboolean </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_get_style</NAME>
+<RETURNS>GtkStyle *</RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_add_widget_name_style</NAME>
+<RETURNS>void </RETURNS>
+GtkRcStyle *rc_style,const gchar *pattern
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_add_widget_class_style</NAME>
+<RETURNS>void </RETURNS>
+GtkRcStyle *rc_style,const gchar *pattern
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_add_class_style</NAME>
+<RETURNS>void </RETURNS>
+GtkRcStyle *rc_style,const gchar *pattern
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_style_new</NAME>
+<RETURNS>GtkRcStyle *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_style_ref</NAME>
+<RETURNS>void </RETURNS>
+GtkRcStyle *rc_style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_style_unref</NAME>
+<RETURNS>void </RETURNS>
+GtkRcStyle *rc_style
+</FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkImageLoader</NAME>
+<RETURNS>GdkPixmap *</RETURNS>
+GdkWindow *window,
+ GdkColormap *colormap,
+ GdkBitmap **mask,
+ GdkColor *transparent_color,
+ const gchar *filename
+</USER_FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_set_image_loader</NAME>
+<RETURNS>void </RETURNS>
+GtkImageLoader loader
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_load_image</NAME>
+<RETURNS>GdkPixmap *</RETURNS>
+GdkColormap *colormap,GdkColor *transparent_color,const gchar *filename
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_find_pixmap_in_path</NAME>
+<RETURNS>gchar *</RETURNS>
+GScanner *scanner,const gchar *pixmap_file
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_find_module_in_path</NAME>
+<RETURNS>gchar *</RETURNS>
+const gchar *module_file
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_get_theme_dir</NAME>
+<RETURNS>gchar *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_get_module_dir</NAME>
+<RETURNS>gchar *</RETURNS>
+void
+</FUNCTION>
+<ENUM>
+<NAME>GtkRcTokenType</NAME>
+typedef enum {
+ GTK_RC_TOKEN_INVALID = G_TOKEN_LAST,
+ GTK_RC_TOKEN_INCLUDE,
+ GTK_RC_TOKEN_NORMAL,
+ GTK_RC_TOKEN_ACTIVE,
+ GTK_RC_TOKEN_PRELIGHT,
+ GTK_RC_TOKEN_SELECTED,
+ GTK_RC_TOKEN_INSENSITIVE,
+ GTK_RC_TOKEN_FG,
+ GTK_RC_TOKEN_BG,
+ GTK_RC_TOKEN_BASE,
+ GTK_RC_TOKEN_TEXT,
+ GTK_RC_TOKEN_FONT,
+ GTK_RC_TOKEN_FONTSET,
+ GTK_RC_TOKEN_BG_PIXMAP,
+ GTK_RC_TOKEN_PIXMAP_PATH,
+ GTK_RC_TOKEN_STYLE,
+ GTK_RC_TOKEN_BINDING,
+ GTK_RC_TOKEN_BIND,
+ GTK_RC_TOKEN_WIDGET,
+ GTK_RC_TOKEN_WIDGET_CLASS,
+ GTK_RC_TOKEN_CLASS,
+ GTK_RC_TOKEN_LOWEST,
+ GTK_RC_TOKEN_GTK,
+ GTK_RC_TOKEN_APPLICATION,
+ GTK_RC_TOKEN_RC,
+ GTK_RC_TOKEN_HIGHEST,
+ GTK_RC_TOKEN_ENGINE,
+ GTK_RC_TOKEN_MODULE_PATH,
+ GTK_RC_TOKEN_LAST
+} GtkRcTokenType;
+</ENUM>
+<FUNCTION>
+<NAME>gtk_rc_parse_color</NAME>
+<RETURNS>guint </RETURNS>
+GScanner *scanner,GdkColor *color
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_parse_state</NAME>
+<RETURNS>guint </RETURNS>
+GScanner *scanner,GtkStateType *state
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_rc_parse_priority</NAME>
+<RETURNS>guint </RETURNS>
+GScanner *scanner,GtkPathPriorityType *priority
+</FUNCTION>
+<MACRO>
+<NAME>GTK_RULER</NAME>
+#define GTK_RULER(obj) GTK_CHECK_CAST (obj, gtk_ruler_get_type (), GtkRuler)
+</MACRO>
+<MACRO>
+<NAME>GTK_RULER_CLASS</NAME>
+#define GTK_RULER_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_ruler_get_type (), GtkRulerClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_RULER</NAME>
+#define GTK_IS_RULER(obj) GTK_CHECK_TYPE (obj, gtk_ruler_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkRuler</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkRulerClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkRulerMetric</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkRuler</NAME>
+struct GtkRuler
+{
+ GtkWidget widget;
+
+ GdkPixmap *backing_store;
+ GdkGC *non_gr_exp_gc;
+ GtkRulerMetric *metric;
+ gint xsrc, ysrc;
+ gint slider_size;
+
+ /* The upper limit of the ruler (in points) */
+ gfloat lower;
+ /* The lower limit of the ruler */
+ gfloat upper;
+ /* The position of the mark on the ruler */
+ gfloat position;
+ /* The maximum size of the ruler */
+ gfloat max_size;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkRulerMetric</NAME>
+struct GtkRulerMetric
+{
+ gchar *metric_name;
+ gchar *abbrev;
+ /* This should be points_per_unit. This is the size of the unit
+ * in 1/72nd's of an inch and has nothing to do with screen pixels */
+ gfloat pixels_per_unit;
+ gfloat ruler_scale[10];
+ gint subdivide[5]; /* five possible modes of subdivision */
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_ruler_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ruler_set_metric</NAME>
+<RETURNS>void </RETURNS>
+GtkRuler *ruler,GtkMetricType metric
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ruler_set_range</NAME>
+<RETURNS>void </RETURNS>
+GtkRuler *ruler,gfloat lower,gfloat upper,gfloat position,gfloat max_size
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ruler_draw_ticks</NAME>
+<RETURNS>void </RETURNS>
+GtkRuler *ruler
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_ruler_draw_pos</NAME>
+<RETURNS>void </RETURNS>
+GtkRuler *ruler
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_SCALE</NAME>
+#define GTK_TYPE_SCALE (gtk_scale_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_SCALE</NAME>
+#define GTK_SCALE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_SCALE, GtkScale))
+</MACRO>
+<MACRO>
+<NAME>GTK_SCALE_CLASS</NAME>
+#define GTK_SCALE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_SCALE, GtkScaleClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_SCALE</NAME>
+#define GTK_IS_SCALE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_SCALE))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_SCALE_CLASS</NAME>
+#define GTK_IS_SCALE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SCALE))
+</MACRO>
+<STRUCT>
+<NAME>GtkScale</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkScaleClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkScale</NAME>
+struct GtkScale
+{
+ GtkRange range;
+
+ guint draw_value : 1;
+ guint value_pos : 2;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_scale_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scale_set_digits</NAME>
+<RETURNS>void </RETURNS>
+GtkScale *scale,gint digits
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scale_set_draw_value</NAME>
+<RETURNS>void </RETURNS>
+GtkScale *scale,gboolean draw_value
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scale_set_value_pos</NAME>
+<RETURNS>void </RETURNS>
+GtkScale *scale,GtkPositionType pos
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scale_get_value_width</NAME>
+<RETURNS>gint </RETURNS>
+GtkScale *scale
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scale_draw_value</NAME>
+<RETURNS>void </RETURNS>
+GtkScale *scale
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_SCROLLBAR</NAME>
+#define GTK_TYPE_SCROLLBAR (gtk_scrollbar_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_SCROLLBAR</NAME>
+#define GTK_SCROLLBAR(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_SCROLLBAR, GtkScrollbar))
+</MACRO>
+<MACRO>
+<NAME>GTK_SCROLLBAR_CLASS</NAME>
+#define GTK_SCROLLBAR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_SCROLLBAR, GtkScrollbarClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_SCROLLBAR</NAME>
+#define GTK_IS_SCROLLBAR(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_SCROLLBAR))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_SCROLLBAR_CLASS</NAME>
+#define GTK_IS_SCROLLBAR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SCROLLBAR))
+</MACRO>
+<STRUCT>
+<NAME>GtkScrollbar</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkScrollbarClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkScrollbar</NAME>
+struct GtkScrollbar
+{
+ GtkRange range;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_scrollbar_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_SCROLLED_WINDOW</NAME>
+#define GTK_TYPE_SCROLLED_WINDOW (gtk_scrolled_window_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_SCROLLED_WINDOW</NAME>
+#define GTK_SCROLLED_WINDOW(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_SCROLLED_WINDOW, GtkScrolledWindow))
+</MACRO>
+<MACRO>
+<NAME>GTK_SCROLLED_WINDOW_CLASS</NAME>
+#define GTK_SCROLLED_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_SCROLLED_WINDOW, GtkScrolledWindowClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_SCROLLED_WINDOW</NAME>
+#define GTK_IS_SCROLLED_WINDOW(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_SCROLLED_WINDOW))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_SCROLLED_WINDOW_CLASS</NAME>
+#define GTK_IS_SCROLLED_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SCROLLED_WINDOW))
+</MACRO>
+<STRUCT>
+<NAME>GtkScrolledWindow</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkScrolledWindowClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkScrolledWindow</NAME>
+struct GtkScrolledWindow
+{
+ GtkBin container;
+
+ GtkWidget *hscrollbar;
+ GtkWidget *vscrollbar;
+
+ guint hscrollbar_policy : 2;
+ guint vscrollbar_policy : 2;
+ guint hscrollbar_visible : 1;
+ guint vscrollbar_visible : 1;
+ guint window_placement : 2;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_scrolled_window_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scrolled_window_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkAdjustment *hadjustment,GtkAdjustment *vadjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scrolled_window_set_hadjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkScrolledWindow *scrolled_window,GtkAdjustment *hadjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scrolled_window_set_vadjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkScrolledWindow *scrolled_window,GtkAdjustment *hadjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scrolled_window_get_hadjustment</NAME>
+<RETURNS>GtkAdjustment *</RETURNS>
+GtkScrolledWindow *scrolled_window
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scrolled_window_get_vadjustment</NAME>
+<RETURNS>GtkAdjustment *</RETURNS>
+GtkScrolledWindow *scrolled_window
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scrolled_window_set_policy</NAME>
+<RETURNS>void </RETURNS>
+GtkScrolledWindow *scrolled_window,GtkPolicyType hscrollbar_policy,GtkPolicyType vscrollbar_policy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scrolled_window_set_placement</NAME>
+<RETURNS>void </RETURNS>
+GtkScrolledWindow *scrolled_window,GtkCornerType window_placement
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_scrolled_window_add_with_viewport</NAME>
+<RETURNS>void </RETURNS>
+GtkScrolledWindow *scrolled_window,GtkWidget *child
+</FUNCTION>
+<STRUCT>
+<NAME>GtkTargetList</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTargetEntry</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTargetEntry</NAME>
+struct GtkTargetEntry {
+ gchar *target;
+ guint flags;
+ guint info;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkTargetPair</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTargetList</NAME>
+struct GtkTargetList {
+ GList *list;
+ guint ref_count;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkTargetPair</NAME>
+struct GtkTargetPair {
+ GdkAtom target;
+ guint flags;
+ guint info;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_target_list_new</NAME>
+<RETURNS>GtkTargetList *</RETURNS>
+const GtkTargetEntry *targets,guint ntargets
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_target_list_ref</NAME>
+<RETURNS>void </RETURNS>
+GtkTargetList *list
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_target_list_unref</NAME>
+<RETURNS>void </RETURNS>
+GtkTargetList *list
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_target_list_add</NAME>
+<RETURNS>void </RETURNS>
+GtkTargetList *list,GdkAtom target,guint flags,guint info
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_target_list_add_table</NAME>
+<RETURNS>void </RETURNS>
+GtkTargetList *list,const GtkTargetEntry *targets,guint ntargets
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_target_list_remove</NAME>
+<RETURNS>void </RETURNS>
+GtkTargetList *list,GdkAtom target
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_target_list_find</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkTargetList *list,GdkAtom target,guint *info
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_owner_set</NAME>
+<RETURNS>gint </RETURNS>
+GtkWidget *widget,GdkAtom selection,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_add_target</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkAtom selection,GdkAtom target,guint info
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_add_targets</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkAtom selection,const GtkTargetEntry *targets,guint ntargets
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_convert</NAME>
+<RETURNS>gint </RETURNS>
+GtkWidget *widget,GdkAtom selection,GdkAtom target,guint32 time
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_data_set</NAME>
+<RETURNS>void </RETURNS>
+GtkSelectionData *selection_data,GdkAtom type,gint format,guchar *data,gint length
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_remove_all</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_clear</NAME>
+<RETURNS>gint </RETURNS>
+GtkWidget *widget,GdkEventSelection *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_request</NAME>
+<RETURNS>gint </RETURNS>
+GtkWidget *widget,GdkEventSelection *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_incr_event</NAME>
+<RETURNS>gint </RETURNS>
+GdkWindow *window,GdkEventProperty *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_notify</NAME>
+<RETURNS>gint </RETURNS>
+GtkWidget *widget,GdkEventSelection *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_property_notify</NAME>
+<RETURNS>gint </RETURNS>
+GtkWidget *widget,GdkEventProperty *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_data_copy</NAME>
+<RETURNS>GtkSelectioData *</RETURNS>
+GtkSelectionData *data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_selection_data_free</NAME>
+<RETURNS>void </RETURNS>
+GtkSelectionData *data
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_SEPARATOR</NAME>
+#define GTK_TYPE_SEPARATOR (gtk_separator_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_SEPARATOR</NAME>
+#define GTK_SEPARATOR(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_SEPARATOR, GtkSeparator))
+</MACRO>
+<MACRO>
+<NAME>GTK_SEPARATOR_CLASS</NAME>
+#define GTK_SEPARATOR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_SEPARATOR, GtkSeparatorClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_SEPARATOR</NAME>
+#define GTK_IS_SEPARATOR(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_SEPARATOR))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_SEPARATOR_CLASS</NAME>
+#define GTK_IS_SEPARATOR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SEPARATOR))
+</MACRO>
+<STRUCT>
+<NAME>GtkSeparator</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkSeparatorClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkSeparator</NAME>
+struct GtkSeparator
+{
+ GtkWidget widget;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_separator_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_SIGNAL_OFFSET</NAME>
+#define GTK_SIGNAL_OFFSET(struct, field) (GTK_STRUCT_OFFSET (struct, field))
+</MACRO>
+<USER_FUNCTION>
+<NAME>GtkSignalMarshal</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,
+ gpointer data,
+ guint nparams,
+ GtkArg *args,
+ GtkType *arg_types,
+ GtkType return_type
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkSignalDestroy</NAME>
+<RETURNS>void </RETURNS>
+gpointer data
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkEmissionHook</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkObject *object,
+ guint signal_id,
+ guint n_params,
+ GtkArg *params,
+ gpointer data
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GtkSignalQuery</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkSignalQuery</NAME>
+struct GtkSignalQuery
+{
+ GtkType object_type;
+ guint signal_id;
+ const gchar *signal_name;
+ guint is_user_signal : 1;
+ GtkSignalRunType signal_flags;
+ GtkType return_val;
+ guint nparams;
+ const GtkType *params;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_signal_lookup</NAME>
+<RETURNS>guint </RETURNS>
+const gchar *name,GtkType object_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_name</NAME>
+<RETURNS>gchar *</RETURNS>
+guint signal_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_n_emissions</NAME>
+<RETURNS>guint </RETURNS>
+GtkObject *object,guint signal_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_n_emissions_by_name</NAME>
+<RETURNS>guint </RETURNS>
+GtkObject *object,const gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_emit_stop</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,guint signal_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_emit_stop_by_name</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,const gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_connect</NAME>
+<RETURNS>guint </RETURNS>
+GtkObject *object,const gchar *name,GtkSignalFunc func,gpointer func_data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_connect_after</NAME>
+<RETURNS>guint </RETURNS>
+GtkObject *object,const gchar *name,GtkSignalFunc func,gpointer func_data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_connect_object</NAME>
+<RETURNS>guint </RETURNS>
+GtkObject *object,const gchar *name,GtkSignalFunc func,GtkObject *slot_object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_connect_object_after</NAME>
+<RETURNS>guint </RETURNS>
+GtkObject *object,const gchar *name,GtkSignalFunc func,GtkObject *slot_object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_connect_full</NAME>
+<RETURNS>guint </RETURNS>
+GtkObject *object,const gchar *name,GtkSignalFunc func,GtkCallbackMarshal marshal,gpointer data,GtkDestroyNotify destroy_func,gint object_signal,gint after
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_connect_object_while_alive</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,const gchar *signal,GtkSignalFunc func,GtkObject *alive_object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_connect_while_alive</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,const gchar *signal,GtkSignalFunc func,gpointer func_data,GtkObject *alive_object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_disconnect</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,guint handler_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_disconnect_by_func</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GtkSignalFunc func,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_disconnect_by_data</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_handler_block</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,guint handler_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_handler_block_by_func</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GtkSignalFunc func,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_handler_block_by_data</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_handler_unblock</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,guint handler_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_handler_unblock_by_func</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,GtkSignalFunc func,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_handler_unblock_by_data</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_handler_pending</NAME>
+<RETURNS>guint </RETURNS>
+GtkObject *object,guint signal_id,gboolean may_be_blocked
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_handler_pending_by_func</NAME>
+<RETURNS>guint </RETURNS>
+GtkObject *object,guint signal_id,gboolean may_be_blocked,GtkSignalFunc func,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_handler_pending_by_id</NAME>
+<RETURNS>gint </RETURNS>
+GtkObject *object,guint handler_id,gboolean may_be_blocked
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_add_emission_hook</NAME>
+<RETURNS>guint </RETURNS>
+guint signal_id,GtkEmissionHook hook_func,gpointer data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_add_emission_hook_full</NAME>
+<RETURNS>guint </RETURNS>
+guint signal_id,GtkEmissionHook hook_func,gpointer data,GDestroyNotify destroy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_remove_emission_hook</NAME>
+<RETURNS>void </RETURNS>
+guint signal_id,guint hook_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_query</NAME>
+<RETURNS>GtkSignalQuery *</RETURNS>
+guint signal_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_init</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_new</NAME>
+<RETURNS>guint </RETURNS>
+const gchar *name,GtkSignalRunType signal_flags,GtkType object_type,guint function_offset,GtkSignalMarshaller marshaller,GtkType return_val,guint nparams,...
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_newv</NAME>
+<RETURNS>guint </RETURNS>
+const gchar *name,GtkSignalRunType signal_flags,GtkType object_type,guint function_offset,GtkSignalMarshaller marshaller,GtkType return_val,guint nparams,GtkType *params
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_emit</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,guint signal_id,...
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_emit_by_name</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,const gchar *name,...
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_emitv</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,guint signal_id,GtkArg *params
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_emitv_by_name</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,const gchar *name,GtkArg *params
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_handlers_destroy</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_signal_set_funcs</NAME>
+<RETURNS>void </RETURNS>
+GtkSignalMarshal marshal_func,GtkSignalDestroy destroy_func
+</FUNCTION>
+<MACRO>
+<NAME>GTK_SOCKET</NAME>
+#define GTK_SOCKET(obj) GTK_CHECK_CAST (obj, gtk_socket_get_type (), GtkSocket)
+</MACRO>
+<MACRO>
+<NAME>GTK_SOCKET_CLASS</NAME>
+#define GTK_SOCKET_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_socket_get_type (), GtkSocketClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_SOCKET</NAME>
+#define GTK_IS_SOCKET(obj) GTK_CHECK_TYPE (obj, gtk_socket_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkSocket</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkSocketClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkSocket</NAME>
+struct GtkSocket
+{
+ GtkContainer container;
+
+ guint16 request_width;
+ guint16 request_height;
+ guint16 current_width;
+ guint16 current_height;
+
+ GdkWindow *plug_window;
+ guint same_app : 1;
+ guint focus_in : 1;
+ guint have_size : 1;
+ guint need_map : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_socket_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_socket_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_socket_steal</NAME>
+<RETURNS>void </RETURNS>
+GtkSocket *socket,guint32 wid
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_SPIN_BUTTON</NAME>
+#define GTK_TYPE_SPIN_BUTTON (gtk_spin_button_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_SPIN_BUTTON</NAME>
+#define GTK_SPIN_BUTTON(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButton))
+</MACRO>
+<MACRO>
+<NAME>GTK_SPIN_BUTTON_CLASS</NAME>
+#define GTK_SPIN_BUTTON_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_SPIN_BUTTON, GtkSpinButtonClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_SPIN_BUTTON</NAME>
+#define GTK_IS_SPIN_BUTTON(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_SPIN_BUTTON))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_SPIN_BUTTON_CLASS</NAME>
+#define GTK_IS_SPIN_BUTTON_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SPIN_BUTTON))
+</MACRO>
+<ENUM>
+<NAME>GtkSpinButtonUpdatePolicy</NAME>
+typedef enum
+{
+ GTK_UPDATE_ALWAYS,
+ GTK_UPDATE_IF_VALID
+} GtkSpinButtonUpdatePolicy;
+</ENUM>
+<ENUM>
+<NAME>GtkSpinType</NAME>
+typedef enum
+{
+ GTK_SPIN_STEP_FORWARD,
+ GTK_SPIN_STEP_BACKWARD,
+ GTK_SPIN_PAGE_FORWARD,
+ GTK_SPIN_PAGE_BACKWARD,
+ GTK_SPIN_HOME,
+ GTK_SPIN_END,
+ GTK_SPIN_USER_DEFINED
+} GtkSpinType;
+</ENUM>
+<STRUCT>
+<NAME>GtkSpinButton</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkSpinButtonClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkSpinButton</NAME>
+struct GtkSpinButton
+{
+ GtkEntry entry;
+
+ GtkAdjustment *adjustment;
+
+ GdkWindow *panel;
+ GtkShadowType shadow_type;
+
+ guint32 timer;
+ guint32 ev_time;
+
+ gfloat climb_rate;
+ gfloat timer_step;
+
+ GtkSpinButtonUpdatePolicy update_policy;
+
+ guint in_child : 2;
+ guint click_child : 2;
+ guint button : 2;
+ guint need_timer : 1;
+ guint timer_calls : 3;
+ guint digits : 3;
+ guint numeric : 1;
+ guint wrap : 1;
+ guint snap_to_ticks : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_spin_button_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_configure</NAME>
+<RETURNS>void </RETURNS>
+GtkSpinButton *spin_button,GtkAdjustment *adjustment,gfloat climb_rate,guint digits
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkAdjustment *adjustment,gfloat climb_rate,guint digits
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_set_adjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkSpinButton *spin_button,GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_get_adjustment</NAME>
+<RETURNS>GtkAdjustment *</RETURNS>
+GtkSpinButton *spin_button
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_set_digits</NAME>
+<RETURNS>void </RETURNS>
+GtkSpinButton *spin_button,guint digits
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_get_value_as_float</NAME>
+<RETURNS>gfloat </RETURNS>
+GtkSpinButton *spin_button
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_get_value_as_int</NAME>
+<RETURNS>gint </RETURNS>
+GtkSpinButton *spin_button
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_set_value</NAME>
+<RETURNS>void </RETURNS>
+GtkSpinButton *spin_button,gfloat value
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_set_update_policy</NAME>
+<RETURNS>void </RETURNS>
+GtkSpinButton *spin_button,GtkSpinButtonUpdatePolicy policy
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_set_numeric</NAME>
+<RETURNS>void </RETURNS>
+GtkSpinButton *spin_button,gboolean numeric
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_spin</NAME>
+<RETURNS>void </RETURNS>
+GtkSpinButton *spin_button,GtkSpinType direction,gfloat increment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_set_wrap</NAME>
+<RETURNS>void </RETURNS>
+GtkSpinButton *spin_button,gboolean wrap
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_set_shadow_type</NAME>
+<RETURNS>void </RETURNS>
+GtkSpinButton *spin_button,GtkShadowType shadow_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_set_snap_to_ticks</NAME>
+<RETURNS>void </RETURNS>
+GtkSpinButton *spin_button,gboolean snap_to_ticks
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_spin_button_update</NAME>
+<RETURNS>void </RETURNS>
+GtkSpinButton *spin_button
+</FUNCTION>
+<MACRO>
+<NAME>GTK_STATUSBAR</NAME>
+#define GTK_STATUSBAR(obj) GTK_CHECK_CAST (obj, gtk_statusbar_get_type (), GtkStatusbar)
+</MACRO>
+<MACRO>
+<NAME>GTK_STATUSBAR_CLASS</NAME>
+#define GTK_STATUSBAR_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_statusbar_get_type (), GtkStatusbarClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_STATUSBAR</NAME>
+#define GTK_IS_STATUSBAR(obj) GTK_CHECK_TYPE (obj, gtk_statusbar_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkStatusbar</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkStatusbarClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkStatusbarMsg</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkStatusbar</NAME>
+struct GtkStatusbar
+{
+ GtkHBox parent_widget;
+
+ GtkWidget *frame;
+ GtkWidget *label;
+
+ GSList *messages;
+ GSList *keys;
+
+ guint seq_context_id;
+ guint seq_message_id;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkStatusbarMsg</NAME>
+struct GtkStatusbarMsg
+{
+ gchar *text;
+ guint context_id;
+ guint message_id;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_statusbar_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_statusbar_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_statusbar_get_context_id</NAME>
+<RETURNS>guint </RETURNS>
+GtkStatusbar *statusbar,const gchar *context_description
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_statusbar_push</NAME>
+<RETURNS>guint </RETURNS>
+GtkStatusbar *statusbar,guint context_id,const gchar *text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_statusbar_pop</NAME>
+<RETURNS>void </RETURNS>
+GtkStatusbar *statusbar,guint context_id
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_statusbar_remove</NAME>
+<RETURNS>void </RETURNS>
+GtkStatusbar *statusbar,guint context_id,guint message_id
+</FUNCTION>
+<STRUCT>
+<NAME>GtkStyle</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkStyleClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkThemeEngine</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkRcStyle</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkWidget</NAME>
+</STRUCT>
+<MACRO>
+<NAME>GTK_STYLE_NUM_STYLECOLORS</NAME>
+#define GTK_STYLE_NUM_STYLECOLORS() (7 * 5)
+</MACRO>
+<MACRO>
+<NAME>GTK_STYLE_ATTACHED</NAME>
+#define GTK_STYLE_ATTACHED(style) (((GtkStyle*) (style))->attach_count > 0)
+</MACRO>
+<STRUCT>
+<NAME>GtkStyle</NAME>
+struct GtkStyle
+{
+ GtkStyleClass *klass;
+
+ GdkColor fg[5];
+ GdkColor bg[5];
+ GdkColor light[5];
+ GdkColor dark[5];
+ GdkColor mid[5];
+ GdkColor text[5];
+ GdkColor base[5];
+
+ GdkColor black;
+ GdkColor white;
+ GdkFont *font;
+
+ GdkGC *fg_gc[5];
+ GdkGC *bg_gc[5];
+ GdkGC *light_gc[5];
+ GdkGC *dark_gc[5];
+ GdkGC *mid_gc[5];
+ GdkGC *text_gc[5];
+ GdkGC *base_gc[5];
+ GdkGC *black_gc;
+ GdkGC *white_gc;
+
+ GdkPixmap *bg_pixmap[5];
+
+ /* private */
+
+ gint ref_count;
+ gint attach_count;
+
+ gint depth;
+ GdkColormap *colormap;
+
+ GtkThemeEngine *engine;
+
+ gpointer engine_data;
+
+ GtkRcStyle *rc_style; /* the Rc style from which this style
+ * was created
+ */
+ GSList *styles;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkStyleClass</NAME>
+struct GtkStyleClass
+{
+ gint xthickness;
+ gint ythickness;
+
+ void (*draw_hline) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x1,
+ gint x2,
+ gint y);
+ void (*draw_vline) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint y1,
+ gint y2,
+ gint x);
+ void (*draw_shadow) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_polygon) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ GdkPoint *point,
+ gint npoints,
+ gboolean fill);
+ void (*draw_arrow) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ GtkArrowType arrow_type,
+ gboolean fill,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_diamond) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_oval) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_string) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ const gchar *string);
+ void (*draw_box) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_flat_box) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_check) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_option) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_cross) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_ramp) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ GtkArrowType arrow_type,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_tab) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_shadow_gap) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkPositionType gap_side,
+ gint gap_x,
+ gint gap_width);
+ void (*draw_box_gap) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkPositionType gap_side,
+ gint gap_x,
+ gint gap_width);
+ void (*draw_extension) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkPositionType gap_side);
+ void (*draw_focus) (GtkStyle *style,
+ GdkWindow *window,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height);
+ void (*draw_slider) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkOrientation orientation);
+ void (*draw_handle) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type,
+ GtkShadowType shadow_type,
+ GdkRectangle *area,
+ GtkWidget *widget,
+ gchar *detail,
+ gint x,
+ gint y,
+ gint width,
+ gint height,
+ GtkOrientation orientation);
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_style_new</NAME>
+<RETURNS>GtkStyle *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_style_copy</NAME>
+<RETURNS>GtkStyle *</RETURNS>
+GtkStyle *style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_style_attach</NAME>
+<RETURNS>GtkStyle *</RETURNS>
+GtkStyle *style,GdkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_style_detach</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_style_ref</NAME>
+<RETURNS>GtkStyle *</RETURNS>
+GtkStyle *style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_style_unref</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_style_set_background</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_style_apply_default_background</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,gboolean set_bg,GtkStateType state_type,GdkRectangle *area,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_hline</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,gint x1,gint x2,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_vline</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,gint y1,gint y2,gint x
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_shadow</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_polygon</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkPoint *points,gint npoints,gboolean fill
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_arrow</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GtkArrowType arrow_type,gboolean fill,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_diamond</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_oval</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_string</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,gint x,gint y,const gchar *string
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_box</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_flat_box</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_check</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_option</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_cross</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_ramp</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GtkArrowType arrow_type,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_tab</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_shadow_gap</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height,GtkPositionType gap_side,gint gap_x,gint gap_width
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_box_gap</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height,GtkPositionType gap_side,gint gap_x,gint gap_width
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_extension</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height,GtkPositionType gap_side
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_focus</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_slider</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height,GtkOrientation orientation
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_draw_handle</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,gint x,gint y,gint width,gint height,GtkOrientation orientation
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_hline</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x1,gint x2,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_vline</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint y1,gint y2,gint x
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_shadow</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_polygon</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,GdkPoint *points,gint npoints,gboolean fill
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_arrow</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,GtkArrowType arrow_type,gboolean fill,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_diamond</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_oval</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_string</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,const gchar *string
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_box</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_flat_box</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_check</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_option</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_cross</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_ramp</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,GtkArrowType arrow_type,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_tab</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_shadow_gap</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height,GtkPositionType gap_side,gint gap_x,gint gap_width
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_box_gap</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height,GtkPositionType gap_side,gint gap_x,gint gap_width
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_extension</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height,GtkPositionType gap_side
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_focus</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_slider</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height,GtkOrientation orientation
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_paint_handle</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style,GdkWindow *window,GtkStateType state_type,GtkShadowType shadow_type,GdkRectangle *area,GtkWidget *widget,gchar *detail,gint x,gint y,gint width,gint height,GtkOrientation orientation
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_TABLE</NAME>
+#define GTK_TYPE_TABLE (gtk_table_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_TABLE</NAME>
+#define GTK_TABLE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_TABLE, GtkTable))
+</MACRO>
+<MACRO>
+<NAME>GTK_TABLE_CLASS</NAME>
+#define GTK_TABLE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TABLE, GtkTableClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TABLE</NAME>
+#define GTK_IS_TABLE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_TABLE))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TABLE_CLASS</NAME>
+#define GTK_IS_TABLE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TABLE))
+</MACRO>
+<STRUCT>
+<NAME>GtkTable</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTableClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTableChild</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTableRowCol</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTable</NAME>
+struct GtkTable
+{
+ GtkContainer container;
+
+ GList *children;
+ GtkTableRowCol *rows;
+ GtkTableRowCol *cols;
+ guint16 nrows;
+ guint16 ncols;
+ guint16 column_spacing;
+ guint16 row_spacing;
+ guint homogeneous : 1;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkTableChild</NAME>
+struct GtkTableChild
+{
+ GtkWidget *widget;
+ guint16 left_attach;
+ guint16 right_attach;
+ guint16 top_attach;
+ guint16 bottom_attach;
+ guint16 xpadding;
+ guint16 ypadding;
+ guint xexpand : 1;
+ guint yexpand : 1;
+ guint xshrink : 1;
+ guint yshrink : 1;
+ guint xfill : 1;
+ guint yfill : 1;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkTableRowCol</NAME>
+struct GtkTableRowCol
+{
+ guint16 requisition;
+ guint16 allocation;
+ guint16 spacing;
+ guint need_expand : 1;
+ guint need_shrink : 1;
+ guint expand : 1;
+ guint shrink : 1;
+ guint empty : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_table_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_table_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+guint rows,guint columns,gboolean homogeneous
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_table_resize</NAME>
+<RETURNS>void </RETURNS>
+GtkTable *table,guint rows,guint columns
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_table_attach</NAME>
+<RETURNS>void </RETURNS>
+GtkTable *table,GtkWidget *child,guint left_attach,guint right_attach,guint top_attach,guint bottom_attach,GtkAttachOptions xoptions,GtkAttachOptions yoptions,guint xpadding,guint ypadding
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_table_attach_defaults</NAME>
+<RETURNS>void </RETURNS>
+GtkTable *table,GtkWidget *widget,guint left_attach,guint right_attach,guint top_attach,guint bottom_attach
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_table_set_row_spacing</NAME>
+<RETURNS>void </RETURNS>
+GtkTable *table,guint row,guint spacing
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_table_set_col_spacing</NAME>
+<RETURNS>void </RETURNS>
+GtkTable *table,guint column,guint spacing
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_table_set_row_spacings</NAME>
+<RETURNS>void </RETURNS>
+GtkTable *table,guint spacing
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_table_set_col_spacings</NAME>
+<RETURNS>void </RETURNS>
+GtkTable *table,guint spacing
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_table_set_homogeneous</NAME>
+<RETURNS>void </RETURNS>
+GtkTable *table,gboolean homogeneous
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_TEAROFF_MENU_ITEM</NAME>
+#define GTK_TYPE_TEAROFF_MENU_ITEM (gtk_tearoff_menu_item_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_TEAROFF_MENU_ITEM</NAME>
+#define GTK_TEAROFF_MENU_ITEM(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_TEAROFF_MENU_ITEM, GtkTearoffMenuItem))
+</MACRO>
+<MACRO>
+<NAME>GTK_TEAROFF_MENU_ITEM_CLASS</NAME>
+#define GTK_TEAROFF_MENU_ITEM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEAROFF_MENU_ITEM, GtkTearoffMenuItemClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TEAROFF_MENU_ITEM</NAME>
+#define GTK_IS_TEAROFF_MENU_ITEM(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_TEAROFF_MENU_ITEM))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TEAROFF_MENU_ITEM_CLASS</NAME>
+#define GTK_IS_TEAROFF_MENU_ITEM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEAROFF_MENU_ITEM))
+</MACRO>
+<STRUCT>
+<NAME>GtkTearoffMenuItem</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTearoffMenuItemClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTearoffMenuItem</NAME>
+struct GtkTearoffMenuItem
+{
+ GtkMenuItem menu_item;
+
+ guint torn_off : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_tearoff_menu_item_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tearoff_menu_item_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_TEXT</NAME>
+#define GTK_TYPE_TEXT (gtk_text_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_TEXT</NAME>
+#define GTK_TEXT(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_TEXT, GtkText))
+</MACRO>
+<MACRO>
+<NAME>GTK_TEXT_CLASS</NAME>
+#define GTK_TEXT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT, GtkTextClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TEXT</NAME>
+#define GTK_IS_TEXT(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_TEXT))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TEXT_CLASS</NAME>
+#define GTK_IS_TEXT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT))
+</MACRO>
+<STRUCT>
+<NAME>GtkTextFont</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPropertyMark</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkText</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTextClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkPropertyMark</NAME>
+struct GtkPropertyMark
+{
+ /* Position in list. */
+ GList* property;
+
+ /* Offset into that property. */
+ guint offset;
+
+ /* Current index. */
+ guint index;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkText</NAME>
+struct GtkText
+{
+ GtkEditable editable;
+
+ GdkWindow *text_area;
+
+ GtkAdjustment *hadj;
+ GtkAdjustment *vadj;
+
+ GdkGC *gc;
+
+ GdkPixmap* line_wrap_bitmap;
+ GdkPixmap* line_arrow_bitmap;
+
+ /* GAPPED TEXT SEGMENT */
+
+ /* The text, a single segment of text a'la emacs, with a gap
+ * where insertion occurs. */
+ union { GdkWChar *wc; guchar *ch; } text;
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_text_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkAdjustment *hadj,GtkAdjustment *vadj
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_set_editable</NAME>
+<RETURNS>void </RETURNS>
+GtkText *text,gboolean editable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_set_word_wrap</NAME>
+<RETURNS>void </RETURNS>
+GtkText *text,gint word_wrap
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_set_line_wrap</NAME>
+<RETURNS>void </RETURNS>
+GtkText *text,gint line_wrap
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_set_adjustments</NAME>
+<RETURNS>void </RETURNS>
+GtkText *text,GtkAdjustment *hadj,GtkAdjustment *vadj
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_set_point</NAME>
+<RETURNS>void </RETURNS>
+GtkText *text,guint index
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_get_point</NAME>
+<RETURNS>guint </RETURNS>
+GtkText *text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_get_length</NAME>
+<RETURNS>guint </RETURNS>
+GtkText *text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_freeze</NAME>
+<RETURNS>void </RETURNS>
+GtkText *text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_thaw</NAME>
+<RETURNS>void </RETURNS>
+GtkText *text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_insert</NAME>
+<RETURNS>void </RETURNS>
+GtkText *text,GdkFont *font,GdkColor *fore,GdkColor *back,const char *chars,gint length
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_backward_delete</NAME>
+<RETURNS>gint </RETURNS>
+GtkText *text,guint nchars
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_text_forward_delete</NAME>
+<RETURNS>gint </RETURNS>
+GtkText *text,guint nchars
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TEXT_INDEX</NAME>
+#define GTK_TEXT_INDEX(t, index) (((t)->use_wchar) \
+ ? ((index) < (t)->gap_position ? (t)->text.wc[index] : \
+ (t)->text.wc[(index)+(t)->gap_size]) \
+ : ((index) < (t)->gap_position ? (t)->text.ch[index] : \
+ (t)->text.ch[(index)+(t)->gap_size]))
+</MACRO>
+<STRUCT>
+<NAME>GtkThemeEngine</NAME>
+struct GtkThemeEngine {
+ /* Fill in engine_data pointer in a GtkRcStyle by parsing contents
+ * of brackets. Returns G_TOKEN_NONE if succesfull, otherwise returns
+ * the token it expected but didn't get.
+ */
+ guint (*parse_rc_style) (GScanner *scanner, GtkRcStyle *rc_style);
+
+ /* Combine RC style data from src into dest. If
+ * dest->engine_data is NULL, it should be initialized to default
+ * values.
+ */
+ void (*merge_rc_style) (GtkRcStyle *dest, GtkRcStyle *src);
+
+ /* Fill in style->engine_data from rc_style->engine_data */
+ void (*rc_style_to_style) (GtkStyle *style, GtkRcStyle *rc_style);
+
+ /* Duplicate engine_data from src to dest. The engine_data will
+ * not subsequently be modified except by a call to realize_style()
+ * so if realize_style() does nothing, refcounting is appropriate.
+ */
+ void (*duplicate_style) (GtkStyle *dest, GtkStyle *src);
+
+ /* If style needs to initialize for a particular colormap/depth
+ * combination, do it here. style->colormap/style->depth will have
+ * been set at this point, and style itself initialized for
+ * the colormap
+ */
+ void (*realize_style) (GtkStyle *new_style);
+
+ /* If style needs to clean up for a particular colormap/depth
+ * combination, do it here.
+ */
+ void (*unrealize_style) (GtkStyle *new_style);
+
+ /* Clean up rc_style->engine_data before rc_style is destroyed */
+ void (*destroy_rc_style) (GtkRcStyle *rc_style);
+
+ /* Clean up style->engine_data before style is destroyed */
+ void (*destroy_style) (GtkStyle *style);
+
+ void (*set_background) (GtkStyle *style,
+ GdkWindow *window,
+ GtkStateType state_type);
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_theme_engine_get</NAME>
+<RETURNS>GtkThemeEngine *</RETURNS>
+gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_theme_engine_ref</NAME>
+<RETURNS>void </RETURNS>
+GtkThemeEngine *engine
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_theme_engine_unref</NAME>
+<RETURNS>void </RETURNS>
+GtkThemeEngine *engine
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_themes_init</NAME>
+<RETURNS>void </RETURNS>
+int *argc,char ***argv
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_themes_exit</NAME>
+<RETURNS>void </RETURNS>
+gint error_code
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_TIPS_QUERY</NAME>
+#define GTK_TYPE_TIPS_QUERY (gtk_tips_query_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_TIPS_QUERY</NAME>
+#define GTK_TIPS_QUERY(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_TIPS_QUERY, GtkTipsQuery))
+</MACRO>
+<MACRO>
+<NAME>GTK_TIPS_QUERY_CLASS</NAME>
+#define GTK_TIPS_QUERY_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TIPS_QUERY, GtkTipsQueryClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TIPS_QUERY</NAME>
+#define GTK_IS_TIPS_QUERY(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_TIPS_QUERY))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TIPS_QUERY_CLASS</NAME>
+#define GTK_IS_TIPS_QUERY_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TIPS_QUERY))
+</MACRO>
+<STRUCT>
+<NAME>GtkTipsQuery</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTipsQueryClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTipsQuery</NAME>
+struct GtkTipsQuery
+{
+ GtkLabel label;
+
+ guint emit_always : 1;
+ guint in_query : 1;
+ gchar *label_inactive;
+ gchar *label_no_tip;
+
+ GtkWidget *caller;
+ GtkWidget *last_crossed;
+
+ GdkCursor *query_cursor;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_tips_query_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tips_query_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tips_query_start_query</NAME>
+<RETURNS>void </RETURNS>
+GtkTipsQuery *tips_query
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tips_query_stop_query</NAME>
+<RETURNS>void </RETURNS>
+GtkTipsQuery *tips_query
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tips_query_set_caller</NAME>
+<RETURNS>void </RETURNS>
+GtkTipsQuery *tips_query,GtkWidget *caller
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tips_query_set_labels</NAME>
+<RETURNS>void </RETURNS>
+GtkTipsQuery *tips_query,const gchar *label_inactive,const gchar *label_no_tip
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_TOGGLE_BUTTON</NAME>
+#define GTK_TYPE_TOGGLE_BUTTON (gtk_toggle_button_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_TOGGLE_BUTTON</NAME>
+#define GTK_TOGGLE_BUTTON(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButton))
+</MACRO>
+<MACRO>
+<NAME>GTK_TOGGLE_BUTTON_CLASS</NAME>
+#define GTK_TOGGLE_BUTTON_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TOGGLE_BUTTON, GtkToggleButtonClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TOGGLE_BUTTON</NAME>
+#define GTK_IS_TOGGLE_BUTTON(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_TOGGLE_BUTTON))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TOGGLE_BUTTON_CLASS</NAME>
+#define GTK_IS_TOGGLE_BUTTON_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TOGGLE_BUTTON))
+</MACRO>
+<STRUCT>
+<NAME>GtkToggleButton</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkToggleButtonClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkToggleButton</NAME>
+struct GtkToggleButton
+{
+ GtkButton button;
+
+ guint active : 1;
+ guint draw_indicator : 1;
+
+ GdkWindow *event_window;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_toggle_button_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toggle_button_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toggle_button_new_with_label</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+const gchar *label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toggle_button_set_mode</NAME>
+<RETURNS>void </RETURNS>
+GtkToggleButton *toggle_button,gboolean draw_indicator
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toggle_button_set_active</NAME>
+<RETURNS>void </RETURNS>
+GtkToggleButton *toggle_button,gboolean is_active
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toggle_button_get_active</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkToggleButton *toggle_button
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toggle_button_toggled</NAME>
+<RETURNS>void </RETURNS>
+GtkToggleButton *toggle_button
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TOOLBAR</NAME>
+#define GTK_TOOLBAR(obj) GTK_CHECK_CAST (obj, gtk_toolbar_get_type (), GtkToolbar)
+</MACRO>
+<MACRO>
+<NAME>GTK_TOOLBAR_CLASS</NAME>
+#define GTK_TOOLBAR_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_toolbar_get_type (), GtkToolbarClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TOOLBAR</NAME>
+#define GTK_IS_TOOLBAR(obj) GTK_CHECK_TYPE (obj, gtk_toolbar_get_type ())
+</MACRO>
+<ENUM>
+<NAME>GtkToolbarChildType</NAME>
+typedef enum
+{
+ GTK_TOOLBAR_CHILD_SPACE,
+ GTK_TOOLBAR_CHILD_BUTTON,
+ GTK_TOOLBAR_CHILD_TOGGLEBUTTON,
+ GTK_TOOLBAR_CHILD_RADIOBUTTON,
+ GTK_TOOLBAR_CHILD_WIDGET
+} GtkToolbarChildType;
+</ENUM>
+<ENUM>
+<NAME>GtkToolbarSpaceStyle</NAME>
+typedef enum
+{
+ GTK_TOOLBAR_SPACE_EMPTY,
+ GTK_TOOLBAR_SPACE_LINE
+} GtkToolbarSpaceStyle;
+</ENUM>
+<STRUCT>
+<NAME>GtkToolbarChild</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkToolbar</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkToolbarClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkToolbarChild</NAME>
+struct GtkToolbarChild
+{
+ GtkToolbarChildType type;
+ GtkWidget *widget;
+ GtkWidget *icon;
+ GtkWidget *label;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkToolbar</NAME>
+struct GtkToolbar
+{
+ GtkContainer container;
+
+ gint num_children;
+ GList *children;
+ GtkOrientation orientation;
+ GtkToolbarStyle style;
+ gint space_size; /* big optional space between buttons */
+ GtkToolbarSpaceStyle space_style;
+
+ GtkTooltips *tooltips;
+
+ gint button_maxw;
+ gint button_maxh;
+ GtkReliefStyle relief;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_toolbar_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkOrientation orientation,GtkToolbarStyle style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_append_item</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkToolbar *toolbar,const char *text,const char *tooltip_text,const char *tooltip_private_text,GtkWidget *icon,GtkSignalFunc callback,gpointer user_data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_prepend_item</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkToolbar *toolbar,const char *text,const char *tooltip_text,const char *tooltip_private_text,GtkWidget *icon,GtkSignalFunc callback,gpointer user_data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_insert_item</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkToolbar *toolbar,const char *text,const char *tooltip_text,const char *tooltip_private_text,GtkWidget *icon,GtkSignalFunc callback,gpointer user_data,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_append_space</NAME>
+<RETURNS>void </RETURNS>
+GtkToolbar *toolbar
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_prepend_space</NAME>
+<RETURNS>void </RETURNS>
+GtkToolbar *toolbar
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_insert_space</NAME>
+<RETURNS>void </RETURNS>
+GtkToolbar *toolbar,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_append_element</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkToolbar *toolbar,GtkToolbarChildType type,GtkWidget *widget,const char *text,const char *tooltip_text,const char *tooltip_private_text,GtkWidget *icon,GtkSignalFunc callback,gpointer user_data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_prepend_element</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkToolbar *toolbar,GtkToolbarChildType type,GtkWidget *widget,const char *text,const char *tooltip_text,const char *tooltip_private_text,GtkWidget *icon,GtkSignalFunc callback,gpointer user_data
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_insert_element</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkToolbar *toolbar,GtkToolbarChildType type,GtkWidget *widget,const char *text,const char *tooltip_text,const char *tooltip_private_text,GtkWidget *icon,GtkSignalFunc callback,gpointer user_data,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_append_widget</NAME>
+<RETURNS>void </RETURNS>
+GtkToolbar *toolbar,GtkWidget *widget,const char *tooltip_text,const char *tooltip_private_text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_prepend_widget</NAME>
+<RETURNS>void </RETURNS>
+GtkToolbar *toolbar,GtkWidget *widget,const char *tooltip_text,const char *tooltip_private_text
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_insert_widget</NAME>
+<RETURNS>void </RETURNS>
+GtkToolbar *toolbar,GtkWidget *widget,const char *tooltip_text,const char *tooltip_private_text,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_set_orientation</NAME>
+<RETURNS>void </RETURNS>
+GtkToolbar *toolbar,GtkOrientation orientation
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_set_style</NAME>
+<RETURNS>void </RETURNS>
+GtkToolbar *toolbar,GtkToolbarStyle style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_set_space_size</NAME>
+<RETURNS>void </RETURNS>
+GtkToolbar *toolbar,gint space_size
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_set_space_style</NAME>
+<RETURNS>void </RETURNS>
+GtkToolbar *toolbar,GtkToolbarSpaceStyle space_style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_set_tooltips</NAME>
+<RETURNS>void </RETURNS>
+GtkToolbar *toolbar,gint enable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_set_button_relief</NAME>
+<RETURNS>void </RETURNS>
+GtkToolbar *toolbar,GtkReliefStyle relief
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_toolbar_get_button_relief</NAME>
+<RETURNS>GtkReliefStyle </RETURNS>
+GtkToolbar *toolbar
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_TOOLTIPS</NAME>
+#define GTK_TYPE_TOOLTIPS (gtk_tooltips_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_TOOLTIPS</NAME>
+#define GTK_TOOLTIPS(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_TOOLTIPS, GtkTooltips))
+</MACRO>
+<MACRO>
+<NAME>GTK_TOOLTIPS_CLASS</NAME>
+#define GTK_TOOLTIPS_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TOOLTIPS, GtkTooltipsClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TOOLTIPS</NAME>
+#define GTK_IS_TOOLTIPS(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_TOOLTIPS))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TOOLTIPS_CLASS</NAME>
+#define GTK_IS_TOOLTIPS_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TOOLTIPS))
+</MACRO>
+<STRUCT>
+<NAME>GtkTooltips</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTooltipsClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTooltipsData</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTooltipsData</NAME>
+struct GtkTooltipsData
+{
+ GtkTooltips *tooltips;
+ GtkWidget *widget;
+ gchar *tip_text;
+ gchar *tip_private;
+ GdkFont *font;
+ gint width;
+ GList *row;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkTooltips</NAME>
+struct GtkTooltips
+{
+ GtkData data;
+
+ GtkWidget *tip_window;
+ GtkTooltipsData *active_tips_data;
+ GList *tips_data_list;
+
+ GdkGC *gc;
+ GdkColor *foreground;
+ GdkColor *background;
+
+ guint delay : 30;
+ guint enabled : 1;
+ gint timer_tag;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_tooltips_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tooltips_new</NAME>
+<RETURNS>GtkTooltips *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tooltips_enable</NAME>
+<RETURNS>void </RETURNS>
+GtkTooltips *tooltips
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tooltips_disable</NAME>
+<RETURNS>void </RETURNS>
+GtkTooltips *tooltips
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tooltips_set_delay</NAME>
+<RETURNS>void </RETURNS>
+GtkTooltips *tooltips,guint delay
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tooltips_set_tip</NAME>
+<RETURNS>void </RETURNS>
+GtkTooltips *tooltips,GtkWidget *widget,const gchar *tip_text,const gchar *tip_private
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tooltips_set_colors</NAME>
+<RETURNS>void </RETURNS>
+GtkTooltips *tooltips,GdkColor *background,GdkColor *foreground
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tooltips_data_get</NAME>
+<RETURNS>GtkTooltipsData *</RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tooltips_force_window</NAME>
+<RETURNS>void </RETURNS>
+GtkTooltips *tooltips
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_TREE</NAME>
+#define GTK_TYPE_TREE (gtk_tree_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_TREE</NAME>
+#define GTK_TREE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_TREE, GtkTree))
+</MACRO>
+<MACRO>
+<NAME>GTK_TREE_CLASS</NAME>
+#define GTK_TREE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE, GtkTreeClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TREE</NAME>
+#define GTK_IS_TREE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_TREE))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TREE_CLASS</NAME>
+#define GTK_IS_TREE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_ROOT_TREE</NAME>
+#define GTK_IS_ROOT_TREE(obj) ((GtkObject*) GTK_TREE(obj)->root_tree == (GtkObject*)obj)
+</MACRO>
+<MACRO>
+<NAME>GTK_TREE_ROOT_TREE</NAME>
+#define GTK_TREE_ROOT_TREE(obj) (GTK_TREE(obj)->root_tree ? GTK_TREE(obj)->root_tree : GTK_TREE(obj))
+</MACRO>
+<MACRO>
+<NAME>GTK_TREE_SELECTION</NAME>
+#define GTK_TREE_SELECTION(obj) (GTK_TREE_ROOT_TREE(obj)->selection)
+</MACRO>
+<ENUM>
+<NAME>GtkTreeViewMode</NAME>
+typedef enum
+{
+ GTK_TREE_VIEW_LINE, /* default view mode */
+ GTK_TREE_VIEW_ITEM
+} GtkTreeViewMode;
+</ENUM>
+<STRUCT>
+<NAME>GtkTree</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTreeClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTree</NAME>
+struct GtkTree
+{
+ GtkContainer container;
+
+ GList *children;
+
+ GtkTree* root_tree; /* owner of selection list */
+ GtkWidget* tree_owner;
+ GList *selection;
+ guint level;
+ guint indent_value;
+ guint current_indent;
+ guint selection_mode : 2;
+ guint view_mode : 1;
+ guint view_line : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_tree_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_append</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,GtkWidget *tree_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_prepend</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,GtkWidget *tree_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_insert</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,GtkWidget *tree_item,gint position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_remove_items</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,GList *items
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_clear_items</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,gint start,gint end
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_select_item</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,gint item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_unselect_item</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,gint item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_select_child</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,GtkWidget *tree_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_unselect_child</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,GtkWidget *tree_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_child_position</NAME>
+<RETURNS>gint </RETURNS>
+GtkTree *tree,GtkWidget *child
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_set_selection_mode</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,GtkSelectionMode mode
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_set_view_mode</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,GtkTreeViewMode mode
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_set_view_lines</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,guint flag
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_remove_item</NAME>
+<RETURNS>void </RETURNS>
+GtkTree *tree,GtkWidget *child
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_TREE_ITEM</NAME>
+#define GTK_TYPE_TREE_ITEM (gtk_tree_item_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_TREE_ITEM</NAME>
+#define GTK_TREE_ITEM(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_TREE_ITEM, GtkTreeItem))
+</MACRO>
+<MACRO>
+<NAME>GTK_TREE_ITEM_CLASS</NAME>
+#define GTK_TREE_ITEM_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_ITEM, GtkTreeItemClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TREE_ITEM</NAME>
+#define GTK_IS_TREE_ITEM(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_TREE_ITEM))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_TREE_ITEM_CLASS</NAME>
+#define GTK_IS_TREE_ITEM_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_ITEM))
+</MACRO>
+<MACRO>
+<NAME>GTK_TREE_ITEM_SUBTREE</NAME>
+#define GTK_TREE_ITEM_SUBTREE(obj) (GTK_TREE_ITEM(obj)->subtree)
+</MACRO>
+<STRUCT>
+<NAME>GtkTreeItem</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTreeItemClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTreeItem</NAME>
+struct GtkTreeItem
+{
+ GtkItem item;
+
+ GtkWidget *subtree;
+ GtkWidget *pixmaps_box;
+ GtkWidget *plus_pix_widget, *minus_pix_widget;
+
+ GList *pixmaps; /* pixmap node for this items color depth */
+
+ guint expanded : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_tree_item_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_item_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_item_new_with_label</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+gchar *label
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_item_set_subtree</NAME>
+<RETURNS>void </RETURNS>
+GtkTreeItem *tree_item,GtkWidget *subtree
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_item_remove_subtree</NAME>
+<RETURNS>void </RETURNS>
+GtkTreeItem *tree_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_item_select</NAME>
+<RETURNS>void </RETURNS>
+GtkTreeItem *tree_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_item_deselect</NAME>
+<RETURNS>void </RETURNS>
+GtkTreeItem *tree_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_item_expand</NAME>
+<RETURNS>void </RETURNS>
+GtkTreeItem *tree_item
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_tree_item_collapse</NAME>
+<RETURNS>void </RETURNS>
+GtkTreeItem *tree_item
+</FUNCTION>
+<VARIABLE>
+<NAME>GTK_TYPE_ACCEL_FLAGS</NAME>
+extern GtkType GTK_TYPE_ACCEL_FLAGS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_CALENDAR_DISPLAY_OPTIONS</NAME>
+extern GtkType GTK_TYPE_CALENDAR_DISPLAY_OPTIONS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_CELL_TYPE</NAME>
+extern GtkType GTK_TYPE_CELL_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_CLIST_DRAG_POS</NAME>
+extern GtkType GTK_TYPE_CLIST_DRAG_POS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_BUTTON_ACTION</NAME>
+extern GtkType GTK_TYPE_BUTTON_ACTION;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_CTREE_POS</NAME>
+extern GtkType GTK_TYPE_CTREE_POS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_CTREE_LINE_STYLE</NAME>
+extern GtkType GTK_TYPE_CTREE_LINE_STYLE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_CTREE_EXPANDER_STYLE</NAME>
+extern GtkType GTK_TYPE_CTREE_EXPANDER_STYLE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_CTREE_EXPANSION_TYPE</NAME>
+extern GtkType GTK_TYPE_CTREE_EXPANSION_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_DEBUG_FLAG</NAME>
+extern GtkType GTK_TYPE_DEBUG_FLAG;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_DEST_DEFAULTS</NAME>
+extern GtkType GTK_TYPE_DEST_DEFAULTS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_TARGET_FLAGS</NAME>
+extern GtkType GTK_TYPE_TARGET_FLAGS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_ARROW_TYPE</NAME>
+extern GtkType GTK_TYPE_ARROW_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_ATTACH_OPTIONS</NAME>
+extern GtkType GTK_TYPE_ATTACH_OPTIONS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_BUTTON_BOX_STYLE</NAME>
+extern GtkType GTK_TYPE_BUTTON_BOX_STYLE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_CURVE_TYPE</NAME>
+extern GtkType GTK_TYPE_CURVE_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_DIRECTION_TYPE</NAME>
+extern GtkType GTK_TYPE_DIRECTION_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_JUSTIFICATION</NAME>
+extern GtkType GTK_TYPE_JUSTIFICATION;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_MATCH_TYPE</NAME>
+extern GtkType GTK_TYPE_MATCH_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_MENU_DIRECTION_TYPE</NAME>
+extern GtkType GTK_TYPE_MENU_DIRECTION_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_MENU_FACTORY_TYPE</NAME>
+extern GtkType GTK_TYPE_MENU_FACTORY_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_METRIC_TYPE</NAME>
+extern GtkType GTK_TYPE_METRIC_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_ORIENTATION</NAME>
+extern GtkType GTK_TYPE_ORIENTATION;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_CORNER_TYPE</NAME>
+extern GtkType GTK_TYPE_CORNER_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_PACK_TYPE</NAME>
+extern GtkType GTK_TYPE_PACK_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_PATH_PRIORITY_TYPE</NAME>
+extern GtkType GTK_TYPE_PATH_PRIORITY_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_PATH_TYPE</NAME>
+extern GtkType GTK_TYPE_PATH_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_POLICY_TYPE</NAME>
+extern GtkType GTK_TYPE_POLICY_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_POSITION_TYPE</NAME>
+extern GtkType GTK_TYPE_POSITION_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_PREVIEW_TYPE</NAME>
+extern GtkType GTK_TYPE_PREVIEW_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_RELIEF_STYLE</NAME>
+extern GtkType GTK_TYPE_RELIEF_STYLE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_RESIZE_MODE</NAME>
+extern GtkType GTK_TYPE_RESIZE_MODE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_SIGNAL_RUN_TYPE</NAME>
+extern GtkType GTK_TYPE_SIGNAL_RUN_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_SCROLL_TYPE</NAME>
+extern GtkType GTK_TYPE_SCROLL_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_SELECTION_MODE</NAME>
+extern GtkType GTK_TYPE_SELECTION_MODE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_SHADOW_TYPE</NAME>
+extern GtkType GTK_TYPE_SHADOW_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_STATE_TYPE</NAME>
+extern GtkType GTK_TYPE_STATE_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_SUBMENU_DIRECTION</NAME>
+extern GtkType GTK_TYPE_SUBMENU_DIRECTION;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_SUBMENU_PLACEMENT</NAME>
+extern GtkType GTK_TYPE_SUBMENU_PLACEMENT;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_TOOLBAR_STYLE</NAME>
+extern GtkType GTK_TYPE_TOOLBAR_STYLE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_TROUGH_TYPE</NAME>
+extern GtkType GTK_TYPE_TROUGH_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_UPDATE_TYPE</NAME>
+extern GtkType GTK_TYPE_UPDATE_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_VISIBILITY</NAME>
+extern GtkType GTK_TYPE_VISIBILITY;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_WINDOW_POSITION</NAME>
+extern GtkType GTK_TYPE_WINDOW_POSITION;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_WINDOW_TYPE</NAME>
+extern GtkType GTK_TYPE_WINDOW_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_SORT_TYPE</NAME>
+extern GtkType GTK_TYPE_SORT_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_FONT_METRIC_TYPE</NAME>
+extern GtkType GTK_TYPE_FONT_METRIC_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_FONT_TYPE</NAME>
+extern GtkType GTK_TYPE_FONT_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_FONT_FILTER_TYPE</NAME>
+extern GtkType GTK_TYPE_FONT_FILTER_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_OBJECT_FLAGS</NAME>
+extern GtkType GTK_TYPE_OBJECT_FLAGS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_ARG_FLAGS</NAME>
+extern GtkType GTK_TYPE_ARG_FLAGS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_PACKER_OPTIONS</NAME>
+extern GtkType GTK_TYPE_PACKER_OPTIONS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_SIDE_TYPE</NAME>
+extern GtkType GTK_TYPE_SIDE_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_ANCHOR_TYPE</NAME>
+extern GtkType GTK_TYPE_ANCHOR_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_PRIVATE_FLAGS</NAME>
+extern GtkType GTK_TYPE_PRIVATE_FLAGS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_PROGRESS_BAR_STYLE</NAME>
+extern GtkType GTK_TYPE_PROGRESS_BAR_STYLE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_PROGRESS_BAR_ORIENTATION</NAME>
+extern GtkType GTK_TYPE_PROGRESS_BAR_ORIENTATION;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_RC_FLAGS</NAME>
+extern GtkType GTK_TYPE_RC_FLAGS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_RC_TOKEN_TYPE</NAME>
+extern GtkType GTK_TYPE_RC_TOKEN_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY</NAME>
+extern GtkType GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_SPIN_TYPE</NAME>
+extern GtkType GTK_TYPE_SPIN_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_TOOLBAR_CHILD_TYPE</NAME>
+extern GtkType GTK_TYPE_TOOLBAR_CHILD_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_TOOLBAR_SPACE_STYLE</NAME>
+extern GtkType GTK_TYPE_TOOLBAR_SPACE_STYLE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_TREE_VIEW_MODE</NAME>
+extern GtkType GTK_TYPE_TREE_VIEW_MODE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_FUNDAMENTAL_TYPE</NAME>
+extern GtkType GTK_TYPE_FUNDAMENTAL_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_WIDGET_FLAGS</NAME>
+extern GtkType GTK_TYPE_WIDGET_FLAGS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_WINDOW_TYPE</NAME>
+extern GtkType GTK_TYPE_GDK_WINDOW_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_WINDOW_CLASS</NAME>
+extern GtkType GTK_TYPE_GDK_WINDOW_CLASS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_IMAGE_TYPE</NAME>
+extern GtkType GTK_TYPE_GDK_IMAGE_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_VISUAL_TYPE</NAME>
+extern GtkType GTK_TYPE_GDK_VISUAL_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_FONT_TYPE</NAME>
+extern GtkType GTK_TYPE_GDK_FONT_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_WINDOW_ATTRIBUTES_TYPE</NAME>
+extern GtkType GTK_TYPE_GDK_WINDOW_ATTRIBUTES_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_WINDOW_HINTS</NAME>
+extern GtkType GTK_TYPE_GDK_WINDOW_HINTS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_FUNCTION</NAME>
+extern GtkType GTK_TYPE_GDK_FUNCTION;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_FILL</NAME>
+extern GtkType GTK_TYPE_GDK_FILL;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_FILL_RULE</NAME>
+extern GtkType GTK_TYPE_GDK_FILL_RULE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_LINE_STYLE</NAME>
+extern GtkType GTK_TYPE_GDK_LINE_STYLE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_CAP_STYLE</NAME>
+extern GtkType GTK_TYPE_GDK_CAP_STYLE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_JOIN_STYLE</NAME>
+extern GtkType GTK_TYPE_GDK_JOIN_STYLE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_CURSOR_TYPE</NAME>
+extern GtkType GTK_TYPE_GDK_CURSOR_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_FILTER_RETURN</NAME>
+extern GtkType GTK_TYPE_GDK_FILTER_RETURN;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_VISIBILITY_STATE</NAME>
+extern GtkType GTK_TYPE_GDK_VISIBILITY_STATE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_EVENT_TYPE</NAME>
+extern GtkType GTK_TYPE_GDK_EVENT_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_EVENT_MASK</NAME>
+extern GtkType GTK_TYPE_GDK_EVENT_MASK;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_NOTIFY_TYPE</NAME>
+extern GtkType GTK_TYPE_GDK_NOTIFY_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_CROSSING_MODE</NAME>
+extern GtkType GTK_TYPE_GDK_CROSSING_MODE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_MODIFIER_TYPE</NAME>
+extern GtkType GTK_TYPE_GDK_MODIFIER_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_SUBWINDOW_MODE</NAME>
+extern GtkType GTK_TYPE_GDK_SUBWINDOW_MODE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_INPUT_CONDITION</NAME>
+extern GtkType GTK_TYPE_GDK_INPUT_CONDITION;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_STATUS</NAME>
+extern GtkType GTK_TYPE_GDK_STATUS;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_BYTE_ORDER</NAME>
+extern GtkType GTK_TYPE_GDK_BYTE_ORDER;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_GC_VALUES_MASK</NAME>
+extern GtkType GTK_TYPE_GDK_GC_VALUES_MASK;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_SELECTION</NAME>
+extern GtkType GTK_TYPE_GDK_SELECTION;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_PROPERTY_STATE</NAME>
+extern GtkType GTK_TYPE_GDK_PROPERTY_STATE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_PROP_MODE</NAME>
+extern GtkType GTK_TYPE_GDK_PROP_MODE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_INPUT_SOURCE</NAME>
+extern GtkType GTK_TYPE_GDK_INPUT_SOURCE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_INPUT_MODE</NAME>
+extern GtkType GTK_TYPE_GDK_INPUT_MODE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_AXIS_USE</NAME>
+extern GtkType GTK_TYPE_GDK_AXIS_USE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_TARGET</NAME>
+extern GtkType GTK_TYPE_GDK_TARGET;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_SELECTION_TYPE</NAME>
+extern GtkType GTK_TYPE_GDK_SELECTION_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_EXTENSION_MODE</NAME>
+extern GtkType GTK_TYPE_GDK_EXTENSION_MODE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_IM_STYLE</NAME>
+extern GtkType GTK_TYPE_GDK_IM_STYLE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_IC_ATTRIBUTES_TYPE</NAME>
+extern GtkType GTK_TYPE_GDK_IC_ATTRIBUTES_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_WM_DECORATION</NAME>
+extern GtkType GTK_TYPE_GDK_WM_DECORATION;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_WM_FUNCTION</NAME>
+extern GtkType GTK_TYPE_GDK_WM_FUNCTION;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_COLOR_CONTEXT_MODE</NAME>
+extern GtkType GTK_TYPE_GDK_COLOR_CONTEXT_MODE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_OVERLAP_TYPE</NAME>
+extern GtkType GTK_TYPE_GDK_OVERLAP_TYPE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_DRAG_ACTION</NAME>
+extern GtkType GTK_TYPE_GDK_DRAG_ACTION;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_DRAG_PROTOCOL</NAME>
+extern GtkType GTK_TYPE_GDK_DRAG_PROTOCOL;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_RGB_DITHER</NAME>
+extern GtkType GTK_TYPE_GDK_RGB_DITHER;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_ACCEL_GROUP</NAME>
+extern GtkType GTK_TYPE_ACCEL_GROUP;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_SELECTION_DATA</NAME>
+extern GtkType GTK_TYPE_SELECTION_DATA;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_STYLE</NAME>
+extern GtkType GTK_TYPE_STYLE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_CTREE_NODE</NAME>
+extern GtkType GTK_TYPE_CTREE_NODE;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_COLORMAP</NAME>
+extern GtkType GTK_TYPE_GDK_COLORMAP;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_VISUAL</NAME>
+extern GtkType GTK_TYPE_GDK_VISUAL;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_FONT</NAME>
+extern GtkType GTK_TYPE_GDK_FONT;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_WINDOW</NAME>
+extern GtkType GTK_TYPE_GDK_WINDOW;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_DRAG_CONTEXT</NAME>
+extern GtkType GTK_TYPE_GDK_DRAG_CONTEXT;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_EVENT</NAME>
+extern GtkType GTK_TYPE_GDK_EVENT;
+</VARIABLE>
+<VARIABLE>
+<NAME>GTK_TYPE_GDK_COLOR</NAME>
+extern GtkType GTK_TYPE_GDK_COLOR;
+</VARIABLE>
+<MACRO>
+<NAME>GTK_TYPE_NUM_BUILTINS</NAME>
+#define GTK_TYPE_NUM_BUILTINS (121)
+</MACRO>
+<ENUM>
+<NAME>GtkFundamentalType</NAME>
+typedef enum
+{
+ GTK_TYPE_INVALID,
+ GTK_TYPE_NONE,
+
+ /* flat types */
+ GTK_TYPE_CHAR,
+ GTK_TYPE_UCHAR,
+ GTK_TYPE_BOOL,
+ GTK_TYPE_INT,
+ GTK_TYPE_UINT,
+ GTK_TYPE_LONG,
+ GTK_TYPE_ULONG,
+ GTK_TYPE_FLOAT,
+ GTK_TYPE_DOUBLE,
+ GTK_TYPE_STRING,
+ GTK_TYPE_ENUM,
+ GTK_TYPE_FLAGS,
+ GTK_TYPE_BOXED,
+ GTK_TYPE_POINTER,
+
+ /* structured types */
+ GTK_TYPE_SIGNAL,
+ GTK_TYPE_ARGS,
+ GTK_TYPE_CALLBACK,
+ GTK_TYPE_C_CALLBACK,
+ GTK_TYPE_FOREIGN,
+
+ /* base type node of the object system */
+ GTK_TYPE_OBJECT
+} GtkFundamentalType;
+</ENUM>
+<MACRO>
+<NAME>GTK_TYPE_FLAT_FIRST</NAME>
+#define GTK_TYPE_FLAT_FIRST GTK_TYPE_CHAR
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_FLAT_LAST</NAME>
+#define GTK_TYPE_FLAT_LAST GTK_TYPE_POINTER
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_STRUCTURED_FIRST</NAME>
+#define GTK_TYPE_STRUCTURED_FIRST GTK_TYPE_SIGNAL
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_STRUCTURED_LAST</NAME>
+#define GTK_TYPE_STRUCTURED_LAST GTK_TYPE_FOREIGN
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_FUNDAMENTAL_LAST</NAME>
+#define GTK_TYPE_FUNDAMENTAL_LAST GTK_TYPE_OBJECT
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_FUNDAMENTAL_MAX</NAME>
+#define GTK_TYPE_FUNDAMENTAL_MAX (32)
+</MACRO>
+<MACRO>
+<NAME>GTK_STRUCT_OFFSET</NAME>
+#define GTK_STRUCT_OFFSET(struct, field) ((gint) offsetof (struct, field))
+</MACRO>
+<MACRO>
+<NAME>GTK_STRUCT_OFFSET</NAME>
+#define GTK_STRUCT_OFFSET(struct, field) ((gint) ((gchar*) &((struct*) 0)->field))
+</MACRO>
+<MACRO>
+<NAME>GTK_CHECK_CAST</NAME>
+# define GTK_CHECK_CAST(tobj, cast_type, cast) ((cast*) (tobj))
+</MACRO>
+<MACRO>
+<NAME>GTK_CHECK_CLASS_CAST</NAME>
+# define GTK_CHECK_CLASS_CAST(tclass,cast_type,cast) ((cast*) (tclass))
+</MACRO>
+<MACRO>
+<NAME>GTK_CHECK_CAST</NAME>
+# define GTK_CHECK_CAST(tobj, cast_type, cast) \
+ ((cast*) gtk_type_check_object_cast ((GtkTypeObject*) (tobj), (cast_type)))
+</MACRO>
+<MACRO>
+<NAME>GTK_CHECK_CLASS_CAST</NAME>
+# define GTK_CHECK_CLASS_CAST(tclass,cast_type,cast) \
+ ((cast*) gtk_type_check_class_cast ((GtkTypeClass*) (tclass), (cast_type)))
+</MACRO>
+<MACRO>
+<NAME>GTK_CHECK_TYPE</NAME>
+#define GTK_CHECK_TYPE(type_object, otype) ( \
+ ((GtkTypeObject*) (type_object)) != NULL && \
+ GTK_CHECK_CLASS_TYPE (((GtkTypeObject*) (type_object))->klass, (otype)) \
+)
+</MACRO>
+<MACRO>
+<NAME>GTK_CHECK_CLASS_TYPE</NAME>
+#define GTK_CHECK_CLASS_TYPE(type_class, otype) ( \
+ ((GtkTypeClass*) (type_class)) != NULL && \
+ gtk_type_is_a (((GtkTypeClass*) (type_class))->type, (otype)) \
+)
+</MACRO>
+<TYPEDEF>
+<NAME>GtkType</NAME>
+typedef guint GtkType;
+</TYPEDEF>
+<STRUCT>
+<NAME>GtkTypeObject</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTypeClass</NAME>
+</STRUCT>
+<MACRO>
+<NAME>GTK_TYPE_IDENTIFIER</NAME>
+#define GTK_TYPE_IDENTIFIER (gtk_identifier_get_type ())
+</MACRO>
+<FUNCTION>
+<NAME>gtk_identifier_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_MAKE</NAME>
+#define GTK_TYPE_MAKE(parent_t, seqno) (((seqno) << 8) | GTK_FUNDAMENTAL_TYPE (parent_t))
+</MACRO>
+<MACRO>
+<NAME>GTK_FUNDAMENTAL_TYPE</NAME>
+#define GTK_FUNDAMENTAL_TYPE(type) ((GtkFundamentalType) ((type) & 0xFF))
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_SEQNO</NAME>
+#define GTK_TYPE_SEQNO(type) ((type) > 0xFF ? (type) >> 8 : (type))
+</MACRO>
+<STRUCT>
+<NAME>GtkArg</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkObject</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTypeInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkTypeQuery</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkEnumValue</NAME>
+</STRUCT>
+<MACRO>
+<NAME>GTK_SIGNAL_FUNC</NAME>
+#define GTK_SIGNAL_FUNC(f) ((GtkSignalFunc) f)
+</MACRO>
+<USER_FUNCTION>
+<NAME>GtkClassInitFunc</NAME>
+<RETURNS>void </RETURNS>
+gpointer klass
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkObjectInitFunc</NAME>
+<RETURNS>void </RETURNS>
+gpointer object,
+ gpointer klass
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkSignalFunc</NAME>
+<RETURNS>void </RETURNS>
+
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkFunction</NAME>
+<RETURNS>gint </RETURNS>
+gpointer data
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkDestroyNotify</NAME>
+<RETURNS>void </RETURNS>
+gpointer data
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkCallbackMarshal</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,
+ gpointer data,
+ guint n_args,
+ GtkArg *args
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkSignalMarshaller</NAME>
+<RETURNS>void </RETURNS>
+GtkObject *object,
+ GtkSignalFunc func,
+ gpointer func_data,
+ GtkArg *args
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkArgGetFunc</NAME>
+<RETURNS>void </RETURNS>
+GtkObject*, GtkArg*, guint
+</USER_FUNCTION>
+<USER_FUNCTION>
+<NAME>GtkArgSetFunc</NAME>
+<RETURNS>void </RETURNS>
+GtkObject*, GtkArg*, guint
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GtkTypeObject</NAME>
+struct GtkTypeObject
+{
+ /* A pointer to the objects class. This will actually point to
+ * the derived objects class struct (which will be derived from
+ * GtkTypeClass).
+ */
+ GtkTypeClass *klass;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkArg</NAME>
+struct GtkArg
+{
+ GtkType type;
+ gchar *name;
+
+ /* this union only defines the required storage types for
+ * the possibile values, thus there is no gint enum_data field,
+ * because that would just be a mere alias for gint int_data.
+ * use the GTK_VALUE_*() and GTK_RETLOC_*() macros to access
+ * the discrete memebers.
+ */
+ union {
+ /* flat values */
+ gchar char_data;
+ guchar uchar_data;
+ gboolean bool_data;
+ gint int_data;
+ guint uint_data;
+ glong long_data;
+ gulong ulong_data;
+ gfloat float_data;
+ gdouble double_data;
+ gchar *string_data;
+ gpointer pointer_data;
+ GtkObject *object_data;
+
+ /* structured values */
+ struct {
+ GtkSignalFunc f;
+ gpointer d;
+ } signal_data;
+ struct {
+ gint n_args;
+ GtkArg *args;
+ } args_data;
+ struct {
+ GtkCallbackMarshal marshal;
+ gpointer data;
+ GtkDestroyNotify notify;
+ } callback_data;
+ struct {
+ GtkFunction func;
+ gpointer func_data;
+ } c_callback_data;
+ struct {
+ gpointer data;
+ GtkDestroyNotify notify;
+ } foreign_data;
+ } d;
+};
+</STRUCT>
+<MACRO>
+<NAME>GTK_VALUE_CHAR</NAME>
+#define GTK_VALUE_CHAR(a) ((a).d.char_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_UCHAR</NAME>
+#define GTK_VALUE_UCHAR(a) ((a).d.uchar_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_BOOL</NAME>
+#define GTK_VALUE_BOOL(a) ((a).d.bool_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_INT</NAME>
+#define GTK_VALUE_INT(a) ((a).d.int_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_UINT</NAME>
+#define GTK_VALUE_UINT(a) ((a).d.uint_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_LONG</NAME>
+#define GTK_VALUE_LONG(a) ((a).d.long_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_ULONG</NAME>
+#define GTK_VALUE_ULONG(a) ((a).d.ulong_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_FLOAT</NAME>
+#define GTK_VALUE_FLOAT(a) ((a).d.float_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_DOUBLE</NAME>
+#define GTK_VALUE_DOUBLE(a) ((a).d.double_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_STRING</NAME>
+#define GTK_VALUE_STRING(a) ((a).d.string_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_ENUM</NAME>
+#define GTK_VALUE_ENUM(a) ((a).d.int_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_FLAGS</NAME>
+#define GTK_VALUE_FLAGS(a) ((a).d.uint_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_BOXED</NAME>
+#define GTK_VALUE_BOXED(a) ((a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_POINTER</NAME>
+#define GTK_VALUE_POINTER(a) ((a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_OBJECT</NAME>
+#define GTK_VALUE_OBJECT(a) ((a).d.object_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_SIGNAL</NAME>
+#define GTK_VALUE_SIGNAL(a) ((a).d.signal_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_ARGS</NAME>
+#define GTK_VALUE_ARGS(a) ((a).d.args_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_CALLBACK</NAME>
+#define GTK_VALUE_CALLBACK(a) ((a).d.callback_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_C_CALLBACK</NAME>
+#define GTK_VALUE_C_CALLBACK(a) ((a).d.c_callback_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_VALUE_FOREIGN</NAME>
+#define GTK_VALUE_FOREIGN(a) ((a).d.foreign_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_CHAR</NAME>
+#define GTK_RETLOC_CHAR(a) ((gchar*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_UCHAR</NAME>
+#define GTK_RETLOC_UCHAR(a) ((guchar*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_BOOL</NAME>
+#define GTK_RETLOC_BOOL(a) ((gboolean*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_INT</NAME>
+#define GTK_RETLOC_INT(a) ((gint*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_UINT</NAME>
+#define GTK_RETLOC_UINT(a) ((guint*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_LONG</NAME>
+#define GTK_RETLOC_LONG(a) ((glong*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_ULONG</NAME>
+#define GTK_RETLOC_ULONG(a) ((gulong*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_FLOAT</NAME>
+#define GTK_RETLOC_FLOAT(a) ((gfloat*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_DOUBLE</NAME>
+#define GTK_RETLOC_DOUBLE(a) ((gdouble*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_STRING</NAME>
+#define GTK_RETLOC_STRING(a) ((gchar**) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_ENUM</NAME>
+#define GTK_RETLOC_ENUM(a) ((gint*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_FLAGS</NAME>
+#define GTK_RETLOC_FLAGS(a) ((guint*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_BOXED</NAME>
+#define GTK_RETLOC_BOXED(a) ((gpointer*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_POINTER</NAME>
+#define GTK_RETLOC_POINTER(a) ((gpointer*) (a).d.pointer_data)
+</MACRO>
+<MACRO>
+<NAME>GTK_RETLOC_OBJECT</NAME>
+#define GTK_RETLOC_OBJECT(a) ((GtkObject**) (a).d.pointer_data)
+</MACRO>
+<STRUCT>
+<NAME>GtkTypeInfo</NAME>
+struct GtkTypeInfo
+{
+ gchar *type_name;
+ guint object_size;
+ guint class_size;
+ GtkClassInitFunc class_init_func;
+ GtkObjectInitFunc object_init_func;
+ gpointer reserved_1;
+ gpointer reserved_2;
+ GtkClassInitFunc base_class_init_func;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkTypeQuery</NAME>
+struct GtkTypeQuery
+{
+ GtkType type;
+ const gchar *type_name;
+ guint object_size;
+ guint class_size;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkEnumValue</NAME>
+struct GtkEnumValue
+{
+ guint value;
+ gchar *value_name;
+ gchar *value_nick;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_type_init</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_unique</NAME>
+<RETURNS>GtkType </RETURNS>
+GtkType parent_type,const GtkTypeInfo *type_info
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_set_chunk_alloc</NAME>
+<RETURNS>void </RETURNS>
+GtkType type,guint n_chunks
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_name</NAME>
+<RETURNS>gchar *</RETURNS>
+guint type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_from_name</NAME>
+<RETURNS>GtkType </RETURNS>
+const gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_parent</NAME>
+<RETURNS>GtkType </RETURNS>
+GtkType type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_class</NAME>
+<RETURNS>gpointer </RETURNS>
+GtkType type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_parent_class</NAME>
+<RETURNS>gpointer </RETURNS>
+GtkType type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_children_types</NAME>
+<RETURNS>GList *</RETURNS>
+GtkType type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_new</NAME>
+<RETURNS>gpointer </RETURNS>
+GtkType type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_free</NAME>
+<RETURNS>void </RETURNS>
+GtkType type,gpointer mem
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_describe_heritage</NAME>
+<RETURNS>void </RETURNS>
+GtkType type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_describe_tree</NAME>
+<RETURNS>void </RETURNS>
+GtkType type,gboolean show_size
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_is_a</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkType type,GtkType is_a_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_check_object_cast</NAME>
+<RETURNS>GtkTypeObject *</RETURNS>
+GtkTypeObject *type_object,GtkType cast_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_check_class_cast</NAME>
+<RETURNS>GtkTypeClass *</RETURNS>
+GtkTypeClass *klass,GtkType cast_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_register_enum</NAME>
+<RETURNS>GtkType </RETURNS>
+const gchar *type_name,GtkEnumValue *values
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_register_flags</NAME>
+<RETURNS>GtkType </RETURNS>
+const gchar *type_name,GtkFlagValue *values
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_enum_get_values</NAME>
+<RETURNS>GtkEnumValue *</RETURNS>
+GtkType enum_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_flags_get_values</NAME>
+<RETURNS>GtkFlagValue *</RETURNS>
+GtkType flags_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_enum_find_value</NAME>
+<RETURNS>GtkEnumValue *</RETURNS>
+GtkType enum_type,const gchar *value_name
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_flags_find_value</NAME>
+<RETURNS>GtkFlagValue *</RETURNS>
+GtkType flag_type,const gchar *value_name
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_set_varargs_type</NAME>
+<RETURNS>void </RETURNS>
+GtkType foreign_type,GtkType varargs_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_get_varargs_type</NAME>
+<RETURNS>GtkType </RETURNS>
+GtkType foreign_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_type_query</NAME>
+<RETURNS>GtkTypeQuery *</RETURNS>
+GtkType type
+</FUNCTION>
+<MACRO>
+<NAME>GTK_VBUTTON_BOX</NAME>
+#define GTK_VBUTTON_BOX(obj) GTK_CHECK_CAST (obj, gtk_vbutton_box_get_type (), GtkVButtonBox)
+</MACRO>
+<MACRO>
+<NAME>GTK_VBUTTON_BOX_CLASS</NAME>
+#define GTK_VBUTTON_BOX_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_vbutton_box_get_type (), GtkVButtonBoxClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VBUTTON_BOX</NAME>
+#define GTK_IS_VBUTTON_BOX(obj) GTK_CHECK_TYPE (obj, gtk_vbutton_box_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkVButtonBox</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVButtonBoxClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVButtonBox</NAME>
+struct GtkVButtonBox
+{
+ GtkButtonBox button_box;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_vbutton_box_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_vbutton_box_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_vbutton_box_get_spacing_default</NAME>
+<RETURNS>gint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_vbutton_box_set_spacing_default</NAME>
+<RETURNS>void </RETURNS>
+gint spacing
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_vbutton_box_get_layout_default</NAME>
+<RETURNS>GtkButtonBoxStyle </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_vbutton_box_set_layout_default</NAME>
+<RETURNS>void </RETURNS>
+GtkButtonBoxStyle layout
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_VBOX</NAME>
+#define GTK_TYPE_VBOX (gtk_vbox_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_VBOX</NAME>
+#define GTK_VBOX(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_VBOX, GtkVBox))
+</MACRO>
+<MACRO>
+<NAME>GTK_VBOX_CLASS</NAME>
+#define GTK_VBOX_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_VBOX, GtkVBoxClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VBOX</NAME>
+#define GTK_IS_VBOX(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_VBOX))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VBOX_CLASS</NAME>
+#define GTK_IS_VBOX_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VBOX))
+</MACRO>
+<STRUCT>
+<NAME>GtkVBox</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVBoxClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVBox</NAME>
+struct GtkVBox
+{
+ GtkBox box;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_vbox_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_vbox_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+gboolean homogeneous,gint spacing
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_VIEWPORT</NAME>
+#define GTK_TYPE_VIEWPORT (gtk_viewport_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_VIEWPORT</NAME>
+#define GTK_VIEWPORT(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_VIEWPORT, GtkViewport))
+</MACRO>
+<MACRO>
+<NAME>GTK_VIEWPORT_CLASS</NAME>
+#define GTK_VIEWPORT_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_VIEWPORT, GtkViewportClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VIEWPORT</NAME>
+#define GTK_IS_VIEWPORT(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_VIEWPORT))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VIEWPORT_CLASS</NAME>
+#define GTK_IS_VIEWPORT_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VIEWPORT))
+</MACRO>
+<STRUCT>
+<NAME>GtkViewport</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkViewportClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkViewport</NAME>
+struct GtkViewport
+{
+ GtkBin bin;
+
+ GtkShadowType shadow_type;
+ GdkWindow *view_window;
+ GdkWindow *bin_window;
+ GtkAdjustment *hadjustment;
+ GtkAdjustment *vadjustment;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_viewport_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_viewport_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkAdjustment *hadjustment,GtkAdjustment *vadjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_viewport_get_hadjustment</NAME>
+<RETURNS>GtkAdjustment *</RETURNS>
+GtkViewport *viewport
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_viewport_get_vadjustment</NAME>
+<RETURNS>GtkAdjustment *</RETURNS>
+GtkViewport *viewport
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_viewport_set_hadjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkViewport *viewport,GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_viewport_set_vadjustment</NAME>
+<RETURNS>void </RETURNS>
+GtkViewport *viewport,GtkAdjustment *adjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_viewport_set_shadow_type</NAME>
+<RETURNS>void </RETURNS>
+GtkViewport *viewport,GtkShadowType type
+</FUNCTION>
+<MACRO>
+<NAME>GTK_VPANED</NAME>
+#define GTK_VPANED(obj) GTK_CHECK_CAST (obj, gtk_vpaned_get_type (), GtkVPaned)
+</MACRO>
+<MACRO>
+<NAME>GTK_VPANED_CLASS</NAME>
+#define GTK_VPANED_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_vpaned_get_type (), GtkVPanedClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VPANED</NAME>
+#define GTK_IS_VPANED(obj) GTK_CHECK_TYPE (obj, gtk_vpaned_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkVPaned</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVPanedClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVPaned</NAME>
+struct GtkVPaned
+{
+ GtkPaned paned;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_vpaned_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_vpaned_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_VRULER</NAME>
+#define GTK_VRULER(obj) GTK_CHECK_CAST (obj, gtk_vruler_get_type (), GtkVRuler)
+</MACRO>
+<MACRO>
+<NAME>GTK_VRULER_CLASS</NAME>
+#define GTK_VRULER_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_vruler_get_type (), GtkVRulerClass)
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VRULER</NAME>
+#define GTK_IS_VRULER(obj) GTK_CHECK_TYPE (obj, gtk_vruler_get_type ())
+</MACRO>
+<STRUCT>
+<NAME>GtkVRuler</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVRulerClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVRuler</NAME>
+struct GtkVRuler
+{
+ GtkRuler ruler;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_vruler_get_type</NAME>
+<RETURNS>guint </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_vruler_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_VSCALE</NAME>
+#define GTK_TYPE_VSCALE (gtk_vscale_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_VSCALE</NAME>
+#define GTK_VSCALE(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_VSCALE, GtkVScale))
+</MACRO>
+<MACRO>
+<NAME>GTK_VSCALE_CLASS</NAME>
+#define GTK_VSCALE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_VSCALE, GtkVScaleClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VSCALE</NAME>
+#define GTK_IS_VSCALE(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_VSCALE))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VSCALE_CLASS</NAME>
+#define GTK_IS_VSCALE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VSCALE))
+</MACRO>
+<STRUCT>
+<NAME>GtkVScale</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVScaleClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVScale</NAME>
+struct GtkVScale
+{
+ GtkScale scale;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_vscale_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_vscale_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkAdjustment *adjustment
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_VSCROLLBAR</NAME>
+#define GTK_TYPE_VSCROLLBAR (gtk_vscrollbar_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_VSCROLLBAR</NAME>
+#define GTK_VSCROLLBAR(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_VSCROLLBAR, GtkVScrollbar))
+</MACRO>
+<MACRO>
+<NAME>GTK_VSCROLLBAR_CLASS</NAME>
+#define GTK_VSCROLLBAR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_VSCROLLBAR, GtkVScrollbarClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VSCROLLBAR</NAME>
+#define GTK_IS_VSCROLLBAR(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_VSCROLLBAR))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VSCROLLBAR_CLASS</NAME>
+#define GTK_IS_VSCROLLBAR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VSCROLLBAR))
+</MACRO>
+<STRUCT>
+<NAME>GtkVScrollbar</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVScrollbarClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVScrollbar</NAME>
+struct GtkVScrollbar
+{
+ GtkScrollbar scrollbar;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_vscrollbar_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_vscrollbar_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkAdjustment *adjustment
+</FUNCTION>
+<MACRO>
+<NAME>GTK_TYPE_VSEPARATOR</NAME>
+#define GTK_TYPE_VSEPARATOR (gtk_vseparator_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_VSEPARATOR</NAME>
+#define GTK_VSEPARATOR(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_VSEPARATOR, GtkVSeparator))
+</MACRO>
+<MACRO>
+<NAME>GTK_VSEPARATOR_CLASS</NAME>
+#define GTK_VSEPARATOR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_VSEPARATOR, GtkVSeparatorClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VSEPARATOR</NAME>
+#define GTK_IS_VSEPARATOR(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_VSEPARATOR))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_VSEPARATOR_CLASS</NAME>
+#define GTK_IS_VSEPARATOR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VSEPARATOR))
+</MACRO>
+<STRUCT>
+<NAME>GtkVSeparator</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVSeparatorClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkVSeparator</NAME>
+struct GtkVSeparator
+{
+ GtkSeparator separator;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_vseparator_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_vseparator_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+void
+</FUNCTION>
+<ENUM>
+<NAME>GtkWidgetFlags</NAME>
+typedef enum
+{
+ GTK_TOPLEVEL = 1 << 4,
+ GTK_NO_WINDOW = 1 << 5,
+ GTK_REALIZED = 1 << 6,
+ GTK_MAPPED = 1 << 7,
+ GTK_VISIBLE = 1 << 8,
+ GTK_SENSITIVE = 1 << 9,
+ GTK_PARENT_SENSITIVE = 1 << 10,
+ GTK_CAN_FOCUS = 1 << 11,
+ GTK_HAS_FOCUS = 1 << 12,
+ GTK_CAN_DEFAULT = 1 << 13,
+ GTK_HAS_DEFAULT = 1 << 14,
+ GTK_HAS_GRAB = 1 << 15,
+ GTK_RC_STYLE = 1 << 16,
+ GTK_COMPOSITE_CHILD = 1 << 17,
+ GTK_NO_REPARENT = 1 << 18,
+ GTK_APP_PAINTABLE = 1 << 19,
+ GTK_RECEIVES_DEFAULT = 1 << 20
+} GtkWidgetFlags;
+</ENUM>
+<MACRO>
+<NAME>GTK_TYPE_WIDGET</NAME>
+#define GTK_TYPE_WIDGET (gtk_widget_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET</NAME>
+#define GTK_WIDGET(widget) (GTK_CHECK_CAST ((widget), GTK_TYPE_WIDGET, GtkWidget))
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_CLASS</NAME>
+#define GTK_WIDGET_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_WIDGET, GtkWidgetClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_WIDGET</NAME>
+#define GTK_IS_WIDGET(widget) (GTK_CHECK_TYPE ((widget), GTK_TYPE_WIDGET))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_WIDGET_CLASS</NAME>
+#define GTK_IS_WIDGET_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_WIDGET))
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_TYPE</NAME>
+#define GTK_WIDGET_TYPE(wid) (GTK_OBJECT_TYPE (wid))
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_STATE</NAME>
+#define GTK_WIDGET_STATE(wid) (GTK_WIDGET (wid)->state)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_SAVED_STATE</NAME>
+#define GTK_WIDGET_SAVED_STATE(wid) (GTK_WIDGET (wid)->saved_state)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_FLAGS</NAME>
+#define GTK_WIDGET_FLAGS(wid) (GTK_OBJECT_FLAGS (wid))
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_TOPLEVEL</NAME>
+#define GTK_WIDGET_TOPLEVEL(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_TOPLEVEL) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_NO_WINDOW</NAME>
+#define GTK_WIDGET_NO_WINDOW(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_NO_WINDOW) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_REALIZED</NAME>
+#define GTK_WIDGET_REALIZED(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_REALIZED) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_MAPPED</NAME>
+#define GTK_WIDGET_MAPPED(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_MAPPED) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_VISIBLE</NAME>
+#define GTK_WIDGET_VISIBLE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_VISIBLE) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_DRAWABLE</NAME>
+#define GTK_WIDGET_DRAWABLE(wid) (GTK_WIDGET_VISIBLE (wid) && GTK_WIDGET_MAPPED (wid))
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_SENSITIVE</NAME>
+#define GTK_WIDGET_SENSITIVE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_SENSITIVE) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_PARENT_SENSITIVE</NAME>
+#define GTK_WIDGET_PARENT_SENSITIVE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_PARENT_SENSITIVE) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_IS_SENSITIVE</NAME>
+#define GTK_WIDGET_IS_SENSITIVE(wid) (GTK_WIDGET_SENSITIVE (wid) && \
+ GTK_WIDGET_PARENT_SENSITIVE (wid))
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_CAN_FOCUS</NAME>
+#define GTK_WIDGET_CAN_FOCUS(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_CAN_FOCUS) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_HAS_FOCUS</NAME>
+#define GTK_WIDGET_HAS_FOCUS(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_HAS_FOCUS) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_CAN_DEFAULT</NAME>
+#define GTK_WIDGET_CAN_DEFAULT(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_CAN_DEFAULT) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_HAS_DEFAULT</NAME>
+#define GTK_WIDGET_HAS_DEFAULT(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_HAS_DEFAULT) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_HAS_GRAB</NAME>
+#define GTK_WIDGET_HAS_GRAB(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_HAS_GRAB) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_RC_STYLE</NAME>
+#define GTK_WIDGET_RC_STYLE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_RC_STYLE) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_COMPOSITE_CHILD</NAME>
+#define GTK_WIDGET_COMPOSITE_CHILD(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_COMPOSITE_CHILD) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_APP_PAINTABLE</NAME>
+#define GTK_WIDGET_APP_PAINTABLE(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_APP_PAINTABLE) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_RECEIVES_DEFAULT</NAME>
+#define GTK_WIDGET_RECEIVES_DEFAULT(wid) ((GTK_WIDGET_FLAGS (wid) & GTK_RECEIVES_DEFAULT) != 0)
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_SET_FLAGS</NAME>
+#define GTK_WIDGET_SET_FLAGS(wid,flag) G_STMT_START{ (GTK_WIDGET_FLAGS (wid) |= (flag)); }G_STMT_END
+</MACRO>
+<MACRO>
+<NAME>GTK_WIDGET_UNSET_FLAGS</NAME>
+#define GTK_WIDGET_UNSET_FLAGS(wid,flag) G_STMT_START{ (GTK_WIDGET_FLAGS (wid) &= ~(flag)); }G_STMT_END
+</MACRO>
+<STRUCT>
+<NAME>GtkRequisition</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkAllocation</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkSelectionData</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkWidgetClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkWidgetAuxInfo</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkWidgetShapeInfo</NAME>
+</STRUCT>
+<USER_FUNCTION>
+<NAME>GtkCallback</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,
+ gpointer data
+</USER_FUNCTION>
+<STRUCT>
+<NAME>GtkRequisition</NAME>
+struct GtkRequisition
+{
+ gint16 width;
+ gint16 height;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkAllocation</NAME>
+struct GtkAllocation
+{
+ gint16 x;
+ gint16 y;
+ guint16 width;
+ guint16 height;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkSelectionData</NAME>
+struct GtkSelectionData
+{
+ GdkAtom selection;
+ GdkAtom target;
+ GdkAtom type;
+ gint format;
+ guchar *data;
+ gint length;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkWidget</NAME>
+struct GtkWidget
+{
+ /* The object structure needs to be the first
+ * element in the widget structure in order for
+ * the object mechanism to work correctly. This
+ * allows a GtkWidget pointer to be cast to a
+ * GtkObject pointer.
+ */
+ GtkObject object;
+
+ /* 16 bits of internally used private flags.
+ * this will be packed into the same 4 byte alignment frame that
+ * state and saved_state go. we therefore don't waste any new
+ * space on this.
+ */
+ guint16 private_flags;
+
+ /* The state of the widget. There are actually only
+ * 5 widget states (defined in "gtkenums.h").
+ */
+ guint8 state;
+
+ /* The saved state of the widget. When a widgets state
+ * is changed to GTK_STATE_INSENSITIVE via
+ * "gtk_widget_set_state" or "gtk_widget_set_sensitive"
+ * the old state is kept around in this field. The state
+ * will be restored once the widget gets sensitive again.
+ */
+ guint8 saved_state;
+
+ /* The widgets name. If the widget does not have a name
+ * (the name is NULL), then its name (as returned by
+ * "gtk_widget_get_name") is its classes name.
+ * Among other things, the widget name is used to determine
+ * the style to use for a widget.
+ */
+ gchar *name;
+
+ /* The style for the widget. The style contains the
+ * colors the widget should be drawn in for each state
+ * along with graphics contexts used to draw with and
+ * the font to use for text.
+ */
+ GtkStyle *style;
+
+ /* The widgets desired size.
+ */
+ GtkRequisition requisition;
+
+ /* The widgets allocated size.
+ */
+ GtkAllocation allocation;
+
+ /* The widgets window or its parent window if it does
+ * not have a window. (Which will be indicated by the
+ * GTK_NO_WINDOW flag being set).
+ */
+ GdkWindow *window;
+
+ /* The widgets parent.
+ */
+ GtkWidget *parent;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkWidgetAuxInfo</NAME>
+struct GtkWidgetAuxInfo
+{
+ gint16 x;
+ gint16 y;
+ gint16 width;
+ gint16 height;
+};
+</STRUCT>
+<STRUCT>
+<NAME>GtkWidgetShapeInfo</NAME>
+struct GtkWidgetShapeInfo
+{
+ gint16 offset_x;
+ gint16 offset_y;
+ GdkBitmap *shape_mask;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_widget_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkType type,const gchar *first_arg_name,...
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_newv</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkType type,guint nargs,GtkArg *args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_ref</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_unref</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_destroy</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_destroyed</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GtkWidget **widget_pointer
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GtkArg *arg
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_getv</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,guint nargs,GtkArg *args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,const gchar *first_arg_name,...
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_setv</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,guint nargs,GtkArg *args
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_unparent</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_show</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_show_now</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_hide</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_show_all</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_hide_all</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_map</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_unmap</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_realize</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_unrealize</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_queue_draw</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_queue_draw_area</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_queue_clear</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_queue_clear_area</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,gint x,gint y,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_queue_resize</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_draw</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkRectangle *area
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_draw_focus</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_draw_default</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_size_request</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GtkRequisition *requisition
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_size_allocate</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GtkAllocation *allocation
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_child_requisition</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GtkRequisition *requisition
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_add_accelerator</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,const gchar *accel_signal,GtkAccelGroup *accel_group,guint accel_key,guint accel_mods,GtkAccelFlags accel_flags
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_remove_accelerator</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GtkAccelGroup *accel_group,guint accel_key,guint accel_mods
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_remove_accelerators</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,const gchar *accel_signal,gboolean visible_only
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_accelerator_signal</NAME>
+<RETURNS>guint </RETURNS>
+GtkWidget *widget,GtkAccelGroup *accel_group,guint accel_key,guint accel_mods
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_lock_accelerators</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_unlock_accelerators</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_accelerators_locked</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_event</NAME>
+<RETURNS>gint </RETURNS>
+GtkWidget *widget,GdkEvent *event
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_activate</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_scroll_adjustments</NAME>
+<RETURNS>gboolean </RETURNS>
+GtkWidget *widget,GtkAdjustment *hadjustment,GtkAdjustment *vadjustment
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_reparent</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GtkWidget *new_parent
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_popup</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,gint x,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_intersect</NAME>
+<RETURNS>gint </RETURNS>
+GtkWidget *widget,GdkRectangle *area,GdkRectangle *intersection
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_grab_focus</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_grab_default</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_name</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,const gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_name</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_state</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GtkStateType state
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_sensitive</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,gboolean sensitive
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_app_paintable</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,gboolean app_paintable
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_parent</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GtkWidget *parent
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_parent_window</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkWindow *parent_window
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_parent_window</NAME>
+<RETURNS>GdkWindow *</RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_uposition</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,gint x,gint y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_usize</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_events</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,gint events
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_add_events</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,gint events
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_extension_events</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkExtensionMode mode
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_extension_events</NAME>
+<RETURNS>GdkExtensionMode </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_toplevel</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_ancestor</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkWidget *widget,GtkType widget_type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_colormap</NAME>
+<RETURNS>GdkColormap *</RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_visual</NAME>
+<RETURNS>GdkVisual *</RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_colormap</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkColormap *colormap
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_visual</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkVisual *visual
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_events</NAME>
+<RETURNS>gint </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_pointer</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,gint *x,gint *y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_is_ancestor</NAME>
+<RETURNS>gint </RETURNS>
+GtkWidget *widget,GtkWidget *ancestor
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_hide_on_delete</NAME>
+<RETURNS>gint </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_style</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GtkStyle *style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_rc_style</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_ensure_style</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_style</NAME>
+<RETURNS>GtkStyle *</RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_restore_default_style</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_modify_style</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GtkRcStyle *style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_composite_name</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,gchar *name
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_composite_name</NAME>
+<RETURNS>gchar *</RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_reset_rc_styles</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_push_style</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_push_colormap</NAME>
+<RETURNS>void </RETURNS>
+GdkColormap *cmap
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_push_visual</NAME>
+<RETURNS>void </RETURNS>
+GdkVisual *visual
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_push_composite_child</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_pop_composite_child</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_pop_style</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_pop_colormap</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_pop_visual</NAME>
+<RETURNS>void </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_default_style</NAME>
+<RETURNS>void </RETURNS>
+GtkStyle *style
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_default_colormap</NAME>
+<RETURNS>void </RETURNS>
+GdkColormap *colormap
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_set_default_visual</NAME>
+<RETURNS>void </RETURNS>
+GdkVisual *visual
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_default_style</NAME>
+<RETURNS>GtkStyle *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_default_colormap</NAME>
+<RETURNS>GdkColormap *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_get_default_visual</NAME>
+<RETURNS>GdkVisual *</RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_shape_combine_mask</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,GdkBitmap *shape_mask,gint offset_x,gint offset_y
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_reset_shapes</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_path</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,guint *path_length,gchar **path,gchar **path_reversed
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_widget_class_path</NAME>
+<RETURNS>void </RETURNS>
+GtkWidget *widget,guint *path_length,gchar **path,gchar **path_reversed
+</FUNCTION>
+<MACRO>
+<NAME>gtk_widget_ref</NAME>
+# define gtk_widget_ref gtk_object_ref
+</MACRO>
+<MACRO>
+<NAME>gtk_widget_unref</NAME>
+# define gtk_widget_unref gtk_object_unref
+</MACRO>
+<MACRO>
+<NAME>GTK_TYPE_WINDOW</NAME>
+#define GTK_TYPE_WINDOW (gtk_window_get_type ())
+</MACRO>
+<MACRO>
+<NAME>GTK_WINDOW</NAME>
+#define GTK_WINDOW(obj) (GTK_CHECK_CAST (obj, GTK_TYPE_WINDOW, GtkWindow))
+</MACRO>
+<MACRO>
+<NAME>GTK_WINDOW_CLASS</NAME>
+#define GTK_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_CAST (klass, GTK_TYPE_WINDOW, GtkWindowClass))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_WINDOW</NAME>
+#define GTK_IS_WINDOW(obj) (GTK_CHECK_TYPE (obj, GTK_TYPE_WINDOW))
+</MACRO>
+<MACRO>
+<NAME>GTK_IS_WINDOW_CLASS</NAME>
+#define GTK_IS_WINDOW_CLASS(klass) (GTK_CHECK_CLASS_TYPE (klass, GTK_TYPE_WINDOW))
+</MACRO>
+<STRUCT>
+<NAME>GtkWindow</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkWindowClass</NAME>
+</STRUCT>
+<STRUCT>
+<NAME>GtkWindow</NAME>
+struct GtkWindow
+{
+ GtkBin bin;
+
+ gchar *title;
+ gchar *wmclass_name;
+ gchar *wmclass_class;
+ GtkWindowType type;
+
+ GtkWidget *focus_widget;
+ GtkWidget *default_widget;
+ GtkWindow *transient_parent;
+
+ gushort resize_count;
+ guint allow_shrink : 1;
+ guint allow_grow : 1;
+ guint auto_shrink : 1;
+ guint handling_resize : 1;
+ guint position : 2;
+
+ /* The following flag is initially TRUE when a window is mapped.
+ * and will be set to FALSE after it is first positioned.
+ * It is also temporarily reset when the window's size changes.
+ *
+ * When TRUE, we move the window to the position the app set.
+ */
+ guint use_uposition : 1;
+ guint modal : 1;
+};
+</STRUCT>
+<FUNCTION>
+<NAME>gtk_window_get_type</NAME>
+<RETURNS>GtkType </RETURNS>
+void
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_new</NAME>
+<RETURNS>GtkWidget *</RETURNS>
+GtkWindowType type
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_set_title</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,const gchar *title
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_set_wmclass</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,const gchar *wmclass_name,const gchar *wmclass_class
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_set_policy</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,gint allow_shrink,gint allow_grow,gint auto_shrink
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_add_accel_group</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,GtkAccelGroup *accel_group
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_remove_accel_group</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,GtkAccelGroup *accel_group
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_set_position</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,GtkWindowPosition position
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_activate_focus</NAME>
+<RETURNS>gint </RETURNS>
+GtkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_activate_default</NAME>
+<RETURNS>gint </RETURNS>
+GtkWindow *window
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_set_transient_for</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,GtkWindow *parent
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_set_geometry_hints</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,GtkWidget *geometry_widget,GdkGeometry *geometry,GdkWindowHints geom_mask
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_set_default_size</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,gint width,gint height
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_set_modal</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,gboolean modal
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_set_focus</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,GtkWidget *focus
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_set_default</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,GtkWidget *defaultw
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_remove_embedded_xid</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,guint xid
+</FUNCTION>
+<FUNCTION>
+<NAME>gtk_window_add_embedded_xid</NAME>
+<RETURNS>void </RETURNS>
+GtkWindow *window,guint xid
+</FUNCTION>
diff --git a/docs/reference/gtk/gtk-docs.sgml b/docs/reference/gtk/gtk-docs.sgml
new file mode 100644
index 000000000..b1586642c
--- /dev/null
+++ b/docs/reference/gtk/gtk-docs.sgml
@@ -0,0 +1,297 @@
+<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
+<!entity GtkAccelLabel SYSTEM "sgml/gtkaccellabel.sgml">
+<!entity GtkAdjustment SYSTEM "sgml/gtkadjustment.sgml">
+<!entity GtkAlignment SYSTEM "sgml/gtkalignment.sgml">
+<!entity GtkArrow SYSTEM "sgml/gtkarrow.sgml">
+<!entity GtkAspectFrame SYSTEM "sgml/gtkaspectframe.sgml">
+<!entity GtkButtonBox SYSTEM "sgml/gtkbbox.sgml">
+<!entity GtkBin SYSTEM "sgml/gtkbin.sgml">
+<!entity GtkBox SYSTEM "sgml/gtkbox.sgml">
+<!entity GtkButton SYSTEM "sgml/gtkbutton.sgml">
+<!entity GtkCalendar SYSTEM "sgml/gtkcalendar.sgml">
+<!entity GtkCheckButton SYSTEM "sgml/gtkcheckbutton.sgml">
+<!entity GtkCheckMenuItem SYSTEM "sgml/gtkcheckmenuitem.sgml">
+<!entity GtkCList SYSTEM "sgml/gtkclist.sgml">
+<!entity GtkColorSelection SYSTEM "sgml/gtkcolorsel.sgml">
+<!entity GtkColorSelectionDialog SYSTEM "sgml/gtkcolorseldlg.sgml">
+<!entity GtkCombo SYSTEM "sgml/gtkcombo.sgml">
+<!entity GtkContainer SYSTEM "sgml/gtkcontainer.sgml">
+<!entity GtkCTree SYSTEM "sgml/gtkctree.sgml">
+<!entity GtkCurve SYSTEM "sgml/gtkcurve.sgml">
+<!entity GtkData SYSTEM "sgml/gtkdata.sgml">
+<!entity GtkDialog SYSTEM "sgml/gtkdialog.sgml">
+<!entity GtkDrawingArea SYSTEM "sgml/gtkdrawingarea.sgml">
+<!entity GtkEditable SYSTEM "sgml/gtkeditable.sgml">
+<!entity GtkEntry SYSTEM "sgml/gtkentry.sgml">
+<!entity GtkEventBox SYSTEM "sgml/gtkeventbox.sgml">
+<!entity GtkFileSelection SYSTEM "sgml/gtkfilesel.sgml">
+<!entity GtkFixed SYSTEM "sgml/gtkfixed.sgml">
+<!entity GtkFontSelection SYSTEM "sgml/gtkfontsel.sgml">
+<!entity GtkFontSelectionDialog SYSTEM "sgml/gtkfontseldlg.sgml">
+<!entity GtkFrame SYSTEM "sgml/gtkframe.sgml">
+<!entity GtkGammaCurve SYSTEM "sgml/gtkgamma.sgml">
+<!entity GtkHandleBox SYSTEM "sgml/gtkhandlebox.sgml">
+<!entity GtkHButtonBox SYSTEM "sgml/gtkhbbox.sgml">
+<!entity GtkHBox SYSTEM "sgml/gtkhbox.sgml">
+<!entity GtkHPaned SYSTEM "sgml/gtkhpaned.sgml">
+<!entity GtkHRuler SYSTEM "sgml/gtkhruler.sgml">
+<!entity GtkHScale SYSTEM "sgml/gtkhscale.sgml">
+<!entity GtkHScrollbar SYSTEM "sgml/gtkhscrollbar.sgml">
+<!entity GtkHSeparator SYSTEM "sgml/gtkhseparator.sgml">
+<!entity GtkImage SYSTEM "sgml/gtkimage.sgml">
+<!entity GtkInputDialog SYSTEM "sgml/gtkinputdialog.sgml">
+<!entity GtkInvisible SYSTEM "sgml/gtkinvisible.sgml">
+<!entity GtkItem SYSTEM "sgml/gtkitem.sgml">
+<!entity GtkItemFactory SYSTEM "sgml/gtkitemfactory.sgml">
+<!entity GtkLabel SYSTEM "sgml/gtklabel.sgml">
+<!entity GtkLayout SYSTEM "sgml/gtklayout.sgml">
+<!entity GtkList SYSTEM "sgml/gtklist.sgml">
+<!entity GtkListItem SYSTEM "sgml/gtklistitem.sgml">
+<!entity GtkMenu SYSTEM "sgml/gtkmenu.sgml">
+<!entity GtkMenuBar SYSTEM "sgml/gtkmenubar.sgml">
+<!entity GtkMenuItem SYSTEM "sgml/gtkmenuitem.sgml">
+<!entity GtkMenuShell SYSTEM "sgml/gtkmenushell.sgml">
+<!entity GtkMisc SYSTEM "sgml/gtkmisc.sgml">
+<!entity GtkNotebook SYSTEM "sgml/gtknotebook.sgml">
+<!entity GtkObject SYSTEM "sgml/gtkobject.sgml">
+<!entity GtkOptionMenu SYSTEM "sgml/gtkoptionmenu.sgml">
+<!entity GtkPacker SYSTEM "sgml/gtkpacker.sgml">
+<!entity GtkPaned SYSTEM "sgml/gtkpaned.sgml">
+<!entity GtkPixmap SYSTEM "sgml/gtkpixmap.sgml">
+<!entity GtkPlug SYSTEM "sgml/gtkplug.sgml">
+<!entity GtkPreview SYSTEM "sgml/gtkpreview.sgml">
+<!entity GtkProgress SYSTEM "sgml/gtkprogress.sgml">
+<!entity GtkProgressBar SYSTEM "sgml/gtkprogressbar.sgml">
+<!entity GtkRadioButton SYSTEM "sgml/gtkradiobutton.sgml">
+<!entity GtkRadioMenuItem SYSTEM "sgml/gtkradiomenuitem.sgml">
+<!entity GtkRange SYSTEM "sgml/gtkrange.sgml">
+<!entity GtkRuler SYSTEM "sgml/gtkruler.sgml">
+<!entity GtkScale SYSTEM "sgml/gtkscale.sgml">
+<!entity GtkScrollbar SYSTEM "sgml/gtkscrollbar.sgml">
+<!entity GtkScrolledWindow SYSTEM "sgml/gtkscrolledwindow.sgml">
+<!entity GtkSeparator SYSTEM "sgml/gtkseparator.sgml">
+<!entity GtkSocket SYSTEM "sgml/gtksocket.sgml">
+<!entity GtkSpinButton SYSTEM "sgml/gtkspinbutton.sgml">
+<!entity GtkStatusbar SYSTEM "sgml/gtkstatusbar.sgml">
+<!entity GtkTable SYSTEM "sgml/gtktable.sgml">
+<!entity GtkTearoffMenuItem SYSTEM "sgml/gtktearoffmenuitem.sgml">
+<!entity GtkText SYSTEM "sgml/gtktext.sgml">
+<!entity GtkTipsQuery SYSTEM "sgml/gtktipsquery.sgml">
+<!entity GtkToggleButton SYSTEM "sgml/gtktogglebutton.sgml">
+<!entity GtkToolbar SYSTEM "sgml/gtktoolbar.sgml">
+<!entity GtkTooltips SYSTEM "sgml/gtktooltips.sgml">
+<!entity GtkTree SYSTEM "sgml/gtktree.sgml">
+<!entity GtkTreeItem SYSTEM "sgml/gtktreeitem.sgml">
+<!entity GtkVButtonBox SYSTEM "sgml/gtkvbbox.sgml">
+<!entity GtkVBox SYSTEM "sgml/gtkvbox.sgml">
+<!entity GtkViewport SYSTEM "sgml/gtkviewport.sgml">
+<!entity GtkVPaned SYSTEM "sgml/gtkvpaned.sgml">
+<!entity GtkVRuler SYSTEM "sgml/gtkvruler.sgml">
+<!entity GtkVScale SYSTEM "sgml/gtkvscale.sgml">
+<!entity GtkVScrollbar SYSTEM "sgml/gtkvscrollbar.sgml">
+<!entity GtkVSeparator SYSTEM "sgml/gtkvseparator.sgml">
+<!entity GtkWidget SYSTEM "sgml/gtkwidget.sgml">
+<!entity GtkWindow SYSTEM "sgml/gtkwindow.sgml">
+<!entity gtk-General SYSTEM "sgml/gtkmain.sgml">
+<!entity gtk-Feature-Test-Macros SYSTEM "sgml/gtkfeatures.sgml">
+<!entity gtk-Graphics-Contexts SYSTEM "sgml/gtkgc.sgml">
+<!entity gtk-Styles SYSTEM "sgml/gtkstyle.sgml">
+<!entity gtk-Themes SYSTEM "sgml/gtkthemes.sgml">
+<!entity gtk-Resource-Files SYSTEM "sgml/gtkrc.sgml">
+<!entity gtk-Keyboard-Accelerators SYSTEM "sgml/gtkaccelgroup.sgml">
+<!entity gtk-Selections SYSTEM "sgml/gtkselection.sgml">
+<!entity gtk-Drag-and-Drop SYSTEM "sgml/gtkdnd.sgml">
+<!entity gtk-Menu-Factory SYSTEM "sgml/gtkmenufactory.sgml">
+<!entity gtk-Signals SYSTEM "sgml/gtksignal.sgml">
+<!entity gtk-Signal-Marshallers SYSTEM "sgml/gtkmarshal.sgml">
+<!entity gtk-Object-Properties SYSTEM "sgml/gtkarg.sgml">
+<!entity gtk-Types SYSTEM "sgml/gtktypeutils.sgml">
+<!entity gtk-Bindings SYSTEM "sgml/gtkbindings.sgml">
+<!entity gtk-Standard-Enumerations SYSTEM "sgml/gtkenums.sgml">
+<!entity gtk-Debugging SYSTEM "sgml/gtkdebug.sgml">
+<!entity gtk-Private-Information SYSTEM "sgml/gtkprivate.sgml">
+
+<!entity index-Object-Tree SYSTEM "sgml/tree_index.sgml">
+
+<!entity index-Objects-Grouped SYSTEM "objects_grouped.sgml">
+]>
+<book id="index">
+ <bookinfo>
+ <title>GTK+ Reference Manual</title>
+ </bookinfo>
+
+ <chapter id="gtk">
+ <title>GTK+ </title>
+ <para>
+GTK+ is a multi-platform open source GUI Toolkit. Everything about
+GTK+ from the object-oriented design to the Free Software LGPL
+licensing allows you to code your project with the most freedom
+possible. You can develop open software, free software, or even
+commercial non-free software without having to spend a dime for
+licenses or royalties.
+ </para>
+ <para>
+GTK+ is a set of libraries to create graphical user interfaces. It
+works on many Unix-like platforms, and a Windows version is in
+development. GTK+ is released under the GNU Library General Public
+License (GNU LGPL), which allows for flexible licensing of client
+applications. GTK+ has a C-based object-oriented architecture that
+allows for maximum flexibility. Bindings for other languages have
+been written, including C++, Objective-C, Guile/Scheme, Perl, Python,
+TOM, Ada95, Free Pascal, and Eiffel.
+ </para>
+ <para>
+GTK+ consists of the following component libraries:
+<variablelist>
+
+<varlistentry>
+<term>GLib</term>
+<listitem><para>
+Provides many useful data types, macros, type conversions,
+string utilities and a lexical scanner. Includes Win32 support.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>GDK</term>
+<listitem><para>
+A wrapper for low-level windowing functions.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>GTK+</term>
+<listitem><para>
+An advanced widget set.
+</para></listitem>
+</varlistentry>
+</variablelist>
+ </para>
+
+ &gtk-General;
+ &gtk-Feature-Test-Macros;
+ &gtk-Graphics-Contexts;
+ &gtk-Styles;
+ &gtk-Themes;
+ &gtk-Resource-Files;
+ &gtk-Keyboard-Accelerators;
+ &gtk-Selections;
+ &gtk-Drag-and-Drop;
+ &gtk-Menu-Factory;
+ &gtk-Signals;
+ &gtk-Signal-Marshallers;
+ &gtk-Object-Properties;
+ &gtk-Types;
+ &gtk-Bindings;
+ &gtk-Standard-Enumerations;
+ &gtk-Debugging;
+ &gtk-Private-Information;
+ </chapter>
+
+ <chapter id="gtkobjects">
+ <title>GTK+ Widgets and Objects</title>
+ &index-Objects-Grouped;
+
+ &GtkAccelLabel;
+ &GtkAdjustment;
+ &GtkAlignment;
+ &GtkArrow;
+ &GtkAspectFrame;
+ &GtkButtonBox;
+ &GtkBin;
+ &GtkBox;
+ &GtkButton;
+ &GtkCalendar;
+ &GtkCheckButton;
+ &GtkCheckMenuItem;
+ &GtkCList;
+ &GtkColorSelection;
+ &GtkColorSelectionDialog;
+ &GtkCombo;
+ &GtkContainer;
+ &GtkCTree;
+ &GtkCurve;
+ &GtkData;
+ &GtkDialog;
+ &GtkDrawingArea;
+ &GtkEditable;
+ &GtkEntry;
+ &GtkEventBox;
+ &GtkFileSelection;
+ &GtkFixed;
+ &GtkFontSelection;
+ &GtkFontSelectionDialog;
+ &GtkFrame;
+ &GtkGammaCurve;
+ &GtkHandleBox;
+ &GtkHButtonBox;
+ &GtkHBox;
+ &GtkHPaned;
+ &GtkHRuler;
+ &GtkHScale;
+ &GtkHScrollbar;
+ &GtkHSeparator;
+ &GtkImage;
+ &GtkInputDialog;
+ &GtkInvisible;
+ &GtkItem;
+ &GtkItemFactory;
+ &GtkLabel;
+ &GtkLayout;
+ &GtkList;
+ &GtkListItem;
+ &GtkMenu;
+ &GtkMenuBar;
+ &GtkMenuItem;
+ &GtkMenuShell;
+ &GtkMisc;
+ &GtkNotebook;
+ &GtkObject;
+ &GtkOptionMenu;
+ &GtkPacker;
+ &GtkPaned;
+ &GtkPixmap;
+ &GtkPlug;
+ &GtkPreview;
+ &GtkProgress;
+ &GtkProgressBar;
+ &GtkRadioButton;
+ &GtkRadioMenuItem;
+ &GtkRange;
+ &GtkRuler;
+ &GtkScale;
+ &GtkScrollbar;
+ &GtkScrolledWindow;
+ &GtkSeparator;
+ &GtkSocket;
+ &GtkSpinButton;
+ &GtkStatusbar;
+ &GtkTable;
+ &GtkTearoffMenuItem;
+ &GtkText;
+ &GtkTipsQuery;
+ &GtkToggleButton;
+ &GtkToolbar;
+ &GtkTooltips;
+ &GtkTree;
+ &GtkTreeItem;
+ &GtkVButtonBox;
+ &GtkVBox;
+ &GtkViewport;
+ &GtkVPaned;
+ &GtkVRuler;
+ &GtkVScale;
+ &GtkVScrollbar;
+ &GtkVSeparator;
+ &GtkWidget;
+ &GtkWindow;
+ </chapter>
+
+ <chapter id="gtk-index">
+ <title>Index</title>
+ <sect1>
+ <title>Object Hierarchy</title>
+ &index-Object-Tree;
+ </sect1>
+ </chapter>
+</book>
diff --git a/docs/reference/gtk/gtk-overrides.txt b/docs/reference/gtk/gtk-overrides.txt
new file mode 100644
index 000000000..485996d6e
--- /dev/null
+++ b/docs/reference/gtk/gtk-overrides.txt
@@ -0,0 +1,19 @@
+# These are manually-edited to override or add declarations to those scanned
+# from the GTK header files.
+
+# These haven't been given parameter names in the header files.
+<USER_FUNCTION>
+<NAME>GtkArgGetFunc</NAME>
+<RETURNS>void</RETURNS>
+GtkObject *object,
+GtkArg *arg,
+guint arg_id
+</USER_FUNCTION>
+
+<USER_FUNCTION>
+<NAME>GtkArgSetFunc</NAME>
+<RETURNS>void</RETURNS>
+GtkObject *object,
+GtkArg *arg,
+guint arg_id
+</USER_FUNCTION>
diff --git a/docs/reference/gtk/gtk-sections.txt b/docs/reference/gtk/gtk-sections.txt
new file mode 100644
index 000000000..b5be4c6e6
--- /dev/null
+++ b/docs/reference/gtk/gtk-sections.txt
@@ -0,0 +1,2955 @@
+
+<INCLUDE>gtk/gtk.h</INCLUDE>
+
+<SECTION>
+<FILE>gtkaccellabel</FILE>
+<TITLE>GtkAccelLabel</TITLE>
+GtkAccelLabel
+gtk_accel_label_new
+gtk_accel_label_set_accel_widget
+gtk_accel_label_get_accel_width
+gtk_accel_label_refetch
+<SUBSECTION Standard>
+GTK_ACCEL_LABEL
+GTK_IS_ACCEL_LABEL
+GTK_TYPE_ACCEL_LABEL
+gtk_accel_label_get_type
+GTK_ACCEL_LABEL_CLASS
+GTK_IS_ACCEL_LABEL_CLASS
+<SUBSECTION Private>
+gtk_accel_label_accelerator_width
+</SECTION>
+
+<SECTION>
+<FILE>gtkadjustment</FILE>
+<TITLE>GtkAdjustment</TITLE>
+GtkAdjustment
+gtk_adjustment_new
+gtk_adjustment_set_value
+gtk_adjustment_clamp_page
+gtk_adjustment_changed
+gtk_adjustment_value_changed
+<SUBSECTION Standard>
+GTK_ADJUSTMENT
+GTK_IS_ADJUSTMENT
+GTK_TYPE_ADJUSTMENT
+gtk_adjustment_get_type
+GTK_ADJUSTMENT_CLASS
+GTK_IS_ADJUSTMENT_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkalignment</FILE>
+<TITLE>GtkAlignment</TITLE>
+GtkAlignment
+gtk_alignment_new
+gtk_alignment_set
+<SUBSECTION Standard>
+GTK_ALIGNMENT
+GTK_IS_ALIGNMENT
+GTK_TYPE_ALIGNMENT
+gtk_alignment_get_type
+GTK_ALIGNMENT_CLASS
+GTK_IS_ALIGNMENT_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkarrow</FILE>
+<TITLE>GtkArrow</TITLE>
+GtkArrow
+gtk_arrow_new
+gtk_arrow_set
+<SUBSECTION Standard>
+GTK_ARROW
+GTK_IS_ARROW
+GTK_TYPE_ARROW
+gtk_arrow_get_type
+GTK_ARROW_CLASS
+GTK_IS_ARROW_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkaspectframe</FILE>
+<TITLE>GtkAspectFrame</TITLE>
+GtkAspectFrame
+gtk_aspect_frame_new
+gtk_aspect_frame_set
+<SUBSECTION Standard>
+GTK_ASPECT_FRAME
+GTK_IS_ASPECT_FRAME
+GTK_TYPE_ASPECT_FRAME
+gtk_aspect_frame_get_type
+GTK_ASPECT_FRAME_CLASS
+GTK_IS_ASPECT_FRAME_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkbbox</FILE>
+<TITLE>GtkButtonBox</TITLE>
+GtkButtonBox
+GTK_BUTTONBOX_DEFAULT
+gtk_button_box_get_child_size_default
+gtk_button_box_get_child_ipadding_default
+gtk_button_box_set_child_size_default
+gtk_button_box_set_child_ipadding_default
+gtk_button_box_get_spacing
+gtk_button_box_get_layout
+gtk_button_box_get_child_size
+gtk_button_box_get_child_ipadding
+gtk_button_box_set_spacing
+gtk_button_box_set_layout
+gtk_button_box_set_child_size
+gtk_button_box_set_child_ipadding
+gtk_button_box_child_requisition
+<SUBSECTION Standard>
+GTK_BUTTON_BOX
+GTK_IS_BUTTON_BOX
+GTK_TYPE_BUTTON_BOX
+gtk_button_box_get_type
+GTK_BUTTON_BOX_CLASS
+GTK_IS_BUTTON_BOX_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkbin</FILE>
+<TITLE>GtkBin</TITLE>
+GtkBin
+<SUBSECTION Standard>
+GTK_BIN
+GTK_IS_BIN
+GTK_TYPE_BIN
+gtk_bin_get_type
+GTK_BIN_CLASS
+GTK_IS_BIN_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkbox</FILE>
+<TITLE>GtkBox</TITLE>
+GtkBox
+GtkBoxChild
+gtk_box_pack_start
+gtk_box_pack_end
+gtk_box_pack_start_defaults
+gtk_box_pack_end_defaults
+gtk_box_set_homogeneous
+gtk_box_set_spacing
+gtk_box_reorder_child
+gtk_box_query_child_packing
+gtk_box_set_child_packing
+<SUBSECTION Standard>
+GTK_BOX
+GTK_IS_BOX
+GTK_TYPE_BOX
+gtk_box_get_type
+GTK_BOX_CLASS
+GTK_IS_BOX_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkbutton</FILE>
+<TITLE>GtkButton</TITLE>
+GtkButton
+gtk_button_new
+gtk_button_new_with_label
+gtk_button_pressed
+gtk_button_released
+gtk_button_clicked
+gtk_button_enter
+gtk_button_leave
+gtk_button_set_relief
+gtk_button_get_relief
+<SUBSECTION Standard>
+GTK_BUTTON
+GTK_IS_BUTTON
+GTK_TYPE_BUTTON
+gtk_button_get_type
+GTK_BUTTON_CLASS
+GTK_IS_BUTTON_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkcalendar</FILE>
+GtkCalendar
+GtkCalendarDisplayOptions
+<TITLE>GtkCalendar</TITLE>
+gtk_calendar_new
+gtk_calendar_select_month
+gtk_calendar_select_day
+gtk_calendar_mark_day
+gtk_calendar_unmark_day
+gtk_calendar_clear_marks
+gtk_calendar_display_options
+gtk_calendar_get_date
+gtk_calendar_freeze
+gtk_calendar_thaw
+<SUBSECTION Standard>
+GTK_CALENDAR
+GTK_IS_CALENDAR
+GTK_TYPE_CALENDAR
+gtk_calendar_get_type
+GTK_CALENDAR_CLASS
+GTK_IS_CALENDAR_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkcheckbutton</FILE>
+GtkCheckButton
+<TITLE>GtkCheckButton</TITLE>
+gtk_check_button_new
+gtk_check_button_new_with_label
+<SUBSECTION Standard>
+GTK_CHECK_BUTTON
+GTK_IS_CHECK_BUTTON
+GTK_TYPE_CHECK_BUTTON
+gtk_check_button_get_type
+GTK_CHECK_BUTTON_CLASS
+GTK_IS_CHECK_BUTTON_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkcheckmenuitem</FILE>
+GtkCheckMenuItem
+<TITLE>GtkCheckMenuItem</TITLE>
+gtk_check_menu_item_new
+gtk_check_menu_item_new_with_label
+gtk_check_menu_item_set_state
+gtk_check_menu_item_set_active
+gtk_check_menu_item_set_show_toggle
+gtk_check_menu_item_toggled
+<SUBSECTION Standard>
+GTK_CHECK_MENU_ITEM
+GTK_IS_CHECK_MENU_ITEM
+GTK_TYPE_CHECK_MENU_ITEM
+gtk_check_menu_item_get_type
+GTK_CHECK_MENU_ITEM_CLASS
+GTK_IS_CHECK_MENU_ITEM_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkclist</FILE>
+GtkCList
+GtkCellType
+GtkButtonAction
+GTK_CLIST_FLAGS
+GTK_CLIST_SET_FLAG
+GTK_CLIST_UNSET_FLAG
+GTK_CLIST_IN_DRAG
+GTK_CLIST_ROW_HEIGHT_SET
+GTK_CLIST_SHOW_TITLES
+GTK_CLIST_CHILD_HAS_FOCUS
+GTK_CLIST_ADD_MODE
+GTK_CLIST_AUTO_SORT
+GTK_CLIST_AUTO_RESIZE_BLOCKED
+GTK_CLIST_REORDERABLE
+GTK_CLIST_USE_DRAG_ICONS
+GTK_CLIST_DRAW_DRAG_LINE
+GTK_CLIST_DRAW_DRAG_RECT
+GTK_CLIST_ROW
+GTK_CELL_TEXT
+GTK_CELL_PIXMAP
+GTK_CELL_PIXTEXT
+GTK_CELL_WIDGET
+GtkCListCompareFunc
+<TITLE>GtkCList</TITLE>
+GtkCListColumn
+GtkCListRow
+GtkCellText
+GtkCellPixmap
+GtkCellPixText
+GtkCellWidget
+GtkCell
+GtkCListCellInfo
+GtkCListDestInfo
+GtkCListDragPos
+gtk_clist_construct
+gtk_clist_new
+gtk_clist_new_with_titles
+gtk_clist_set_shadow_type
+gtk_clist_set_selection_mode
+gtk_clist_freeze
+gtk_clist_thaw
+gtk_clist_column_titles_show
+gtk_clist_column_titles_hide
+gtk_clist_column_title_active
+gtk_clist_column_title_passive
+gtk_clist_column_titles_active
+gtk_clist_column_titles_passive
+gtk_clist_set_column_title
+gtk_clist_set_column_widget
+gtk_clist_set_column_justification
+gtk_clist_set_column_visibility
+gtk_clist_set_column_resizeable
+gtk_clist_set_column_auto_resize
+gtk_clist_optimal_column_width
+gtk_clist_set_column_width
+gtk_clist_set_column_min_width
+gtk_clist_set_column_max_width
+gtk_clist_set_row_height
+gtk_clist_moveto
+gtk_clist_row_is_visible
+gtk_clist_get_cell_type
+gtk_clist_set_text
+gtk_clist_get_text
+gtk_clist_set_pixmap
+gtk_clist_get_pixmap
+gtk_clist_set_pixtext
+gtk_clist_get_pixtext
+gtk_clist_set_foreground
+gtk_clist_set_background
+gtk_clist_set_cell_style
+gtk_clist_get_cell_style
+gtk_clist_set_row_style
+gtk_clist_get_row_style
+gtk_clist_set_shift
+gtk_clist_set_selectable
+gtk_clist_get_selectable
+gtk_clist_prepend
+gtk_clist_append
+gtk_clist_insert
+gtk_clist_remove
+gtk_clist_set_row_data
+gtk_clist_set_row_data_full
+gtk_clist_get_row_data
+gtk_clist_find_row_from_data
+gtk_clist_select_row
+gtk_clist_unselect_row
+gtk_clist_undo_selection
+gtk_clist_clear
+gtk_clist_get_selection_info
+gtk_clist_select_all
+gtk_clist_unselect_all
+gtk_clist_swap_rows
+gtk_clist_set_compare_func
+gtk_clist_set_sort_column
+gtk_clist_set_sort_type
+gtk_clist_sort
+gtk_clist_set_auto_sort
+gtk_clist_columns_autosize
+gtk_clist_get_column_title
+gtk_clist_get_column_widget
+gtk_clist_get_hadjustment
+gtk_clist_get_vadjustment
+gtk_clist_row_move
+gtk_clist_set_button_actions
+gtk_clist_set_hadjustment
+gtk_clist_set_reorderable
+gtk_clist_set_use_drag_icons
+gtk_clist_set_vadjustment
+<SUBSECTION Standard>
+GTK_CLIST
+GTK_IS_CLIST
+GTK_TYPE_CLIST
+gtk_clist_get_type
+GTK_CLIST_CLASS
+GTK_IS_CLIST_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkcolorsel</FILE>
+GtkColorSelection
+<TITLE>GtkColorSelection</TITLE>
+gtk_color_selection_new
+gtk_color_selection_set_update_policy
+gtk_color_selection_set_opacity
+gtk_color_selection_set_color
+gtk_color_selection_get_color
+<SUBSECTION Standard>
+GTK_COLOR_SELECTION
+GTK_IS_COLOR_SELECTION
+gtk_color_selection_get_type
+GTK_COLOR_SELECTION_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkcolorseldlg</FILE>
+GtkColorSelectionDialog
+<TITLE>GtkColorSelectionDialog</TITLE>
+gtk_color_selection_dialog_new
+<SUBSECTION Standard>
+GTK_COLOR_SELECTION_DIALOG
+GTK_IS_COLOR_SELECTION_DIALOG
+gtk_color_selection_dialog_get_type
+GTK_COLOR_SELECTION_DIALOG_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkcombo</FILE>
+GtkCombo
+<TITLE>GtkCombo</TITLE>
+gtk_combo_new
+gtk_combo_set_value_in_list
+gtk_combo_set_use_arrows
+gtk_combo_set_use_arrows_always
+gtk_combo_set_case_sensitive
+gtk_combo_set_item_string
+gtk_combo_set_popdown_strings
+gtk_combo_disable_activate
+<SUBSECTION Standard>
+GTK_COMBO
+GTK_IS_COMBO
+gtk_combo_get_type
+GTK_COMBO_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkcontainer</FILE>
+GtkContainer
+GTK_IS_RESIZE_CONTAINER
+<TITLE>GtkContainer</TITLE>
+gtk_container_border_width
+gtk_container_add
+gtk_container_remove
+gtk_container_set_resize_mode
+gtk_container_check_resize
+gtk_container_foreach
+gtk_container_foreach_full
+gtk_container_children
+gtk_container_focus
+gtk_container_set_focus_child
+gtk_container_set_focus_vadjustment
+gtk_container_set_focus_hadjustment
+gtk_container_register_toplevel
+gtk_container_unregister_toplevel
+gtk_container_resize_children
+gtk_container_child_type
+gtk_container_add_child_arg_type
+gtk_container_query_child_args
+gtk_container_child_getv
+gtk_container_child_setv
+gtk_container_add_with_args
+gtk_container_addv
+gtk_container_child_set
+gtk_container_queue_resize
+gtk_container_clear_resize_widgets
+gtk_container_arg_set
+gtk_container_arg_get
+gtk_container_child_args_collect
+gtk_container_child_arg_get_info
+gtk_container_forall
+gtk_container_child_composite_name
+gtk_container_get_toplevels
+gtk_container_set_border_width
+<SUBSECTION Standard>
+GTK_CONTAINER
+GTK_IS_CONTAINER
+GTK_TYPE_CONTAINER
+gtk_container_get_type
+GTK_CONTAINER_CLASS
+GTK_IS_CONTAINER_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkctree</FILE>
+GtkCTree
+GTK_CTREE_ROW
+GTK_CTREE_NODE
+GTK_CTREE_NODE_NEXT
+GTK_CTREE_NODE_PREV
+GTK_CTREE_FUNC
+GtkCTreePos
+GtkCTreeLineStyle
+GtkCTreeExpanderStyle
+GtkCTreeExpansionType
+GtkCTreeFunc
+GtkCTreeGNodeFunc
+GtkCTreeCompareDragFunc
+<TITLE>GtkCTree</TITLE>
+GtkCTreeRow
+GtkCTreeNode
+gtk_ctree_construct
+gtk_ctree_new_with_titles
+gtk_ctree_new
+gtk_ctree_insert_node
+gtk_ctree_remove_node
+gtk_ctree_insert_gnode
+gtk_ctree_export_to_gnode
+gtk_ctree_post_recursive
+gtk_ctree_post_recursive_to_depth
+gtk_ctree_pre_recursive
+gtk_ctree_pre_recursive_to_depth
+gtk_ctree_is_viewable
+gtk_ctree_last
+gtk_ctree_find_node_ptr
+gtk_ctree_find
+gtk_ctree_is_ancestor
+gtk_ctree_find_by_row_data
+gtk_ctree_find_all_by_row_data
+gtk_ctree_find_by_row_data_custom
+gtk_ctree_find_all_by_row_data_custom
+gtk_ctree_is_hot_spot
+gtk_ctree_move
+gtk_ctree_expand
+gtk_ctree_expand_recursive
+gtk_ctree_expand_to_depth
+gtk_ctree_collapse
+gtk_ctree_collapse_recursive
+gtk_ctree_collapse_to_depth
+gtk_ctree_toggle_expansion
+gtk_ctree_toggle_expansion_recursive
+gtk_ctree_select
+gtk_ctree_select_recursive
+gtk_ctree_unselect
+gtk_ctree_unselect_recursive
+gtk_ctree_real_select_recursive
+gtk_ctree_node_set_text
+gtk_ctree_node_set_pixmap
+gtk_ctree_node_set_pixtext
+gtk_ctree_set_node_info
+gtk_ctree_node_set_shift
+gtk_ctree_node_set_selectable
+gtk_ctree_node_get_selectable
+gtk_ctree_node_get_cell_type
+gtk_ctree_node_get_text
+gtk_ctree_node_get_pixmap
+gtk_ctree_node_get_pixtext
+gtk_ctree_get_node_info
+gtk_ctree_node_set_row_style
+gtk_ctree_node_get_row_style
+gtk_ctree_node_set_cell_style
+gtk_ctree_node_get_cell_style
+gtk_ctree_node_set_foreground
+gtk_ctree_node_set_background
+gtk_ctree_node_set_row_data
+gtk_ctree_node_set_row_data_full
+gtk_ctree_node_get_row_data
+gtk_ctree_node_moveto
+gtk_ctree_node_is_visible
+gtk_ctree_set_indent
+gtk_ctree_set_spacing
+gtk_ctree_set_reorderable
+gtk_ctree_set_line_style
+gtk_ctree_set_expander_style
+gtk_ctree_set_drag_compare_func
+gtk_ctree_sort_node
+gtk_ctree_sort_recursive
+gtk_ctree_node_nth
+gtk_ctree_set_show_stub
+<SUBSECTION Standard>
+GTK_CTREE
+GTK_IS_CTREE
+GTK_TYPE_CTREE
+gtk_ctree_get_type
+GTK_CTREE_CLASS
+GTK_IS_CTREE_CLASS
+</SECTION>
+
+<SECTION>
+GtkCurve
+<FILE>gtkcurve</FILE>
+<TITLE>GtkCurve</TITLE>
+gtk_curve_new
+gtk_curve_reset
+gtk_curve_set_gamma
+gtk_curve_set_range
+gtk_curve_get_vector
+gtk_curve_set_vector
+gtk_curve_set_curve_type
+<SUBSECTION Standard>
+GTK_CURVE
+GTK_IS_CURVE
+GTK_TYPE_CURVE
+gtk_curve_get_type
+GTK_CURVE_CLASS
+GTK_IS_CURVE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkdata</FILE>
+GtkData
+<TITLE>GtkData</TITLE>
+<SUBSECTION Standard>
+GTK_DATA
+GTK_IS_DATA
+GTK_TYPE_DATA
+gtk_data_get_type
+GTK_DATA_CLASS
+GTK_IS_DATA_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkdialog</FILE>
+GtkDialog
+<TITLE>GtkDialog</TITLE>
+GtkDialogButton
+gtk_dialog_new
+<SUBSECTION Standard>
+GTK_DIALOG
+GTK_IS_DIALOG
+GTK_TYPE_DIALOG
+gtk_dialog_get_type
+GTK_DIALOG_CLASS
+GTK_IS_DIALOG_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkdrawingarea</FILE>
+<TITLE>GtkDrawingArea</TITLE>
+GtkDrawingArea
+gtk_drawing_area_new
+gtk_drawing_area_size
+<SUBSECTION Standard>
+GTK_DRAWING_AREA
+GTK_IS_DRAWING_AREA
+gtk_drawing_area_get_type
+GTK_DRAWING_AREA_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkeditable</FILE>
+GtkEditable
+GtkTextFunction
+<TITLE>GtkEditable</TITLE>
+gtk_editable_select_region
+gtk_editable_insert_text
+gtk_editable_delete_text
+gtk_editable_get_chars
+gtk_editable_cut_clipboard
+gtk_editable_copy_clipboard
+gtk_editable_paste_clipboard
+gtk_editable_claim_selection
+gtk_editable_delete_selection
+gtk_editable_changed
+gtk_editable_set_position
+gtk_editable_get_position
+gtk_editable_set_editable
+<SUBSECTION Standard>
+GTK_EDITABLE
+GTK_IS_EDITABLE
+GTK_TYPE_EDITABLE
+gtk_editable_get_type
+GTK_EDITABLE_CLASS
+GTK_IS_EDITABLE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkentry</FILE>
+<TITLE>GtkEntry</TITLE>
+GtkEntry
+gtk_entry_new
+gtk_entry_new_with_max_length
+gtk_entry_set_text
+gtk_entry_append_text
+gtk_entry_prepend_text
+gtk_entry_set_position
+gtk_entry_get_text
+gtk_entry_select_region
+gtk_entry_set_visibility
+gtk_entry_set_editable
+gtk_entry_set_max_length
+<SUBSECTION Standard>
+GTK_ENTRY
+GTK_IS_ENTRY
+GTK_TYPE_ENTRY
+gtk_entry_get_type
+GTK_ENTRY_CLASS
+GTK_IS_ENTRY_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkeventbox</FILE>
+<TITLE>GtkEventBox</TITLE>
+GtkEventBox
+gtk_event_box_new
+<SUBSECTION Standard>
+GTK_EVENT_BOX
+GTK_IS_EVENT_BOX
+GTK_TYPE_EVENT_BOX
+gtk_event_box_get_type
+GTK_EVENT_BOX_CLASS
+GTK_IS_EVENT_BOX_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkfilesel</FILE>
+<TITLE>GtkFileSelection</TITLE>
+GtkFileSelection
+gtk_file_selection_new
+gtk_file_selection_set_filename
+gtk_file_selection_get_filename
+gtk_file_selection_complete
+gtk_file_selection_show_fileop_buttons
+gtk_file_selection_hide_fileop_buttons
+<SUBSECTION Standard>
+GTK_FILE_SELECTION
+GTK_IS_FILE_SELECTION
+GTK_TYPE_FILE_SELECTION
+gtk_file_selection_get_type
+GTK_FILE_SELECTION_CLASS
+GTK_IS_FILE_SELECTION_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkfixed</FILE>
+<TITLE>GtkFixed</TITLE>
+GtkFixed
+GtkFixedChild
+gtk_fixed_new
+gtk_fixed_put
+gtk_fixed_move
+<SUBSECTION Standard>
+GTK_FIXED
+GTK_IS_FIXED
+GTK_TYPE_FIXED
+gtk_fixed_get_type
+GTK_FIXED_CLASS
+GTK_IS_FIXED_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkfontsel</FILE>
+<TITLE>GtkFontSelection</TITLE>
+GtkFontSelection
+gtk_font_selection_new
+gtk_font_selection_get_font
+gtk_font_selection_get_font_name
+gtk_font_selection_set_font_name
+gtk_font_selection_get_preview_text
+gtk_font_selection_set_preview_text
+gtk_font_selection_set_filter
+
+<SUBSECTION Standard>
+GTK_FONT_SELECTION
+GTK_IS_FONT_SELECTION
+GTK_TYPE_FONT_SELECTION
+gtk_font_selection_get_type
+GTK_FONT_SELECTION_CLASS
+GTK_IS_FONT_SELECTION_CLASS
+<SUBSECTION Private>
+GTK_NUM_FONT_PROPERTIES
+GTK_NUM_STYLE_PROPERTIES
+GTK_NUM_FONT_FILTERS
+GtkFontMetricType
+GtkFontFilter
+</SECTION>
+
+<SECTION>
+<FILE>gtkfontseldlg</FILE>
+<TITLE>GtkFontSelectionDialog</TITLE>
+GtkFontSelectionDialog
+gtk_font_selection_dialog_new
+gtk_font_selection_dialog_get_font
+gtk_font_selection_dialog_get_font_name
+gtk_font_selection_dialog_set_font_name
+gtk_font_selection_dialog_get_preview_text
+gtk_font_selection_dialog_set_preview_text
+gtk_font_selection_dialog_set_filter
+GtkFontType
+GtkFontFilterType
+
+<SUBSECTION Standard>
+GTK_FONT_SELECTION_DIALOG
+GTK_IS_FONT_SELECTION_DIALOG
+GTK_TYPE_FONT_SELECTION_DIALOG
+gtk_font_selection_dialog_get_type
+GTK_FONT_SELECTION_DIALOG_CLASS
+GTK_IS_FONT_SELECTION_DIALOG_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkframe</FILE>
+<TITLE>GtkFrame</TITLE>
+GtkFrame
+gtk_frame_new
+gtk_frame_set_label
+gtk_frame_set_label_align
+gtk_frame_set_shadow_type
+<SUBSECTION Standard>
+GTK_FRAME
+GTK_IS_FRAME
+GTK_TYPE_FRAME
+gtk_frame_get_type
+GTK_FRAME_CLASS
+GTK_IS_FRAME_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkgamma</FILE>
+<TITLE>GtkGammaCurve</TITLE>
+GtkGammaCurve
+gtk_gamma_curve_new
+<SUBSECTION Standard>
+GTK_GAMMA_CURVE
+GTK_IS_GAMMA_CURVE
+gtk_gamma_curve_get_type
+GTK_GAMMA_CURVE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkhandlebox</FILE>
+<TITLE>GtkHandleBox</TITLE>
+GtkHandleBox
+gtk_handle_box_new
+gtk_handle_box_set_shadow_type
+gtk_handle_box_set_handle_position
+gtk_handle_box_set_snap_edge
+<SUBSECTION Standard>
+GTK_HANDLE_BOX
+GTK_IS_HANDLE_BOX
+gtk_handle_box_get_type
+GTK_HANDLE_BOX_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkhbbox</FILE>
+<TITLE>GtkHButtonBox</TITLE>
+GtkHButtonBox
+gtk_hbutton_box_new
+gtk_hbutton_box_get_spacing_default
+gtk_hbutton_box_get_layout_default
+gtk_hbutton_box_set_spacing_default
+gtk_hbutton_box_set_layout_default
+<SUBSECTION Standard>
+GTK_HBUTTON_BOX
+GTK_IS_HBUTTON_BOX
+gtk_hbutton_box_get_type
+GTK_HBUTTON_BOX_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkhbox</FILE>
+<TITLE>GtkHBox</TITLE>
+GtkHBox
+gtk_hbox_new
+<SUBSECTION Standard>
+GTK_HBOX
+GTK_IS_HBOX
+GTK_TYPE_HBOX
+gtk_hbox_get_type
+GTK_HBOX_CLASS
+GTK_IS_HBOX_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkhpaned</FILE>
+<TITLE>GtkHPaned</TITLE>
+GtkHPaned
+gtk_hpaned_new
+<SUBSECTION Standard>
+GTK_HPANED
+GTK_IS_HPANED
+gtk_hpaned_get_type
+GTK_HPANED_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkhruler</FILE>
+<TITLE>GtkHRuler</TITLE>
+GtkHRuler
+gtk_hruler_new
+<SUBSECTION Standard>
+GTK_HRULER
+GTK_IS_HRULER
+gtk_hruler_get_type
+GTK_HRULER_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkhscale</FILE>
+<TITLE>GtkHScale</TITLE>
+GtkHScale
+gtk_hscale_new
+<SUBSECTION Standard>
+GTK_HSCALE
+GTK_TYPE_HSCALE
+GTK_IS_HSCALE
+GTK_IS_HSCALE_CLASS
+gtk_hscale_get_type
+GTK_HSCALE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkhscrollbar</FILE>
+<TITLE>GtkHScrollbar</TITLE>
+GtkHScrollbar
+gtk_hscrollbar_new
+<SUBSECTION Standard>
+GTK_HSCROLLBAR
+GTK_TYPE_HSCROLLBAR
+GTK_IS_HSCROLLBAR
+GTK_IS_HSCROLLBAR_CLASS
+gtk_hscrollbar_get_type
+GTK_HSCROLLBAR_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkhseparator</FILE>
+<TITLE>GtkHSeparator</TITLE>
+GtkHSeparator
+gtk_hseparator_new
+<SUBSECTION Standard>
+GTK_HSEPARATOR
+GTK_IS_HSEPARATOR
+GTK_TYPE_HSEPARATOR
+gtk_hseparator_get_type
+GTK_HSEPARATOR_CLASS
+GTK_IS_HSEPARATOR_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkimage</FILE>
+<TITLE>GtkImage</TITLE>
+GtkImage
+gtk_image_new
+gtk_image_set
+gtk_image_get
+<SUBSECTION Standard>
+GTK_IMAGE
+GTK_TYPE_IMAGE
+GTK_IS_IMAGE
+GTK_IS_IMAGE_CLASS
+gtk_image_get_type
+GTK_IMAGE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkinputdialog</FILE>
+<TITLE>GtkInputDialog</TITLE>
+GtkInputDialog
+gtk_input_dialog_new
+<SUBSECTION Standard>
+GTK_INPUT_DIALOG
+GTK_TYPE_INPUT_DIALOG
+GTK_IS_INPUT_DIALOG
+GTK_IS_INPUT_DIALOG_CLASS
+gtk_input_dialog_get_type
+GTK_INPUT_DIALOG_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkinvisible</FILE>
+<TITLE>GtkInvisible</TITLE>
+GtkInvisible
+gtk_invisible_new
+<SUBSECTION Standard>
+GTK_INVISIBLE
+GTK_IS_INVISIBLE
+GTK_TYPE_INVISIBLE
+gtk_invisible_get_type
+GTK_INVISIBLE_CLASS
+GTK_IS_INVISIBLE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkitem</FILE>
+<TITLE>GtkItem</TITLE>
+GtkItem
+gtk_item_select
+gtk_item_deselect
+gtk_item_toggle
+<SUBSECTION Standard>
+GTK_ITEM
+GTK_IS_ITEM
+GTK_TYPE_ITEM
+gtk_item_get_type
+GTK_ITEM_CLASS
+GTK_IS_ITEM_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkitemfactory</FILE>
+GtkItemFactory
+GtkPrintFunc
+GtkTranslateFunc
+GtkItemFactoryCallback
+GtkItemFactoryCallback1
+GtkItemFactoryCallback2
+<TITLE>GtkItemFactory</TITLE>
+GtkItemFactoryEntry
+GtkItemFactoryItem
+gtk_item_factory_new
+gtk_item_factory_construct
+gtk_item_factory_parse_rc
+gtk_item_factory_parse_rc_string
+gtk_item_factory_parse_rc_scanner
+gtk_item_factory_from_widget
+gtk_item_factory_path_from_widget
+gtk_item_factory_get_widget
+gtk_item_factory_get_widget_by_action
+gtk_item_factory_dump_items
+gtk_item_factory_dump_rc
+gtk_item_factory_print_func
+gtk_item_factory_create_item
+gtk_item_factory_create_items
+gtk_item_factory_create_items_ac
+gtk_item_factory_delete_item
+gtk_item_factory_delete_entry
+gtk_item_factory_delete_entries
+gtk_item_factory_popup
+gtk_item_factory_popup_with_data
+gtk_item_factory_popup_data
+gtk_item_factory_popup_data_from_widget
+gtk_item_factory_from_path
+gtk_item_factory_create_menu_entries
+gtk_item_factories_path_delete
+gtk_item_factory_set_translate_func
+<SUBSECTION Standard>
+GTK_ITEM_FACTORY
+GTK_IS_ITEM_FACTORY
+GTK_TYPE_ITEM_FACTORY
+gtk_item_factory_get_type
+GTK_ITEM_FACTORY_CLASS
+GTK_IS_ITEM_FACTORY_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtklabel</FILE>
+<TITLE>GtkLabel</TITLE>
+GtkLabel
+GtkLabelWord
+gtk_label_new
+gtk_label_set
+gtk_label_set_pattern
+gtk_label_set_justify
+gtk_label_get
+gtk_label_parse_uline
+gtk_label_set_line_wrap
+gtk_label_set_text
+<SUBSECTION Standard>
+GTK_LABEL
+GTK_IS_LABEL
+GTK_TYPE_LABEL
+gtk_label_get_type
+GTK_LABEL_CLASS
+GTK_IS_LABEL_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtklayout</FILE>
+GtkLayout
+<TITLE>GtkLayout</TITLE>
+gtk_layout_new
+gtk_layout_put
+gtk_layout_move
+gtk_layout_set_size
+gtk_layout_freeze
+gtk_layout_thaw
+gtk_layout_get_hadjustment
+gtk_layout_get_vadjustment
+gtk_layout_set_hadjustment
+gtk_layout_set_vadjustment
+<SUBSECTION Standard>
+GTK_LAYOUT
+GTK_IS_LAYOUT
+GTK_TYPE_LAYOUT
+gtk_layout_get_type
+GTK_LAYOUT_CLASS
+GTK_IS_LAYOUT_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtklist</FILE>
+<TITLE>GtkList</TITLE>
+GtkList
+gtk_list_new
+gtk_list_insert_items
+gtk_list_append_items
+gtk_list_prepend_items
+gtk_list_remove_items
+gtk_list_remove_items_no_unref
+gtk_list_clear_items
+gtk_list_select_item
+gtk_list_unselect_item
+gtk_list_select_child
+gtk_list_unselect_child
+gtk_list_child_position
+gtk_list_set_selection_mode
+gtk_list_extend_selection
+gtk_list_start_selection
+gtk_list_end_selection
+gtk_list_select_all
+gtk_list_unselect_all
+gtk_list_scroll_horizontal
+gtk_list_scroll_vertical
+gtk_list_toggle_add_mode
+gtk_list_toggle_focus_row
+gtk_list_toggle_row
+gtk_list_undo_selection
+gtk_list_end_drag_selection
+<SUBSECTION Standard>
+GTK_LIST
+GTK_IS_LIST
+GTK_TYPE_LIST
+gtk_list_get_type
+GTK_LIST_CLASS
+GTK_IS_LIST_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtklistitem</FILE>
+<TITLE>GtkListItem</TITLE>
+GtkListItem
+gtk_list_item_new
+gtk_list_item_new_with_label
+gtk_list_item_select
+gtk_list_item_deselect
+<SUBSECTION Standard>
+GTK_LIST_ITEM
+GTK_IS_LIST_ITEM
+GTK_TYPE_LIST_ITEM
+gtk_list_item_get_type
+GTK_LIST_ITEM_CLASS
+GTK_IS_LIST_ITEM_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkmenu</FILE>
+GtkMenu
+<TITLE>GtkMenu</TITLE>
+gtk_menu_new
+gtk_menu_append
+gtk_menu_prepend
+gtk_menu_insert
+gtk_menu_reorder_child
+gtk_menu_popup
+gtk_menu_set_accel_group
+gtk_menu_set_title
+<SUBSECTION>
+gtk_menu_popdown
+gtk_menu_reposition
+gtk_menu_get_active
+gtk_menu_set_active
+gtk_menu_set_tearoff_state
+gtk_menu_attach_to_widget
+gtk_menu_detach
+gtk_menu_get_attach_widget
+GtkMenuPositionFunc
+GtkMenuDetachFunc
+<SUBSECTION Standard>
+GTK_MENU
+GTK_IS_MENU
+GTK_TYPE_MENU
+gtk_menu_get_type
+GTK_MENU_CLASS
+GTK_IS_MENU_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkmenubar</FILE>
+<TITLE>GtkMenuBar</TITLE>
+GtkMenuBar
+gtk_menu_bar_new
+gtk_menu_bar_append
+gtk_menu_bar_prepend
+gtk_menu_bar_insert
+gtk_menu_bar_set_shadow_type
+<SUBSECTION Standard>
+GTK_MENU_BAR
+GTK_IS_MENU_BAR
+GTK_TYPE_MENU_BAR
+gtk_menu_bar_get_type
+GTK_MENU_BAR_CLASS
+GTK_IS_MENU_BAR_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkmenuitem</FILE>
+<TITLE>GtkMenuItem</TITLE>
+GtkMenuItem
+gtk_menu_item_new
+gtk_menu_item_new_with_label
+gtk_menu_item_set_submenu
+gtk_menu_item_remove_submenu
+gtk_menu_item_set_placement
+gtk_menu_item_configure
+gtk_menu_item_select
+gtk_menu_item_deselect
+gtk_menu_item_activate
+gtk_menu_item_right_justify
+<SUBSECTION Standard>
+GTK_MENU_ITEM
+GTK_IS_MENU_ITEM
+GTK_TYPE_MENU_ITEM
+gtk_menu_item_get_type
+GTK_MENU_ITEM_CLASS
+GTK_IS_MENU_ITEM_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkmenushell</FILE>
+<TITLE>GtkMenuShell</TITLE>
+GtkMenuShell
+gtk_menu_shell_append
+gtk_menu_shell_prepend
+gtk_menu_shell_insert
+gtk_menu_shell_deactivate
+gtk_menu_shell_select_item
+gtk_menu_shell_activate_item
+GtkMenuDirectionType
+<SUBSECTION Standard>
+GTK_MENU_SHELL
+GTK_IS_MENU_SHELL
+GTK_TYPE_MENU_SHELL
+gtk_menu_shell_get_type
+GTK_MENU_SHELL_CLASS
+GTK_IS_MENU_SHELL_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkmisc</FILE>
+<TITLE>GtkMisc</TITLE>
+GtkMisc
+gtk_misc_set_alignment
+gtk_misc_set_padding
+<SUBSECTION Standard>
+GTK_MISC
+GTK_IS_MISC
+GTK_TYPE_MISC
+gtk_misc_get_type
+GTK_MISC_CLASS
+GTK_IS_MISC_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtknotebook</FILE>
+<TITLE>GtkNotebook</TITLE>
+GtkNotebook
+GTK_NOTEBOOK_PAGE
+GtkNotebookPage
+gtk_notebook_new
+gtk_notebook_append_page
+gtk_notebook_append_page_menu
+gtk_notebook_prepend_page
+gtk_notebook_prepend_page_menu
+gtk_notebook_insert_page
+gtk_notebook_insert_page_menu
+gtk_notebook_remove_page
+gtk_notebook_current_page
+gtk_notebook_page_num
+gtk_notebook_set_page
+gtk_notebook_next_page
+gtk_notebook_prev_page
+gtk_notebook_reorder_child
+gtk_notebook_set_tab_pos
+gtk_notebook_set_show_tabs
+gtk_notebook_set_show_border
+gtk_notebook_set_scrollable
+gtk_notebook_set_tab_border
+gtk_notebook_popup_enable
+gtk_notebook_popup_disable
+gtk_notebook_get_current_page
+gtk_notebook_get_menu_label
+gtk_notebook_get_nth_page
+gtk_notebook_get_tab_label
+gtk_notebook_query_tab_label_packing
+gtk_notebook_set_homogeneous_tabs
+gtk_notebook_set_menu_label
+gtk_notebook_set_menu_label_text
+gtk_notebook_set_tab_hborder
+gtk_notebook_set_tab_label
+gtk_notebook_set_tab_label_packing
+gtk_notebook_set_tab_label_text
+gtk_notebook_set_tab_vborder
+<SUBSECTION Standard>
+GTK_NOTEBOOK
+GTK_IS_NOTEBOOK
+GTK_TYPE_NOTEBOOK
+gtk_notebook_get_type
+GTK_NOTEBOOK_CLASS
+GTK_IS_NOTEBOOK_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkobject</FILE>
+GtkObject
+GTK_OBJECT_TYPE
+GTK_OBJECT_SIGNALS
+GTK_OBJECT_NSIGNALS
+GtkObjectFlags
+GTK_OBJECT_FLAGS
+GTK_OBJECT_DESTROYED
+GTK_OBJECT_FLOATING
+GTK_OBJECT_CONNECTED
+GTK_OBJECT_CONSTRUCTED
+GTK_OBJECT_SET_FLAGS
+GTK_OBJECT_UNSET_FLAGS
+GtkArgFlags
+<TITLE>GtkObject</TITLE>
+gtk_object_class_user_signal_new
+gtk_object_class_user_signal_newv
+gtk_object_new
+gtk_object_newv
+gtk_object_constructed
+gtk_object_default_construct
+gtk_object_sink
+gtk_object_ref
+gtk_object_unref
+gtk_object_weakref
+gtk_object_weakunref
+gtk_object_destroy
+gtk_object_getv
+gtk_object_set
+gtk_object_setv
+gtk_object_query_args
+gtk_object_set_data
+gtk_object_set_data_full
+gtk_object_remove_data
+gtk_object_get_data
+gtk_object_remove_no_notify
+gtk_object_set_user_data
+gtk_object_get_user_data
+gtk_object_class_add_signals
+gtk_object_add_arg_type
+gtk_object_set_data_by_id
+gtk_object_set_data_by_id_full
+gtk_object_get_data_by_id
+gtk_object_remove_data_by_id
+gtk_object_remove_no_notify_by_id
+gtk_object_data_try_key
+gtk_object_data_force_id
+gtk_object_arg_set
+gtk_object_arg_get
+gtk_object_args_collect
+gtk_object_arg_get_info
+gtk_trace_referencing
+<SUBSECTION Standard>
+GTK_OBJECT
+GTK_IS_OBJECT
+gtk_object_get_type
+GTK_OBJECT_CLASS
+GTK_IS_OBJECT_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkoptionmenu</FILE>
+<TITLE>GtkOptionMenu</TITLE>
+GtkOptionMenu
+gtk_option_menu_new
+gtk_option_menu_get_menu
+gtk_option_menu_set_menu
+gtk_option_menu_remove_menu
+gtk_option_menu_set_history
+<SUBSECTION Standard>
+GTK_OPTION_MENU
+GTK_IS_OPTION_MENU
+GTK_TYPE_OPTION_MENU
+gtk_option_menu_get_type
+GTK_OPTION_MENU_CLASS
+GTK_IS_OPTION_MENU_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkpacker</FILE>
+GtkPacker
+GtkPackerOptions
+GtkSideType
+GtkAnchorType
+GtkPackerChild
+<TITLE>GtkPacker</TITLE>
+gtk_packer_new
+gtk_packer_add_defaults
+gtk_packer_add
+gtk_packer_configure
+gtk_packer_reorder_child
+gtk_packer_set_spacing
+gtk_packer_set_default_border_width
+gtk_packer_set_default_pad
+gtk_packer_set_default_ipad
+gtk_packer_set_child_packing
+<SUBSECTION Standard>
+GTK_PACKER
+GTK_IS_PACKER
+GTK_TYPE_PACKER
+gtk_packer_get_type
+GTK_PACKER_CLASS
+GTK_IS_PACKER_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkpaned</FILE>
+<TITLE>GtkPaned</TITLE>
+GtkPaned
+gtk_paned_add1
+gtk_paned_add2
+gtk_paned_handle_size
+gtk_paned_gutter_size
+gtk_paned_compute_position
+gtk_paned_pack1
+gtk_paned_pack2
+gtk_paned_set_gutter_size
+gtk_paned_set_handle_size
+gtk_paned_set_position
+<SUBSECTION Standard>
+GTK_PANED
+GTK_IS_PANED
+GTK_TYPE_PANED
+gtk_paned_get_type
+GTK_PANED_CLASS
+GTK_IS_PANED_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkpixmap</FILE>
+<TITLE>GtkPixmap</TITLE>
+GtkPixmap
+gtk_pixmap_new
+gtk_pixmap_set
+gtk_pixmap_get
+gtk_pixmap_set_build_insensitive
+<SUBSECTION Standard>
+GTK_PIXMAP
+GTK_IS_PIXMAP
+GTK_TYPE_PIXMAP
+gtk_pixmap_get_type
+GTK_PIXMAP_CLASS
+GTK_IS_PIXMAP_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkplug</FILE>
+GtkPlug
+<TITLE>GtkPlug</TITLE>
+gtk_plug_construct
+gtk_plug_new
+<SUBSECTION Standard>
+GTK_PLUG
+GTK_IS_PLUG
+gtk_plug_get_type
+GTK_PLUG_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkpreview</FILE>
+GtkPreview
+GtkPreviewInfo
+GtkDitherInfo
+<TITLE>GtkPreview</TITLE>
+gtk_preview_uninit
+gtk_preview_new
+gtk_preview_size
+gtk_preview_put
+gtk_preview_draw_row
+gtk_preview_set_expand
+gtk_preview_set_gamma
+gtk_preview_set_color_cube
+gtk_preview_set_install_cmap
+gtk_preview_set_reserved
+gtk_preview_set_dither
+gtk_preview_get_visual
+gtk_preview_get_cmap
+gtk_preview_get_info
+gtk_preview_reset
+<SUBSECTION Standard>
+GTK_PREVIEW
+GTK_IS_PREVIEW
+gtk_preview_get_type
+GTK_PREVIEW_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkprogress</FILE>
+<TITLE>GtkProgress</TITLE>
+GtkProgress
+gtk_progress_set_show_text
+gtk_progress_set_text_alignment
+gtk_progress_set_format_string
+gtk_progress_set_adjustment
+gtk_progress_set_percentage
+gtk_progress_set_value
+gtk_progress_get_value
+gtk_progress_set_activity_mode
+gtk_progress_get_current_text
+gtk_progress_get_text_from_value
+gtk_progress_get_current_percentage
+gtk_progress_get_percentage_from_value
+gtk_progress_configure
+<SUBSECTION Standard>
+GTK_PROGRESS
+GTK_TYPE_PROGRESS
+GTK_IS_PROGRESS
+gtk_progress_get_type
+GTK_PROGRESS_CLASS
+GTK_IS_PROGRESS_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkprogressbar</FILE>
+GtkProgressBar
+GtkProgressBarStyle
+GtkProgressBarOrientation
+<TITLE>GtkProgressBar</TITLE>
+gtk_progress_bar_new
+gtk_progress_bar_new_with_adjustment
+gtk_progress_bar_set_bar_style
+gtk_progress_bar_set_discrete_blocks
+gtk_progress_bar_set_activity_step
+gtk_progress_bar_set_activity_blocks
+gtk_progress_bar_set_orientation
+gtk_progress_bar_update
+<SUBSECTION Standard>
+GTK_PROGRESS_BAR
+GTK_TYPE_PROGRESS_BAR
+GTK_IS_PROGRESS_BAR
+GTK_IS_PROGRESS_BAR_CLASS
+gtk_progress_bar_get_type
+GTK_PROGRESS_BAR_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkradiobutton</FILE>
+<TITLE>GtkRadioButton</TITLE>
+GtkRadioButton
+gtk_radio_button_new
+gtk_radio_button_new_from_widget
+gtk_radio_button_new_with_label
+gtk_radio_button_new_with_label_from_widget
+gtk_radio_button_group
+gtk_radio_button_set_group
+<SUBSECTION Standard>
+GTK_RADIO_BUTTON
+GTK_IS_RADIO_BUTTON
+GTK_TYPE_RADIO_BUTTON
+gtk_radio_button_get_type
+GTK_RADIO_BUTTON_CLASS
+GTK_IS_RADIO_BUTTON_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkradiomenuitem</FILE>
+<TITLE>GtkRadioMenuItem</TITLE>
+GtkRadioMenuItem
+gtk_radio_menu_item_new
+gtk_radio_menu_item_new_with_label
+gtk_radio_menu_item_group
+gtk_radio_menu_item_set_group
+<SUBSECTION Standard>
+GTK_RADIO_MENU_ITEM
+GTK_IS_RADIO_MENU_ITEM
+GTK_TYPE_RADIO_MENU_ITEM
+gtk_radio_menu_item_get_type
+GTK_RADIO_MENU_ITEM_CLASS
+GTK_IS_RADIO_MENU_ITEM_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkrange</FILE>
+<TITLE>GtkRange</TITLE>
+GtkRange
+gtk_range_get_adjustment
+gtk_range_set_update_policy
+gtk_range_set_adjustment
+gtk_range_draw_background
+gtk_range_draw_trough
+gtk_range_draw_slider
+gtk_range_draw_step_forw
+gtk_range_draw_step_back
+gtk_range_slider_update
+gtk_range_trough_click
+gtk_range_default_hslider_update
+gtk_range_default_vslider_update
+gtk_range_default_htrough_click
+gtk_range_default_vtrough_click
+gtk_range_default_hmotion
+gtk_range_default_vmotion
+gtk_range_clear_background
+<SUBSECTION Standard>
+GTK_RANGE
+GTK_TYPE_RANGE
+GTK_IS_RANGE
+gtk_range_get_type
+GTK_RANGE_CLASS
+GTK_IS_RANGE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkruler</FILE>
+<TITLE>GtkRuler</TITLE>
+GtkRuler
+GtkRulerMetric
+gtk_ruler_set_metric
+gtk_ruler_set_range
+gtk_ruler_draw_ticks
+gtk_ruler_draw_pos
+<SUBSECTION Standard>
+GTK_RULER
+GTK_IS_RULER
+gtk_ruler_get_type
+GTK_RULER_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkscale</FILE>
+<TITLE>GtkScale</TITLE>
+GtkScale
+gtk_scale_set_digits
+gtk_scale_set_draw_value
+gtk_scale_set_value_pos
+gtk_scale_get_value_width
+<SUBSECTION Standard>
+GTK_SCALE
+GTK_TYPE_SCALE
+GTK_IS_SCALE
+gtk_scale_get_type
+GTK_SCALE_CLASS
+GTK_IS_SCALE_CLASS
+<SUBSECTION Private>
+gtk_scale_value_width
+gtk_scale_draw_value
+</SECTION>
+
+<SECTION>
+<FILE>gtkscrollbar</FILE>
+<TITLE>GtkScrollbar</TITLE>
+GtkScrollbar
+<SUBSECTION Standard>
+GTK_SCROLLBAR
+GTK_TYPE_SCROLLBAR
+GTK_IS_SCROLLBAR
+gtk_scrollbar_get_type
+GTK_SCROLLBAR_CLASS
+GTK_IS_SCROLLBAR_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkscrolledwindow</FILE>
+<TITLE>GtkScrolledWindow</TITLE>
+GtkScrolledWindow
+gtk_scrolled_window_new
+gtk_scrolled_window_get_hadjustment
+gtk_scrolled_window_get_vadjustment
+gtk_scrolled_window_set_policy
+gtk_scrolled_window_add_with_viewport
+gtk_scrolled_window_set_hadjustment
+gtk_scrolled_window_set_placement
+gtk_scrolled_window_set_vadjustment
+<SUBSECTION Standard>
+GTK_SCROLLED_WINDOW
+GTK_IS_SCROLLED_WINDOW
+GTK_TYPE_SCROLLED_WINDOW
+gtk_scrolled_window_get_type
+GTK_SCROLLED_WINDOW_CLASS
+GTK_IS_SCROLLED_WINDOW_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkseparator</FILE>
+<TITLE>GtkSeparator</TITLE>
+GtkSeparator
+<SUBSECTION Standard>
+GTK_SEPARATOR
+GTK_IS_SEPARATOR
+GTK_TYPE_SEPARATOR
+gtk_separator_get_type
+GTK_SEPARATOR_CLASS
+GTK_IS_SEPARATOR_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtksocket</FILE>
+<TITLE>GtkSocket</TITLE>
+GtkSocket
+gtk_socket_new
+gtk_socket_steal
+<SUBSECTION Standard>
+GTK_SOCKET
+GTK_IS_SOCKET
+gtk_socket_get_type
+GTK_SOCKET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkspinbutton</FILE>
+GtkSpinButton
+GtkSpinButtonUpdatePolicy
+GtkSpinType
+<TITLE>GtkSpinButton</TITLE>
+gtk_spin_button_configure
+gtk_spin_button_new
+gtk_spin_button_set_adjustment
+gtk_spin_button_get_adjustment
+gtk_spin_button_set_digits
+gtk_spin_button_get_value_as_float
+gtk_spin_button_get_value_as_int
+gtk_spin_button_set_value
+gtk_spin_button_set_update_policy
+gtk_spin_button_set_numeric
+gtk_spin_button_spin
+gtk_spin_button_set_wrap
+gtk_spin_button_set_shadow_type
+gtk_spin_button_set_snap_to_ticks
+gtk_spin_button_update
+<SUBSECTION Standard>
+GTK_SPIN_BUTTON
+GTK_IS_SPIN_BUTTON
+GTK_TYPE_SPIN_BUTTON
+gtk_spin_button_get_type
+GTK_SPIN_BUTTON_CLASS
+GTK_IS_SPIN_BUTTON_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkstatusbar</FILE>
+<TITLE>GtkStatusbar</TITLE>
+GtkStatusbar
+GtkStatusbarMsg
+gtk_statusbar_new
+gtk_statusbar_get_context_id
+gtk_statusbar_push
+gtk_statusbar_pop
+gtk_statusbar_remove
+<SUBSECTION Standard>
+GTK_STATUSBAR
+GTK_IS_STATUSBAR
+gtk_statusbar_get_type
+GTK_STATUSBAR_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtktable</FILE>
+<TITLE>GtkTable</TITLE>
+GtkTable
+GtkTableChild
+GtkTableRowCol
+gtk_table_new
+gtk_table_resize
+gtk_table_attach
+gtk_table_attach_defaults
+gtk_table_set_row_spacing
+gtk_table_set_col_spacing
+gtk_table_set_row_spacings
+gtk_table_set_col_spacings
+gtk_table_set_homogeneous
+<SUBSECTION Standard>
+GTK_TABLE
+GTK_IS_TABLE
+GTK_TYPE_TABLE
+gtk_table_get_type
+GTK_TABLE_CLASS
+GTK_IS_TABLE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtktearoffmenuitem</FILE>
+<TITLE>GtkTearoffMenuItem</TITLE>
+GtkTearoffMenuItem
+gtk_tearoff_menu_item_new
+<SUBSECTION Standard>
+GTK_TEAROFF_MENU_ITEM
+GTK_IS_TEAROFF_MENU_ITEM
+GTK_TYPE_TEAROFF_MENU_ITEM
+gtk_tearoff_menu_item_get_type
+GTK_TEAROFF_MENU_ITEM_CLASS
+GTK_IS_TEAROFF_MENU_ITEM_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtktext</FILE>
+GtkText
+GtkTextFont
+GtkPropertyMark
+<TITLE>GtkText</TITLE>
+gtk_text_new
+gtk_text_set_editable
+gtk_text_set_word_wrap
+gtk_text_set_line_wrap
+gtk_text_set_adjustments
+gtk_text_set_point
+gtk_text_get_point
+gtk_text_get_length
+gtk_text_freeze
+gtk_text_thaw
+gtk_text_insert
+gtk_text_backward_delete
+gtk_text_forward_delete
+GTK_TEXT_INDEX
+<SUBSECTION Standard>
+GTK_TEXT
+GTK_IS_TEXT
+GTK_TYPE_TEXT
+gtk_text_get_type
+GTK_TEXT_CLASS
+GTK_IS_TEXT_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtktipsquery</FILE>
+<TITLE>GtkTipsQuery</TITLE>
+GtkTipsQuery
+gtk_tips_query_new
+gtk_tips_query_start_query
+gtk_tips_query_stop_query
+gtk_tips_query_set_caller
+gtk_tips_query_set_labels
+<SUBSECTION Standard>
+GTK_TIPS_QUERY
+GTK_IS_TIPS_QUERY
+GTK_TYPE_TIPS_QUERY
+gtk_tips_query_get_type
+GTK_TIPS_QUERY_CLASS
+GTK_IS_TIPS_QUERY_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtktogglebutton</FILE>
+<TITLE>GtkToggleButton</TITLE>
+GtkToggleButton
+gtk_toggle_button_new
+gtk_toggle_button_new_with_label
+gtk_toggle_button_set_mode
+gtk_toggle_button_set_state
+gtk_toggle_button_toggled
+gtk_toggle_button_get_active
+gtk_toggle_button_set_active
+<SUBSECTION Standard>
+GTK_TOGGLE_BUTTON
+GTK_IS_TOGGLE_BUTTON
+GTK_TYPE_TOGGLE_BUTTON
+gtk_toggle_button_get_type
+GTK_TOGGLE_BUTTON_CLASS
+GTK_IS_TOGGLE_BUTTON_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtktoolbar</FILE>
+GtkToolbar
+GtkToolbarChildType
+GtkToolbarSpaceStyle
+GtkToolbarChild
+<TITLE>GtkToolbar</TITLE>
+gtk_toolbar_new
+gtk_toolbar_append_item
+gtk_toolbar_prepend_item
+gtk_toolbar_insert_item
+gtk_toolbar_append_space
+gtk_toolbar_prepend_space
+gtk_toolbar_insert_space
+gtk_toolbar_append_element
+gtk_toolbar_prepend_element
+gtk_toolbar_insert_element
+gtk_toolbar_append_widget
+gtk_toolbar_prepend_widget
+gtk_toolbar_insert_widget
+gtk_toolbar_set_orientation
+gtk_toolbar_set_style
+gtk_toolbar_set_space_size
+gtk_toolbar_set_space_style
+gtk_toolbar_set_tooltips
+gtk_toolbar_set_button_relief
+gtk_toolbar_get_button_relief
+<SUBSECTION Standard>
+GTK_TOOLBAR
+GTK_IS_TOOLBAR
+gtk_toolbar_get_type
+GTK_TOOLBAR_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtktooltips</FILE>
+GtkTooltips
+GtkTooltipsData
+<TITLE>GtkTooltips</TITLE>
+gtk_tooltips_new
+gtk_tooltips_enable
+gtk_tooltips_disable
+gtk_tooltips_set_delay
+gtk_tooltips_set_tip
+gtk_tooltips_set_colors
+gtk_tooltips_data_get
+gtk_tooltips_force_window
+<SUBSECTION Standard>
+GTK_TOOLTIPS
+GTK_IS_TOOLTIPS
+GTK_TYPE_TOOLTIPS
+gtk_tooltips_get_type
+GTK_TOOLTIPS_CLASS
+GTK_IS_TOOLTIPS_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtktree</FILE>
+GtkTree
+GTK_IS_ROOT_TREE
+GTK_TREE_ROOT_TREE
+GTK_TREE_SELECTION
+GtkTreeViewMode
+<TITLE>GtkTree</TITLE>
+gtk_tree_new
+gtk_tree_append
+gtk_tree_prepend
+gtk_tree_insert
+gtk_tree_remove_items
+gtk_tree_clear_items
+gtk_tree_select_item
+gtk_tree_unselect_item
+gtk_tree_select_child
+gtk_tree_unselect_child
+gtk_tree_child_position
+gtk_tree_set_selection_mode
+gtk_tree_set_view_mode
+gtk_tree_set_view_lines
+gtk_tree_remove_item
+<SUBSECTION Standard>
+GTK_TREE
+GTK_IS_TREE
+GTK_TYPE_TREE
+gtk_tree_get_type
+GTK_TREE_CLASS
+GTK_IS_TREE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtktreeitem</FILE>
+GtkTreeItem
+GTK_TREE_ITEM_SUBTREE
+<TITLE>GtkTreeItem</TITLE>
+gtk_tree_item_new
+gtk_tree_item_new_with_label
+gtk_tree_item_set_subtree
+gtk_tree_item_remove_subtree
+gtk_tree_item_select
+gtk_tree_item_deselect
+gtk_tree_item_expand
+gtk_tree_item_collapse
+<SUBSECTION Standard>
+GTK_TREE_ITEM
+GTK_IS_TREE_ITEM
+GTK_TYPE_TREE_ITEM
+gtk_tree_item_get_type
+GTK_TREE_ITEM_CLASS
+GTK_IS_TREE_ITEM_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkvbbox</FILE>
+<TITLE>GtkVButtonBox</TITLE>
+GtkVButtonBox
+gtk_vbutton_box_new
+gtk_vbutton_box_get_spacing_default
+gtk_vbutton_box_set_spacing_default
+gtk_vbutton_box_get_layout_default
+gtk_vbutton_box_set_layout_default
+<SUBSECTION Standard>
+GTK_VBUTTON_BOX
+GTK_IS_VBUTTON_BOX
+gtk_vbutton_box_get_type
+GTK_VBUTTON_BOX_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkvbox</FILE>
+<TITLE>GtkVBox</TITLE>
+GtkVBox
+gtk_vbox_new
+<SUBSECTION Standard>
+GTK_VBOX
+GTK_IS_VBOX
+GTK_TYPE_VBOX
+gtk_vbox_get_type
+GTK_VBOX_CLASS
+GTK_IS_VBOX_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkviewport</FILE>
+<TITLE>GtkViewport</TITLE>
+GtkViewport
+gtk_viewport_new
+gtk_viewport_get_hadjustment
+gtk_viewport_get_vadjustment
+gtk_viewport_set_hadjustment
+gtk_viewport_set_vadjustment
+gtk_viewport_set_shadow_type
+<SUBSECTION Standard>
+GTK_VIEWPORT
+GTK_IS_VIEWPORT
+GTK_TYPE_VIEWPORT
+gtk_viewport_get_type
+GTK_VIEWPORT_CLASS
+GTK_IS_VIEWPORT_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkvpaned</FILE>
+<TITLE>GtkVPaned</TITLE>
+GtkVPaned
+gtk_vpaned_new
+<SUBSECTION Standard>
+GTK_VPANED
+GTK_IS_VPANED
+gtk_vpaned_get_type
+GTK_VPANED_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkvruler</FILE>
+<TITLE>GtkVRuler</TITLE>
+GtkVRuler
+gtk_vruler_new
+<SUBSECTION Standard>
+GTK_VRULER
+GTK_IS_VRULER
+gtk_vruler_get_type
+GTK_VRULER_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkvscale</FILE>
+<TITLE>GtkVScale</TITLE>
+GtkVScale
+gtk_vscale_new
+<SUBSECTION Standard>
+GTK_VSCALE
+GTK_TYPE_VSCALE
+GTK_IS_VSCALE
+gtk_vscale_get_type
+GTK_VSCALE_CLASS
+GTK_IS_VSCALE_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkvscrollbar</FILE>
+<TITLE>GtkVScrollbar</TITLE>
+GtkVScrollbar
+gtk_vscrollbar_new
+<SUBSECTION Standard>
+GTK_VSCROLLBAR
+GTK_TYPE_VSCROLLBAR
+GTK_IS_VSCROLLBAR
+gtk_vscrollbar_get_type
+GTK_VSCROLLBAR_CLASS
+GTK_IS_VSCROLLBAR_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkvseparator</FILE>
+<TITLE>GtkVSeparator</TITLE>
+GtkVSeparator
+gtk_vseparator_new
+<SUBSECTION Standard>
+GTK_VSEPARATOR
+GTK_IS_VSEPARATOR
+GTK_TYPE_VSEPARATOR
+gtk_vseparator_get_type
+GTK_VSEPARATOR_CLASS
+GTK_IS_VSEPARATOR_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkwidget</FILE>
+GtkWidget
+GtkWidgetFlags
+GTK_WIDGET_TYPE
+GTK_WIDGET_STATE
+GTK_WIDGET_SAVED_STATE
+GTK_WIDGET_FLAGS
+GTK_WIDGET_TOPLEVEL
+GTK_WIDGET_NO_WINDOW
+GTK_WIDGET_REALIZED
+GTK_WIDGET_MAPPED
+GTK_WIDGET_VISIBLE
+GTK_WIDGET_DRAWABLE
+GTK_WIDGET_SENSITIVE
+GTK_WIDGET_PARENT_SENSITIVE
+GTK_WIDGET_IS_SENSITIVE
+GTK_WIDGET_CAN_FOCUS
+GTK_WIDGET_HAS_FOCUS
+GTK_WIDGET_CAN_DEFAULT
+GTK_WIDGET_RECEIVES_DEFAULT
+GTK_WIDGET_HAS_DEFAULT
+GTK_WIDGET_HAS_GRAB
+GTK_WIDGET_RC_STYLE
+GTK_WIDGET_COMPOSITE_CHILD
+GTK_WIDGET_APP_PAINTABLE
+GTK_WIDGET_SET_FLAGS
+GTK_WIDGET_UNSET_FLAGS
+GtkCallback
+GtkRequisition
+GtkAllocation
+GtkSelectionData
+<TITLE>GtkWidget</TITLE>
+GtkWidgetAuxInfo
+GtkWidgetShapeInfo
+gtk_widget_new
+gtk_widget_newv
+gtk_widget_ref
+gtk_widget_unref
+gtk_widget_destroy
+gtk_widget_destroyed
+gtk_widget_get
+gtk_widget_getv
+gtk_widget_set
+gtk_widget_setv
+gtk_widget_unparent
+gtk_widget_show
+gtk_widget_show_now
+gtk_widget_hide
+gtk_widget_show_all
+gtk_widget_hide_all
+gtk_widget_map
+gtk_widget_unmap
+gtk_widget_realize
+gtk_widget_unrealize
+gtk_widget_queue_draw
+gtk_widget_queue_resize
+gtk_widget_draw
+gtk_widget_draw_focus
+gtk_widget_draw_default
+gtk_widget_size_request
+gtk_widget_get_child_requisition
+gtk_widget_size_allocate
+gtk_widget_add_accelerator
+gtk_widget_remove_accelerator
+gtk_widget_remove_accelerators
+gtk_widget_accelerator_signal
+gtk_widget_event
+gtk_widget_activate
+gtk_widget_reparent
+gtk_widget_popup
+gtk_widget_intersect
+gtk_widget_grab_focus
+gtk_widget_grab_default
+gtk_widget_set_name
+gtk_widget_get_name
+gtk_widget_set_state
+gtk_widget_set_sensitive
+gtk_widget_set_parent
+gtk_widget_set_parent_window
+gtk_widget_get_parent_window
+gtk_widget_set_uposition
+gtk_widget_set_usize
+gtk_widget_set_events
+gtk_widget_add_events
+gtk_widget_set_extension_events
+gtk_widget_get_extension_events
+gtk_widget_get_toplevel
+gtk_widget_get_ancestor
+gtk_widget_get_colormap
+gtk_widget_set_colormap
+gtk_widget_get_visual
+gtk_widget_set_visual
+gtk_widget_get_events
+gtk_widget_get_pointer
+gtk_widget_is_ancestor
+gtk_widget_hide_on_delete
+gtk_widget_set_style
+gtk_widget_set_rc_style
+gtk_widget_ensure_style
+gtk_widget_get_style
+gtk_widget_restore_default_style
+gtk_widget_reset_rc_styles
+gtk_widget_push_style
+gtk_widget_push_colormap
+gtk_widget_push_visual
+gtk_widget_pop_style
+gtk_widget_pop_colormap
+gtk_widget_pop_visual
+gtk_widget_set_default_style
+gtk_widget_set_default_colormap
+gtk_widget_set_default_visual
+gtk_widget_get_default_style
+gtk_widget_get_default_colormap
+gtk_widget_get_default_visual
+gtk_widget_shape_combine_mask
+gtk_widget_path
+gtk_widget_class_path
+gtk_widget_get_composite_name
+gtk_widget_lock_accelerators
+gtk_widget_modify_style
+gtk_widget_pop_composite_child
+gtk_widget_push_composite_child
+gtk_widget_queue_clear
+gtk_widget_queue_clear_area
+gtk_widget_queue_draw_area
+gtk_widget_reset_shapes
+gtk_widget_set_app_paintable
+gtk_widget_set_composite_name
+gtk_widget_set_scroll_adjustments
+gtk_widget_unlock_accelerators
+<SUBSECTION Standard>
+GTK_WIDGET
+GTK_IS_WIDGET
+GTK_TYPE_WIDGET
+gtk_widget_get_type
+GTK_WIDGET_CLASS
+GTK_IS_WIDGET_CLASS
+</SECTION>
+
+<SECTION>
+<FILE>gtkwindow</FILE>
+<TITLE>GtkWindow</TITLE>
+GtkWindow
+gtk_window_new
+gtk_window_set_title
+gtk_window_set_wmclass
+gtk_window_set_focus
+gtk_window_set_default
+gtk_window_set_policy
+gtk_window_add_accel_group
+gtk_window_remove_accel_group
+gtk_window_position
+gtk_window_activate_focus
+gtk_window_activate_default
+gtk_window_set_modal
+gtk_window_add_embedded_xid
+gtk_window_remove_embedded_xid
+gtk_window_set_default_size
+gtk_window_set_geometry_hints
+gtk_window_set_position
+gtk_window_set_transient_for
+<SUBSECTION Standard>
+GTK_WINDOW
+GTK_IS_WINDOW
+GTK_TYPE_WINDOW
+gtk_window_get_type
+GTK_WINDOW_CLASS
+GTK_IS_WINDOW_CLASS
+</SECTION>
+
+
+<SECTION>
+<FILE>gtkmain</FILE>
+<TITLE>General</TITLE>
+gtk_set_locale
+gtk_init
+gtk_init_check
+gtk_exit
+gtk_events_pending
+gtk_main
+gtk_main_level
+gtk_main_quit
+gtk_main_iteration
+gtk_main_iteration_do
+gtk_main_do_event
+
+GtkModuleInitFunc
+
+<SUBSECTION>
+gtk_true
+gtk_false
+
+<SUBSECTION>
+gtk_grab_add
+gtk_grab_get_current
+gtk_grab_remove
+
+<SUBSECTION>
+gtk_init_add
+gtk_quit_add_destroy
+gtk_quit_add
+gtk_quit_add_full
+gtk_quit_remove
+gtk_quit_remove_by_data
+
+<SUBSECTION>
+gtk_timeout_add_full
+gtk_timeout_add
+gtk_timeout_remove
+
+<SUBSECTION>
+gtk_idle_add
+gtk_idle_add_priority
+gtk_idle_add_full
+gtk_idle_remove
+gtk_idle_remove_by_data
+
+<SUBSECTION>
+gtk_input_add_full
+gtk_input_remove
+
+<SUBSECTION>
+GTK_PRIORITY_REDRAW
+GTK_PRIORITY_RESIZE
+GTK_PRIORITY_HIGH
+GTK_PRIORITY_INTERNAL
+GTK_PRIORITY_DEFAULT
+GTK_PRIORITY_LOW
+
+<SUBSECTION>
+gtk_key_snooper_install
+GtkKeySnoopFunc
+gtk_key_snooper_remove
+
+<SUBSECTION>
+gtk_get_current_event
+gtk_get_event_widget
+gtk_propagate_event
+</SECTION>
+
+
+<SECTION>
+<FILE>gtkfeatures</FILE>
+<TITLE>Feature Test Macros</TITLE>
+gtk_major_version
+gtk_minor_version
+gtk_micro_version
+gtk_binary_age
+gtk_interface_age
+gtk_check_version
+<SUBSECTION Private>
+GTK_MAJOR_VERSION
+GTK_MINOR_VERSION
+GTK_MICRO_VERSION
+GTK_BINARY_AGE
+GTK_INTERFACE_AGE
+GTK_HAVE_CONTAINER_FOCUS_ADJUSTMENTS
+GTK_HAVE_SIGNAL_INIT
+GTK_HAVE_FEATURES_1_1_0
+GTK_HAVE_FEATURES_1_1_2
+GTK_HAVE_FEATURES_1_1_4
+GTK_HAVE_FEATURES_1_1_5
+GTK_HAVE_FEATURES_1_1_6
+GTK_HAVE_FEATURES_1_1_7
+GTK_HAVE_FEATURES_1_1_8
+GTK_HAVE_FEATURES_1_1_9
+GTK_HAVE_FEATURES_1_1_10
+GTK_HAVE_FEATURES_1_1_11
+GTK_HAVE_FEATURES_1_1_12
+GTK_HAVE_FEATURES_1_1_13
+GTK_HAVE_FEATURES_1_1_14
+</SECTION>
+
+
+<SECTION>
+<FILE>gtkgc</FILE>
+<TITLE>Graphics Contexts</TITLE>
+gtk_gc_get
+gtk_gc_release
+</SECTION>
+
+<SECTION>
+<FILE>gtkstyle</FILE>
+<TITLE>Styles</TITLE>
+GTK_STYLE_NUM_STYLECOLORS
+GTK_STYLE_ATTACHED
+GtkStyle
+GtkStyleClass
+gtk_style_new
+gtk_style_copy
+gtk_style_attach
+gtk_style_detach
+gtk_style_ref
+gtk_style_unref
+gtk_style_set_background
+gtk_style_apply_default_background
+gtk_style_apply_default_pixmap
+gtk_draw_hline
+gtk_draw_vline
+gtk_draw_shadow
+gtk_draw_polygon
+gtk_draw_arrow
+gtk_draw_diamond
+gtk_draw_oval
+gtk_draw_string
+gtk_draw_box
+gtk_draw_box_gap
+gtk_draw_check
+gtk_draw_cross
+gtk_draw_extension
+gtk_draw_flat_box
+gtk_draw_focus
+gtk_draw_handle
+gtk_draw_option
+gtk_draw_ramp
+gtk_draw_shadow_gap
+gtk_draw_slider
+gtk_draw_tab
+gtk_paint_arrow
+gtk_paint_box
+gtk_paint_box_gap
+gtk_paint_check
+gtk_paint_cross
+gtk_paint_diamond
+gtk_paint_extension
+gtk_paint_flat_box
+gtk_paint_focus
+gtk_paint_handle
+gtk_paint_hline
+gtk_paint_option
+gtk_paint_oval
+gtk_paint_polygon
+gtk_paint_ramp
+gtk_paint_shadow
+gtk_paint_shadow_gap
+gtk_paint_slider
+gtk_paint_string
+gtk_paint_tab
+gtk_paint_vline
+</SECTION>
+
+<SECTION>
+<FILE>gtkthemes</FILE>
+<TITLE>Themes</TITLE>
+GtkThemeEngine
+gtk_theme_engine_get
+gtk_theme_engine_ref
+gtk_theme_engine_unref
+gtk_themes_init
+gtk_themes_exit
+</SECTION>
+
+<SECTION>
+<FILE>gtkrc</FILE>
+<TITLE>Resource Files</TITLE>
+GtkRcStyle
+GtkRcFlags
+GtkImageLoader
+GtkRcTokenType
+gtk_rc_get_style
+gtk_rc_add_widget_name_style
+gtk_rc_add_widget_class_style
+gtk_rc_add_class_style
+gtk_rc_parse
+gtk_rc_parse_string
+gtk_rc_reparse_all
+gtk_rc_add_default_file
+gtk_rc_get_default_files
+gtk_rc_set_default_files
+gtk_rc_parse_color
+gtk_rc_parse_state
+gtk_rc_parse_priority
+gtk_rc_find_module_in_path
+gtk_rc_find_pixmap_in_path
+gtk_rc_get_module_dir
+gtk_rc_get_theme_dir
+gtk_rc_set_image_loader
+gtk_rc_load_image
+gtk_rc_style_new
+gtk_rc_style_ref
+gtk_rc_style_unref
+<SUBSECTION Internals>
+gtk_rc_init
+</SECTION>
+
+<SECTION>
+<FILE>gtkaccelgroup</FILE>
+<TITLE>Keyboard Accelerators</TITLE>
+GtkAccelGroup
+GtkAccelEntry
+gtk_accel_group_new
+gtk_accel_group_get_default
+gtk_accel_group_ref
+gtk_accel_group_unref
+gtk_accel_group_activate
+gtk_accel_groups_activate
+gtk_accel_group_attach
+gtk_accel_group_detach
+gtk_accel_group_lock
+gtk_accel_group_unlock
+gtk_accel_group_get_entry
+gtk_accel_group_lock_entry
+gtk_accel_group_unlock_entry
+gtk_accel_group_add
+gtk_accel_group_remove
+gtk_accel_group_handle_add
+gtk_accel_group_handle_remove
+gtk_accel_group_create_add
+gtk_accel_group_create_remove
+gtk_accel_group_marshal_add
+gtk_accel_group_marshal_remove
+gtk_accel_groups_from_object
+gtk_accel_group_entries_from_object
+gtk_accelerator_valid
+gtk_accelerator_parse
+gtk_accelerator_name
+gtk_accelerator_set_default_mod_mask
+gtk_accelerator_get_default_mod_mask
+</SECTION>
+
+<SECTION>
+<FILE>gtkselection</FILE>
+<TITLE>Selections</TITLE>
+GtkTargetEntry
+GtkTargetList
+GtkTargetPair
+gtk_target_list_new
+gtk_target_list_ref
+gtk_target_list_unref
+gtk_target_list_add
+gtk_target_list_add_table
+gtk_target_list_remove
+gtk_target_list_find
+gtk_selection_owner_set
+gtk_selection_add_target
+gtk_selection_add_targets
+gtk_selection_convert
+gtk_selection_data_set
+gtk_selection_remove_all
+gtk_selection_data_copy
+gtk_selection_data_free
+<SUBSECTION Internals>
+gtk_selection_clear
+gtk_selection_incr_event
+gtk_selection_notify
+gtk_selection_property_notify
+gtk_selection_request
+</SECTION>
+
+<SECTION>
+<FILE>gtkdnd</FILE>
+<TITLE>Drag and Drop</TITLE>
+GtkDestDefaults
+GtkTargetFlags
+<SUBSECTION Destination Side>
+gtk_drag_dest_set
+gtk_drag_dest_set_proxy
+gtk_drag_dest_unset
+gtk_drag_finish
+gtk_drag_get_data
+gtk_drag_get_source_widget
+gtk_drag_highlight
+gtk_drag_unhighlight
+<SUBSECTION Source Side>
+gtk_drag_begin
+gtk_drag_set_icon_widget
+gtk_drag_set_icon_pixmap
+gtk_drag_set_icon_default
+gtk_drag_set_default_icon
+gtk_drag_source_set
+gtk_drag_source_set_icon
+gtk_drag_source_unset
+<SUBSECTION Internals>
+gtk_drag_source_handle_event
+gtk_drag_dest_handle_event
+</SECTION>
+
+
+<SECTION>
+<FILE>gtkmenufactory</FILE>
+<TITLE>Menu Factory</TITLE>
+GtkMenuCallback
+GtkMenuEntry
+GtkMenuPath
+GtkMenuFactory
+gtk_menu_factory_new
+gtk_menu_factory_destroy
+gtk_menu_factory_add_entries
+gtk_menu_factory_add_subfactory
+gtk_menu_factory_remove_paths
+gtk_menu_factory_remove_entries
+gtk_menu_factory_remove_subfactory
+gtk_menu_factory_find
+</SECTION>
+
+<SECTION>
+<FILE>gtksignal</FILE>
+<TITLE>Signals</TITLE>
+GTK_SIGNAL_OFFSET
+GtkSignalMarshal
+GtkSignalDestroy
+GtkEmissionHook
+GtkSignalQuery
+gtk_signal_init
+gtk_signal_new
+gtk_signal_newv
+gtk_signal_lookup
+gtk_signal_name
+gtk_signal_emit
+gtk_signal_emit_by_name
+gtk_signal_emitv
+gtk_signal_emitv_by_name
+gtk_signal_n_emissions
+gtk_signal_n_emissions_by_name
+gtk_signal_emit_stop
+gtk_signal_emit_stop_by_name
+gtk_signal_connect
+gtk_signal_connect_after
+gtk_signal_connect_object
+gtk_signal_connect_object_after
+gtk_signal_connect_full
+gtk_signal_connect_object_while_alive
+gtk_signal_connect_while_alive
+gtk_signal_disconnect
+gtk_signal_disconnect_by_func
+gtk_signal_disconnect_by_data
+gtk_signal_handler_block
+gtk_signal_handler_block_by_func
+gtk_signal_handler_block_by_data
+gtk_signal_handler_unblock
+gtk_signal_handler_unblock_by_func
+gtk_signal_handler_unblock_by_data
+gtk_signal_handler_pending
+gtk_signal_handler_pending_by_func
+gtk_signal_handler_pending_by_id
+gtk_signal_handlers_destroy
+gtk_signal_set_funcs
+gtk_signal_query
+gtk_signal_add_emission_hook
+gtk_signal_add_emission_hook_full
+gtk_signal_remove_emission_hook
+</SECTION>
+
+<SECTION>
+<FILE>gtkmarshal</FILE>
+<TITLE>Signal Marshallers</TITLE>
+gtk_signal_default_marshaller
+gtk_marshal_BOOL__POINTER_INT_INT_UINT
+gtk_marshal_BOOL__POINTER_STRING_STRING_POINTER
+gtk_marshal_ENUM__ENUM
+gtk_marshal_NONE__BOXED
+gtk_marshal_NONE__ENUM
+gtk_marshal_NONE__ENUM_FLOAT
+gtk_marshal_NONE__ENUM_FLOAT_BOOL
+gtk_marshal_NONE__OBJECT
+gtk_marshal_NONE__POINTER_STRING_STRING
+gtk_marshal_NONE__POINTER_UINT
+gtk_marshal_NONE__POINTER_UINT_ENUM
+gtk_marshal_NONE__POINTER_POINTER_UINT_UINT
+gtk_marshal_NONE__POINTER_INT_INT_POINTER_UINT_UINT
+gtk_marshal_NONE__POINTER_UINT_UINT
+gtk_marshal_NONE__STRING
+gtk_marshal_NONE__STRING_INT_POINTER
+gtk_marshal_NONE__UINT
+gtk_marshal_NONE__UINT_POINTER_UINT_ENUM_ENUM_POINTER
+gtk_marshal_NONE__UINT_POINTER_UINT_UINT_ENUM
+gtk_marshal_NONE__UINT_STRING
+gtk_marshal_BOOL__NONE
+gtk_marshal_BOOL__POINTER
+gtk_marshal_BOOL__POINTER_INT_INT
+gtk_marshal_BOOL__POINTER_INT_INT_INT
+gtk_marshal_BOOL__POINTER_POINTER_INT_INT
+gtk_marshal_BOOL__POINTER_POINTER_POINTER_POINTER
+gtk_marshal_INT__INT
+gtk_marshal_INT__POINTER
+gtk_marshal_INT__POINTER_CHAR_CHAR
+gtk_marshal_NONE__BOOL
+gtk_marshal_NONE__C_CALLBACK
+gtk_marshal_NONE__C_CALLBACK_C_CALLBACK
+gtk_marshal_NONE__INT
+gtk_marshal_NONE__INT_FLOAT
+gtk_marshal_NONE__INT_FLOAT_BOOL
+gtk_marshal_NONE__INT_INT
+gtk_marshal_NONE__INT_INT_POINTER
+gtk_marshal_NONE__INT_POINTER
+gtk_marshal_NONE__INT_POINTER_INT_INT_INT
+gtk_marshal_NONE__INT_POINTER_INT_INT_INT_POINTER
+gtk_marshal_NONE__NONE
+gtk_marshal_NONE__POINTER
+gtk_marshal_NONE__POINTER_INT
+gtk_marshal_NONE__POINTER_INT_INT
+gtk_marshal_NONE__POINTER_INT_INT_POINTER_INT_INT
+gtk_marshal_NONE__POINTER_INT_POINTER
+gtk_marshal_NONE__POINTER_POINTER
+gtk_marshal_NONE__POINTER_POINTER_INT_INT
+gtk_marshal_NONE__POINTER_POINTER_POINTER
+</SECTION>
+
+<SECTION>
+<FILE>gtkarg</FILE>
+<TITLE>Object Properties</TITLE>
+GtkArgInfo
+gtk_arg_new
+gtk_arg_copy
+gtk_arg_free
+gtk_args_collect
+gtk_args_collect_cleanup
+gtk_arg_get_info
+gtk_arg_type_new_static
+gtk_args_query
+gtk_arg_name_strip_type
+gtk_arg_info_equal
+gtk_arg_info_hash
+</SECTION>
+
+<SECTION>
+<FILE>gtktypeutils</FILE>
+<TITLE>Types</TITLE>
+GtkType
+GtkFundamentalType
+GTK_TYPE_NUM_BUILTINS
+GTK_TYPE_FLAT_FIRST
+GTK_TYPE_FLAT_LAST
+GTK_TYPE_STRUCTURED_FIRST
+GTK_TYPE_STRUCTURED_LAST
+GTK_TYPE_FUNDAMENTAL_LAST
+GTK_TYPE_FUNDAMENTAL_MAX
+GTK_STRUCT_OFFSET
+GTK_CHECK_CAST
+GTK_CHECK_CLASS_CAST
+GTK_CHECK_TYPE
+GTK_CHECK_CLASS_TYPE
+GTK_TYPE_IDENTIFIER
+gtk_identifier_get_type
+GTK_TYPE_MAKE
+GTK_FUNDAMENTAL_TYPE
+GTK_TYPE_SEQNO
+GTK_SIGNAL_FUNC
+GtkClassInitFunc
+GtkObjectInitFunc
+GtkSignalFunc
+GtkFunction
+GtkDestroyNotify
+GtkCallbackMarshal
+GtkSignalMarshaller
+GtkArgGetFunc
+GtkArgSetFunc
+GtkTypeObject
+GtkArg
+GTK_VALUE_CHAR
+GTK_VALUE_UCHAR
+GTK_VALUE_BOOL
+GTK_VALUE_INT
+GTK_VALUE_UINT
+GTK_VALUE_LONG
+GTK_VALUE_ULONG
+GTK_VALUE_FLOAT
+GTK_VALUE_DOUBLE
+GTK_VALUE_STRING
+GTK_VALUE_ENUM
+GTK_VALUE_FLAGS
+GTK_VALUE_BOXED
+GTK_VALUE_POINTER
+GTK_VALUE_OBJECT
+GTK_VALUE_SIGNAL
+GTK_VALUE_ARGS
+GTK_VALUE_CALLBACK
+GTK_VALUE_C_CALLBACK
+GTK_VALUE_FOREIGN
+GTK_RETLOC_CHAR
+GTK_RETLOC_UCHAR
+GTK_RETLOC_BOOL
+GTK_RETLOC_INT
+GTK_RETLOC_UINT
+GTK_RETLOC_LONG
+GTK_RETLOC_ULONG
+GTK_RETLOC_FLOAT
+GTK_RETLOC_DOUBLE
+GTK_RETLOC_STRING
+GTK_RETLOC_ENUM
+GTK_RETLOC_FLAGS
+GTK_RETLOC_BOXED
+GTK_RETLOC_POINTER
+GTK_RETLOC_OBJECT
+GtkTypeInfo
+GtkTypeQuery
+GtkTypeClass
+GtkEnumValue
+gtk_type_init
+gtk_type_unique
+gtk_type_set_chunk_alloc
+gtk_type_name
+gtk_type_from_name
+gtk_type_parent
+gtk_type_class
+gtk_type_parent_class
+gtk_type_children_types
+gtk_type_new
+gtk_type_free
+gtk_type_describe_heritage
+gtk_type_describe_tree
+gtk_type_is_a
+gtk_type_check_object_cast
+gtk_type_check_class_cast
+gtk_type_register_enum
+gtk_type_register_flags
+gtk_type_enum_get_values
+gtk_type_flags_get_values
+gtk_type_enum_find_value
+gtk_type_flags_find_value
+gtk_type_set_varargs_type
+gtk_type_get_varargs_type
+gtk_type_query
+<SUBSECTION Private>
+GTK_TYPE_ACCEL_FLAGS
+GTK_TYPE_CALENDAR_DISPLAY_OPTIONS
+GTK_TYPE_CELL_TYPE
+GTK_TYPE_CLIST_DRAG_POS
+GTK_TYPE_BUTTON_ACTION
+GTK_TYPE_CTREE_POS
+GTK_TYPE_CTREE_LINE_STYLE
+GTK_TYPE_CTREE_EXPANDER_STYLE
+GTK_TYPE_CTREE_EXPANSION_TYPE
+GTK_TYPE_DEBUG_FLAG
+GTK_TYPE_DEST_DEFAULTS
+GTK_TYPE_TARGET_FLAGS
+GTK_TYPE_ARROW_TYPE
+GTK_TYPE_ATTACH_OPTIONS
+GTK_TYPE_BUTTON_BOX_STYLE
+GTK_TYPE_CURVE_TYPE
+GTK_TYPE_DIRECTION_TYPE
+GTK_TYPE_JUSTIFICATION
+GTK_TYPE_MATCH_TYPE
+GTK_TYPE_MENU_DIRECTION_TYPE
+GTK_TYPE_MENU_FACTORY_TYPE
+GTK_TYPE_METRIC_TYPE
+GTK_TYPE_ORIENTATION
+GTK_TYPE_CORNER_TYPE
+GTK_TYPE_PACK_TYPE
+GTK_TYPE_PATH_PRIORITY_TYPE
+GTK_TYPE_PATH_TYPE
+GTK_TYPE_POLICY_TYPE
+GTK_TYPE_POSITION_TYPE
+GTK_TYPE_PREVIEW_TYPE
+GTK_TYPE_RELIEF_STYLE
+GTK_TYPE_RESIZE_MODE
+GTK_TYPE_SIGNAL_RUN_TYPE
+GTK_TYPE_SCROLL_TYPE
+GTK_TYPE_SELECTION_MODE
+GTK_TYPE_SHADOW_TYPE
+GTK_TYPE_STATE_TYPE
+GTK_TYPE_SUBMENU_DIRECTION
+GTK_TYPE_SUBMENU_PLACEMENT
+GTK_TYPE_TOOLBAR_STYLE
+GTK_TYPE_TROUGH_TYPE
+GTK_TYPE_UPDATE_TYPE
+GTK_TYPE_VISIBILITY
+GTK_TYPE_WINDOW_POSITION
+GTK_TYPE_WINDOW_TYPE
+GTK_TYPE_SORT_TYPE
+GTK_TYPE_FONT_METRIC_TYPE
+GTK_TYPE_FONT_TYPE
+GTK_TYPE_FONT_FILTER_TYPE
+GTK_TYPE_OBJECT_FLAGS
+GTK_TYPE_ARG_FLAGS
+GTK_TYPE_PACKER_OPTIONS
+GTK_TYPE_SIDE_TYPE
+GTK_TYPE_ANCHOR_TYPE
+GTK_TYPE_PRIVATE_FLAGS
+GTK_TYPE_PROGRESS_BAR_STYLE
+GTK_TYPE_PROGRESS_BAR_ORIENTATION
+GTK_TYPE_RC_FLAGS
+GTK_TYPE_RC_TOKEN_TYPE
+GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY
+GTK_TYPE_SPIN_TYPE
+GTK_TYPE_TOOLBAR_CHILD_TYPE
+GTK_TYPE_TOOLBAR_SPACE_STYLE
+GTK_TYPE_TREE_VIEW_MODE
+GTK_TYPE_FUNDAMENTAL_TYPE
+GTK_TYPE_WIDGET_FLAGS
+GTK_TYPE_GDK_WINDOW_TYPE
+GTK_TYPE_GDK_WINDOW_CLASS
+GTK_TYPE_GDK_IMAGE_TYPE
+GTK_TYPE_GDK_VISUAL_TYPE
+GTK_TYPE_GDK_FONT_TYPE
+GTK_TYPE_GDK_WINDOW_ATTRIBUTES_TYPE
+GTK_TYPE_GDK_WINDOW_HINTS
+GTK_TYPE_GDK_FUNCTION
+GTK_TYPE_GDK_FILL
+GTK_TYPE_GDK_FILL_RULE
+GTK_TYPE_GDK_LINE_STYLE
+GTK_TYPE_GDK_CAP_STYLE
+GTK_TYPE_GDK_JOIN_STYLE
+GTK_TYPE_GDK_CURSOR_TYPE
+GTK_TYPE_GDK_FILTER_RETURN
+GTK_TYPE_GDK_VISIBILITY_STATE
+GTK_TYPE_GDK_EVENT_TYPE
+GTK_TYPE_GDK_EVENT_MASK
+GTK_TYPE_GDK_NOTIFY_TYPE
+GTK_TYPE_GDK_CROSSING_MODE
+GTK_TYPE_GDK_MODIFIER_TYPE
+GTK_TYPE_GDK_SUBWINDOW_MODE
+GTK_TYPE_GDK_INPUT_CONDITION
+GTK_TYPE_GDK_STATUS
+GTK_TYPE_GDK_BYTE_ORDER
+GTK_TYPE_GDK_GC_VALUES_MASK
+GTK_TYPE_GDK_SELECTION
+GTK_TYPE_GDK_PROPERTY_STATE
+GTK_TYPE_GDK_PROP_MODE
+GTK_TYPE_GDK_INPUT_SOURCE
+GTK_TYPE_GDK_INPUT_MODE
+GTK_TYPE_GDK_AXIS_USE
+GTK_TYPE_GDK_TARGET
+GTK_TYPE_GDK_SELECTION_TYPE
+GTK_TYPE_GDK_EXTENSION_MODE
+GTK_TYPE_GDK_IM_STYLE
+GTK_TYPE_GDK_IC_ATTRIBUTES_TYPE
+GTK_TYPE_GDK_WM_DECORATION
+GTK_TYPE_GDK_WM_FUNCTION
+GTK_TYPE_GDK_COLOR_CONTEXT_MODE
+GTK_TYPE_GDK_OVERLAP_TYPE
+GTK_TYPE_GDK_DRAG_ACTION
+GTK_TYPE_GDK_DRAG_PROTOCOL
+GTK_TYPE_GDK_RGB_DITHER
+GTK_TYPE_ACCEL_GROUP
+GTK_TYPE_SELECTION_DATA
+GTK_TYPE_STYLE
+GTK_TYPE_CTREE_NODE
+GTK_TYPE_GDK_COLORMAP
+GTK_TYPE_GDK_VISUAL
+GTK_TYPE_GDK_FONT
+GTK_TYPE_GDK_WINDOW
+GTK_TYPE_GDK_DRAG_CONTEXT
+GTK_TYPE_GDK_EVENT
+GTK_TYPE_GDK_COLOR
+</SECTION>
+
+<SECTION>
+<FILE>gtkbindings</FILE>
+<TITLE>Bindings</TITLE>
+GtkPatternSpec
+gtk_pattern_spec_init
+gtk_pattern_spec_free_segs
+gtk_pattern_match
+gtk_pattern_match_string
+gtk_pattern_match_simple
+GtkBindingSet
+GtkBindingEntry
+GtkBindingSignal
+GtkBindingArg
+gtk_binding_set_new
+gtk_binding_set_by_class
+gtk_binding_set_find
+gtk_bindings_activate
+gtk_binding_set_activate
+gtk_binding_entry_add
+gtk_binding_entry_clear
+gtk_binding_entry_add_signal
+gtk_binding_set_add_path
+gtk_binding_entry_remove
+gtk_binding_entry_add_signall
+gtk_binding_parse_binding
+</SECTION>
+
+<SECTION>
+<FILE>gtkenums</FILE>
+<TITLE>Standard Enumerations</TITLE>
+GtkAccelFlags
+GtkArrowType
+GtkAttachOptions
+GtkButtonBoxStyle
+GtkCornerType
+GtkCurveType
+GtkDirectionType
+GtkJustification
+GtkMatchType
+GtkMenuFactoryType
+GtkMetricType
+GtkOrientation
+GtkPackType
+GtkPathPriorityType
+GtkPathType
+GtkPolicyType
+GtkPositionType
+GtkPreviewType
+GtkReliefStyle
+GtkResizeMode
+GtkSignalRunType
+GtkScrollType
+GtkSelectionMode
+GtkShadowType
+GtkStateType
+GtkSubmenuDirection
+GtkSubmenuPlacement
+GtkToolbarStyle
+GtkTroughType
+GtkUpdateType
+GtkVisibility
+GtkWindowPosition
+GtkWindowType
+GtkSortType
+</SECTION>
+
+<SECTION>
+<FILE>gtkdebug</FILE>
+<TITLE>Debugging</TITLE>
+GtkDebugFlag
+gtk_debug_flags
+GTK_NOTE
+</SECTION>
+
+<SECTION>
+<FILE>gtkprivate</FILE>
+<TITLE>Private Information</TITLE>
+GtkPrivateFlags
+GTK_PRIVATE_FLAGS
+GTK_WIDGET_USER_STYLE
+GTK_WIDGET_REDRAW_PENDING
+GTK_CONTAINER_RESIZE_PENDING
+GTK_WIDGET_RESIZE_NEEDED
+GTK_WIDGET_LEAVE_PENDING
+GTK_WIDGET_HAS_SHAPE_MASK
+GTK_WIDGET_IN_REPARENT
+GTK_WIDGET_IS_OFFSCREEN
+GTK_PRIVATE_SET_FLAG
+GTK_PRIVATE_UNSET_FLAG
+</SECTION>
+
diff --git a/docs/reference/gtk/gtk.args b/docs/reference/gtk/gtk.args
new file mode 100644
index 000000000..56aaf5625
--- /dev/null
+++ b/docs/reference/gtk/gtk.args
@@ -0,0 +1,846 @@
+<ARG>
+<NAME>GtkAccelLabel::accel_widget</NAME>
+<TYPE>GtkWidget</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkAlignment::xalign</NAME>
+<TYPE>gfloat</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkAlignment::yalign</NAME>
+<TYPE>gfloat</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkAlignment::xscale</NAME>
+<TYPE>gfloat</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkAlignment::yscale</NAME>
+<TYPE>gfloat</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkArrow::arrow_type</NAME>
+<TYPE>GtkArrowType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkArrow::shadow_type</NAME>
+<TYPE>GtkShadowType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkBox::spacing</NAME>
+<TYPE>gint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkBox::homogeneous</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkButton::label</NAME>
+<TYPE>GtkString</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkButton::relief</NAME>
+<TYPE>GtkReliefStyle</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCList::n_columns</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rwX</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCList::shadow_type</NAME>
+<TYPE>GtkShadowType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCList::selection_mode</NAME>
+<TYPE>GtkSelectionMode</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCList::row_height</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCList::reorderable</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCList::titles_active</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCList::use_drag_icons</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkContainer::border_width</NAME>
+<TYPE>gulong</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkContainer::resize_mode</NAME>
+<TYPE>GtkResizeMode</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkContainer::child</NAME>
+<TYPE>GtkWidget</TYPE>
+<FLAGS>w</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCTree::n_columns</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rwX</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCTree::tree_column</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rwX</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCTree::indent</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCTree::spacing</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCTree::show_stub</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCTree::line_style</NAME>
+<TYPE>GtkCTreeLineStyle</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkCTree::expander_style</NAME>
+<TYPE>GtkCTreeExpanderStyle</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkEditable::text_position</NAME>
+<TYPE>gint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkEditable::editable</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkEntry::max_length</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkEntry::visibility</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkFrame::label</NAME>
+<TYPE>GtkString</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkFrame::label_xalign</NAME>
+<TYPE>gfloat</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkFrame::label_yalign</NAME>
+<TYPE>gfloat</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkFrame::shadow</NAME>
+<TYPE>GtkShadowType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkHandleBox::shadow</NAME>
+<TYPE>GtkShadowType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkHScale::adjustment</NAME>
+<TYPE>GtkAdjustment</TYPE>
+<FLAGS>rwx</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkHScrollbar::adjustment</NAME>
+<TYPE>GtkAdjustment</TYPE>
+<FLAGS>rwx</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkLabel::label</NAME>
+<TYPE>GtkString</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkLabel::pattern</NAME>
+<TYPE>GtkString</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkLabel::justify</NAME>
+<TYPE>GtkJustification</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkMenuBar::shadow</NAME>
+<TYPE>GtkShadowType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkMisc::xalign</NAME>
+<TYPE>gfloat</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkMisc::yalign</NAME>
+<TYPE>gfloat</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkMisc::xpad</NAME>
+<TYPE>gint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkMisc::ypad</NAME>
+<TYPE>gint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkNotebook::page</NAME>
+<TYPE>gint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkNotebook::tab_pos</NAME>
+<TYPE>GtkPositionType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkNotebook::tab_border</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>w</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkNotebook::tab_hborder</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkNotebook::tab_vborder</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkNotebook::show_tabs</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkNotebook::show_border</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkNotebook::scrollable</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkNotebook::enable_popup</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkObject::user_data</NAME>
+<TYPE>gpointer</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkObject::signal</NAME>
+<TYPE>GtkSignal</TYPE>
+<FLAGS>w</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkObject::signal_after</NAME>
+<TYPE>GtkSignal</TYPE>
+<FLAGS>w</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkObject::object_signal</NAME>
+<TYPE>GtkSignal</TYPE>
+<FLAGS>w</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkObject::object_signal_after</NAME>
+<TYPE>GtkSignal</TYPE>
+<FLAGS>w</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkPacker::spacing</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkPacker::default_border_width</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkPacker::default_pad_x</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkPacker::default_pad_y</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkPacker::default_ipad_x</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkPacker::default_ipad_y</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkProgress::activity_mode</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkProgress::show_text</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkProgress::text_xalign</NAME>
+<TYPE>gfloat</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkProgress::text_yalign</NAME>
+<TYPE>gfloat</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkProgressBar::adjustment</NAME>
+<TYPE>GtkAdjustment</TYPE>
+<FLAGS>rwx</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkProgressBar::orientation</NAME>
+<TYPE>GtkProgressBarOrientation</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkProgressBar::bar_style</NAME>
+<TYPE>GtkProgressBarStyle</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkProgressBar::activity_step</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkProgressBar::activity_blocks</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkProgressBar::discrete_blocks</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkRadioButton::group</NAME>
+<TYPE>GtkRadioButton</TYPE>
+<FLAGS>w</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkRange::update_policy</NAME>
+<TYPE>GtkUpdateType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkScale::digits</NAME>
+<TYPE>gint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkScale::draw_value</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkScale::value_pos</NAME>
+<TYPE>GtkPositionType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkScrolledWindow::hadjustment</NAME>
+<TYPE>GtkAdjustment</TYPE>
+<FLAGS>rwx</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkScrolledWindow::vadjustment</NAME>
+<TYPE>GtkAdjustment</TYPE>
+<FLAGS>rwx</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkScrolledWindow::hscrollbar_policy</NAME>
+<TYPE>GtkPolicyType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkScrolledWindow::vscrollbar_policy</NAME>
+<TYPE>GtkPolicyType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkScrolledWindow::window_placement</NAME>
+<TYPE>GtkCornerType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkSpinButton::adjustment</NAME>
+<TYPE>GtkAdjustment</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkSpinButton::climb_rate</NAME>
+<TYPE>gfloat</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkSpinButton::digits</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkSpinButton::snap_to_ticks</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkSpinButton::numeric</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkSpinButton::wrap</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkSpinButton::update_policy</NAME>
+<TYPE>GtkSpinButtonUpdatePolicy</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkSpinButton::shadow_type</NAME>
+<TYPE>GtkShadowType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkSpinButton::value</NAME>
+<TYPE>gfloat</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkTable::n_rows</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkTable::n_columns</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkTable::row_spacing</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkTable::column_spacing</NAME>
+<TYPE>guint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkTable::homogeneous</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkText::hadjustment</NAME>
+<TYPE>GtkAdjustment</TYPE>
+<FLAGS>rwx</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkText::vadjustment</NAME>
+<TYPE>GtkAdjustment</TYPE>
+<FLAGS>rwx</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkText::line_wrap</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkText::word_wrap</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkTipsQuery::emit_always</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkTipsQuery::caller</NAME>
+<TYPE>GtkWidget</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkTipsQuery::label_inactive</NAME>
+<TYPE>GtkString</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkTipsQuery::label_no_tip</NAME>
+<TYPE>GtkString</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkToggleButton::active</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkToggleButton::draw_indicator</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkViewport::hadjustment</NAME>
+<TYPE>GtkAdjustment</TYPE>
+<FLAGS>rwx</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkViewport::vadjustment</NAME>
+<TYPE>GtkAdjustment</TYPE>
+<FLAGS>rwx</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkViewport::shadow_type</NAME>
+<TYPE>GtkShadowType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkVScale::adjustment</NAME>
+<TYPE>GtkAdjustment</TYPE>
+<FLAGS>rwx</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkVScrollbar::adjustment</NAME>
+<TYPE>GtkAdjustment</TYPE>
+<FLAGS>rwx</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::name</NAME>
+<TYPE>GtkString</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::parent</NAME>
+<TYPE>GtkContainer</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::x</NAME>
+<TYPE>gint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::y</NAME>
+<TYPE>gint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::width</NAME>
+<TYPE>gint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::height</NAME>
+<TYPE>gint</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::visible</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::sensitive</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::app_paintable</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::can_focus</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::has_focus</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::can_default</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::has_default</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::receives_default</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::composite_child</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::style</NAME>
+<TYPE>GtkStyle</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::events</NAME>
+<TYPE>GdkEventMask</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWidget::extension_events</NAME>
+<TYPE>GdkEventMask</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWindow::type</NAME>
+<TYPE>GtkWindowType</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWindow::title</NAME>
+<TYPE>GtkString</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWindow::auto_shrink</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWindow::allow_shrink</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWindow::allow_grow</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWindow::modal</NAME>
+<TYPE>gboolean</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
+<ARG>
+<NAME>GtkWindow::window_position</NAME>
+<TYPE>GtkWindowPosition</TYPE>
+<FLAGS>rw</FLAGS>
+</ARG>
+
diff --git a/docs/reference/gtk/gtk.hierarchy b/docs/reference/gtk/gtk.hierarchy
new file mode 100644
index 000000000..dbf000ed2
--- /dev/null
+++ b/docs/reference/gtk/gtk.hierarchy
@@ -0,0 +1,93 @@
+GtkObject
+ GtkWidget
+ GtkMisc
+ GtkLabel
+ GtkAccelLabel
+ GtkTipsQuery
+ GtkArrow
+ GtkImage
+ GtkPixmap
+ GtkContainer
+ GtkBin
+ GtkAlignment
+ GtkFrame
+ GtkAspectFrame
+ GtkButton
+ GtkToggleButton
+ GtkCheckButton
+ GtkRadioButton
+ GtkOptionMenu
+ GtkItem
+ GtkMenuItem
+ GtkCheckMenuItem
+ GtkRadioMenuItem
+ GtkTearoffMenuItem
+ GtkListItem
+ GtkTreeItem
+ GtkWindow
+ GtkColorSelectionDialog
+ GtkDialog
+ GtkInputDialog
+ GtkFileSelection
+ GtkFontSelectionDialog
+ GtkPlug
+ GtkEventBox
+ GtkHandleBox
+ GtkScrolledWindow
+ GtkViewport
+ GtkBox
+ GtkButtonBox
+ GtkHButtonBox
+ GtkVButtonBox
+ GtkVBox
+ GtkColorSelection
+ GtkGammaCurve
+ GtkHBox
+ GtkCombo
+ GtkStatusbar
+ GtkCList
+ GtkCTree
+ GtkFixed
+ GtkNotebook
+ GtkFontSelection
+ GtkPaned
+ GtkHPaned
+ GtkVPaned
+ GtkLayout
+ GtkList
+ GtkMenuShell
+ GtkMenu
+ GtkMenuBar
+ GtkPacker
+ GtkSocket
+ GtkTable
+ GtkToolbar
+ GtkTree
+ GtkCalendar
+ GtkDrawingArea
+ GtkCurve
+ GtkEditable
+ GtkEntry
+ GtkSpinButton
+ GtkText
+ GtkRuler
+ GtkHRuler
+ GtkVRuler
+ GtkRange
+ GtkScale
+ GtkHScale
+ GtkVScale
+ GtkScrollbar
+ GtkHScrollbar
+ GtkVScrollbar
+ GtkSeparator
+ GtkHSeparator
+ GtkVSeparator
+ GtkInvisible
+ GtkPreview
+ GtkProgress
+ GtkProgressBar
+ GtkData
+ GtkAdjustment
+ GtkTooltips
+ GtkItemFactory
diff --git a/docs/reference/gtk/gtk.signals b/docs/reference/gtk/gtk.signals
new file mode 100644
index 000000000..336b40d73
--- /dev/null
+++ b/docs/reference/gtk/gtk.signals
@@ -0,0 +1,1097 @@
+<SIGNAL>
+<NAME>GtkAdjustment::changed</NAME>
+<RETURNS>void</RETURNS>
+GtkAdjustment *adjustment
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkAdjustment::value-changed</NAME>
+<RETURNS>void</RETURNS>
+GtkAdjustment *adjustment
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkButton::pressed</NAME>
+<RETURNS>void</RETURNS>
+GtkButton *button
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkButton::released</NAME>
+<RETURNS>void</RETURNS>
+GtkButton *button
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkButton::clicked</NAME>
+<RETURNS>void</RETURNS>
+GtkButton *button
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkButton::enter</NAME>
+<RETURNS>void</RETURNS>
+GtkButton *button
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkButton::leave</NAME>
+<RETURNS>void</RETURNS>
+GtkButton *button
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCalendar::month-changed</NAME>
+<RETURNS>void</RETURNS>
+GtkCalendar *calendar
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCalendar::day-selected</NAME>
+<RETURNS>void</RETURNS>
+GtkCalendar *calendar
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCalendar::day-selected-double-click</NAME>
+<RETURNS>void</RETURNS>
+GtkCalendar *calendar
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCalendar::prev-month</NAME>
+<RETURNS>void</RETURNS>
+GtkCalendar *calendar
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCalendar::next-month</NAME>
+<RETURNS>void</RETURNS>
+GtkCalendar *calendar
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCalendar::prev-year</NAME>
+<RETURNS>void</RETURNS>
+GtkCalendar *calendar
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCalendar::next-year</NAME>
+<RETURNS>void</RETURNS>
+GtkCalendar *calendar
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCheckMenuItem::toggled</NAME>
+<RETURNS>void</RETURNS>
+GtkCheckMenuItem *checkmenuitem
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::select-row</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+gint row
+gint column
+GdkEventButton *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::unselect-row</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+gint row
+gint column
+GdkEventButton *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::row-move</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+gint arg1
+gint arg2
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::click-column</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+gint column
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::resize-column</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+gint column
+gint width
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::toggle-focus-row</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::select-all</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::unselect-all</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::undo-selection</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::start-selection</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::end-selection</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::toggle-add-mode</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::extend-selection</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+GtkScrollType scroll_type
+gfloat position
+gboolean auto_start_selection
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::scroll-vertical</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+GtkScrollType scroll_type
+gfloat position
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::scroll-horizontal</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+GtkScrollType scroll_type
+gfloat position
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCList::abort-column-resize</NAME>
+<RETURNS>void</RETURNS>
+GtkCList *clist
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkColorSelection::color-changed</NAME>
+<RETURNS>void</RETURNS>
+GtkColorSelection *colorselection
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkContainer::add</NAME>
+<RETURNS>void</RETURNS>
+GtkContainer *container
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkContainer::remove</NAME>
+<RETURNS>void</RETURNS>
+GtkContainer *container
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkContainer::check-resize</NAME>
+<RETURNS>void</RETURNS>
+GtkContainer *container
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkContainer::focus</NAME>
+<RETURNS>GtkDirectionType</RETURNS>
+GtkContainer *container
+GtkDirectionType direction
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkContainer::set-focus-child</NAME>
+<RETURNS>void</RETURNS>
+GtkContainer *container
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCTree::tree-select-row</NAME>
+<RETURNS>void</RETURNS>
+GtkCTree *ctree
+GList *node
+gint column
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCTree::tree-unselect-row</NAME>
+<RETURNS>void</RETURNS>
+GtkCTree *ctree
+GList *node
+gint column
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCTree::tree-expand</NAME>
+<RETURNS>void</RETURNS>
+GtkCTree *ctree
+GList *node
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCTree::tree-collapse</NAME>
+<RETURNS>void</RETURNS>
+GtkCTree *ctree
+GList *node
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCTree::tree-move</NAME>
+<RETURNS>void</RETURNS>
+GtkCTree *ctree
+GList *node
+GList *new_parent
+GList *new_sibling
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCTree::change-focus-row-expansion</NAME>
+<RETURNS>void</RETURNS>
+GtkCTree *ctree
+GtkCTreeExpansionType expansion
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkCurve::curve-type-changed</NAME>
+<RETURNS>void</RETURNS>
+GtkCurve *curve
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkData::disconnect</NAME>
+<RETURNS>void</RETURNS>
+GtkData *data
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::changed</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::insert-text</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+gchar *new_text
+gint new_text_length
+gint *position
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::delete-text</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+gint start_pos
+gint end_pos
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::activate</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::set-editable</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+gboolean is_editable
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::move-cursor</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+gint x
+gint y
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::move-word</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+gint num_words
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::move-page</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+gint x
+gint y
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::move-to-row</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+gint row
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::move-to-column</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+gint column
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::kill-char</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+gint direction
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::kill-word</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+gint direction
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::kill-line</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+gint direction
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::cut-clipboard</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::copy-clipboard</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkEditable::paste-clipboard</NAME>
+<RETURNS>void</RETURNS>
+GtkEditable *editable
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkHandleBox::child-attached</NAME>
+<RETURNS>void</RETURNS>
+GtkHandleBox *handlebox
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkHandleBox::child-detached</NAME>
+<RETURNS>void</RETURNS>
+GtkHandleBox *handlebox
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkInputDialog::enable-device</NAME>
+<RETURNS>void</RETURNS>
+GtkInputDialog *inputdialog
+gint deviceid
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkInputDialog::disable-device</NAME>
+<RETURNS>void</RETURNS>
+GtkInputDialog *inputdialog
+gint deviceid
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkItem::select</NAME>
+<RETURNS>void</RETURNS>
+GtkItem *item
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkItem::deselect</NAME>
+<RETURNS>void</RETURNS>
+GtkItem *item
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkItem::toggle</NAME>
+<RETURNS>void</RETURNS>
+GtkItem *item
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkList::selection-changed</NAME>
+<RETURNS>void</RETURNS>
+GtkList *list
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkList::select-child</NAME>
+<RETURNS>void</RETURNS>
+GtkList *list
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkList::unselect-child</NAME>
+<RETURNS>void</RETURNS>
+GtkList *list
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkListItem::toggle-focus-row</NAME>
+<RETURNS>void</RETURNS>
+GtkListItem *listitem
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkListItem::select-all</NAME>
+<RETURNS>void</RETURNS>
+GtkListItem *listitem
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkListItem::unselect-all</NAME>
+<RETURNS>void</RETURNS>
+GtkListItem *listitem
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkListItem::undo-selection</NAME>
+<RETURNS>void</RETURNS>
+GtkListItem *listitem
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkListItem::start-selection</NAME>
+<RETURNS>void</RETURNS>
+GtkListItem *listitem
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkListItem::end-selection</NAME>
+<RETURNS>void</RETURNS>
+GtkListItem *listitem
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkListItem::toggle-add-mode</NAME>
+<RETURNS>void</RETURNS>
+GtkListItem *listitem
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkListItem::extend-selection</NAME>
+<RETURNS>void</RETURNS>
+GtkListItem *listitem
+GtkScrollType scroll_type
+gfloat position
+gboolean auto_start_selection
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkListItem::scroll-vertical</NAME>
+<RETURNS>void</RETURNS>
+GtkListItem *listitem
+GtkScrollType scroll_type
+gfloat position
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkListItem::scroll-horizontal</NAME>
+<RETURNS>void</RETURNS>
+GtkListItem *listitem
+GtkScrollType scroll_type
+gfloat position
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkMenuItem::activate</NAME>
+<RETURNS>void</RETURNS>
+GtkMenuItem *menuitem
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkMenuItem::activate-item</NAME>
+<RETURNS>void</RETURNS>
+GtkMenuItem *menuitem
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkMenuShell::deactivate</NAME>
+<RETURNS>void</RETURNS>
+GtkMenuShell *menushell
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkMenuShell::selection-done</NAME>
+<RETURNS>void</RETURNS>
+GtkMenuShell *menushell
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkMenuShell::move-current</NAME>
+<RETURNS>void</RETURNS>
+GtkMenuShell *menushell
+GtkMenuDirectionType direction
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkMenuShell::activate-current</NAME>
+<RETURNS>void</RETURNS>
+GtkMenuShell *menushell
+gboolean force_hide
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkMenuShell::cancel</NAME>
+<RETURNS>void</RETURNS>
+GtkMenuShell *menushell
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkNotebook::switch-page</NAME>
+<RETURNS>void</RETURNS>
+GtkNotebook *notebook
+GtkNotebookPage *page
+gint page_num
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkObject::destroy</NAME>
+<RETURNS>void</RETURNS>
+GtkObject *object
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkStatusbar::text-pushed</NAME>
+<RETURNS>void</RETURNS>
+GtkStatusbar *statusbar
+guint context_id
+gchar *text
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkStatusbar::text-popped</NAME>
+<RETURNS>void</RETURNS>
+GtkStatusbar *statusbar
+guint context_id
+gchar *text
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkTipsQuery::start-query</NAME>
+<RETURNS>void</RETURNS>
+GtkTipsQuery *tipsquery
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkTipsQuery::stop-query</NAME>
+<RETURNS>void</RETURNS>
+GtkTipsQuery *tipsquery
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkTipsQuery::widget-entered</NAME>
+<RETURNS>void</RETURNS>
+GtkTipsQuery *tipsquery
+GtkWidget *widget
+gchar *tip_text
+gchar *tip_private
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkTipsQuery::widget-selected</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkTipsQuery *tipsquery
+GtkWidget *widget
+gchar *tip_text
+gchar *tip_private
+GdkEventButton *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkToggleButton::toggled</NAME>
+<RETURNS>void</RETURNS>
+GtkToggleButton *togglebutton
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkToolbar::orientation-changed</NAME>
+<RETURNS>void</RETURNS>
+GtkToolbar *toolbar
+GtkOrientation orientation
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkToolbar::style-changed</NAME>
+<RETURNS>void</RETURNS>
+GtkToolbar *toolbar
+GtkToolbarStyle style
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkTree::selection-changed</NAME>
+<RETURNS>void</RETURNS>
+GtkTree *tree
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkTree::select-child</NAME>
+<RETURNS>void</RETURNS>
+GtkTree *tree
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkTree::unselect-child</NAME>
+<RETURNS>void</RETURNS>
+GtkTree *tree
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkTreeItem::collapse</NAME>
+<RETURNS>void</RETURNS>
+GtkTreeItem *treeitem
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkTreeItem::expand</NAME>
+<RETURNS>void</RETURNS>
+GtkTreeItem *treeitem
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::show</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::hide</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::map</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::unmap</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::realize</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::unrealize</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::draw</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GdkRectangle *area
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::draw-focus</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::draw-default</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::size-request</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GtkRequisition *requisition
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::size-allocate</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GtkAllocation *allocation
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::state-changed</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GtkStateType state
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::parent-set</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GtkObject *old_parent
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::style-set</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GtkStyle *previous_style
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::add-accelerator</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+guint accel_signal_id
+GtkAccelGroup *accel_group
+guint accel_key
+GdkModifierType accel_mods
+GtkAccelFlags accel_flags
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::remove-accelerator</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GtkAccelGroup *accel_group
+guint accel_key
+GdkModifierType accel_mods
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::grab-focus</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEvent *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::button-press-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventButton *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::button-release-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventButton *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::motion-notify-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventMotion *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::delete-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEvent *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::destroy-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEvent *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::expose-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventExpose *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::key-press-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventKey *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::key-release-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventKey *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::enter-notify-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventCrossing *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::leave-notify-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventCrossing *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::configure-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventConfigure *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::focus-in-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventFocus *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::focus-out-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventFocus *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::map-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEvent *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::unmap-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEvent *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::property-notify-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventProperty *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::selection-clear-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventSelection *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::selection-request-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventSelection *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::selection-notify-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventSelection *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::selection-get</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GtkSelectionData *data
+guint info
+guint time
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::selection-received</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GtkSelectionData *data
+guint time
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::proximity-in-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventProximity *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::proximity-out-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventProximity *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::drag-begin</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GdkDragContext *drag_context
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::drag-end</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GdkDragContext *drag_context
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::drag-data-delete</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GdkDragContext *drag_context
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::drag-leave</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GdkDragContext *drag_context
+guint time
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::drag-motion</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkDragContext *drag_context
+gint x
+gint y
+guint time
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::drag-drop</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkDragContext *drag_context
+gint x
+gint y
+guint time
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::drag-data-get</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GdkDragContext *drag_context
+GtkSelectionData *data
+guint info
+guint time
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::drag-data-received</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+GdkDragContext *drag_context
+gint x
+gint y
+GtkSelectionData *data
+guint info
+guint time
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::client-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventClient *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::no-expose-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEventNoExpose *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::visibility-notify-event</NAME>
+<RETURNS>gboolean</RETURNS>
+GtkWidget *widget
+GdkEvent *event
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWidget::debug-msg</NAME>
+<RETURNS>void</RETURNS>
+GtkWidget *widget
+gchar *message
+</SIGNAL>
+
+<SIGNAL>
+<NAME>GtkWindow::set-focus</NAME>
+<RETURNS>void</RETURNS>
+GtkWindow *window
+GtkWidget *widget
+</SIGNAL>
+
diff --git a/docs/reference/gtk/gtk.types b/docs/reference/gtk/gtk.types
new file mode 100644
index 000000000..1bc77ae57
--- /dev/null
+++ b/docs/reference/gtk/gtk.types
@@ -0,0 +1,96 @@
+#include <gtk/gtk.h>
+
+gtk_accel_label_get_type
+gtk_adjustment_get_type
+gtk_alignment_get_type
+gtk_arrow_get_type
+gtk_aspect_frame_get_type
+gtk_bin_get_type
+gtk_box_get_type
+gtk_button_get_type
+gtk_button_box_get_type
+gtk_calendar_get_type
+gtk_check_button_get_type
+gtk_check_menu_item_get_type
+gtk_clist_get_type
+gtk_color_selection_get_type
+gtk_color_selection_dialog_get_type
+gtk_combo_get_type
+gtk_container_get_type
+gtk_ctree_get_type
+gtk_curve_get_type
+gtk_data_get_type
+gtk_dialog_get_type
+gtk_drawing_area_get_type
+gtk_editable_get_type
+gtk_entry_get_type
+gtk_event_box_get_type
+gtk_file_selection_get_type
+gtk_fixed_get_type
+gtk_font_selection_get_type
+gtk_font_selection_dialog_get_type
+gtk_frame_get_type
+gtk_gamma_curve_get_type
+gtk_handle_box_get_type
+gtk_hbox_get_type
+gtk_hbutton_box_get_type
+gtk_hpaned_get_type
+gtk_hruler_get_type
+gtk_hscale_get_type
+gtk_hscrollbar_get_type
+gtk_hseparator_get_type
+gtk_identifier_get_type
+gtk_image_get_type
+gtk_input_dialog_get_type
+gtk_invisible_get_type
+gtk_item_get_type
+gtk_item_factory_get_type
+gtk_label_get_type
+gtk_layout_get_type
+gtk_list_get_type
+gtk_list_item_get_type
+gtk_menu_get_type
+gtk_menu_bar_get_type
+gtk_menu_item_get_type
+gtk_menu_shell_get_type
+gtk_misc_get_type
+gtk_notebook_get_type
+gtk_object_get_type
+gtk_option_menu_get_type
+gtk_packer_get_type
+gtk_paned_get_type
+gtk_pixmap_get_type
+gtk_plug_get_type
+gtk_preview_get_type
+gtk_progress_get_type
+gtk_progress_bar_get_type
+gtk_radio_button_get_type
+gtk_radio_menu_item_get_type
+gtk_range_get_type
+gtk_ruler_get_type
+gtk_scale_get_type
+gtk_scrollbar_get_type
+gtk_scrolled_window_get_type
+gtk_separator_get_type
+gtk_socket_get_type
+gtk_spin_button_get_type
+gtk_statusbar_get_type
+gtk_table_get_type
+gtk_tearoff_menu_item_get_type
+gtk_text_get_type
+gtk_tips_query_get_type
+gtk_toggle_button_get_type
+gtk_toolbar_get_type
+gtk_tooltips_get_type
+gtk_tree_get_type
+gtk_tree_item_get_type
+gtk_vbox_get_type
+gtk_vbutton_box_get_type
+gtk_viewport_get_type
+gtk_vpaned_get_type
+gtk_vruler_get_type
+gtk_vscale_get_type
+gtk_vscrollbar_get_type
+gtk_vseparator_get_type
+gtk_widget_get_type
+gtk_window_get_type
diff --git a/docs/reference/gtk/objects_grouped.sgml b/docs/reference/gtk/objects_grouped.sgml
new file mode 100644
index 000000000..da6e073e0
--- /dev/null
+++ b/docs/reference/gtk/objects_grouped.sgml
@@ -0,0 +1,130 @@
+<informaltable pgwide=1 frame="none">
+<tgroup cols="4">
+<colspec colwidth="1*">
+<colspec colwidth="1*">
+<colspec colwidth="1*">
+<colspec colwidth="1*">
+<tbody><row>
+<entry><literallayout>
+<emphasis>Windows &amp; Dialogs</emphasis>
+ <link linkend="GtkWindow">GtkWindow</link>
+ <link linkend="GtkDialog">GtkDialog</link>
+ <link linkend="GtkColorSelectionDialog">GtkColorSelectionDialog</link>
+ <link linkend="GtkFileSelection">GtkFileSelection</link>
+ <link linkend="GtkFontSelectionDialog">GtkFontSelectionDialog</link>
+ <link linkend="GtkInputDialog">GtkInputDialog</link>
+
+<emphasis>Containers</emphasis>
+ <link linkend="GtkHBox">GtkHBox</link>
+ <link linkend="GtkVBox">GtkVBox</link>
+ <link linkend="GtkTable">GtkTable</link>
+ <link linkend="GtkToolbar">GtkToolbar</link>
+ <link linkend="GtkHandleBox">GtkHandleBox</link>
+ <link linkend="GtkNotebook">GtkNotebook</link>
+ <link linkend="GtkFrame">GtkFrame</link>
+ <link linkend="GtkAspectFrame">GtkAspectFrame</link>
+ <link linkend="GtkFixed">GtkFixed</link>
+ <link linkend="GtkPacker">GtkPacker</link>
+ <link linkend="GtkLayout">GtkLayout</link>
+ <link linkend="GtkScrolledWindow">GtkScrolledWindow</link>
+ <link linkend="GtkViewport">GtkViewport</link>
+ <link linkend="GtkEventBox">GtkEventBox</link>
+ <link linkend="GtkAlignment">GtkAlignment</link>
+ <link linkend="GtkInvisible">GtkInvisible</link>
+ <link linkend="GtkHButtonBox">GtkHButtonBox</link>
+ <link linkend="GtkVButtonBox">GtkVButtonBox</link>
+ <link linkend="GtkHPaned">GtkHPaned</link>
+ <link linkend="GtkVPaned">GtkVPaned</link>
+</literallayout></entry>
+<entry><literallayout>
+<emphasis>Labels &amp; Buttons</emphasis>
+ <link linkend="GtkLabel">GtkLabel</link>
+ <link linkend="GtkAccelLabel">GtkAccelLabel</link>
+ <link linkend="GtkButton">GtkButton</link>
+ <link linkend="GtkCheckButton">GtkCheckButton</link>
+ <link linkend="GtkToggleButton">GtkToggleButton</link>
+ <link linkend="GtkRadioButton">GtkRadioButton</link>
+
+<emphasis>Data Entry Widgets</emphasis>
+ <link linkend="GtkEntry">GtkEntry</link>
+ <link linkend="GtkText">GtkText</link>
+ <link linkend="GtkSpinButton">GtkSpinButton</link>
+ <link linkend="GtkOptionMenu">GtkOptionMenu</link>
+ <link linkend="GtkCombo">GtkCombo</link>
+ <link linkend="GtkHScale">GtkHScale</link>
+ <link linkend="GtkVScale">GtkVScale</link>
+
+<emphasis>Lists &amp; Trees</emphasis>
+ <link linkend="GtkCList">GtkCList</link>
+ <link linkend="GtkCTree">GtkCTree</link>
+ <link linkend="GtkList">GtkList</link>
+ <link linkend="GtkListItem">GtkListItem</link>
+ <link linkend="GtkTree">GtkTree</link>
+ <link linkend="GtkTreeItem">GtkTreeItem</link>
+
+<emphasis>Tooltips</emphasis>
+ <link linkend="GtkTooltips">GtkTooltips</link>
+ <link linkend="GtkTipsQuery">GtkTipsQuery</link>
+</literallayout></entry>
+<entry><literallayout>
+<emphasis>Menus &amp; Menu Bars</emphasis>
+ <link linkend="GtkMenuBar">GtkMenuBar</link>
+ <link linkend="GtkMenu">GtkMenu</link>
+ <link linkend="GtkMenuItem">GtkMenuItem</link>
+ <link linkend="GtkCheckMenuItem">GtkCheckMenuItem</link>
+ <link linkend="GtkRadioMenuItem">GtkRadioMenuItem</link>
+ <link linkend="GtkTearoffMenuItem">GtkTearoffMenuItem</link>
+
+<emphasis>Graphical Widgets</emphasis>
+ <link linkend="GtkDrawingArea">GtkDrawingArea</link>
+ <link linkend="GtkImage">GtkImage</link>
+ <link linkend="GtkPixmap">GtkPixmap</link>
+ <link linkend="GtkPreview">GtkPreview</link>
+ <link linkend="GtkCurve">GtkCurve</link>
+ <link linkend="GtkGammaCurve">GtkGammaCurve</link>
+
+<emphasis>Misc. Widgets</emphasis>
+ <link linkend="GtkArrow">GtkArrow</link>
+ <link linkend="GtkCalendar">GtkCalendar</link>
+ <link linkend="GtkProgressBar">GtkProgressBar</link>
+ <link linkend="GtkStatusbar">GtkStatusbar</link>
+ <link linkend="GtkHRuler">GtkHRuler</link>
+ <link linkend="GtkVRuler">GtkVRuler</link>
+ <link linkend="GtkHScrollbar">GtkHScrollbar</link>
+ <link linkend="GtkVScrollbar">GtkVScrollbar</link>
+ <link linkend="GtkHSeparator">GtkHSeparator</link>
+ <link linkend="GtkVSeparator">GtkVSeparator</link>
+ <link linkend="GtkColorSelection">GtkColorSelection</link>
+ <link linkend="GtkFontSelection">GtkFontSelection</link>
+</literallayout></entry>
+<entry><literallayout>
+<emphasis>Abstract Base Classes</emphasis>
+ <link linkend="GtkWidget">GtkWidget</link>
+ <link linkend="GtkObject">GtkObject</link>
+ <link linkend="GtkContainer">GtkContainer</link>
+ <link linkend="GtkBin">GtkBin</link>
+ <link linkend="GtkBox">GtkBox</link>
+ <link linkend="GtkButtonBox">GtkButtonBox</link>
+ <link linkend="GtkData">GtkData</link>
+ <link linkend="GtkEditable">GtkEditable</link>
+ <link linkend="GtkItem">GtkItem</link>
+ <link linkend="GtkMenuShell">GtkMenuShell</link>
+ <link linkend="GtkMisc">GtkMisc</link>
+ <link linkend="GtkPaned">GtkPaned</link>
+ <link linkend="GtkProgress">GtkProgress</link>
+ <link linkend="GtkRange">GtkRange</link>
+ <link linkend="GtkRuler">GtkRuler</link>
+ <link linkend="GtkScale">GtkScale</link>
+ <link linkend="GtkScrollbar">GtkScrollbar</link>
+ <link linkend="GtkSeparator">GtkSeparator</link>
+
+<emphasis>Integrating with other X Applications</emphasis>
+ <link linkend="GtkPlug">GtkPlug</link>
+ <link linkend="GtkSocket">GtkSocket</link>
+
+<emphasis>Misc. Objects</emphasis>
+ <link linkend="GtkAdjustment">GtkAdjustment</link>
+ <link linkend="GtkItemFactory">GtkItemFactory</link>
+</literallayout></entry>
+</row>
+</tbody></tgroup></informaltable>
diff --git a/docs/reference/gtk/tmpl/gtk-unused.sgml b/docs/reference/gtk/tmpl/gtk-unused.sgml
new file mode 100644
index 000000000..3e32cdde9
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtk-unused.sgml
@@ -0,0 +1,24 @@
+<!-- ##### ARG GtkPreview:expand ##### -->
+<para>
+Determines the way that the the preview widget behaves
+when the size it is allocated is larger than the requested
+size. See gtk_preview_set_expand().
+</para>
+
+
+<!-- ##### ARG GtkHandleBox:snap_edge ##### -->
+<para>
+Determines the snap edge of a handlebox. The snap edge is
+the edge of the detached child that must be aligned
+with the corresponding edge of the "ghost" left
+behind when the child was detached to reattach
+the torn-off window. See gtk_handle_box_set_snap_edge().
+</para>
+
+
+<!-- ##### ARG GtkHandleBox:handle_position ##### -->
+<para>
+Determines the side of the handlebox where the handle is drawn.
+</para>
+
+
diff --git a/docs/reference/gtk/tmpl/gtkaccelgroup.sgml b/docs/reference/gtk/tmpl/gtkaccelgroup.sgml
new file mode 100644
index 000000000..ccf0ce427
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkaccelgroup.sgml
@@ -0,0 +1,314 @@
+<!-- ##### SECTION Title ##### -->
+Keyboard Accelerators
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkAccelGroup ##### -->
+<para>
+
+</para>
+
+@ref_count:
+@lock_count:
+@modifier_mask:
+@attach_objects:
+
+<!-- ##### STRUCT GtkAccelEntry ##### -->
+<para>
+
+</para>
+
+@accel_group:
+@accelerator_key:
+@accelerator_mods:
+@accel_flags:
+@object:
+@signal_id:
+
+<!-- ##### FUNCTION gtk_accel_group_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accel_group_get_default ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accel_group_ref ##### -->
+<para>
+
+</para>
+
+@accel_group:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accel_group_unref ##### -->
+<para>
+
+</para>
+
+@accel_group:
+
+
+<!-- ##### FUNCTION gtk_accel_group_activate ##### -->
+<para>
+
+</para>
+
+@accel_group:
+@accel_key:
+@accel_mods:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accel_groups_activate ##### -->
+<para>
+
+</para>
+
+@object:
+@accel_key:
+@accel_mods:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accel_group_attach ##### -->
+<para>
+
+</para>
+
+@accel_group:
+@object:
+
+
+<!-- ##### FUNCTION gtk_accel_group_detach ##### -->
+<para>
+
+</para>
+
+@accel_group:
+@object:
+
+
+<!-- ##### FUNCTION gtk_accel_group_lock ##### -->
+<para>
+
+</para>
+
+@accel_group:
+
+
+<!-- ##### FUNCTION gtk_accel_group_unlock ##### -->
+<para>
+
+</para>
+
+@accel_group:
+
+
+<!-- ##### FUNCTION gtk_accel_group_get_entry ##### -->
+<para>
+
+</para>
+
+@accel_group:
+@accel_key:
+@accel_mods:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accel_group_lock_entry ##### -->
+<para>
+
+</para>
+
+@accel_group:
+@accel_key:
+@accel_mods:
+
+
+<!-- ##### FUNCTION gtk_accel_group_unlock_entry ##### -->
+<para>
+
+</para>
+
+@accel_group:
+@accel_key:
+@accel_mods:
+
+
+<!-- ##### FUNCTION gtk_accel_group_add ##### -->
+<para>
+
+</para>
+
+@accel_group:
+@accel_key:
+@accel_mods:
+@accel_flags:
+@object:
+@accel_signal:
+
+
+<!-- ##### FUNCTION gtk_accel_group_remove ##### -->
+<para>
+
+</para>
+
+@accel_group:
+@accel_key:
+@accel_mods:
+@object:
+
+
+<!-- ##### FUNCTION gtk_accel_group_handle_add ##### -->
+<para>
+
+</para>
+
+@object:
+@accel_signal_id:
+@accel_group:
+@accel_key:
+@accel_mods:
+@accel_flags:
+
+
+<!-- ##### FUNCTION gtk_accel_group_handle_remove ##### -->
+<para>
+
+</para>
+
+@object:
+@accel_group:
+@accel_key:
+@accel_mods:
+
+
+<!-- ##### FUNCTION gtk_accel_group_create_add ##### -->
+<para>
+
+</para>
+
+@class_type:
+@signal_flags:
+@handler_offset:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accel_group_create_remove ##### -->
+<para>
+
+</para>
+
+@class_type:
+@signal_flags:
+@handler_offset:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accel_group_marshal_add ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_accel_group_marshal_remove ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_accel_groups_from_object ##### -->
+<para>
+
+</para>
+
+@object:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accel_group_entries_from_object ##### -->
+<para>
+
+</para>
+
+@object:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accelerator_valid ##### -->
+<para>
+
+</para>
+
+@keyval:
+@modifiers:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accelerator_parse ##### -->
+<para>
+
+</para>
+
+@accelerator:
+@accelerator_key:
+@accelerator_mods:
+
+
+<!-- ##### FUNCTION gtk_accelerator_name ##### -->
+<para>
+
+</para>
+
+@accelerator_key:
+@accelerator_mods:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accelerator_set_default_mod_mask ##### -->
+<para>
+
+</para>
+
+@default_mod_mask:
+
+
+<!-- ##### FUNCTION gtk_accelerator_get_default_mod_mask ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkaccellabel.sgml b/docs/reference/gtk/tmpl/gtkaccellabel.sgml
new file mode 100644
index 000000000..bd1c8c05a
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkaccellabel.sgml
@@ -0,0 +1,69 @@
+<!-- ##### SECTION Title ##### -->
+GtkAccelLabel
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkAccelLabel ##### -->
+<para>
+
+</para>
+
+@label:
+@queue_id:
+@accel_padding:
+@accel_widget:
+@accel_string:
+@accel_string_width:
+
+<!-- ##### FUNCTION gtk_accel_label_new ##### -->
+<para>
+
+</para>
+
+@string:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accel_label_set_accel_widget ##### -->
+<para>
+
+</para>
+
+@accel_label:
+@accel_widget:
+
+
+<!-- ##### FUNCTION gtk_accel_label_get_accel_width ##### -->
+<para>
+
+</para>
+
+@accel_label:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_accel_label_refetch ##### -->
+<para>
+
+</para>
+
+@accel_label:
+@Returns:
+
+
+<!-- ##### ARG GtkAccelLabel:accel_widget ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkadjustment.sgml b/docs/reference/gtk/tmpl/gtkadjustment.sgml
new file mode 100644
index 000000000..4d8540ad4
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkadjustment.sgml
@@ -0,0 +1,161 @@
+<!-- ##### SECTION Title ##### -->
+GtkAdjustment
+
+<!-- ##### SECTION Short_Description ##### -->
+a #GtkObject representing an adjustable bounded value.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkAdjustment object represents a value which has an associated lower
+and upper bound, together with step and page increments, and a page size.
+It is used within several GTK+ widgets, including
+#GtkSpinButton, #GtkViewport, and #GtkRange (which is a base class for
+#GtkHScrollbar, #GtkVScrollbar, #GtkHScale, and #GtkVScale).
+</para>
+<para>
+The #GtkAdjustment object does not update the value itself. Instead
+it is left up to the owner of the #GtkAdjustment to control the value.
+</para>
+<para>
+The owner of the #GtkAdjustment typically calls the
+gtk_adjustment_value_changed() and gtk_adjustment_changed() functions
+after changing the value and its bounds. This results in the emission of the
+&quot;value_changed&quot; or &quot;changed&quot; signal respectively.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkAdjustment ##### -->
+<para>
+The #GtkAdjustment-struct struct contains the following fields.
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#gfloat lower;</entry>
+<entry>the minimum value.</entry>
+</row>
+
+<row>
+<entry>#gfloat upper;</entry>
+<entry>the maximum value.</entry>
+</row>
+
+<row>
+<entry>#gfloat value;</entry>
+<entry>the current value.</entry>
+</row>
+
+<row>
+<entry>#gfloat step_increment;</entry>
+<entry>the increment to use to make minor changes to the value.
+In a #GtkScrollbar this increment is used when the mouse is clicked on the
+arrows at the top and bottom of the scrollbar, to scroll by a small amount.
+</entry>
+</row>
+
+<row>
+<entry>#gfloat page_increment;</entry>
+<entry>the increment to use to make major changes to the value.
+In a #GtkScrollbar this increment is used when the mouse is clicked in the
+trough, to scroll by a large amount.
+</entry>
+</row>
+
+<row>
+<entry>#gfloat page_size;</entry>
+<entry>the page size.
+In a #GtkScrollbar this is the size of the area which is currently visible.
+</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+
+</para>
+
+@data:
+@lower:
+@upper:
+@value:
+@step_increment:
+@page_increment:
+@page_size:
+
+<!-- ##### FUNCTION gtk_adjustment_new ##### -->
+<para>
+Creates a new #GtkAdjustment.
+</para>
+
+@value: the initial value.
+@lower: the minimum value.
+@upper: the maximum value.
+@step_increment: the step increment.
+@page_increment: the page increment.
+@page_size: the page size.
+@Returns: a new #GtkAdjustment.
+
+
+<!-- ##### FUNCTION gtk_adjustment_set_value ##### -->
+<para>
+Sets the #GtkAdjustment value.
+</para>
+
+@adjustment: a #GtkAdjustment.
+@value: the new value.
+
+
+<!-- ##### FUNCTION gtk_adjustment_clamp_page ##### -->
+<para>
+Updates the #GtkAdjustment @value to ensure that the range between @lower
+and @upper is in the current page (i.e. between @value and @value +
+@page_size).
+If the range is larger than the page size, then only the start of it will
+be in the current page.
+A &quot;changed&quot; signal will be emitted if the value is changed.
+</para>
+
+@adjustment: a #GtkAdjustment.
+@lower: the lower value.
+@upper: the upper value.
+
+
+<!-- ##### FUNCTION gtk_adjustment_changed ##### -->
+<para>
+Emits a &quot;changed&quot; signal from the #GtkAdjustment.
+This is typically called by the owner of the #GtkAdjustment after it has
+changed any of the #GtkAdjustment fields other than the value.
+</para>
+
+@adjustment:
+
+
+<!-- ##### FUNCTION gtk_adjustment_value_changed ##### -->
+<para>
+Emits a &quot;value_changed&quot; signal from the #GtkAdjusmtent.
+This is typically called by the owner of the #GtkAdjustment after it has
+changed the #GtkAdjustment value field.
+</para>
+
+@adjustment:
+
+
+<!-- ##### SIGNAL GtkAdjustment::changed ##### -->
+<para>
+Emitted when one or more of the #GtkAdjustment fields have been changed,
+other than the value field.
+</para>
+
+@adjustment: the object which received the signal.
+
+<!-- ##### SIGNAL GtkAdjustment::value-changed ##### -->
+<para>
+Emitted when the #GtkAdjustment value field has been changed.
+</para>
+
+@adjustment: the object which received the signal.
+
diff --git a/docs/reference/gtk/tmpl/gtkalignment.sgml b/docs/reference/gtk/tmpl/gtkalignment.sgml
new file mode 100644
index 000000000..5a2b5b51a
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkalignment.sgml
@@ -0,0 +1,104 @@
+<!-- ##### SECTION Title ##### -->
+GtkAlignment
+
+<!-- ##### SECTION Short_Description ##### -->
+a widget which controls the alignment and size of its child.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkAlignment widget controls the alignment and size of its child widget.
+It has four settings: xscale, yscale, xalign, and yalign.
+</para>
+<para>
+The scale settings are used to specify how much the child widget should
+expand to fill the space allocated to the #GtkAlignment.
+The values can range from 0 (meaning the child doesn't expand at all) to
+1 (meaning the child expands to fill all of the available space).
+</para>
+<para>
+The align settings are used to place the child widget within the available
+area. The values range from 0 (top or left) to 1 (bottom or right).
+Of course, if the scale settings are both set to 1, the alignment settings
+have no effect.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkAlignment ##### -->
+<para>
+The #GtkAlignment-struct struct contains private data only, and should
+be accessed using the functions below.
+</para>
+
+@bin:
+@xalign:
+@yalign:
+@xscale:
+@yscale:
+
+<!-- ##### FUNCTION gtk_alignment_new ##### -->
+<para>
+Creates a new #GtkAlignment.
+</para>
+
+@xalign: the horizontal alignment of the child widget, from 0 (left) to 1
+(right).
+@yalign: the vertical alignment of the child widget, from 0 (top) to 1
+(bottom).
+@xscale: the amount that the child widget expands horizontally to fill up
+unused space, from 0 to 1.
+A value of 0 indicates that the child widget should never expand.
+A value of 1 indicates that the child widget will expand to fill all of the
+space allocated for the #GtkAlignment.
+@yscale: the amount that the child widget expands vertically to fill up
+unused space, from 0 to 1. The values are similar to @xscale.
+@Returns: the new #GtkAlignment.
+
+
+<!-- ##### FUNCTION gtk_alignment_set ##### -->
+<para>
+Sets the #GtkAlignment values.
+</para>
+
+@alignment: a #GtkAlignment.
+@xalign: the horizontal alignment of the child widget, from 0 (left) to 1
+(right).
+@yalign: the vertical alignment of the child widget, from 0 (top) to 1
+(bottom).
+@xscale: the amount that the child widget expands horizontally to fill up
+unused space, from 0 to 1.
+A value of 0 indicates that the child widget should never expand.
+A value of 1 indicates that the child widget will expand to fill all of the
+space allocated for the #GtkAlignment.
+@yscale: the amount that the child widget expands vertically to fill up
+unused space, from 0 to 1. The values are similar to @xscale.
+
+
+<!-- ##### ARG GtkAlignment:xalign ##### -->
+<para>
+the horizontal alignment of the child widget, from 0 (left) to 1 (right).
+</para>
+
+<!-- ##### ARG GtkAlignment:yalign ##### -->
+<para>
+the vertical alignment of the child widget, from 0 (top) to 1 (bottom).
+</para>
+
+<!-- ##### ARG GtkAlignment:xscale ##### -->
+<para>
+the amount that the child widget expands horizontally to fill up
+unused space, from 0 to 1.
+A value of 0 indicates that the child widget should never expand.
+A value of 1 indicates that the child widget will expand to fill all of the
+space allocated for the #GtkAlignment.
+</para>
+
+<!-- ##### ARG GtkAlignment:yscale ##### -->
+<para>
+the amount that the child widget expands vertically to fill up
+unused space, from 0 to 1. The values are similar to @xscale.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkarg.sgml b/docs/reference/gtk/tmpl/gtkarg.sgml
new file mode 100644
index 000000000..3b8bec4eb
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkarg.sgml
@@ -0,0 +1,147 @@
+<!-- ##### SECTION Title ##### -->
+Object Properties
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkArgInfo ##### -->
+<para>
+
+</para>
+
+@class_type:
+@name:
+@type:
+@arg_flags:
+@full_name:
+@arg_id:
+@seq_id:
+
+<!-- ##### FUNCTION gtk_arg_new ##### -->
+<para>
+
+</para>
+
+@arg_type:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_arg_copy ##### -->
+<para>
+
+</para>
+
+@src_arg:
+@dest_arg:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_arg_free ##### -->
+<para>
+
+</para>
+
+@arg:
+@free_contents:
+
+
+<!-- ##### FUNCTION gtk_args_collect ##### -->
+<para>
+
+</para>
+
+@object_type:
+@arg_info_hash_table:
+@arg_list_p:
+@info_list_p:
+@first_arg_name:
+@var_args:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_args_collect_cleanup ##### -->
+<para>
+
+</para>
+
+@arg_list:
+@info_list:
+
+
+<!-- ##### FUNCTION gtk_arg_get_info ##### -->
+<para>
+
+</para>
+
+@object_type:
+@arg_info_hash_table:
+@arg_name:
+@info_p:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_arg_type_new_static ##### -->
+<para>
+
+</para>
+
+@base_class_type:
+@arg_name:
+@class_n_args_offset:
+@arg_info_hash_table:
+@arg_type:
+@arg_flags:
+@arg_id:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_args_query ##### -->
+<para>
+
+</para>
+
+@class_type:
+@arg_info_hash_table:
+@arg_flags:
+@n_args_p:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_arg_name_strip_type ##### -->
+<para>
+
+</para>
+
+@arg_name:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_arg_info_equal ##### -->
+<para>
+
+</para>
+
+@arg_info_1:
+@arg_info_2:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_arg_info_hash ##### -->
+<para>
+
+</para>
+
+@arg_info:
+@Returns:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkarrow.sgml b/docs/reference/gtk/tmpl/gtkarrow.sgml
new file mode 100644
index 000000000..30538600c
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkarrow.sgml
@@ -0,0 +1,92 @@
+<!-- ##### SECTION Title ##### -->
+GtkArrow
+
+<!-- ##### SECTION Short_Description ##### -->
+produces an arrow pointing in one of the four cardinal directions.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GtkArrow should be used to draw simple arrows that need to point in
+one of the four cardinal directions (up, down, left, or right). The
+style of the arrow can be one of shadow in, shadow out, etched in, or
+etched out. Note that these directions and style types may be
+ammended in versions of Gtk to come.
+</para>
+<para>
+GtkArrow will fill any space alloted to it, but since it is inherited
+from #GtkMisc, it can be padded and/or aligned, to fill exactly the
+space the programmer desires.
+</para>
+<para>
+Arrows are created with a call to gtk_arrow_new(). The direction or
+style of an arrow can be changed after creation by using gtk_arrow_set().
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>gtk_paint_arrow()</term>
+<listitem><para>the function used internally to paint the arrow.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkArrow ##### -->
+<para>
+The #GtkArrow-struct containes the following fields.
+(These fields should be considered read-only. They should never be set by
+an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#gint16 <structfield>arrow_type</structfield>;</entry>
+<entry>the direction of the arrow, one of #GtkArrowType.</entry>
+</row>
+
+<row>
+<entry>#gint16 <structfield>shadow_type</structfield>;</entry>
+<entry>the style of the arrow, one of #GtkShadowType.</entry>
+</row>
+</informaltable>
+</para>
+
+@misc:
+@arrow_type:
+@shadow_type:
+
+<!-- ##### FUNCTION gtk_arrow_new ##### -->
+<para>
+Creates a new arrow widget.
+</para>
+
+@arrow_type: a valid #GtkArrowType.
+@shadow_type: a valid #GtkShadowType.
+@Returns: the new #GtkArrow widget.
+
+
+<!-- ##### FUNCTION gtk_arrow_set ##### -->
+<para>
+Sets the direction and style of the #GtkArrow, @arrow.
+</para>
+
+@arrow: a widget of type #GtkArrow.
+@arrow_type: a valid #GtkArrowType.
+@shadow_type: a valid #GtkShadowType.
+
+
+<!-- ##### ARG GtkArrow:arrow_type ##### -->
+<para>
+the arrow direction, one of #GtkArrowType.
+</para>
+
+<!-- ##### ARG GtkArrow:shadow_type ##### -->
+<para>
+the arrow style, one of #GtkShadowType.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkaspectframe.sgml b/docs/reference/gtk/tmpl/gtkaspectframe.sgml
new file mode 100644
index 000000000..868a48868
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkaspectframe.sgml
@@ -0,0 +1,71 @@
+<!-- ##### SECTION Title ##### -->
+GtkAspectFrame
+
+<!-- ##### SECTION Short_Description ##### -->
+A frame that constrains its child to a particular aspect ratio.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkAspectFrame is useful when you want
+pack a widget so that it can resize but always retains
+the same aspect ratio. For instance, one might be
+drawing a small preview of a larger image. #GtkAspectFrame
+derives from #GtkFrame, so it can draw a label and
+a frame around the child. The frame will be
+"shrink-wrapped" to the size of the child.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkAspectFrame ##### -->
+<para>
+
+</para>
+
+@frame:
+@xalign:
+@yalign:
+@ratio:
+@obey_child:
+@center_allocation:
+
+<!-- ##### FUNCTION gtk_aspect_frame_new ##### -->
+<para>
+Create a new #GtkAspectFrame.
+</para>
+
+@label: Label text.
+@xalign: Horizontal lignment of the child within the allocation of
+the #GtkAspectFrame. This ranges from 0.0 (left aligned)
+to 1.0 (right aligned)
+@yalign: Vertical lignment of the child within the allocation of
+the #GtkAspectFrame. This ranges from 0.0 (left aligned)
+to 1.0 (right aligned)
+@ratio: The desired aspect ratio.
+@obey_child: If %TRUE, @ratio is ignored, and the aspect
+ ratio is taken from the requistion of the child.
+@Returns: the new #GtkAspectFrame.
+<!-- # Unused Parameters # -->
+@ratio: The desired aspect ratio.
+
+
+<!-- ##### FUNCTION gtk_aspect_frame_set ##### -->
+<para>
+Set parameters for an existing #GtkAspectFrame.
+</para>
+
+@aspect_frame: a #GtkAspectFrame
+@xalign: Horizontal lignment of the child within the allocation of
+the #GtkAspectFrame. This ranges from 0.0 (left aligned)
+to 1.0 (right aligned)
+@yalign: Vertical lignment of the child within the allocation of
+the #GtkAspectFrame. This ranges from 0.0 (left aligned)
+to 1.0 (right aligned)
+@ratio: The desired aspect ratio.
+@obey_child: If %TRUE, @ratio is ignored, and the aspect
+ ratio is taken from the requistion of the child.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkbbox.sgml b/docs/reference/gtk/tmpl/gtkbbox.sgml
new file mode 100644
index 000000000..834df6912
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkbbox.sgml
@@ -0,0 +1,159 @@
+<!-- ##### SECTION Title ##### -->
+GtkButtonBox
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkButtonBox ##### -->
+<para>
+
+</para>
+
+@box:
+@spacing:
+@child_min_width:
+@child_min_height:
+@child_ipad_x:
+@child_ipad_y:
+@layout_style:
+
+<!-- ##### MACRO GTK_BUTTONBOX_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_button_box_get_child_size_default ##### -->
+<para>
+
+</para>
+
+@min_width:
+@min_height:
+
+
+<!-- ##### FUNCTION gtk_button_box_get_child_ipadding_default ##### -->
+<para>
+
+</para>
+
+@ipad_x:
+@ipad_y:
+
+
+<!-- ##### FUNCTION gtk_button_box_set_child_size_default ##### -->
+<para>
+
+</para>
+
+@min_width:
+@min_height:
+
+
+<!-- ##### FUNCTION gtk_button_box_set_child_ipadding_default ##### -->
+<para>
+
+</para>
+
+@ipad_x:
+@ipad_y:
+
+
+<!-- ##### FUNCTION gtk_button_box_get_spacing ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_button_box_get_layout ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_button_box_get_child_size ##### -->
+<para>
+
+</para>
+
+@widget:
+@min_width:
+@min_height:
+
+
+<!-- ##### FUNCTION gtk_button_box_get_child_ipadding ##### -->
+<para>
+
+</para>
+
+@widget:
+@ipad_x:
+@ipad_y:
+
+
+<!-- ##### FUNCTION gtk_button_box_set_spacing ##### -->
+<para>
+
+</para>
+
+@widget:
+@spacing:
+
+
+<!-- ##### FUNCTION gtk_button_box_set_layout ##### -->
+<para>
+
+</para>
+
+@widget:
+@layout_style:
+
+
+<!-- ##### FUNCTION gtk_button_box_set_child_size ##### -->
+<para>
+
+</para>
+
+@widget:
+@min_width:
+@min_height:
+
+
+<!-- ##### FUNCTION gtk_button_box_set_child_ipadding ##### -->
+<para>
+
+</para>
+
+@widget:
+@ipad_x:
+@ipad_y:
+
+
+<!-- ##### FUNCTION gtk_button_box_child_requisition ##### -->
+<para>
+
+</para>
+
+@widget:
+@nvis_children:
+@width:
+@height:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkbin.sgml b/docs/reference/gtk/tmpl/gtkbin.sgml
new file mode 100644
index 000000000..1aa48ce5a
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkbin.sgml
@@ -0,0 +1,44 @@
+<!-- ##### SECTION Title ##### -->
+GtkBin
+
+<!-- ##### SECTION Short_Description ##### -->
+a container with just one child.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkBin widget is a container with just one child.
+It is not very useful itself, but it is useful for deriving subclasses,
+since it provides common code needed for handling a single child widget.
+</para>
+<para>
+Many GTK+ widgets are subclasses of #GtkBin, including #GtkWindow, #GtkButton,
+#GtkFrame, #GtkHandleBox, and #GtkScrolledWindow.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkBin ##### -->
+<para>
+The #GtkBin-struct struct contains the following fields.
+(These fields should be considered read-only. They should never be set by
+an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#GtkWidget *child;</entry>
+<entry>the child widget.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+
+</para>
+
+@container:
+@child:
+
diff --git a/docs/reference/gtk/tmpl/gtkbindings.sgml b/docs/reference/gtk/tmpl/gtkbindings.sgml
new file mode 100644
index 000000000..a5c84f097
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkbindings.sgml
@@ -0,0 +1,243 @@
+<!-- ##### SECTION Title ##### -->
+Bindings
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkPatternSpec ##### -->
+<para>
+
+</para>
+
+@match_type:
+@pattern_length:
+@pattern:
+@pattern_reversed:
+@user_data:
+@seq_id:
+
+<!-- ##### FUNCTION gtk_pattern_spec_init ##### -->
+<para>
+
+</para>
+
+@pspec:
+@pattern:
+
+
+<!-- ##### FUNCTION gtk_pattern_spec_free_segs ##### -->
+<para>
+
+</para>
+
+@pspec:
+
+
+<!-- ##### FUNCTION gtk_pattern_match ##### -->
+<para>
+
+</para>
+
+@pspec:
+@string_length:
+@string:
+@string_reversed:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_pattern_match_string ##### -->
+<para>
+
+</para>
+
+@pspec:
+@string:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_pattern_match_simple ##### -->
+<para>
+
+</para>
+
+@pattern:
+@string:
+@Returns:
+
+
+<!-- ##### STRUCT GtkBindingSet ##### -->
+<para>
+
+</para>
+
+@set_name:
+@priority:
+@widget_path_pspecs:
+@widget_class_pspecs:
+@class_branch_pspecs:
+@entries:
+@current:
+
+<!-- ##### STRUCT GtkBindingEntry ##### -->
+<para>
+
+</para>
+
+@keyval:
+@modifiers:
+@binding_set:
+@destroyed:
+@in_emission:
+@set_next:
+@hash_next:
+@signals:
+
+<!-- ##### STRUCT GtkBindingSignal ##### -->
+<para>
+
+</para>
+
+@next:
+@signal_name:
+@n_args:
+@args:
+
+<!-- ##### STRUCT GtkBindingArg ##### -->
+<para>
+
+</para>
+
+@arg_type:
+
+<!-- ##### FUNCTION gtk_binding_set_new ##### -->
+<para>
+
+</para>
+
+@set_name:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_binding_set_by_class ##### -->
+<para>
+
+</para>
+
+@object_class:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_binding_set_find ##### -->
+<para>
+
+</para>
+
+@set_name:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_bindings_activate ##### -->
+<para>
+
+</para>
+
+@object:
+@keyval:
+@modifiers:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_binding_set_activate ##### -->
+<para>
+
+</para>
+
+@binding_set:
+@keyval:
+@modifiers:
+@object:
+@Returns:
+
+
+<!-- ##### MACRO gtk_binding_entry_add ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_binding_entry_clear ##### -->
+<para>
+
+</para>
+
+@binding_set:
+@keyval:
+@modifiers:
+
+
+<!-- ##### FUNCTION gtk_binding_entry_add_signal ##### -->
+<para>
+
+</para>
+
+@binding_set:
+@keyval:
+@modifiers:
+@signal_name:
+@n_args:
+@Varargs:
+
+
+<!-- ##### FUNCTION gtk_binding_set_add_path ##### -->
+<para>
+
+</para>
+
+@binding_set:
+@path_type:
+@path_pattern:
+@priority:
+
+
+<!-- ##### FUNCTION gtk_binding_entry_remove ##### -->
+<para>
+
+</para>
+
+@binding_set:
+@keyval:
+@modifiers:
+
+
+<!-- ##### FUNCTION gtk_binding_entry_add_signall ##### -->
+<para>
+
+</para>
+
+@binding_set:
+@keyval:
+@modifiers:
+@signal_name:
+@binding_args:
+
+
+<!-- ##### FUNCTION gtk_binding_parse_binding ##### -->
+<para>
+
+</para>
+
+@scanner:
+@Returns:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkbox.sgml b/docs/reference/gtk/tmpl/gtkbox.sgml
new file mode 100644
index 000000000..0ff6c7c8f
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkbox.sgml
@@ -0,0 +1,370 @@
+<!-- ##### SECTION Title ##### -->
+GtkBox
+
+<!-- ##### SECTION Short_Description ##### -->
+a base class for box containers
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GtkBox is an abstract widget which encapsulates functionallity for a
+particular kind of container, one that organizes a variable number of
+widgets into a rectangular area. GtkBox currently has two derived
+classes, #GtkHBox and #GtkVBox.
+</para>
+<para>
+The rectangular area of a GtkBox is organized into either a single row
+or a single column of child widgets depending upon whether the box is
+of type #GtkHBox or #GtkVBox, respectively. Thus, all children of a
+GtkBox are allocated one dimension in common, which is the height of a
+row, or the width of a column.
+</para>
+<para>
+GtkBox uses a notion of <emphasis>packing</emphasis>. Packing refers to
+adding widgets with reference to a particular position in a
+#GtkContainer. For a GtkBox, there are two reference positions: the
+<emphasis>start</emphasis> and the <emphasis>end</emphasis> of the box. For a
+#GtkVBox, the start is defined as the top of the box and the end is
+defined as the bottom. For a #GtkHBox the start is defined as the
+left side and the end is defined as the right side.
+</para>
+<para>
+Use repeated calls to gtk_box_pack_start() to pack widgets into a
+GtkBox from start to end. Use gtk_box_pack_end() to add widgets from
+end to start. You may intersperse these calls and add widgets from
+both ends of the same GtkBox.
+</para>
+<para>
+Use gtk_box_pack_start_defaults() or gtk_box_pack_end_defaults()
+to pack widgets into a GtkBox if you do not need to specify the
+<structfield>expand</structfield>, <structfield>fill</structfield>, or
+<structfield>padding</structfield> attributes of the child to be
+added.
+</para>
+<para>
+Because GtkBox is a #GtkContainer, you may also use
+gtk_container_add() to insert widgets into the box, and they will be
+packed as if with gtk_box_pack_start_defaults(). Use
+gtk_container_remove() to remove widgets from the GtkBox.
+</para>
+<para>
+Use gtk_box_set_homogeneous() to specify whether or not all children
+of the GtkBox are forced to get the same amount of space.
+</para>
+<para>
+Use gtk_box_set_spacing() to determine how much space will be
+minimally placed between all children in the GtkBox.
+</para>
+<para>
+Use gtk_box_reorder_child() to move a GtkBox child to a different
+place in the box.
+</para>
+<para>
+Use gtk_box_set_child_packing() to reset the
+<structfield>expand</structfield>, <structfield>fill</structfield>,
+and <structfield>padding</structfield> attributes of any GtkBox child.
+Use gtk_box_query_child_packing() to query these fields.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkHBox</term>
+<listitem><para>a derived class that organizes widgets into a row.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>#GtkVBox</term>
+<listitem><para>a derived class that organizes widgets into a column.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>#GtkFrame</term>
+<listitem><para>a #GtkWidget useful for drawing a border around a GtkBox.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>#GtkTable</term>
+<listitem><para>a #GtkContainer for organizing widgets into a grid,
+rather than independent rows or columns.</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>#GtkLayout</term>
+<listitem><para>a #GtkContainer for organizing widgets into arbitrary
+layouts.</para></listitem>
+</varlistentry>
+
+</variablelist>
+
+</para>
+
+<!-- ##### STRUCT GtkBox ##### -->
+<para>
+The #GtkBox-struct describes an instance of GtkBox and contains the following fields.
+(These fields should be considered read-only. They should never be set by
+an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#GList * <structfield>children</structfield>;</entry>
+<entry>a list of children belonging the GtkBox. The data is a list of
+structures of type #GtkBoxChild-struct.</entry>
+</row>
+
+<row>
+<entry>#gint16 <structfield>spacing</structfield>;</entry>
+<entry>the number of pixels to put between children of the GtkBox, zero
+by default. Use gtk_box_set_spacing() to set this field.</entry>
+</row>
+
+<row>
+<entry>#guint <structfield>homogeneous</structfield>;</entry>
+<entry>a flag that if %TRUE forces all children to get equal space in
+the GtkBox; %FALSE by default. Use gtk_box_set_homogeneous() to set this
+field.</entry>
+</row>
+</informaltable>
+</para>
+
+@container:
+@children:
+@spacing:
+@homogeneous:
+
+<!-- ##### STRUCT GtkBoxChild ##### -->
+<para>
+The #GtkBoxChild-struct holds a child widget of GtkBox and describes
+how the child is to be packed into the GtkBox. Use
+gtk_box_query_child_packing() and gtk_box_set_child_packing() to query
+and reset the <structfield>padding</structfield>,
+<structfield>expand</structfield>, <structfield>fill</structfield>,
+and <structfield>pack</structfield> fields.
+</para>
+<para>
+#GtkBoxChild-struct contains the following fields. (These fields
+should be considered read-only. They should never be directly set by an
+application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#GtkWidget * <structfield>widget</structfield>;</entry>
+<entry>the child widget, packed into the GtkBox.</entry>
+</row>
+
+<row>
+<entry>#guint16 <structfield>padding</structfield>;</entry>
+<entry>the number of extra pixels to put between this child and its
+neighbors, set when packed, zero by default.</entry>
+</row>
+
+<row>
+<entry>#guint <structfield>expand</structfield>;</entry>
+<entry>flag indicates whether extra space should be given to this
+child. Any extra space given to the parent GtkBox is divided up among
+all children with this attribute set to %TRUE; set when packed, %TRUE by
+default.</entry>
+</row>
+
+<row>
+<entry>#guint <structfield>fill</structfield>;</entry>
+<entry>flag indicates whether any extra space given to this child due to its
+<structfield>expand</structfield> attribute being set is actually
+allocated to the child, rather than being used as padding
+around the widget; set when packed, %TRUE by default.</entry>
+</row>
+
+<row>
+<entry>#guint <structfield>pack</structfield>;</entry> <entry>one of
+#GtkPackType indicating whether the child is packed with reference to
+the start (top/left) or end (bottom/right) of the GtkBox.</entry>
+</row>
+</informaltable>
+</para>
+
+@widget:
+@padding:
+@expand:
+@fill:
+@pack:
+
+<!-- ##### FUNCTION gtk_box_pack_start ##### -->
+<para>
+Adds @child to @box, packed with reference to the start of @box. The
+@child is packed after any other child packed with reference to the
+start of @box.
+</para>
+
+@box: a #GtkBox.
+@child: the #GtkWidget to be added to @box.
+@expand: %TRUE if the new child is to be given extra space allocated to
+@box. The extra space will be divided evenly between all children of
+@box that use this option.
+@fill: %TRUE if space given to @child by the @expand option is
+actually allocated to @child, rather than just padding it. This
+parameter has no effect if @expand is set to %FALSE. A child is
+always allocated the full height of a #GtkHBox and the full width of a
+#GtkVBox. This option affects the other dimension.
+@padding: extra space in pixels to put between this child and its
+neighbors, over and above the global amount specified by
+<structfield>spacing</structfield> in #GtkBox-struct. If @child is a
+widget at one of the reference ends of @box, then @padding pixels are also put
+between @child and the reference edge of @box.
+
+
+<!-- ##### FUNCTION gtk_box_pack_end ##### -->
+<para>
+Adds @child to @box, packed with reference to the end of @box. The
+@child is packed after (away from end of) any other child packed with reference to the
+end of @box.
+</para>
+
+@box: a #GtkBox.
+@child: the #GtkWidget to be added to @box.
+@expand: %TRUE if the new child is to be given extra space allocated to
+@box. The extra space will be divided evenly between all children of
+@box that use this option.
+@fill: %TRUE if space given to @child by the @expand option is
+actually allocated to @child, rather than just padding it. This
+parameter has no effect if @expand is set to %FALSE. A child is
+always allocated the full height of a #GtkHBox and the full width of a
+#GtkVBox. This option affects the other dimension.
+@padding: extra space in pixels to put between this child and its
+neighbors, over and above the global amount specified by
+<structfield>spacing</structfield> in #GtkBox-struct. If @child is a
+widget at one of the reference ends of @box, then @padding pixels are also put
+between @child and the reference edge of @box.
+
+
+<!-- ##### FUNCTION gtk_box_pack_start_defaults ##### -->
+<para>
+Adds @widget to @box, packed with reference to the start of @box. The
+child is packed after any other child packed with reference to the
+start of @box.
+</para>
+<para>
+Parameters for how to pack the child @widget,
+<structfield>expand</structfield>, <structfield>fill</structfield>,
+and <structfield>padding</structfield> in #GtkBoxChild-struct, are given their default
+values, %TRUE, %TRUE, and 0, respectively.
+</para>
+
+@box: a #GtkBox.
+@widget: the #GtkWidget to be added to @box.
+
+
+<!-- ##### FUNCTION gtk_box_pack_end_defaults ##### -->
+<para>
+Adds @widget to @box, packed with reference to the end of @box. The
+child is packed after (away from end of) any other child packed with
+reference to the end of @box.
+</para>
+<para>
+Parameters for how to pack the child @widget,
+<structfield>expand</structfield>, <structfield>fill</structfield>,
+and <structfield>padding</structfield> in #GtkBoxChild-struct, are given their default
+values, %TRUE, %TRUE, and 0, respectively.
+</para>
+
+@box: a #GtkBox.
+@widget: the #GtkWidget to be added to @box.
+
+
+<!-- ##### FUNCTION gtk_box_set_homogeneous ##### -->
+<para>
+Sets the <structfield>homogeneous</structfield> field of
+#GtkBox-struct, controlling whether or not all children of @box are
+given equal space in the box.
+</para>
+
+@box: a #GtkBox.
+@homogeneous: a boolean value, %TRUE to create equal allotments,
+%FALSE for variable allotments.
+
+
+<!-- ##### FUNCTION gtk_box_set_spacing ##### -->
+<para>
+Sets the <structfield>spacing</structfield> field of #GtkBox-struct,
+which is the number of pixels to place between children of @box.
+</para>
+
+@box: a #GtkBox.
+@spacing: the number of pixels to put between children.
+
+
+<!-- ##### FUNCTION gtk_box_reorder_child ##### -->
+<para>
+Moves @child to a new @position in the list of @box children. The
+list is the <structfield>children</structfield> field of
+#GtkBox-struct, and contains both widgets packed #GTK_PACK_START as
+well as widgets packed #GTK_PACK_END, in the order that these widgets
+were added to @box.
+</para>
+<para>
+A widget's position in the @box children list determines where the
+widget is packed into @box. A child widget at some position in the
+list will be packed just after all other widgets of the same packing
+type that appear earlier in the list. A negative value of @position is
+interpreted as position 0.
+</para>
+
+@box: a #GtkBox.
+@child: the #GtkWidget to move.
+@position: the new position for @child in the
+<structfield>children</structfield> list of #GtkBox-struct, starting
+from 0.
+
+
+<!-- ##### FUNCTION gtk_box_query_child_packing ##### -->
+<para>
+Returns information about how @child is packed into @box.
+</para>
+
+@box: a #GtkBox.
+@child: the #GtkWidget of the child to query.
+@expand: the returned value of the <structfield>expand</structfield>
+field in #GtkBoxChild-struct.
+@fill: the returned value of the <structfield>fill</structfield> field
+in #GtkBoxChild-struct.
+@padding: the returned value of the <structfield>padding</structfield>
+field in #GtkBoxChild-struct.
+@pack_type: the returned value of the <structfield>pack</structfield>
+field in #GtkBoxChild-struct.
+
+
+<!-- ##### FUNCTION gtk_box_set_child_packing ##### -->
+<para>
+Sets the way @child is packed into @box.
+</para>
+
+@box: a #GtkBox.
+@child: the #GtkWidget of the child to set.
+@expand: the new value of the <structfield>expand</structfield> field
+in #GtkBoxChild-struct.
+@fill: the new value of the <structfield>fill</structfield> field in
+#GtkBoxChild-struct.
+@padding: the new value of the <structfield>padding</structfield>
+field in #GtkBoxChild-struct.
+@pack_type: the new value of the <structfield>pack</structfield> field
+in #GtkBoxChild-struct.
+
+
+<!-- ##### ARG GtkBox:spacing ##### -->
+<para>
+the minimum amount of space to put between children. Refers to the
+<structfield>spacing</structfield> field of #GtkBox-struct.
+</para>
+
+<!-- ##### ARG GtkBox:homogeneous ##### -->
+<para>
+how to allocate space for children, equally or variably. Refers to
+the <structfield>homogeneous</structfield> field of #GtkBox-struct.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkbutton.sgml b/docs/reference/gtk/tmpl/gtkbutton.sgml
new file mode 100644
index 000000000..32a88b5c4
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkbutton.sgml
@@ -0,0 +1,163 @@
+<!-- ##### SECTION Title ##### -->
+GtkButton
+
+<!-- ##### SECTION Short_Description ##### -->
+A widget that creates a signal when clicked on.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkButton widget is generally used to attach a function to that
+is called when the button is pressed. The various signals and how to use
+them are outlined below.
+</para>
+<para>
+The #GtkButton widget can hold any valid child widget. That is it can
+hold most any other standard #GtkWidget. The most commonly used child is
+the #GtkLabel.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkButton ##### -->
+<para>
+This should not be accessed directly. Use the accessor functions below.
+</para>
+
+@bin:
+@child:
+@in_button:
+@button_down:
+@relief:
+
+<!-- ##### FUNCTION gtk_button_new ##### -->
+<para>
+Creates a new #GtkButton widget.
+</para>
+
+@Returns: The newly created #GtkButton widget.
+
+
+<!-- ##### FUNCTION gtk_button_new_with_label ##### -->
+<para>
+Creates a #GtkButton widget with a #GtkLabel child containing the given
+text.
+</para>
+
+@label: The text you want the #GtkLabel to hold.
+@Returns: The newly created #GtkButton widget.
+
+
+<!-- ##### FUNCTION gtk_button_pressed ##### -->
+<para>
+Emits a #GtkButton::pressed signal to the given #GtkButton.
+</para>
+
+@button: The #GtkButton you want to send the signal to.
+
+
+<!-- ##### FUNCTION gtk_button_released ##### -->
+<para>
+Emits a #GtkButton::released signal to the given #GtkButton.
+</para>
+
+@button: The #GtkButton you want to send the signal to.
+
+
+<!-- ##### FUNCTION gtk_button_clicked ##### -->
+<para>
+Emits a #GtkButton::clicked signal to the given #GtkButton.
+</para>
+
+@button: The #GtkButton you want to send the signal to.
+
+
+<!-- ##### FUNCTION gtk_button_enter ##### -->
+<para>
+Emits a #GtkButton::enter signal to the given #GtkButton.
+</para>
+
+@button: The #GtkButton you want to send the signal to.
+
+
+<!-- ##### FUNCTION gtk_button_leave ##### -->
+<para>
+Emits a #GtkButton::leave signal to the given #GtkButton.
+</para>
+
+@button: The #GtkButton you want to send the signal to.
+
+
+<!-- ##### FUNCTION gtk_button_set_relief ##### -->
+<para>
+Sets the relief style of the edges of the given #GtkButton widget.
+Three styles exist, GTK_RELIEF_NORMAL, GTK_RELIEF_HALF, GTK_RELIEF_NONE.
+The default style is, as one can guess, GTK_RELIEF_NORMAL.
+
+<!-- FIXME: put pictures of each style -->
+</para>
+
+@button: The #GtkButton you want to set relief styles of.
+@newstyle: The GtkReliefStyle as described above.
+
+
+<!-- ##### FUNCTION gtk_button_get_relief ##### -->
+<para>
+Returns the current relief style of the given #GtkButton.
+</para>
+
+@button: The #GtkButton you want the #GtkReliefStyle from.
+@Returns: The current #GtkReliefStyle
+
+
+<!-- ##### SIGNAL GtkButton::pressed ##### -->
+<para>
+Emitted when the button is initially pressed.
+</para>
+
+@button: the object which received the signal.
+
+<!-- ##### SIGNAL GtkButton::released ##### -->
+<para>
+Emitted when a button which is pressed is released, no matter where the
+mouse cursor is.
+</para>
+
+@button: the object which received the signal.
+
+<!-- ##### SIGNAL GtkButton::clicked ##### -->
+<para>
+Emitted when a button clicked on by the mouse and the cursor stays on the
+button. If the cursor is not on the button when the mouse button is released,
+the signal is not emitted.
+</para>
+
+@button: the object which received the signal.
+
+<!-- ##### SIGNAL GtkButton::enter ##### -->
+<para>
+Emitted when the mouse cursor enters the region of the button.
+</para>
+
+@button: the object which received the signal.
+
+<!-- ##### SIGNAL GtkButton::leave ##### -->
+<para>
+Emitted when the mouse cursor leaves the region of the button.
+</para>
+
+@button: the object which received the signal.
+
+<!-- ##### ARG GtkButton:label ##### -->
+<para>
+The text within the child #GtkLabel of the #GtkButton. Only useful if
+there is actually a #GtkLabel inside of the #GtkButton.
+</para>
+
+<!-- ##### ARG GtkButton:relief ##### -->
+<para>
+The #GtkReliefStyle as outlined in gtk_button_set_relief().
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkcalendar.sgml b/docs/reference/gtk/tmpl/gtkcalendar.sgml
new file mode 100644
index 000000000..4ca84c283
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkcalendar.sgml
@@ -0,0 +1,260 @@
+<!-- ##### SECTION Title ##### -->
+GtkCalendar
+
+<!-- ##### SECTION Short_Description ##### -->
+display a calendar and/or allow the user to select a date.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+#GtkCalendar is a widget that displays a calendar, one month at a time.
+It can be created with gtk_calendar_new().
+</para>
+<para>
+The month and year currently displayed can be altered with
+gtk_calendar_select_month(). The exact day can be selected from the displayed
+month using gtk_calendar_select_day().
+</para>
+<para>
+FIXME: (check)To place a visual marker on a particular day, use
+gtk_calendar_mark_day() and to remove the marker, gtk_calendar_unmark_day().
+Alternative, all marks can be cleared with gtk_calendar_clear_marks().
+</para>
+<para>
+The way in which the calendar itself is displayed can be altered using
+gtk_calendar_display_options().
+</para>
+<para>
+The selected date can be retrieved from a #GtkCalendar using
+gtk_calendar_get_date().
+</para>
+<para>
+If performing many 'mark' operations, the calendar can be frozen to prevent
+flicker, using gtk_calendar_freeze(), and 'thawed' again using
+gtk_calendar_thaw().
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkCalendar ##### -->
+<para>
+<structfield>num_marked_dates</structfield> is an integer containing the
+number of days that have a mark over them.
+</para>
+<para>
+<structfield>marked_date</structfield> is an array containing the day numbers
+that currently have a mark over them.
+</para>
+<para>
+<structfield>month</structfield>, <structfield>year</structfield>, and
+<structfield>selected_day</structfield> contain the currently visible month,
+year, and selected day respectively.
+</para>
+<para>
+All of these fields should be considered read only, and everything in this
+struct should only be modified using the functions provided below.
+</para>
+
+@widget:
+@header_style:
+@label_style:
+@month:
+@year:
+@selected_day:
+@day_month:
+@day:
+@num_marked_dates:
+@marked_date:
+@display_flags:
+@marked_date_color:
+@gc:
+@xor_gc:
+@focus_row:
+@focus_col:
+@highlight_row:
+@highlight_col:
+@private_data:
+@grow_space:
+
+<!-- ##### ENUM GtkCalendarDisplayOptions ##### -->
+<para>
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GTK_CALENDAR_SHOW_HEADING</entry>
+<entry>Specifies that the month and year should be displayed.</entry>
+</row>
+<row>
+<entry>GTK_CALENDAR_SHOW_DAY_NAMES</entry>
+<entry>Specifies that three letter day descriptions should be present.</entry>
+</row>
+<row>
+<entry>GTK_CALENDAR_NO_MONTH_CHANGE</entry>
+<entry>Prevents the user from switching months with the calendar.</entry>
+</row>
+<row>
+<entry>GTK_CALENDAR_SHOW_WEEK_NUMBERS</entry>
+<entry>Displays each week numbers of the current year, down the left side of
+the calendar.</entry>
+</row>
+<row>
+<entry>GTK_CALENDAR_WEEK_START_MONDAY</entry>
+<entry>Starts the calendar week on Monday, instead of the default Sunday.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@GTK_CALENDAR_SHOW_HEADING:
+@GTK_CALENDAR_SHOW_DAY_NAMES:
+@GTK_CALENDAR_NO_MONTH_CHANGE:
+@GTK_CALENDAR_SHOW_WEEK_NUMBERS:
+@GTK_CALENDAR_WEEK_START_MONDAY:
+
+<!-- ##### FUNCTION gtk_calendar_new ##### -->
+<para>
+Creates a new calendar. FIXME:default date.
+</para>
+
+@Returns: a #GtkCalendar.
+
+
+<!-- ##### FUNCTION gtk_calendar_select_month ##### -->
+<para>
+Shifts the calendar to a different month.
+</para>
+
+@calendar: a #GtkCalendar.
+@month: a month number.
+@year: the year the month is in.
+@Returns: FIXME.
+
+
+<!-- ##### FUNCTION gtk_calendar_select_day ##### -->
+<para>
+Selects a day from the current month.
+</para>
+
+@calendar: a #GtkCalendar.
+@day: the day number to select.
+
+
+<!-- ##### FUNCTION gtk_calendar_mark_day ##### -->
+<para>
+
+</para>
+
+@calendar:
+@day:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_calendar_unmark_day ##### -->
+<para>
+
+</para>
+
+@calendar:
+@day:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_calendar_clear_marks ##### -->
+<para>
+
+</para>
+
+@calendar:
+
+
+<!-- ##### FUNCTION gtk_calendar_display_options ##### -->
+<para>
+
+</para>
+
+@calendar:
+@flags:
+
+
+<!-- ##### FUNCTION gtk_calendar_get_date ##### -->
+<para>
+
+</para>
+
+@calendar:
+@year:
+@month:
+@day:
+
+
+<!-- ##### FUNCTION gtk_calendar_freeze ##### -->
+<para>
+Locks the display of the calendar until it is thawed with gtk_calendar_thaw().
+</para>
+
+@calendar: a #GtkCalendar.
+
+
+<!-- ##### FUNCTION gtk_calendar_thaw ##### -->
+<para>
+Defrosts a calendar; all the changes made since the last
+gtk_calendar_freeze() are displayed.
+</para>
+
+@calendar: a #GtkCalendar.
+
+
+<!-- ##### SIGNAL GtkCalendar::month-changed ##### -->
+<para>
+Emitted when the user clicks a button to change the selected month on a
+calendar.
+</para>
+
+@calendar: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCalendar::day-selected ##### -->
+<para>
+Emitted when the user selects a day.
+</para>
+
+@calendar: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCalendar::day-selected-double-click ##### -->
+<para>
+
+</para>
+
+@calendar: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCalendar::prev-month ##### -->
+<para>
+
+</para>
+
+@calendar: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCalendar::next-month ##### -->
+<para>
+
+</para>
+
+@calendar: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCalendar::prev-year ##### -->
+<para>
+
+</para>
+
+@calendar: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCalendar::next-year ##### -->
+<para>
+
+</para>
+
+@calendar: the object which received the signal.
+
diff --git a/docs/reference/gtk/tmpl/gtkcheckbutton.sgml b/docs/reference/gtk/tmpl/gtkcheckbutton.sgml
new file mode 100644
index 000000000..bdbbbf7ab
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkcheckbutton.sgml
@@ -0,0 +1,60 @@
+<!-- ##### SECTION Title ##### -->
+GtkCheckButton
+
+<!-- ##### SECTION Short_Description ##### -->
+create widgets with a discrete toggle button.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+A #GtkCheckButton places a discrete #GtkToggleButton next to a widget, (usually a #GtkLabel). See the section on #GtkToggleButton widgets for more information about toggle/check buttons.
+</para>
+<para>
+The important signal ('toggled') is also inherited from #GtkToggleButton.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+<varlistentry>
+<term>#GtkCheckMenuItem</term>
+<listitem><para>add check buttons to your menus.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>#GtkButton</term>
+<listitem><para>a more general button.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>#GtkToggleButton</term>
+<listitem><para>#GtkCheckButton's parent.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>#GtkRadioButton</term>
+<listitem><para>group check buttons together.</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkCheckButton ##### -->
+<para>
+<structfield>toggle_button</structfield> is a #GtkToggleButton representing the actual toggle button that composes the check button.
+</para>
+
+@toggle_button:
+
+<!-- ##### FUNCTION gtk_check_button_new ##### -->
+<para>
+Creates a new #GtkCheckButton.
+</para>
+
+@Returns: a #GtkWidget.
+
+
+<!-- ##### FUNCTION gtk_check_button_new_with_label ##### -->
+<para>
+Creates a new #GtkCheckButton with a #GtkLabel to the right of it.
+</para>
+
+@label: the text for the check button.
+@Returns: a #GtkWidget.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkcheckmenuitem.sgml b/docs/reference/gtk/tmpl/gtkcheckmenuitem.sgml
new file mode 100644
index 000000000..451e0cf7a
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkcheckmenuitem.sgml
@@ -0,0 +1,111 @@
+<!-- ##### SECTION Title ##### -->
+GtkCheckMenuItem
+
+<!-- ##### SECTION Short_Description ##### -->
+a menu item with a check box.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+A #GtkCheckMenuItem is a menu item that maintains the state of a boolean
+value in addition to a #GtkMenuItem's usual role in activating application
+code.
+</para>
+
+<para>
+A check box indicating the state of the boolean value is displayed
+at the left side of the #GtkMenuItem. Activating the #GtkMenuItem
+toggles the value.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkCheckMenuItem ##### -->
+<para>
+The #GtkCheckMenuItem-struct struct contains the following fields.
+(These fields should be considered read-only. They should never be set by
+an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#guint active;</entry>
+<entry>TRUE if the check box is active.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@menu_item:
+@active:
+@always_show_toggle:
+
+<!-- ##### FUNCTION gtk_check_menu_item_new ##### -->
+<para>
+Creates a new #GtkCheckMenuItem.
+</para>
+
+@Returns: a new #GtkCheckMenuItem.
+
+
+<!-- ##### FUNCTION gtk_check_menu_item_new_with_label ##### -->
+<para>
+Creates a new #GtkCheckMenuItem with a label.
+</para>
+
+@label: the string to use for the label.
+@Returns: a new #GtkCheckMenuItem.
+
+
+<!-- ##### MACRO gtk_check_menu_item_set_state ##### -->
+<para>
+This macro is provided to preserve compatibility with older code.
+New code should use gtk_check_menu_item_set_active() function instead.
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_check_menu_item_set_active ##### -->
+<para>
+Sets the active state of the menu item's check box.
+</para>
+
+@check_menu_item: a #GtkCheckMenuItem.
+@is_active: boolean value indicating whether the check box is active.
+
+
+<!-- ##### FUNCTION gtk_check_menu_item_set_show_toggle ##### -->
+<para>
+Controls whether the check box is shown at all times.
+Normally the check box is shown only when it is active or while the
+menu item is selected.
+</para>
+
+@menu_item: a #GtkCheckMenuItem.
+@always: boolean value indicating whether to always show the check box.
+
+
+<!-- ##### FUNCTION gtk_check_menu_item_toggled ##### -->
+<para>
+Emits the GtkCheckMenuItem::toggled signal.
+</para>
+
+@check_menu_item: a #GtkCheckMenuItem.
+
+
+<!-- ##### SIGNAL GtkCheckMenuItem::toggled ##### -->
+<para>
+This signal is emitted when the state of the check box is changed.
+</para>
+
+<para>
+A signal handler can examine the <structfield>active</structfield>
+field of the #GtkCheckMenuItem-struct struct to discover the new state.
+</para>
+
+@checkmenuitem: the object which received the signal.
+
diff --git a/docs/reference/gtk/tmpl/gtkclist.sgml b/docs/reference/gtk/tmpl/gtkclist.sgml
new file mode 100644
index 000000000..6c6d8a4a2
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkclist.sgml
@@ -0,0 +1,1268 @@
+<!-- ##### SECTION Title ##### -->
+GtkCList
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkCList ##### -->
+<para>
+
+</para>
+
+@container:
+@flags:
+@row_mem_chunk:
+@cell_mem_chunk:
+@freeze_count:
+@internal_allocation:
+@rows:
+@row_center_offset:
+@row_height:
+@row_list:
+@row_list_end:
+@columns:
+@column_title_area:
+@title_window:
+@column:
+@clist_window:
+@clist_window_width:
+@clist_window_height:
+@hoffset:
+@voffset:
+@shadow_type:
+@selection_mode:
+@selection:
+@selection_end:
+@undo_selection:
+@undo_unselection:
+@undo_anchor:
+@button_actions:
+@drag_button:
+@click_cell:
+@hadjustment:
+@vadjustment:
+@xor_gc:
+@fg_gc:
+@bg_gc:
+@cursor_drag:
+@x_drag:
+@focus_row:
+@anchor:
+@anchor_state:
+@drag_pos:
+@htimer:
+@vtimer:
+@sort_type:
+@compare:
+@sort_column:
+
+<!-- ##### ENUM GtkCellType ##### -->
+<para>
+
+</para>
+
+@GTK_CELL_EMPTY:
+@GTK_CELL_TEXT:
+@GTK_CELL_PIXMAP:
+@GTK_CELL_PIXTEXT:
+@GTK_CELL_WIDGET:
+
+<!-- ##### ENUM GtkButtonAction ##### -->
+<para>
+
+</para>
+
+@GTK_BUTTON_IGNORED:
+@GTK_BUTTON_SELECTS:
+@GTK_BUTTON_DRAGS:
+@GTK_BUTTON_EXPANDS:
+
+<!-- ##### MACRO GTK_CLIST_FLAGS ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### MACRO GTK_CLIST_SET_FLAG ##### -->
+<para>
+
+</para>
+
+@clist:
+@flag:
+
+
+<!-- ##### MACRO GTK_CLIST_UNSET_FLAG ##### -->
+<para>
+
+</para>
+
+@clist:
+@flag:
+
+
+<!-- ##### MACRO GTK_CLIST_IN_DRAG ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### MACRO GTK_CLIST_ROW_HEIGHT_SET ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### MACRO GTK_CLIST_SHOW_TITLES ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### MACRO GTK_CLIST_CHILD_HAS_FOCUS ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### MACRO GTK_CLIST_ADD_MODE ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### MACRO GTK_CLIST_AUTO_SORT ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### MACRO GTK_CLIST_AUTO_RESIZE_BLOCKED ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### MACRO GTK_CLIST_REORDERABLE ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### MACRO GTK_CLIST_USE_DRAG_ICONS ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### MACRO GTK_CLIST_DRAW_DRAG_LINE ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### MACRO GTK_CLIST_DRAW_DRAG_RECT ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### MACRO GTK_CLIST_ROW ##### -->
+<para>
+
+</para>
+
+@_glist_:
+
+
+<!-- ##### MACRO GTK_CELL_TEXT ##### -->
+<para>
+
+</para>
+
+@cell:
+
+
+<!-- ##### MACRO GTK_CELL_PIXMAP ##### -->
+<para>
+
+</para>
+
+@cell:
+
+
+<!-- ##### MACRO GTK_CELL_PIXTEXT ##### -->
+<para>
+
+</para>
+
+@cell:
+
+
+<!-- ##### MACRO GTK_CELL_WIDGET ##### -->
+<para>
+
+</para>
+
+@cell:
+
+
+<!-- ##### USER_FUNCTION GtkCListCompareFunc ##### -->
+<para>
+
+</para>
+
+@clist:
+@ptr1:
+@ptr2:
+@Returns:
+
+
+<!-- ##### STRUCT GtkCListColumn ##### -->
+<para>
+
+</para>
+
+@title:
+@area:
+@button:
+@window:
+@width:
+@min_width:
+@max_width:
+@justification:
+@visible:
+@width_set:
+@resizeable:
+@auto_resize:
+@button_passive:
+
+<!-- ##### STRUCT GtkCListRow ##### -->
+<para>
+
+</para>
+
+@cell:
+@state:
+@foreground:
+@background:
+@style:
+@data:
+@destroy:
+@fg_set:
+@bg_set:
+@selectable:
+
+<!-- ##### STRUCT GtkCellText ##### -->
+<para>
+
+</para>
+
+@type:
+@vertical:
+@horizontal:
+@style:
+@text:
+
+<!-- ##### STRUCT GtkCellPixmap ##### -->
+<para>
+
+</para>
+
+@type:
+@vertical:
+@horizontal:
+@style:
+@pixmap:
+@mask:
+
+<!-- ##### STRUCT GtkCellPixText ##### -->
+<para>
+
+</para>
+
+@type:
+@vertical:
+@horizontal:
+@style:
+@text:
+@spacing:
+@pixmap:
+@mask:
+
+<!-- ##### STRUCT GtkCellWidget ##### -->
+<para>
+
+</para>
+
+@type:
+@vertical:
+@horizontal:
+@style:
+@widget:
+
+<!-- ##### STRUCT GtkCell ##### -->
+<para>
+
+</para>
+
+@type:
+@vertical:
+@horizontal:
+@style:
+@widget:
+
+<!-- ##### STRUCT GtkCListCellInfo ##### -->
+<para>
+
+</para>
+
+@row:
+@column:
+
+<!-- ##### STRUCT GtkCListDestInfo ##### -->
+<para>
+
+</para>
+
+@cell:
+@insert_pos:
+
+<!-- ##### ENUM GtkCListDragPos ##### -->
+<para>
+
+</para>
+
+@GTK_CLIST_DRAG_NONE:
+@GTK_CLIST_DRAG_BEFORE:
+@GTK_CLIST_DRAG_INTO:
+@GTK_CLIST_DRAG_AFTER:
+
+<!-- ##### FUNCTION gtk_clist_construct ##### -->
+<para>
+
+</para>
+
+@clist:
+@columns:
+@titles:
+
+
+<!-- ##### FUNCTION gtk_clist_new ##### -->
+<para>
+
+</para>
+
+@columns:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_new_with_titles ##### -->
+<para>
+
+</para>
+
+@columns:
+@titles:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_set_shadow_type ##### -->
+<para>
+
+</para>
+
+@clist:
+@type:
+
+
+<!-- ##### FUNCTION gtk_clist_set_selection_mode ##### -->
+<para>
+
+</para>
+
+@clist:
+@mode:
+
+
+<!-- ##### FUNCTION gtk_clist_freeze ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### FUNCTION gtk_clist_thaw ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### FUNCTION gtk_clist_column_titles_show ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### FUNCTION gtk_clist_column_titles_hide ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### FUNCTION gtk_clist_column_title_active ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+
+
+<!-- ##### FUNCTION gtk_clist_column_title_passive ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+
+
+<!-- ##### FUNCTION gtk_clist_column_titles_active ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### FUNCTION gtk_clist_column_titles_passive ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### FUNCTION gtk_clist_set_column_title ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+@title:
+
+
+<!-- ##### FUNCTION gtk_clist_set_column_widget ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+@widget:
+
+
+<!-- ##### FUNCTION gtk_clist_set_column_justification ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+@justification:
+
+
+<!-- ##### FUNCTION gtk_clist_set_column_visibility ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+@visible:
+
+
+<!-- ##### FUNCTION gtk_clist_set_column_resizeable ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+@resizeable:
+
+
+<!-- ##### FUNCTION gtk_clist_set_column_auto_resize ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+@auto_resize:
+
+
+<!-- ##### FUNCTION gtk_clist_optimal_column_width ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_set_column_width ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+@width:
+
+
+<!-- ##### FUNCTION gtk_clist_set_column_min_width ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+@min_width:
+
+
+<!-- ##### FUNCTION gtk_clist_set_column_max_width ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+@max_width:
+
+
+<!-- ##### FUNCTION gtk_clist_set_row_height ##### -->
+<para>
+
+</para>
+
+@clist:
+@height:
+
+
+<!-- ##### FUNCTION gtk_clist_moveto ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+@row_align:
+@col_align:
+
+
+<!-- ##### FUNCTION gtk_clist_row_is_visible ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_get_cell_type ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_set_text ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+@text:
+
+
+<!-- ##### FUNCTION gtk_clist_get_text ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+@text:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_set_pixmap ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+@pixmap:
+@mask:
+
+
+<!-- ##### FUNCTION gtk_clist_get_pixmap ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+@pixmap:
+@mask:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_set_pixtext ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+@text:
+@spacing:
+@pixmap:
+@mask:
+
+
+<!-- ##### FUNCTION gtk_clist_get_pixtext ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+@text:
+@spacing:
+@pixmap:
+@mask:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_set_foreground ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@color:
+
+
+<!-- ##### FUNCTION gtk_clist_set_background ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@color:
+
+
+<!-- ##### FUNCTION gtk_clist_set_cell_style ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+@style:
+
+
+<!-- ##### FUNCTION gtk_clist_get_cell_style ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_set_row_style ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@style:
+
+
+<!-- ##### FUNCTION gtk_clist_get_row_style ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_set_shift ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+@vertical:
+@horizontal:
+
+
+<!-- ##### FUNCTION gtk_clist_set_selectable ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@selectable:
+
+
+<!-- ##### FUNCTION gtk_clist_get_selectable ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_prepend ##### -->
+<para>
+
+</para>
+
+@clist:
+@text:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_append ##### -->
+<para>
+
+</para>
+
+@clist:
+@text:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_insert ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@text:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_remove ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+
+
+<!-- ##### FUNCTION gtk_clist_set_row_data ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@data:
+
+
+<!-- ##### FUNCTION gtk_clist_set_row_data_full ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@data:
+@destroy:
+
+
+<!-- ##### FUNCTION gtk_clist_get_row_data ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_find_row_from_data ##### -->
+<para>
+
+</para>
+
+@clist:
+@data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_select_row ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+
+
+<!-- ##### FUNCTION gtk_clist_unselect_row ##### -->
+<para>
+
+</para>
+
+@clist:
+@row:
+@column:
+
+
+<!-- ##### FUNCTION gtk_clist_undo_selection ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### FUNCTION gtk_clist_clear ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### FUNCTION gtk_clist_get_selection_info ##### -->
+<para>
+
+</para>
+
+@clist:
+@x:
+@y:
+@row:
+@column:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_select_all ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### FUNCTION gtk_clist_unselect_all ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### FUNCTION gtk_clist_swap_rows ##### -->
+<para>
+
+</para>
+
+@clist:
+@row1:
+@row2:
+
+
+<!-- ##### FUNCTION gtk_clist_set_compare_func ##### -->
+<para>
+
+</para>
+
+@clist:
+@cmp_func:
+
+
+<!-- ##### FUNCTION gtk_clist_set_sort_column ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+
+
+<!-- ##### FUNCTION gtk_clist_set_sort_type ##### -->
+<para>
+
+</para>
+
+@clist:
+@sort_type:
+
+
+<!-- ##### FUNCTION gtk_clist_sort ##### -->
+<para>
+
+</para>
+
+@clist:
+
+
+<!-- ##### FUNCTION gtk_clist_set_auto_sort ##### -->
+<para>
+
+</para>
+
+@clist:
+@auto_sort:
+
+
+<!-- ##### FUNCTION gtk_clist_columns_autosize ##### -->
+<para>
+
+</para>
+
+@clist:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_get_column_title ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_get_column_widget ##### -->
+<para>
+
+</para>
+
+@clist:
+@column:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_get_hadjustment ##### -->
+<para>
+
+</para>
+
+@clist:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_get_vadjustment ##### -->
+<para>
+
+</para>
+
+@clist:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_clist_row_move ##### -->
+<para>
+
+</para>
+
+@clist:
+@source_row:
+@dest_row:
+
+
+<!-- ##### FUNCTION gtk_clist_set_button_actions ##### -->
+<para>
+
+</para>
+
+@clist:
+@button:
+@button_actions:
+
+
+<!-- ##### FUNCTION gtk_clist_set_hadjustment ##### -->
+<para>
+
+</para>
+
+@clist:
+@adjustment:
+
+
+<!-- ##### FUNCTION gtk_clist_set_reorderable ##### -->
+<para>
+
+</para>
+
+@clist:
+@reorderable:
+
+
+<!-- ##### FUNCTION gtk_clist_set_use_drag_icons ##### -->
+<para>
+
+</para>
+
+@clist:
+@use_icons:
+
+
+<!-- ##### FUNCTION gtk_clist_set_vadjustment ##### -->
+<para>
+
+</para>
+
+@clist:
+@adjustment:
+
+
+<!-- ##### SIGNAL GtkCList::select-row ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+@row:
+@column:
+@event:
+
+<!-- ##### SIGNAL GtkCList::unselect-row ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+@row:
+@column:
+@event:
+
+<!-- ##### SIGNAL GtkCList::row-move ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+@arg1:
+@arg2:
+
+<!-- ##### SIGNAL GtkCList::click-column ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+@column:
+
+<!-- ##### SIGNAL GtkCList::resize-column ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+@column:
+@width:
+
+<!-- ##### SIGNAL GtkCList::toggle-focus-row ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCList::select-all ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCList::unselect-all ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCList::undo-selection ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCList::start-selection ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCList::end-selection ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCList::toggle-add-mode ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+
+<!-- ##### SIGNAL GtkCList::extend-selection ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+@scroll_type:
+@position:
+@auto_start_selection:
+
+<!-- ##### SIGNAL GtkCList::scroll-vertical ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+@scroll_type:
+@position:
+
+<!-- ##### SIGNAL GtkCList::scroll-horizontal ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+@scroll_type:
+@position:
+
+<!-- ##### SIGNAL GtkCList::abort-column-resize ##### -->
+<para>
+
+</para>
+
+@clist: the object which received the signal.
+
+<!-- ##### ARG GtkCList:n_columns ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCList:shadow_type ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCList:selection_mode ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCList:row_height ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCList:reorderable ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCList:titles_active ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkCList:use_drag_icons ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkcolorsel.sgml b/docs/reference/gtk/tmpl/gtkcolorsel.sgml
new file mode 100644
index 000000000..819a072de
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkcolorsel.sgml
@@ -0,0 +1,93 @@
+<!-- ##### SECTION Title ##### -->
+GtkColorSelection
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkColorSelection ##### -->
+<para>
+
+</para>
+
+@vbox:
+@wheel_area:
+@value_area:
+@sample_area:
+@sample_area_eb:
+@scales:
+@entries:
+@opacity_label:
+@wheel_gc:
+@value_gc:
+@sample_gc:
+@policy:
+@use_opacity:
+@timer_active:
+@timer_tag:
+@values:
+@old_values:
+@wheel_buf:
+@value_buf:
+@sample_buf:
+
+<!-- ##### FUNCTION gtk_color_selection_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_color_selection_set_update_policy ##### -->
+<para>
+
+</para>
+
+@colorsel:
+@policy:
+
+
+<!-- ##### FUNCTION gtk_color_selection_set_opacity ##### -->
+<para>
+
+</para>
+
+@colorsel:
+@use_opacity:
+
+
+<!-- ##### FUNCTION gtk_color_selection_set_color ##### -->
+<para>
+
+</para>
+
+@colorsel:
+@color:
+
+
+<!-- ##### FUNCTION gtk_color_selection_get_color ##### -->
+<para>
+
+</para>
+
+@colorsel:
+@color:
+
+
+<!-- ##### SIGNAL GtkColorSelection::color-changed ##### -->
+<para>
+
+</para>
+
+@colorselection: the object which received the signal.
+
diff --git a/docs/reference/gtk/tmpl/gtkcolorseldlg.sgml b/docs/reference/gtk/tmpl/gtkcolorseldlg.sgml
new file mode 100644
index 000000000..2dc847a65
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkcolorseldlg.sgml
@@ -0,0 +1,38 @@
+<!-- ##### SECTION Title ##### -->
+GtkColorSelectionDialog
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkColorSelectionDialog ##### -->
+<para>
+
+</para>
+
+@window:
+@colorsel:
+@main_vbox:
+@ok_button:
+@reset_button:
+@cancel_button:
+@help_button:
+
+<!-- ##### FUNCTION gtk_color_selection_dialog_new ##### -->
+<para>
+
+</para>
+
+@title:
+@Returns:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkcombo.sgml b/docs/reference/gtk/tmpl/gtkcombo.sgml
new file mode 100644
index 000000000..ce8e542db
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkcombo.sgml
@@ -0,0 +1,109 @@
+<!-- ##### SECTION Title ##### -->
+GtkCombo
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkCombo ##### -->
+<para>
+
+</para>
+
+@hbox:
+@entry:
+@button:
+@popup:
+@popwin:
+@list:
+@entry_change_id:
+@list_change_id:
+@value_in_list:
+@ok_if_empty:
+@case_sensitive:
+@use_arrows:
+@use_arrows_always:
+@current_button:
+@activate_id:
+
+<!-- ##### FUNCTION gtk_combo_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_combo_set_value_in_list ##### -->
+<para>
+
+</para>
+
+@combo:
+@val:
+@ok_if_empty:
+
+
+<!-- ##### FUNCTION gtk_combo_set_use_arrows ##### -->
+<para>
+
+</para>
+
+@combo:
+@val:
+
+
+<!-- ##### FUNCTION gtk_combo_set_use_arrows_always ##### -->
+<para>
+
+</para>
+
+@combo:
+@val:
+
+
+<!-- ##### FUNCTION gtk_combo_set_case_sensitive ##### -->
+<para>
+
+</para>
+
+@combo:
+@val:
+
+
+<!-- ##### FUNCTION gtk_combo_set_item_string ##### -->
+<para>
+
+</para>
+
+@combo:
+@item:
+@item_value:
+
+
+<!-- ##### FUNCTION gtk_combo_set_popdown_strings ##### -->
+<para>
+
+</para>
+
+@combo:
+@strings:
+
+
+<!-- ##### FUNCTION gtk_combo_disable_activate ##### -->
+<para>
+
+</para>
+
+@combo:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkcontainer.sgml b/docs/reference/gtk/tmpl/gtkcontainer.sgml
new file mode 100644
index 000000000..3786dce30
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkcontainer.sgml
@@ -0,0 +1,410 @@
+<!-- ##### SECTION Title ##### -->
+GtkContainer
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkContainer ##### -->
+<para>
+
+</para>
+
+@widget:
+@focus_child:
+@border_width:
+@need_resize:
+@resize_mode:
+@resize_widgets:
+
+<!-- ##### MACRO GTK_IS_RESIZE_CONTAINER ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### MACRO gtk_container_border_width ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_container_add ##### -->
+<para>
+
+</para>
+
+@container:
+@widget:
+
+
+<!-- ##### FUNCTION gtk_container_remove ##### -->
+<para>
+
+</para>
+
+@container:
+@widget:
+
+
+<!-- ##### FUNCTION gtk_container_set_resize_mode ##### -->
+<para>
+
+</para>
+
+@container:
+@resize_mode:
+
+
+<!-- ##### FUNCTION gtk_container_check_resize ##### -->
+<para>
+
+</para>
+
+@container:
+
+
+<!-- ##### FUNCTION gtk_container_foreach ##### -->
+<para>
+
+</para>
+
+@container:
+@callback:
+@callback_data:
+
+
+<!-- ##### FUNCTION gtk_container_foreach_full ##### -->
+<para>
+
+</para>
+
+@container:
+@callback:
+@marshal:
+@callback_data:
+@notify:
+
+
+<!-- ##### FUNCTION gtk_container_children ##### -->
+<para>
+
+</para>
+
+@container:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_container_focus ##### -->
+<para>
+
+</para>
+
+@container:
+@direction:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_container_set_focus_child ##### -->
+<para>
+
+</para>
+
+@container:
+@child:
+
+
+<!-- ##### FUNCTION gtk_container_set_focus_vadjustment ##### -->
+<para>
+
+</para>
+
+@container:
+@adjustment:
+
+
+<!-- ##### FUNCTION gtk_container_set_focus_hadjustment ##### -->
+<para>
+
+</para>
+
+@container:
+@adjustment:
+
+
+<!-- ##### FUNCTION gtk_container_register_toplevel ##### -->
+<para>
+
+</para>
+
+@container:
+
+
+<!-- ##### FUNCTION gtk_container_unregister_toplevel ##### -->
+<para>
+
+</para>
+
+@container:
+
+
+<!-- ##### FUNCTION gtk_container_resize_children ##### -->
+<para>
+
+</para>
+
+@container:
+
+
+<!-- ##### FUNCTION gtk_container_child_type ##### -->
+<para>
+
+</para>
+
+@container:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_container_add_child_arg_type ##### -->
+<para>
+
+</para>
+
+@arg_name:
+@arg_type:
+@arg_flags:
+@arg_id:
+
+
+<!-- ##### FUNCTION gtk_container_query_child_args ##### -->
+<para>
+
+</para>
+
+@class_type:
+@arg_flags:
+@nargs:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_container_child_getv ##### -->
+<para>
+
+</para>
+
+@container:
+@child:
+@n_args:
+@args:
+
+
+<!-- ##### FUNCTION gtk_container_child_setv ##### -->
+<para>
+
+</para>
+
+@container:
+@child:
+@n_args:
+@args:
+
+
+<!-- ##### FUNCTION gtk_container_add_with_args ##### -->
+<para>
+
+</para>
+
+@container:
+@widget:
+@first_arg_name:
+@Varargs:
+
+
+<!-- ##### FUNCTION gtk_container_addv ##### -->
+<para>
+
+</para>
+
+@container:
+@widget:
+@n_args:
+@args:
+
+
+<!-- ##### FUNCTION gtk_container_child_set ##### -->
+<para>
+
+</para>
+
+@container:
+@child:
+@first_arg_name:
+@Varargs:
+
+
+<!-- ##### FUNCTION gtk_container_queue_resize ##### -->
+<para>
+
+</para>
+
+@container:
+
+
+<!-- ##### FUNCTION gtk_container_clear_resize_widgets ##### -->
+<para>
+
+</para>
+
+@container:
+
+
+<!-- ##### FUNCTION gtk_container_arg_set ##### -->
+<para>
+
+</para>
+
+@container:
+@child:
+@arg:
+@info:
+
+
+<!-- ##### FUNCTION gtk_container_arg_get ##### -->
+<para>
+
+</para>
+
+@container:
+@child:
+@arg:
+@info:
+
+
+<!-- ##### FUNCTION gtk_container_child_args_collect ##### -->
+<para>
+
+</para>
+
+@object_type:
+@arg_list_p:
+@info_list_p:
+@first_arg_name:
+@args:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_container_child_arg_get_info ##### -->
+<para>
+
+</para>
+
+@object_type:
+@arg_name:
+@info_p:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_container_forall ##### -->
+<para>
+
+</para>
+
+@container:
+@callback:
+@callback_data:
+
+
+<!-- ##### FUNCTION gtk_container_child_composite_name ##### -->
+<para>
+
+</para>
+
+@container:
+@child:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_container_get_toplevels ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_container_set_border_width ##### -->
+<para>
+
+</para>
+
+@container:
+@border_width:
+
+
+<!-- ##### SIGNAL GtkContainer::add ##### -->
+<para>
+
+</para>
+
+@container: the object which received the signal.
+@widget:
+
+<!-- ##### SIGNAL GtkContainer::remove ##### -->
+<para>
+
+</para>
+
+@container: the object which received the signal.
+@widget:
+
+<!-- ##### SIGNAL GtkContainer::check-resize ##### -->
+<para>
+
+</para>
+
+@container: the object which received the signal.
+
+<!-- ##### SIGNAL GtkContainer::focus ##### -->
+<para>
+
+</para>
+
+@container: the object which received the signal.
+@direction:
+@Returns:
+
+<!-- ##### SIGNAL GtkContainer::set-focus-child ##### -->
+<para>
+
+</para>
+
+@container: the object which received the signal.
+@widget:
+
+<!-- ##### ARG GtkContainer:border_width ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkContainer:resize_mode ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkContainer:child ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkctree.sgml b/docs/reference/gtk/tmpl/gtkctree.sgml
new file mode 100644
index 000000000..08a610a29
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkctree.sgml
@@ -0,0 +1,1266 @@
+<!-- ##### SECTION Title ##### -->
+GtkCTree
+
+<!-- ##### SECTION Short_Description ##### -->
+a widget displaying a hierarchical tree.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkCTree widget is used for showing a hierarchical tree
+to the user, for example a directory tree.
+</para>
+<para>
+The tree is internally represented as a set of #GtkCTreeNode structures.
+</para>
+<para>
+The interface has much in common with the #GtkCList widget: rows (nodes)
+can be selected by the user etc.
+</para>
+<para>
+Positions in the tree are often indicated by two arguments, a
+parent and a sibling, both #GtkCTreeNode pointers. If the parent
+is %NULL, the position is at the root of the tree and if the sibling
+is %NULL, it will be the last child of parent, otherwise it will be
+inserted just before the sibling.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkCTree ##### -->
+<para>
+The #GtkCTree-struct contains the following user-accessible fields.
+These fields should be considered read-only; to set the values,
+use the methods below.
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#gint <structfield>tree_indent</structfield>;</entry>
+<entry>The number of pixels each successive level of the tree is
+indented in the display.</entry>
+</row>
+
+<row>
+<entry>#gint <structfield>tree_spacing</structfield>;</entry>
+<entry>The space in pixels between the graphical tree and the text in the
+node.</entry>
+</row>
+
+<row>
+<entry>#gint <structfield>tree_column</structfield>;</entry>
+<entry>The index of the column for which the tree graphics is drawn. </entry>
+</row>
+
+<row>
+<entry>#GtkCTreeLineStyle <structfield>line_style</structfield>;</entry>
+<entry>The style in which the lines in the tree graphics are drawn.</entry>
+</row>
+
+<row>
+<entry>#GtkCTreeExpanderStyle <structfield>expander_style</structfield>;</entry>
+<entry>The style in which the expander buttons are drawn.</entry>
+</row>
+
+<row>
+<entry>#GtkCTreeExpanderStyle <structfield>expander_style</structfield>;</entry>
+<entry>FIXME.</entry>
+</row>
+
+</informaltable>
+</para>
+
+@clist:
+@lines_gc:
+@tree_indent:
+@tree_spacing:
+@tree_column:
+@line_style:
+@expander_style:
+@show_stub:
+@drag_compare:
+
+<!-- ##### MACRO GTK_CTREE_ROW ##### -->
+<para>
+Used to get the #GtkCTreeRow structure corresponding to the given #GtkCTreeNode.
+</para>
+
+@_node_:
+
+
+<!-- ##### MACRO GTK_CTREE_NODE ##### -->
+<para>
+
+</para>
+
+@_node_:
+
+
+<!-- ##### MACRO GTK_CTREE_NODE_NEXT ##### -->
+<para>
+FIXME
+</para>
+
+@_nnode_:
+
+
+<!-- ##### MACRO GTK_CTREE_NODE_PREV ##### -->
+<para>
+FIXME
+</para>
+
+@_pnode_:
+
+
+<!-- ##### MACRO GTK_CTREE_FUNC ##### -->
+<para>
+
+</para>
+
+@_func_:
+
+
+<!-- ##### ENUM GtkCTreePos ##### -->
+<para>
+A value specifying the position of a new node relative to an old one.
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GTK_CTREE_POS_BEFORE</entry>
+<entry>As a sibling, before the specified node.</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_POS_AS_CHILD</entry>
+<entry>As a child of the specified node.</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_POS_AFTER</entry>
+<entry>As a sibling, after the specified node.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+
+</para>
+
+@GTK_CTREE_POS_BEFORE:
+@GTK_CTREE_POS_AS_CHILD:
+@GTK_CTREE_POS_AFTER:
+
+<!-- ##### ENUM GtkCTreeLineStyle ##### -->
+<para>
+The appearance of the lines in the tree graphics.
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GTK_CTREE_LINES_NONE</entry>
+<entry>No lines.</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_LINES_SOLID</entry>
+<entry>Solid lines.</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_LINES_DOTTED</entry>
+<entry>Dotted lines.</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_LINES_TABBED</entry>
+<entry>FIXME.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+
+
+</para>
+
+@GTK_CTREE_LINES_NONE:
+@GTK_CTREE_LINES_SOLID:
+@GTK_CTREE_LINES_DOTTED:
+@GTK_CTREE_LINES_TABBED:
+
+<!-- ##### ENUM GtkCTreeExpanderStyle ##### -->
+<para>
+The appearance of the expander buttons, i.e. the small buttons
+which expand or contract parts of the tree when pressed.
+
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GTK_CTREE_EXPANDER_NONE</entry>
+<entry>No expanders.</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_EXPANDER_SQUARE</entry>
+<entry>Square expanders.</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_EXPANDER_TRIANGLE</entry>
+<entry>Triangular expanders.</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_EXPANDER_CIRCULAR</entry>
+<entry>Round expanders.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+
+
+</para>
+
+@GTK_CTREE_EXPANDER_NONE:
+@GTK_CTREE_EXPANDER_SQUARE:
+@GTK_CTREE_EXPANDER_TRIANGLE:
+@GTK_CTREE_EXPANDER_CIRCULAR:
+
+<!-- ##### ENUM GtkCTreeExpansionType ##### -->
+<para>
+How to expand or collapse a part of a tree.
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GTK_CTREE_EXPANSION_EXPAND</entry>
+<entry>Expand this node.</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_EXPANSION_EXPAND_RECURSIVE</entry>
+<entry>Expand this node and everything below it in the hierarchy.</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_EXPANSION_COLLAPSE</entry>
+<entry>Collapse this node.</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_EXPANSION_COLLAPSE_RECURSIVE</entry>
+<entry>Collapse this node and everything below it in the hierarchy.</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_EXPANSION_TOGGLE</entry>
+<entry>Toggle this node (i.e. expand if collapsed and vice versa).</entry>
+</row>
+
+<row>
+<entry>GTK_CTREE_EXPANSION_TOGGLE_RECURSIVE</entry>
+<entry>Toggle this node and everything below it in the hierarchy.</entry>
+</row>
+
+
+</tbody></tgroup></informaltable>
+
+
+</para>
+
+@GTK_CTREE_EXPANSION_EXPAND:
+@GTK_CTREE_EXPANSION_EXPAND_RECURSIVE:
+@GTK_CTREE_EXPANSION_COLLAPSE:
+@GTK_CTREE_EXPANSION_COLLAPSE_RECURSIVE:
+@GTK_CTREE_EXPANSION_TOGGLE:
+@GTK_CTREE_EXPANSION_TOGGLE_RECURSIVE:
+
+<!-- ##### USER_FUNCTION GtkCTreeFunc ##### -->
+<para>
+A generic callback type to do something with a particular node.
+</para>
+
+@ctree: The #GtkCTree object.
+@node: The #GtkCTreeNode in the tree.
+@data: The user data associated with the node.
+
+
+<!-- ##### USER_FUNCTION GtkCTreeGNodeFunc ##### -->
+<para>
+FIXME
+</para>
+
+@ctree:
+@depth:
+@gnode:
+@cnode:
+@data:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION GtkCTreeCompareDragFunc ##### -->
+<para>
+FIXME
+</para>
+
+@ctree:
+@source_node:
+@new_parent:
+@new_sibling:
+@Returns:
+
+
+<!-- ##### STRUCT GtkCTreeRow ##### -->
+<para>
+A structure representing a single row in the tree graph.
+The values inside the structure should be considered read-only.
+This structure is derived from the #GtkCListRow structure.
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#GtkCTreeNode *<structfield>parent</structfield>;</entry>
+<entry>The parent node of the node corresponding to this row.
+</entry>
+</row>
+
+<row>
+<entry>#GtkCTreeNode *<structfield>sibling</structfield>;</entry>
+<entry>The next sibling node of the node corresponding to this row.
+</entry>
+</row>
+
+<row>
+<entry>#GtkCTreeNode *<structfield>children</structfield>;</entry>
+<entry>The first child node corresponding to this row; to access
+the other children, just use the siblings of that node.
+</entry>
+</row>
+
+<row>
+<entry>#GdkPixmap *<structfield>pixmap_closed</structfield>;</entry>
+<entry> The pixmap to be shown when the node is collapsed.
+</entry>
+</row>
+
+<row>
+<entry>#GdkBitmap *<structfield>mask_closed</structfield>;</entry>
+<entry> The mask for the above pixmap.
+</entry>
+</row>
+
+<row>
+<entry>#GdkPixmap *<structfield>pixmap_opened</structfield>;</entry>
+<entry> The pixmap to be shown when the node is expanded.
+</entry>
+</row>
+
+<row>
+<entry>#GdkBitmap *<structfield>mask_opened</structfield>;</entry>
+<entry> The mask for the above pixmap.
+</entry>
+</row>
+
+<row>
+<entry>#guint16 <structfield>level</structfield>;</entry>
+<entry>The level of this node in the tree.
+</entry>
+</row>
+
+
+<row>
+<entry>#guint <structfield>is_leaf</structfield> : 1;</entry>
+<entry>Whether this row is a leaf.
+</entry>
+</row>
+
+<row>
+<entry>#guint <structfield>expanded</structfield> : 1;</entry>
+<entry>Whether the children of this row are visible.
+</entry>
+</row>
+</informaltable>
+
+</para>
+
+@row:
+@parent:
+@sibling:
+@children:
+@pixmap_closed:
+@mask_closed:
+@pixmap_opened:
+@mask_opened:
+@level:
+@is_leaf:
+@expanded:
+
+<!-- ##### STRUCT GtkCTreeNode ##### -->
+<para>
+This structure is opaque - you should use the
+macros #GTK_CTREE_ROW, #GTK_CTREE_NODE_NEXT etc. as well
+as the functions below to access it.
+</para>
+
+@list:
+
+<!-- ##### FUNCTION gtk_ctree_construct ##### -->
+<para>
+This function is not usually used by users.
+</para>
+
+@ctree:
+@columns:
+@tree_column:
+@titles:
+
+
+<!-- ##### FUNCTION gtk_ctree_new_with_titles ##### -->
+<para>
+Create a new #GtkCTree widget with the given titles for the columns.
+</para>
+
+@columns: Number of columns.
+@tree_column: Which column has the tree graphic; 0 = leftmost.
+@titles: The titles for the columns.
+@Returns: The #GtkCTree widget.
+
+
+<!-- ##### FUNCTION gtk_ctree_new ##### -->
+<para>
+Create a new #GtkCTree widget.
+</para>
+
+@columns: Number of columns.
+@tree_column: Which columns has the tree graphic.
+@Returns: The new #GtkCTree widget.
+
+
+<!-- ##### FUNCTION gtk_ctree_insert_node ##### -->
+<para>
+Insert a new node to the tree. The position is specified through
+the parent-sibling notation, as explained in the introduction above.
+</para>
+
+@ctree: The #GtkCTree widget.
+@parent: The parent node to be.
+@sibling: The sibling node to be.
+@text: The texts to be shown in each column.
+@spacing: The extra space between the pixmap and the text.
+@pixmap_closed: The pixmap to be used when the node is collapsed. Can be %NULL.
+@mask_closed: The mask for the above pixmap. Can be %NULL.
+@pixmap_opened: The pixmap to be used when the children are visible. Can be %NULL.
+@mask_opened: The mask for the above pixmap. Can be %NULL.
+@is_leaf: Whether this node is going to be a leaf.
+@expanded: Whether this node should start out expanded or not.
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_ctree_remove_node ##### -->
+<para>
+Remove the node and all nodes underneath it from the tree.
+</para>
+
+@ctree: The widget.
+@node: The node to be removed.
+
+
+<!-- ##### FUNCTION gtk_ctree_insert_gnode ##### -->
+<para>
+FIXME
+</para>
+
+@ctree:
+@parent:
+@sibling:
+@gnode:
+@func:
+@data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_ctree_export_to_gnode ##### -->
+<para>
+FIXME
+</para>
+
+@ctree:
+@parent:
+@sibling:
+@node:
+@func:
+@data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_ctree_post_recursive ##### -->
+<para>
+Recursively apply a function to all nodes of the tree at or below a certain
+node.
+The function is called for each node after it has been called
+for that node's children.
+</para>
+
+@ctree:
+@node: The node where to start. %NULL means to start at the root.
+@func: The function to apply to each node.
+@data: A closure argument given to each invocation of the function.
+
+
+<!-- ##### FUNCTION gtk_ctree_post_recursive_to_depth ##### -->
+<para>
+Recursively apply a function to nodes up to a certain depth.
+The function is called for each node after it has been called
+for that node's children.
+</para>
+
+@ctree:
+@node: The node where to start.
+@depth: The maximum absolute depth for applying the function. If depth is negative, this function just calls #gtk_ctree_post_recursive.
+@func: The function to apply to each node.
+@data: A closure argument given to each invocation of the function.
+
+
+<!-- ##### FUNCTION gtk_ctree_pre_recursive ##### -->
+<para>
+Recursively apply a function to all nodes of the tree at or below a certain
+node.
+The function is called for each node after it has been called
+for its parent.
+</para>
+
+@ctree:
+@node: The node where to start. %NULL means to start at the root.
+@func: The function to apply to each node.
+@data: A closure argument given to each invocation of the function.
+
+
+<!-- ##### FUNCTION gtk_ctree_pre_recursive_to_depth ##### -->
+<para>
+Recursively apply a function to nodes up to a certain depth.
+The function is called for each node after it has been called
+for that node's children.
+</para>
+
+@ctree:
+@node: The node where to start.
+@depth: The maximum absolute depth for applying the function. If depth is negative, this function just calls #gtk_ctree_post_recursive.
+@func: The function to apply to each node.
+@data: A closure argument given to each invocation of the function.
+
+
+<!-- ##### FUNCTION gtk_ctree_is_viewable ##### -->
+<para>
+This function checks whether the given node is viewable i.e. so that
+all of its parent nodes are expanded. This is different from being
+actually visible: the node can be viewable but outside the scrolling
+area of the window.
+</para>
+
+@ctree:
+@node:
+@Returns: Whether the node is viewable.
+
+
+<!-- ##### FUNCTION gtk_ctree_last ##### -->
+<para>
+Returns the last child of the last child of the last child...
+of the given node.
+</para>
+
+@ctree:
+@node:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_ctree_find_node_ptr ##### -->
+<para>
+Finds the node pointer given a #GtkCTreeRow structure.
+</para>
+
+@ctree:
+@ctree_row:
+@Returns: The node pointer.
+
+
+<!-- ##### FUNCTION gtk_ctree_find ##### -->
+<para>
+
+</para>
+
+@ctree:
+@node: The node to start searching from. May be %NULL.
+@child:
+@Returns: True if @child is on some level a child (grandchild...) of the @node.
+
+
+<!-- ##### FUNCTION gtk_ctree_is_ancestor ##### -->
+<para>
+
+</para>
+
+@ctree:
+@node:
+@child:
+@Returns: True is @node is an ancestor of @child.
+
+
+<!-- ##### FUNCTION gtk_ctree_find_by_row_data ##### -->
+<para>
+Finds a node in the tree under @node that has the given user data pointer.
+</para>
+
+@ctree:
+@node:
+@data:
+@Returns: The node, or %NULL if not found.
+
+
+<!-- ##### FUNCTION gtk_ctree_find_all_by_row_data ##### -->
+<para>
+Finds all nodes in the tree under @node that have the given user data pointer.
+</para>
+
+@ctree:
+@node:
+@data:
+@Returns: A list of nodes that have the given data pointer.
+
+
+<!-- ##### FUNCTION gtk_ctree_find_by_row_data_custom ##### -->
+<para>
+Find the first node under @node whose row data pointer fulfills
+a custom criterion.
+</para>
+
+@ctree:
+@node: The node where to start searching.
+@data: User data for the criterion function.
+@func: The criterion function.
+@Returns: The first node found.
+
+
+<!-- ##### FUNCTION gtk_ctree_find_all_by_row_data_custom ##### -->
+<para>
+Find all nodes under @node whose row data pointer fulfills
+a custom criterion.
+
+</para>
+
+@ctree:
+@node: The node where to start searching.
+@data: User data for the criterion function.
+@func: The criterion function.
+@Returns: A list of all nodes found.
+
+
+<!-- ##### FUNCTION gtk_ctree_is_hot_spot ##### -->
+<para>
+</para>
+
+@ctree:
+@x:
+@y:
+@Returns: True if the given coordinates lie on an expander button.
+
+
+<!-- ##### FUNCTION gtk_ctree_move ##### -->
+<para>
+Move a node in the tree to another location.
+</para>
+
+@ctree:
+@node: The node to be moved.
+@new_parent: The new parent-to-be of the node.
+@new_sibling: The new sibling-to-be of the node.
+
+
+<!-- ##### FUNCTION gtk_ctree_expand ##### -->
+<para>
+Expand one node.
+</para>
+
+@ctree:
+@node:
+
+
+<!-- ##### FUNCTION gtk_ctree_expand_recursive ##### -->
+<para>
+Expand one node and all nodes underneath.
+</para>
+
+@ctree:
+@node:
+
+
+<!-- ##### FUNCTION gtk_ctree_expand_to_depth ##### -->
+<para>
+Expand a node and its children up to the depth given.
+</para>
+
+@ctree:
+@node:
+@depth: The (absolute) depth up to which to expand nodes.
+
+
+<!-- ##### FUNCTION gtk_ctree_collapse ##### -->
+<para>
+Collapse one node.
+</para>
+
+@ctree:
+@node:
+
+
+<!-- ##### FUNCTION gtk_ctree_collapse_recursive ##### -->
+<para>
+Collapse one node and all its subnodes.
+</para>
+
+@ctree:
+@node:
+
+
+<!-- ##### FUNCTION gtk_ctree_collapse_to_depth ##### -->
+<para>
+Collapse a node and its children up to the depth given.
+</para>
+
+@ctree:
+@node:
+@depth: The (absolute) depth up to which to collapse nodes.
+
+
+<!-- ##### FUNCTION gtk_ctree_toggle_expansion ##### -->
+<para>
+Toggle a node, i.e. if it is collapsed, expand it and vice versa.
+</para>
+
+@ctree:
+@node:
+
+
+<!-- ##### FUNCTION gtk_ctree_toggle_expansion_recursive ##### -->
+<para>
+Toggle the expansion of a node and all its children.
+</para>
+
+@ctree:
+@node:
+
+
+<!-- ##### FUNCTION gtk_ctree_select ##### -->
+<para>
+Cause the given node to be selected and emit the appropriate signal.
+</para>
+
+@ctree:
+@node:
+
+
+<!-- ##### FUNCTION gtk_ctree_select_recursive ##### -->
+<para>
+Cause the given node and its subnodes to be selected and emit the appropriate signal(s).
+</para>
+
+@ctree:
+@node:
+
+
+<!-- ##### FUNCTION gtk_ctree_unselect ##### -->
+<para>
+Unselect the given node and emit the appropriate signal.
+</para>
+
+@ctree:
+@node:
+
+
+<!-- ##### FUNCTION gtk_ctree_unselect_recursive ##### -->
+<para>
+Unselect the given node and its subnodes and emit the appropriate signal(s).
+</para>
+
+@ctree:
+@node:
+
+
+<!-- ##### FUNCTION gtk_ctree_real_select_recursive ##### -->
+<para>
+The function that implements both #gtk_ctree_select_recursive and
+#gtk_ctree_unselect_recursive.
+</para>
+
+@ctree:
+@node:
+@state: True for selecting, false for unselecting.
+
+
+<!-- ##### FUNCTION gtk_ctree_node_set_text ##### -->
+<para>
+Set the text in a node.
+</para>
+
+@ctree:
+@node:
+@column: The column whose text to change.
+@text: The new text.
+
+
+<!-- ##### FUNCTION gtk_ctree_node_set_pixmap ##### -->
+<para>
+FIXME
+</para>
+
+@ctree:
+@node:
+@column:
+@pixmap:
+@mask:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_set_pixtext ##### -->
+<para>
+FIXME
+</para>
+
+@ctree:
+@node:
+@column:
+@text:
+@spacing:
+@pixmap:
+@mask:
+
+
+<!-- ##### FUNCTION gtk_ctree_set_node_info ##### -->
+<para>
+Change the information. Most parameters correspond
+to the parameters of #gtk_ctree_insert_node.
+</para>
+
+@ctree:
+@node:
+@text: The text to be in the tree column.
+@spacing:
+@pixmap_closed:
+@mask_closed:
+@pixmap_opened:
+@mask_opened:
+@is_leaf:
+@expanded:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_set_shift ##### -->
+<para>
+Shift the given cell the given amounts in pixels.
+</para>
+
+@ctree:
+@node:
+@column:
+@vertical:
+@horizontal:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_set_selectable ##### -->
+<para>
+
+</para>
+
+@ctree:
+@node:
+@selectable: Whether this node can be selected by the user.
+
+
+<!-- ##### FUNCTION gtk_ctree_node_get_selectable ##### -->
+<para>
+
+</para>
+
+@ctree:
+@node:
+@Returns: Whether this node can be selected by the user.
+
+
+<!-- ##### FUNCTION gtk_ctree_node_get_cell_type ##### -->
+<para>
+
+</para>
+
+@ctree:
+@node:
+@column:
+@Returns: The type of the given cell.
+
+
+<!-- ##### FUNCTION gtk_ctree_node_get_text ##### -->
+<para>
+
+</para>
+
+@ctree:
+@node:
+@column:
+@text: If nonnull, the pointer to the text string is assigned to *@text.
+@Returns: True if the given cell has text in it.
+
+
+<!-- ##### FUNCTION gtk_ctree_node_get_pixmap ##### -->
+<para>
+
+</para>
+
+@ctree:
+@node:
+@column:
+@pixmap: If nonnull, the pointer to the pixmap is returned through this.
+@mask: If nonnull, the pointer to the mask is returned through this.
+@Returns: True if the given cell contains a pixmap.
+
+
+<!-- ##### FUNCTION gtk_ctree_node_get_pixtext ##### -->
+<para>
+Get the parameters of a cell containing both a pixmap and text.
+</para>
+
+@ctree:
+@node:
+@column:
+@text:
+@spacing:
+@pixmap:
+@mask:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_ctree_get_node_info ##### -->
+<para>
+Get information corresponding to a node.
+Any of the return parameters can be null.
+</para>
+
+@ctree:
+@node:
+@text:
+@spacing:
+@pixmap_closed:
+@mask_closed:
+@pixmap_opened:
+@mask_opened:
+@is_leaf:
+@expanded:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_set_row_style ##### -->
+<para>
+Set the style of a row.
+</para>
+
+@ctree:
+@node:
+@style:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_get_row_style ##### -->
+<para>
+Get the style of a row.
+</para>
+
+@ctree:
+@node:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_set_cell_style ##### -->
+<para>
+Set the style of an individual cell.
+</para>
+
+@ctree:
+@node:
+@column:
+@style:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_get_cell_style ##### -->
+<para>
+Get the style of an individual cell.
+</para>
+
+@ctree:
+@node:
+@column:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_set_foreground ##### -->
+<para>
+
+</para>
+
+@ctree:
+@node:
+@color:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_set_background ##### -->
+<para>
+
+</para>
+
+@ctree:
+@node:
+@color:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_set_row_data ##### -->
+<para>
+Set the custom data associated with a node.
+</para>
+
+@ctree:
+@node:
+@data:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_set_row_data_full ##### -->
+<para>
+This is the full interface to setting row data, so that a destructor
+can be given for the data.
+</para>
+
+@ctree:
+@node:
+@data:
+@destroy: The routine to be called when @data is no longer needed.
+
+
+<!-- ##### FUNCTION gtk_ctree_node_get_row_data ##### -->
+<para>
+
+</para>
+
+@ctree:
+@node:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_moveto ##### -->
+<para>
+This function makes the given column of the given node visible by
+scrolling.
+</para>
+
+@ctree:
+@node: The node to be made visible.
+@column: The column to be made visible.
+@row_align: Where in the window the row should appear.
+@col_align: Where in the window the column should appear.
+
+
+<!-- ##### FUNCTION gtk_ctree_node_is_visible ##### -->
+<para>
+
+</para>
+
+@ctree:
+@node:
+@Returns: True if the node is currently inside the bounds of the window.
+Note that this function can return true even if the node is not
+viewable, if the node's ancestor is visible.
+
+
+<!-- ##### FUNCTION gtk_ctree_set_indent ##### -->
+<para>
+
+</para>
+
+@ctree:
+@indent: The number of pixels to shift the levels of the tree.
+
+
+<!-- ##### FUNCTION gtk_ctree_set_spacing ##### -->
+<para>
+The spacing between the tree graphic and the actual node content.
+</para>
+
+@ctree:
+@spacing:
+
+
+<!-- ##### MACRO gtk_ctree_set_reorderable ##### -->
+<para>
+
+</para>
+
+@t:
+@r:
+
+
+<!-- ##### FUNCTION gtk_ctree_set_line_style ##### -->
+<para>
+
+</para>
+
+@ctree:
+@line_style:
+
+
+<!-- ##### FUNCTION gtk_ctree_set_expander_style ##### -->
+<para>
+
+</para>
+
+@ctree:
+@expander_style:
+
+
+<!-- ##### FUNCTION gtk_ctree_set_drag_compare_func ##### -->
+<para>
+FIXME
+</para>
+
+@ctree:
+@cmp_func:
+
+
+<!-- ##### FUNCTION gtk_ctree_sort_node ##### -->
+<para>
+Sort the children of a node. See #GtkCList for how to set the sorting
+criteria etc.
+</para>
+
+@ctree:
+@node:
+
+
+<!-- ##### FUNCTION gtk_ctree_sort_recursive ##### -->
+<para>
+Sort the descendants of a node. See #GtkCList for how to set the sorting
+criteria etc.
+</para>
+
+@ctree:
+@node:
+
+
+<!-- ##### FUNCTION gtk_ctree_node_nth ##### -->
+<para>
+
+</para>
+
+@ctree:
+@row:
+@Returns: The node corresponding to the @row th row.
+
+
+<!-- ##### FUNCTION gtk_ctree_set_show_stub ##### -->
+<para>
+
+</para>
+
+@ctree:
+@show_stub:
+
+
+<!-- ##### SIGNAL GtkCTree::tree-select-row ##### -->
+<para>
+Emitted when a row is selected.
+</para>
+
+@ctree: the object which received the signal.
+@node: The node corresponding to the selected row.
+@column: The column which was selected.
+
+<!-- ##### SIGNAL GtkCTree::tree-unselect-row ##### -->
+<para>
+Emitted when a node is unselected.
+</para>
+
+@ctree: the object which received the signal.
+@node: The node corresponding to the selected row.
+@column:
+
+<!-- ##### SIGNAL GtkCTree::tree-expand ##### -->
+<para>
+Emitted when a node is expanded.
+</para>
+
+@ctree: the object which received the signal.
+@node:
+
+<!-- ##### SIGNAL GtkCTree::tree-collapse ##### -->
+<para>
+Emitted when a node is collapsed.
+</para>
+
+@ctree: the object which received the signal.
+@node:
+
+<!-- ##### SIGNAL GtkCTree::tree-move ##### -->
+<para>
+Emitted when a node is moved.
+</para>
+
+@ctree: the object which received the signal.
+@node: The node that is moved.
+@new_parent: The new parent of the node.
+@new_sibling: The new sibling of the node.
+
+<!-- ##### SIGNAL GtkCTree::change-focus-row-expansion ##### -->
+<para>
+The row which has the focus is either collapsed or expanded
+or toggled.
+</para>
+
+@ctree: the object which received the signal.
+@expansion: What is being done.
+
+<!-- ##### ARG GtkCTree:n_columns ##### -->
+<para>
+The number of columns in the tree.
+</para>
+
+<!-- ##### ARG GtkCTree:tree_column ##### -->
+<para>
+The column in which the actual tree graphic appears.
+</para>
+
+<!-- ##### ARG GtkCTree:indent ##### -->
+<para>
+The number of pixels to indent the tree levels.
+</para>
+
+<!-- ##### ARG GtkCTree:spacing ##### -->
+<para>
+The number of pixels between the tree and the columns.
+</para>
+
+<!-- ##### ARG GtkCTree:show_stub ##### -->
+<para>
+FIXME
+</para>
+
+<!-- ##### ARG GtkCTree:line_style ##### -->
+<para>
+The style of the lines in the tree graphic.
+</para>
+
+<!-- ##### ARG GtkCTree:expander_style ##### -->
+<para>
+The style of the expander buttons.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkcurve.sgml b/docs/reference/gtk/tmpl/gtkcurve.sgml
new file mode 100644
index 000000000..b8119415b
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkcurve.sgml
@@ -0,0 +1,109 @@
+<!-- ##### SECTION Title ##### -->
+GtkCurve
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkCurve ##### -->
+<para>
+
+</para>
+
+@graph:
+@cursor_type:
+@min_x:
+@max_x:
+@min_y:
+@max_y:
+@pixmap:
+@curve_type:
+@height:
+@grab_point:
+@last:
+@num_points:
+@point:
+@num_ctlpoints:
+
+<!-- ##### FUNCTION gtk_curve_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_curve_reset ##### -->
+<para>
+
+</para>
+
+@curve:
+
+
+<!-- ##### FUNCTION gtk_curve_set_gamma ##### -->
+<para>
+
+</para>
+
+@curve:
+@gamma:
+
+
+<!-- ##### FUNCTION gtk_curve_set_range ##### -->
+<para>
+
+</para>
+
+@curve:
+@min_x:
+@max_x:
+@min_y:
+@max_y:
+
+
+<!-- ##### FUNCTION gtk_curve_get_vector ##### -->
+<para>
+
+</para>
+
+@curve:
+@veclen:
+@vector:
+
+
+<!-- ##### FUNCTION gtk_curve_set_vector ##### -->
+<para>
+
+</para>
+
+@curve:
+@veclen:
+@vector:
+
+
+<!-- ##### FUNCTION gtk_curve_set_curve_type ##### -->
+<para>
+
+</para>
+
+@curve:
+@type:
+
+
+<!-- ##### SIGNAL GtkCurve::curve-type-changed ##### -->
+<para>
+
+</para>
+
+@curve: the object which received the signal.
+
diff --git a/docs/reference/gtk/tmpl/gtkdata.sgml b/docs/reference/gtk/tmpl/gtkdata.sgml
new file mode 100644
index 000000000..2da64638d
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkdata.sgml
@@ -0,0 +1,30 @@
+<!-- ##### SECTION Title ##### -->
+GtkData
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkData ##### -->
+<para>
+
+</para>
+
+@object:
+
+<!-- ##### SIGNAL GtkData::disconnect ##### -->
+<para>
+
+</para>
+
+@data: the object which received the signal.
+
diff --git a/docs/reference/gtk/tmpl/gtkdebug.sgml b/docs/reference/gtk/tmpl/gtkdebug.sgml
new file mode 100644
index 000000000..12195b227
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkdebug.sgml
@@ -0,0 +1,42 @@
+<!-- ##### SECTION Title ##### -->
+Debugging
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM GtkDebugFlag ##### -->
+<para>
+
+</para>
+
+@GTK_DEBUG_OBJECTS:
+@GTK_DEBUG_MISC:
+@GTK_DEBUG_SIGNALS:
+@GTK_DEBUG_DND:
+@GTK_DEBUG_PLUGSOCKET:
+
+<!-- ##### VARIABLE gtk_debug_flags ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### MACRO GTK_NOTE ##### -->
+<para>
+
+</para>
+
+@type:
+@action:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkdialog.sgml b/docs/reference/gtk/tmpl/gtkdialog.sgml
new file mode 100644
index 000000000..2ce535540
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkdialog.sgml
@@ -0,0 +1,122 @@
+<!-- ##### SECTION Title ##### -->
+GtkDialog
+
+<!-- ##### SECTION Short_Description ##### -->
+
+create popup windows.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+Dialog boxes are a convenient way to prompt the user for a small amount of
+input, eg. to display
+a message, ask a question, or anything else that does not require extensive
+effort on the user's part.
+</para>
+<para>
+Gtk+ treats a dialog as a window split horizontally. The top section is a
+#GtkVBox, and is where widgets such as a #GtkLabel or a #GtkEntry should be
+packed. The second area is known as the <structfield>action_area</structfield>. This is generally used
+for packing buttons into the dialog which may perform functions such as cancel, ok, or apply. The two
+areas are separated by a #GtkHSeparator.
+</para>
+<para>
+#GtkDialog boxes are created with a call to gtk_dialog_new().
+</para>
+<para>
+If 'dialog' is a newly created dialog, the two primary areas of the window
+can be accessed as GTK_DIALOG(dialog)->vbox and GTK_DIALOG(dialog)->action_area,
+as can be seen from the example, below.
+</para>
+<para>
+A 'modal' dialog (that is, one which freezes the rest of the application
+from user input), can be created by calling gtk_window_set_modal() on the dialog. Use the
+GTK_WINDOW() macro to cast the widget returned from gtk_dialog_new() into a
+#GtkWindow.
+</para>
+<para>
+<example>
+<title>Using a #GtkDialog to keep the user informed.</title>
+<programlisting>
+
+/* Function to open a dialog box displaying the message provided. */
+
+void quick_message(#gchar *message) {
+
+ #GtkWidget *dialog, *label, *okay_button;
+
+ /* Create the widgets */
+
+ dialog = gtk_dialog_new();
+ label = gtk_label_new (message);
+ okay_button = gtk_button_new_with_label("Okay");
+
+ /* Ensure that the dialog box is destroyed when the user clicks ok. */
+
+ gtk_signal_connect_object (GTK_OBJECT (okay_button), "clicked",
+ GTK_SIGNAL_FUNC (gtk_widget_destroy), dialog);
+ gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->action_area),
+ okay_button);
+
+ /* Add the label, and show everything we've added to the dialog. */
+
+ gtk_container_add (GTK_CONTAINER (GTK_DIALOG(dialog)->vbox),
+ label);
+ gtk_widget_show_all (dialog);
+}
+
+</programlisting>
+</example>
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+
+<para>
+<variablelist>
+<varlistentry>
+<term>#GtkVBox</term>
+<listitem><para>Pack widgets vertically.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>#GtkWindow</term>
+<listitem><para>Alter the properties of your dialog box.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>#GtkButton</term>
+<listitem><para>Add them to the <structfield>action_area</structfield> to get a
+response from the user.</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkDialog ##### -->
+<para>
+<structfield>window</structfield> is a #GtkWindow, but should not be
+modified directly, (use the functions provided, such as
+gtk_window_set_title(). See the #GtkWindow section for more).
+</para>
+<para>
+<structfield>vbox</structfield> is a #GtkVBox - the main part of the dialog box.
+</para>
+<para>
+<structfield>action_area</structfield> is a #GtkHBox packed below the dividing #GtkHSeparator in the dialog. It is treated exactly the same as any other #GtkHBox.
+</para>
+
+@window:
+@vbox:
+@action_area:
+
+<!-- ##### STRUCT GtkDialogButton ##### -->
+<para>
+Deprecated.
+</para>
+
+
+<!-- ##### FUNCTION gtk_dialog_new ##### -->
+<para>
+Creates a new dialog box. Widgets should not be packed into this #GtkWindow
+directly, but into the vbox and action_area, as described above.
+</para>
+
+@Returns: a #GtkWidget - the newly created dialog box.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkdnd.sgml b/docs/reference/gtk/tmpl/gtkdnd.sgml
new file mode 100644
index 000000000..cf93b8f5f
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkdnd.sgml
@@ -0,0 +1,344 @@
+<!-- ##### SECTION Title ##### -->
+Drag and Drop
+
+<!-- ##### SECTION Short_Description ##### -->
+Functions for controlling drag and drop handling.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GTK+ has a rich set of functions for doing inter-process
+communication via the drag-and-drop metaphore. GTK+
+can do drag and drop (DND) via multiple protocols.
+The currently supported protocols are the Xdnd and
+Motif protocols.
+
+As well as the functions listed here, applications
+may need to use some facilities provided for
+<link linkend="gtk-Selections">Selections</link>.
+Also, the Drag and Drop API makes use of signals
+in the #GtkWidget class.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM GtkDestDefaults ##### -->
+<para>
+The #GtkDestfaults enumeration specifies the various
+types of action that will be taken on behalf
+of the user for a drag destination site.
+</para>
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry><symbol>GTK_DEST_DEFAULT_MOTION</symbol></entry>
+<entry>
+ If set for a widget, GTK+, during a drag over this
+ widget will check if the drag matches this widget's
+ list of possible targets and actions.
+ GTK+ will then call gtk_drag_status() as appropriate.
+</entry>
+</row>
+
+<row>
+<entry><symbol>GTK_DEST_DEFAULT_HIGHLIGHT</symbol></entry>
+<entry>
+ If set for a widget, GTK+ will draw a highlight on
+ this widget as long as a drag is over this widget
+ and the wiget drag format and action is accetable.</entry>
+</row>
+
+<row>
+<entry><symbol>GTK_DEST_DEFAULT_DROP</symbol></entry>
+<entry>
+ If set for a widget, when a drop occurs, GTK+ will
+ will check if the drag matches this widget's
+ list of possible targets and actions. If so,
+ GTK+ will call gtk_drag_data_get() on behalf
+ of the widget. Whether or not the drop is succesful,
+ GTK+ will call gtk_drag_finish(). If the action
+ was a move, then if the drag was succesful, then
+ %TRUE will be passed for the @delete parameter
+ to gtk_drag_finish().
+</entry>
+</row>
+
+<row>
+<entry><symbol>GTK_DEST_DEFAULT_ALL</symbol></entry>
+<entry>
+ If set, specifies that all default actions should
+ be taken.
+</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+
+@GTK_DEST_DEFAULT_MOTION:
+@GTK_DEST_DEFAULT_HIGHLIGHT:
+@GTK_DEST_DEFAULT_DROP:
+@GTK_DEST_DEFAULT_ALL:
+
+<!-- ##### ENUM GtkTargetFlags ##### -->
+<para>
+The #GtkTargetFlags enumeration is used to specifies
+constraints on an entry in a GtkTargetTable.
+<variablelist>
+ <varlistentry><term> %GTK_TARGET_SAME_APP </term>
+ <listitem>
+ <para>
+ If this is set, the target will only be selected
+ for drags within a single application.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term> %GTK_TARGET_SAME_WIDGET </term>
+ <listitem>
+ <para>
+ If this is set, the target will only be selected
+ for drags within a single widget.
+ </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+
+@GTK_TARGET_SAME_APP:
+@GTK_TARGET_SAME_WIDGET:
+
+<!-- ##### FUNCTION gtk_drag_dest_set ##### -->
+<para>
+Set a widget as a potential drop destination.
+</para>
+
+@widget: a widget
+@flags: the flags that specify what actions GTK+ should take
+ on behalf of a widget for drops onto that widget. The @targets
+ and @actions fields only are used if %GTK_DEST_DEFAULT_MOTION
+ or %GTK_DEST_DEFAULT_DROP are given.
+@targets: a pointer to an array of #GtkTargetEntry indicating
+ the drop types that this widget will accept.
+@n_targets: the number of entries in @targets.
+@actions: a bitmask of possible actions for a drop onto this
+ widget.
+
+
+<!-- ##### FUNCTION gtk_drag_dest_set_proxy ##### -->
+<para>
+Set this widget as a proxy for drops to another window.
+</para>
+
+@widget: a #GtkWidget
+@proxy_window: the window to which to forward drag events
+@protocol: the drag protocol which the @proxy_window accepts
+ (You can use gdk_drag_get_protocol() to determine this)
+@use_coordinates: If true, send the same coordinates to the
+ destination, because it is a embedded
+ subwindow.
+
+
+<!-- ##### FUNCTION gtk_drag_dest_unset ##### -->
+<para>
+Clear information about a drop destination set with
+gtk_drag_dest_set(). The widget will no longer receive
+notification of drags.
+</para>
+
+@widget: a #GtkWidget
+
+
+<!-- ##### FUNCTION gtk_drag_finish ##### -->
+<para>
+Inform the drag source that the drop is finished, and
+that the data of the drag will no longer be required.
+</para>
+
+@context: the drag context.
+@success: a flag indicating whether the drop was succesful
+@del: a flag indicating whether the source should delete the
+ original data. (This should be %TRUE for a move)
+@time: the timestamp from the "drag_data_drop" signal.
+
+
+<!-- ##### FUNCTION gtk_drag_get_data ##### -->
+<para>
+Get the data associated with a drag. When the data
+is received or the retrieval fails, GTK+ will emit a
+"drag_data_received" signal. Failure of the retrieval
+is indicated by the length field of the @selection_data
+signal parameter being negative. However, when gtk_drag_get_data()
+is called implicitely because the %GTK_DRAG_DEFAULT_DROP was set,
+then the widget will not receive notification of failed
+drops.
+</para>
+
+@widget: the widget that will receive the "drag_data_received"
+ signal.
+@context: the drag context
+@target: the target (form of the data) to retrieve.
+@time: a timestamp for retrieving the data. This will
+ generally be the time received in a "drag_data_motion"
+ or "drag_data_drop" signal.
+
+
+<!-- ##### FUNCTION gtk_drag_get_source_widget ##### -->
+<para>
+Determine the source widget for a drag.
+</para>
+
+@context: a (destination side) drag context.
+@Returns: if the drag is occurring within a single application,
+ a pointer to the source widget. Otherwise, NULL.
+
+
+<!-- ##### FUNCTION gtk_drag_highlight ##### -->
+<para>
+Draw a highlight around a widget. This will attach
+handlers to "expose_event" and "draw", so the highlight
+will continue to be displayed until gtk_drag_unhighlight
+is called.
+</para>
+
+@widget: a widget to highlight
+
+
+<!-- ##### FUNCTION gtk_drag_unhighlight ##### -->
+<para>
+Remove a highlight set by gtk_drag_highlight() from
+a widget.
+is called.
+</para>
+
+@widget: a widget to remove the highlight from.
+
+
+<!-- ##### FUNCTION gtk_drag_begin ##### -->
+<para>
+Initiate a drag on the source side. The function
+only needs to be used when the application is
+starting drags itself, and is not needed when
+gtk_drag_source_set() is used.
+</para>
+
+@widget: the source widget.
+@targets: The targets (data formats) in which the
+ source can provide the data.
+@actions: A bitmask of the allowed drag actions for this
+ drag.
+@button: The button the user clicked to start the drag.
+@event: The event that triggered the start of the
+ drag. Usually
+@Returns: The context for this drag.
+
+
+<!-- ##### FUNCTION gtk_drag_set_icon_widget ##### -->
+<para>
+Change the icon for a widget to a given widget. GTK+
+will not destroy the icon, so if you don't want
+it to persist, you should connect to the "drag_end"
+signal and destroy it yourself.
+</para>
+
+@context: the context for a drag. (This must be called
+ with a context for the source side of a drag)
+@widget: A toplevel window to use as an icon.
+@hot_x: The X offset within @widget of the hotspot.
+@hot_y: The Y offset within @widget of the hotspot.
+
+
+<!-- ##### FUNCTION gtk_drag_set_icon_pixmap ##### -->
+<para>
+Sets a given pixmap as the icon for a given drag.
+GTK+ retains a reference count for the arguments, and
+will release them when they are no longer needed.
+</para>
+
+@context: the context for a drag. (This must be called
+ with a context for the source side of a drag)
+@colormap: the colormap of the icon
+@pixmap: the image data for the icon
+@mask: the transparency mask for an image.
+@hot_x: The X offset within @widget of the hotspot.
+@hot_y: The Y offset within @widget of the hotspot.
+
+
+<!-- ##### FUNCTION gtk_drag_set_icon_default ##### -->
+<para>
+Set the icon for a particular drag to the default
+icon.
+</para>
+
+@context: the context for a drag. (This must be called
+ with a context for the source side of a drag)
+
+
+<!-- ##### FUNCTION gtk_drag_set_default_icon ##### -->
+<para>
+Change the default drag icon. GTK+ retains a reference count for the
+arguments, and will release them when they are no longer needed.
+</para>
+
+@colormap: the colormap of the icon
+@pixmap: the image data for the icon
+@mask: the transparency mask for an image.
+@hot_x: The X offset within @widget of the hotspot.
+@hot_y: The Y offset within @widget of the hotspot.
+
+
+<!-- ##### FUNCTION gtk_drag_source_set ##### -->
+<para>
+Sets up a widget so that GTK+ will start a drag
+operation when the user clicks and drags on the
+widget. The widget must have a window.
+</para>
+
+@widget: a #GtkWidget
+@start_button_mask: the bitmask of buttons that can start the drag
+@targets: the table of targets that the drag will support
+@n_targets: the number of items in @targets
+@actions: the bitmask of possible actions for a drag from this
+ widget.
+
+
+<!-- ##### FUNCTION gtk_drag_source_set_icon ##### -->
+<para>
+Sets the icon that will be used for drags from a
+particular widget. GTK+ retains a reference count
+for the arguments, and will release them when
+they are no longer needed.
+</para>
+
+@widget: a #GtkWidget
+@colormap: the colormap of the icon
+@pixmap: the image data for the icon
+@mask: the transparency mask for an image.
+
+
+<!-- ##### FUNCTION gtk_drag_source_unset ##### -->
+<para>
+Undo the effects of gtk_drag_source_set().
+</para>
+
+@widget: a #GtkWidget
+
+
+<!-- ##### FUNCTION gtk_drag_source_handle_event ##### -->
+<para>
+Internal function.
+</para>
+
+@widget:
+@event:
+
+
+<!-- ##### FUNCTION gtk_drag_dest_handle_event ##### -->
+<para>
+Internal function.
+</para>
+
+@toplevel:
+@event:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkdrawingarea.sgml b/docs/reference/gtk/tmpl/gtkdrawingarea.sgml
new file mode 100644
index 000000000..b78eae267
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkdrawingarea.sgml
@@ -0,0 +1,111 @@
+<!-- ##### SECTION Title ##### -->
+GtkDrawingArea
+
+<!-- ##### SECTION Short_Description ##### -->
+a widget for custom user interface elements.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkDrawingArea widget is used for creating custom
+user interface elements. After creating a drawing
+area, the application may want to connect to:
+<itemizedlist>
+ <listitem>
+ <para>
+ Mouse and button press signals to respond to input from
+ the user.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The "realize" signal to take any necessary actions
+ when the widget
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The "size_allocate" signal to take any necessary actions
+ when the widget changes size.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The "expose_event" signal to handle redrawing the
+ contents of the widget.
+ </para>
+ </listitem>
+</itemizedlist>
+As a convenience, the #GtkDrawingArea widget synthesizes
+a "configure_event" when the widget is realized
+and any time the size of a widget changes when it
+is realized. It often suffices to connect to this
+signal instead of "realize" and "size_allocate".
+</para>
+<para>
+The following code portion demonstrates using a drawing
+area to implement a widget that draws a circle.
+As this example demonstrates, an expose handler should
+draw only the pixels within the requested area and
+should draw or clear all these pixels.
+</para>
+<programlisting>
+gboolean
+expose_event (GdkWidget *widget, GdkEventExpose *event, gpointer data)
+{
+ gdk_window_clear_area (widget->window,
+ event->area.x, event->area.y,
+ event->area.width, event->area.height);
+ gdk_gc_set_clip_rectangle (widget->style->fg_gc[widget->state],
+ &amp;event->area);
+ gdk_draw_arc (widget->window,
+ widget->style->fg_gc[widget->state],
+ TRUE,
+ 0, 0, widget->allocation->width, widget->allocation.height,
+ 0, 64 * 360);
+ gdk_gc_set_clip_rectangle (widget->style->fg_gc[widget->state]);
+
+ return TRUE;
+}
+[...]
+ GtkWidget *drawing_area = gdk_drawing_area_new ();
+ gdk_drawing_area_size (GTK_DRAWING_AREA (drawing_area),
+ 100, 100);
+ gtk_signal_connect (GTK_OBJECT (drawing_area),
+</programlisting>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkDrawingArea ##### -->
+<para>
+The #GtkDrawingArea-struct struct contains private data only, and
+should be accessed using the functions below.
+</para>
+
+@widget:
+@draw_data:
+
+<!-- ##### FUNCTION gtk_drawing_area_new ##### -->
+<para>
+Create a new drawing area.
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_drawing_area_size ##### -->
+<para>
+Set the size that the drawing area will request
+in response to a "size_request" signal. The
+drawing area may actually be allocated a size
+larger than this depending on how it is packed
+within the enclosing containers.
+</para>
+
+@darea: a #GtkDrawingArea.
+@width: the width to request.
+@height: the height to request.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkeditable.sgml b/docs/reference/gtk/tmpl/gtkeditable.sgml
new file mode 100644
index 000000000..f822b3bfe
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkeditable.sgml
@@ -0,0 +1,448 @@
+<!-- ##### SECTION Title ##### -->
+GtkEditable
+
+<!-- ##### SECTION Short_Description ##### -->
+Base class for text-editing widgets.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkEditable class is a base class for widgets
+for editing text, such as #GtkEntry and #GtkText. It
+cannot be instantiated by itself. The editable
+class contains functions for generically manipulating
+an editable widget, a large number of action signals
+used for key bindings, and several signals that
+an application can connect to to modify the behavior
+of a widget.
+</para>
+
+<para>
+As an example of the latter usage, by connecting
+the following handler to "insert_text", an application
+can convert all entry into a widget into uppercase.
+
+<example>
+<title> Forcing entry to uppercase </title>
+<programlisting>
+#include &lt;ctype.h&gt;
+
+void
+insert_text_handler (GtkEditable *editable,
+ const gchar *text,
+ gint length,
+ gint *position,
+ gpointer data)
+{
+ int i;
+ gchar *result = g_new (gchar, length);
+
+ for (i=0; i&lt;length; i++)
+ result[i] = islower(text[i]) ? toupper(text[i]) : text[i];
+
+ gtk_signal_handler_block_by_func (GTK_OBJECT (editable),
+ GTK_SIGNAL_FUNC (insert_text_handler),
+ data);
+ gtk_editable_insert_text (editable, result, length, position);
+ gtk_signal_handler_unblock_by_func (GTK_OBJECT (editable),
+ GTK_SIGNAL_FUNC (insert_text_handler),
+ data);
+
+ gtk_signal_emit_stop_by_name (GTK_OBJECT (editable), "insert_text");
+
+ g_free (result);
+}
+</programlisting>
+</example>
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkEditable ##### -->
+<para>
+The #GtkEditable structure contains the following fields.
+(These fields should be considered read-only. They should
+never be set by an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#guint selection_start;</entry>
+<entry>the starting position of the selected characters
+ in the widget.</entry>
+</row>
+
+<row>
+<entry>#guint selection_end;</entry>
+<entry>the end position of the selected characters
+ in the widget.</entry>
+</row>
+
+<row>
+<entry>#guint editable;</entry>
+<entry>a flag indicating whether or not the widget is
+editable by the user.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@widget:
+@current_pos:
+@selection_start_pos:
+@selection_end_pos:
+@has_selection:
+@editable:
+@visible:
+@ic:
+@ic_attr:
+@clipboard_text:
+
+<!-- ##### USER_FUNCTION GtkTextFunction ##### -->
+<para>
+Callback function for old method of setting key bindings.
+No longer publically used.
+</para>
+
+@editable:
+@time:
+
+
+<!-- ##### FUNCTION gtk_editable_select_region ##### -->
+<para>
+Selects a region of text. The characters that
+are selected are those characters at positions from
+@start_pos up to, but not including @end_pos. If
+@end_pos is negative, then the the characters selected
+will be those characters from @start_pos to the end
+of the text.
+</para>
+
+@editable: a #GtkEditable widget.
+@start: the starting position.
+@end: the end position.
+
+
+<!-- ##### FUNCTION gtk_editable_insert_text ##### -->
+<para>
+Insert text at a given position.
+</para>
+
+@editable: a #GtkEditable widget.
+@new_text: the text to insert.
+@new_text_length: the length of the text to insert, in bytes
+@position: an inout parameter. The caller initializes it to
+ the position at which to insert the text. After the
+ call it points at the position after the newly
+ inserted text.
+
+
+<!-- ##### FUNCTION gtk_editable_delete_text ##### -->
+<para>
+Delete a sequence of characters. The characters that
+are deleted are those characters at positions from
+@start_pos up to, but not including @end_pos. If
+@end_pos is negative, then the the characters deleted
+will be those characters from @start_pos to the end
+of the text.
+</para>
+
+@editable: a #GtkEditable widget.
+@start_pos: the starting position.
+@end_pos: the end position.
+
+
+<!-- ##### FUNCTION gtk_editable_get_chars ##### -->
+<para>
+Retrieves a sequence of characters. The characters that
+are retrieved are those characters at positions from
+@start_pos up to, but not including @end_pos. If
+@end_pos is negative, then the the characters retrieved
+will be those characters from @start_pos to the end
+of the text.
+</para>
+
+@editable: a #GtkEditable widget.
+@start_pos: the starting position.
+@end_pos: the end position.
+@Returns: the characters in the indicated region.
+ The result must be freed with g_free() when
+ the application is finished with it.
+
+
+<!-- ##### FUNCTION gtk_editable_cut_clipboard ##### -->
+<para>
+Causes the characters in the current selection to
+be copied to the clipboard and then deleted from
+the widget.
+</para>
+
+@editable: a #GtkEditable widget.
+
+
+<!-- ##### FUNCTION gtk_editable_copy_clipboard ##### -->
+<para>
+Causes the characters in the current selection to
+be copied to the clipboard.
+</para>
+
+@editable: a #GtkEditable widget.
+
+
+<!-- ##### FUNCTION gtk_editable_paste_clipboard ##### -->
+<para>
+Causes the contents of the clipboard to be pasted into
+the given widget at the current cursor position.
+</para>
+
+@editable: a #GtkEditable widget.
+
+
+<!-- ##### FUNCTION gtk_editable_claim_selection ##### -->
+<para>
+Claim or disclaim ownership of the PRIMARY X selection.
+</para>
+
+@editable: a #GtkEditable widget.
+@claim: if %TRUE, claim the selection, otherwise, disclaim it.
+@time: the timestamp for claiming the selection.
+
+
+<!-- ##### FUNCTION gtk_editable_delete_selection ##### -->
+<para>
+Deletes the current contents of the widgets selection and
+disclaims the selection.
+</para>
+
+@editable: a #GtkEditable widget.
+
+
+<!-- ##### FUNCTION gtk_editable_changed ##### -->
+<para>
+Causes the "changed" signal to be emitted.
+</para>
+
+@editable: a #GtkEditable widget.
+
+
+<!-- ##### FUNCTION gtk_editable_set_position ##### -->
+<para>
+Sets the cursor position.
+</para>
+
+@editable: a #GtkEditable widget.
+@position: the position of the cursor. The cursor is displayed
+ before the character with the given (base 0) index
+ in the widget. The value must be less than or
+ equal to the number of characters in the widget.
+ A value of -1 indicates that the position should
+ be set after the last character in the entry.
+ Note that this position is in characters, not in
+ bytes.
+
+
+<!-- ##### FUNCTION gtk_editable_get_position ##### -->
+<para>
+Retrieves the current cursor position.
+</para>
+
+@editable: a #GtkEditable widget.
+@Returns: the position of the cursor. The cursor is displayed
+ before the character with the given (base 0) index
+ in the widget. The value will be less than or
+ equal to the number of characters in the widget.
+ Note that this position is in characters, not in
+ bytes.
+
+
+<!-- ##### FUNCTION gtk_editable_set_editable ##### -->
+<para>
+Determines if the user can edit the text in the editable
+widget or not.
+</para>
+
+@editable: a #GtkEditable widget.
+@is_editable: %TRUE if the user is allowed to edit the text
+ in the widget.
+
+
+<!-- ##### SIGNAL GtkEditable::changed ##### -->
+<para>
+Indicates that the user has changed the contents
+of the widget.
+</para>
+
+@editable: the object which received the signal.
+
+<!-- ##### SIGNAL GtkEditable::insert-text ##### -->
+<para>
+This signal is emitted when text is inserted into
+the widget by the user. The default handler for
+this signal will normally be responsible for inserting
+the text, so by connecting to this signal and then
+stopping the signal with gtk_signal_emit_stop(), it
+is possible to modify the inserted text, or prevent
+it from being inserted entirely.
+</para>
+
+@editable: the object which received the signal.
+@new_text: the new text to insert.
+@new_text_length: the length of the new text.
+@position: the position at which to insert the new text.
+ this is an in-out paramter. After the signal
+ emission is finished, it should point after
+ the newly inserted text.
+
+<!-- ##### SIGNAL GtkEditable::delete-text ##### -->
+<para>
+This signal is emitted when text is deleted from
+the widget by the user. The default handler for
+this signal will normally be responsible for inserting
+the text, so by connecting to this signal and then
+stopping the signal with gtk_signal_emit_stop(), it
+is possible to modify the inserted text, or prevent
+it from being inserted entirely. The @start_pos
+and @end_pos parameters are interpreted as for
+gtk_editable_delete_text()
+</para>
+
+@editable: the object which received the signal.
+@start_pos: the starting position.
+@end_pos: the end position.
+
+<!-- ##### SIGNAL GtkEditable::activate ##### -->
+<para>
+Indicates that the user has activated the widget
+in some fashion. Generally, this will be done
+with a keystroke. (The default binding for this
+action is Return for #GtkEntry and
+Control-Return for #GtkText.)
+</para>
+
+@editable: the object which received the signal.
+
+<!-- ##### SIGNAL GtkEditable::set-editable ##### -->
+<para>
+Determines if the user can edit the text in the editable
+widget or not. This is meant to be overriden by
+child classes and should not generally useful to
+applications.
+</para>
+
+@editable: the object which received the signal.
+@is_editable: %TRUE if the user is allowed to edit the text
+ in the widget.
+
+<!-- ##### SIGNAL GtkEditable::move-cursor ##### -->
+<para>
+An action signal. Move the cursor position.
+</para>
+
+@editable: the object which received the signal.
+@x: horizontal distance to move the cursor.
+@y: vertical distance to move the cursor.
+
+<!-- ##### SIGNAL GtkEditable::move-word ##### -->
+<para>
+An action signal. Move the cursor by words.
+</para>
+
+@editable: the object which received the signal.
+@num_words: The number of words to move the
+cursor. (Can be negative).
+
+<!-- ##### SIGNAL GtkEditable::move-page ##### -->
+<para>
+An action signal. Move the cursor by pages.
+</para>
+
+@editable: the object which received the signal.
+@x: Number of pages to move the cursor horizontally.
+@y: Number of pages to move the cursor vertically.
+
+<!-- ##### SIGNAL GtkEditable::move-to-row ##### -->
+<para>
+An action signal. Move the cursor to the given row.
+</para>
+
+@editable: the object which received the signal.
+@row: the row to move to. (A negative value indicates
+ the last row)
+
+<!-- ##### SIGNAL GtkEditable::move-to-column ##### -->
+<para>
+An action signal. Move the cursor to the given column.
+</para>
+
+@editable: the object which received the signal.
+@column: the column to move to. (A negative value indicates
+ the last column)
+
+<!-- ##### SIGNAL GtkEditable::kill-char ##### -->
+<para>
+An action signal. Delete a single character.
+</para>
+
+@editable: the object which received the signal.
+@direction: the direction in which to delete. Positive
+ indicates forward deletion, negative, backwards deletion.
+
+<!-- ##### SIGNAL GtkEditable::kill-word ##### -->
+<para>
+An action signal. Delete a single word.
+</para>
+
+@editable: the object which received the signal.
+@direction: the direction in which to delete. Positive
+ indicates forward deletion, negative, backwards deletion.
+
+<!-- ##### SIGNAL GtkEditable::kill-line ##### -->
+<para>
+An action signal. Delete a single line.
+</para>
+
+@editable: the object which received the signal.
+@direction: the direction in which to delete. Positive
+ indicates forward deletion, negative, backwards deletion.
+
+<!-- ##### SIGNAL GtkEditable::cut-clipboard ##### -->
+<para>
+An action signal. Causes the characters in the current
+selection to be copied to the clipboard and then deleted from
+the widget.
+</para>
+
+@editable: the object which received the signal.
+
+<!-- ##### SIGNAL GtkEditable::copy-clipboard ##### -->
+<para>
+An action signal. Causes the characters in the current selection to
+be copied to the clipboard.
+</para>
+
+@editable: the object which received the signal.
+
+<!-- ##### SIGNAL GtkEditable::paste-clipboard ##### -->
+<para>
+An action signal. Causes the contents of the clipboard to
+be pasted into the editable widget at the current cursor
+position.
+</para>
+
+@editable: the object which received the signal.
+
+<!-- ##### ARG GtkEditable:text_position ##### -->
+<para>
+The position of the cursor.
+</para>
+
+<!-- ##### ARG GtkEditable:editable ##### -->
+<para>
+A boolean indicating whether the widget is editable by
+the user.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkentry.sgml b/docs/reference/gtk/tmpl/gtkentry.sgml
new file mode 100644
index 000000000..0552539a3
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkentry.sgml
@@ -0,0 +1,201 @@
+<!-- ##### SECTION Title ##### -->
+GtkEntry
+
+<!-- ##### SECTION Short_Description ##### -->
+a single line text entry field.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkEntry widget is a single line text entry
+widget. A fairly large set of key bindings are supported
+by default. If the entered text is longer than the allocation
+of the widget, the widget will scroll so that the cursor
+position is visible.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkText</term>
+<listitem><para>a widget for handling multi-line text entry.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkEntry ##### -->
+<para>
+The #GtkEntry-struct struct contains only private data.
+</para>
+
+@editable:
+@text_area:
+@backing_pixmap:
+@cursor:
+@text:
+@text_size:
+@text_length:
+@text_max_length:
+@scroll_offset:
+@visible:
+@timer:
+@button:
+@char_offset:
+@text_mb:
+@text_mb_dirty:
+@use_wchar:
+
+<!-- ##### FUNCTION gtk_entry_new ##### -->
+<para>
+Creates a new #GtkEntry widget.
+</para>
+
+@Returns: a new #GtkEntry.
+
+
+<!-- ##### FUNCTION gtk_entry_new_with_max_length ##### -->
+<para>
+Creates a new #GtkEntry widget with the given maximum
+length.
+</para>
+<para>
+Note: the existance of this function is inconsistent
+with the rest of the GTK+ API. The normal setup would
+be to just require the user to make an extra call
+to gtk_entry_set_max_length() instead. It is not
+expected that this function will be removed, but
+it would be better practice not to use it.
+</para>
+
+@max: the new maximum length.
+@Returns: a new #GtkEntry.
+
+
+<!-- ##### FUNCTION gtk_entry_set_text ##### -->
+<para>
+Sets the text in the widget to the given
+value, replacing the current contents.
+</para>
+
+@entry: a #GtkEntry.
+@text: the new text.
+
+
+<!-- ##### FUNCTION gtk_entry_append_text ##### -->
+<para>
+Appends the given text to the contents of the widget.
+</para>
+
+@entry: a #GtkEntry.
+@text: the text to append.
+
+
+<!-- ##### FUNCTION gtk_entry_prepend_text ##### -->
+<para>
+Prepends the given text to the contents of th ewidget.
+</para>
+
+@entry: a #GtkEntry.
+@text: the text to prepend.
+
+
+<!-- ##### FUNCTION gtk_entry_set_position ##### -->
+<para>
+Sets the cursor position in an entry to the given
+value. This function is obsolete. You should use
+gtk_editable_set_position() instead.
+</para>
+
+@entry: a #GtkEntry.
+@position: the position of the cursor. The cursor is displayed
+ before the character with the given (base 0) index
+ in the widget. The value must be less than or
+ equal to the number of characters in the widget.
+ A value of -1 indicates that the position should
+ be set after the last character in the entry.
+ Note that this position is in characters, not in
+ bytes.
+
+
+<!-- ##### FUNCTION gtk_entry_get_text ##### -->
+<para>
+Retrieve the contents of the entry widget. The returned
+pointer points to internally allocated storage in the
+widget and must not be freed, modified or stored. For
+this reason, this function is deprecated. Use
+gtk_editable_get_chars() instead.
+</para>
+
+@entry: a #GtkEntry.
+@Returns: the pointer the the contents of the text widget as a
+ string.
+
+
+<!-- ##### FUNCTION gtk_entry_select_region ##### -->
+<para>
+Selects a region of text. The characters that
+are selected are those characters at positions from
+@start_pos up to, but not including @end_pos. If
+@end_pos is negative, then the the characters selected
+will be those characters from @start_pos to the end
+of the text. This function is obsolete. You should
+use gtk_editable_select_region() instead.
+</para>
+
+@entry: a #GtkEntry.
+@start: the starting position.
+@end: the end position.
+
+
+<!-- ##### FUNCTION gtk_entry_set_visibility ##### -->
+<para>
+Sets whether the contents of the entry are visible or
+not. When visibility is set to %FALSE, characters
+are displayed as asterisks (*'s), and will also appear
+that way when the text in the entry widget is copied
+elsewhere.
+</para>
+
+@entry: a #GtkEntry.
+@visible: %TRUE if the contents of the entry are displayd
+ as plaintext.
+
+
+<!-- ##### FUNCTION gtk_entry_set_editable ##### -->
+<para>
+Determines if the user can edit the text in the editable
+widget or not. This function is obsolete. You should
+use gtk_editable_set_editable() instead.
+</para>
+
+@entry: a #GtkEntry.
+@editable: %TRUE if the user is allowed to edit the text
+ in the widget.
+
+
+<!-- ##### FUNCTION gtk_entry_set_max_length ##### -->
+<para>
+Sets the maximum allowed length of the contents
+of the widget. If the current contents are longer
+than the given length, then they will be truncated
+to fit.
+</para>
+
+@entry: a #GtkEntry.
+@max: the new maximum length.
+
+
+<!-- ##### ARG GtkEntry:max_length ##### -->
+<para>
+Determines the maximum allowed length of the contents
+of the widget. See gtk_entry_set_max_length().
+</para>
+
+<!-- ##### ARG GtkEntry:visibility ##### -->
+<para>
+Determines whether the contents of the entry widget
+are visible or not. See gtk_entry_set_visibility().
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkenums.sgml b/docs/reference/gtk/tmpl/gtkenums.sgml
new file mode 100644
index 000000000..5b8b1ede8
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkenums.sgml
@@ -0,0 +1,361 @@
+<!-- ##### SECTION Title ##### -->
+Standard Enumerations
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM GtkAccelFlags ##### -->
+<para>
+
+</para>
+
+@GTK_ACCEL_VISIBLE:
+@GTK_ACCEL_SIGNAL_VISIBLE:
+@GTK_ACCEL_LOCKED:
+@GTK_ACCEL_MASK:
+
+<!-- ##### ENUM GtkArrowType ##### -->
+<para>
+
+</para>
+
+@GTK_ARROW_UP:
+@GTK_ARROW_DOWN:
+@GTK_ARROW_LEFT:
+@GTK_ARROW_RIGHT:
+
+<!-- ##### ENUM GtkAttachOptions ##### -->
+<para>
+
+</para>
+
+@GTK_EXPAND:
+@GTK_SHRINK:
+@GTK_FILL:
+
+<!-- ##### ENUM GtkButtonBoxStyle ##### -->
+<para>
+
+</para>
+
+@GTK_BUTTONBOX_DEFAULT_STYLE:
+@GTK_BUTTONBOX_SPREAD:
+@GTK_BUTTONBOX_EDGE:
+@GTK_BUTTONBOX_START:
+@GTK_BUTTONBOX_END:
+
+<!-- ##### ENUM GtkCornerType ##### -->
+<para>
+
+</para>
+
+@GTK_CORNER_TOP_LEFT:
+@GTK_CORNER_BOTTOM_LEFT:
+@GTK_CORNER_TOP_RIGHT:
+@GTK_CORNER_BOTTOM_RIGHT:
+
+<!-- ##### ENUM GtkCurveType ##### -->
+<para>
+
+</para>
+
+@GTK_CURVE_TYPE_LINEAR:
+@GTK_CURVE_TYPE_SPLINE:
+@GTK_CURVE_TYPE_FREE:
+
+<!-- ##### ENUM GtkDirectionType ##### -->
+<para>
+
+</para>
+
+@GTK_DIR_TAB_FORWARD:
+@GTK_DIR_TAB_BACKWARD:
+@GTK_DIR_UP:
+@GTK_DIR_DOWN:
+@GTK_DIR_LEFT:
+@GTK_DIR_RIGHT:
+
+<!-- ##### ENUM GtkJustification ##### -->
+<para>
+
+</para>
+
+@GTK_JUSTIFY_LEFT:
+@GTK_JUSTIFY_RIGHT:
+@GTK_JUSTIFY_CENTER:
+@GTK_JUSTIFY_FILL:
+
+<!-- ##### ENUM GtkMatchType ##### -->
+<para>
+
+</para>
+
+@GTK_MATCH_ALL:
+@GTK_MATCH_ALL_TAIL:
+@GTK_MATCH_HEAD:
+@GTK_MATCH_TAIL:
+@GTK_MATCH_EXACT:
+@GTK_MATCH_LAST:
+
+<!-- ##### ENUM GtkMenuFactoryType ##### -->
+<para>
+
+</para>
+
+@GTK_MENU_FACTORY_MENU:
+@GTK_MENU_FACTORY_MENU_BAR:
+@GTK_MENU_FACTORY_OPTION_MENU:
+
+<!-- ##### ENUM GtkMetricType ##### -->
+<para>
+
+</para>
+
+@GTK_PIXELS:
+@GTK_INCHES:
+@GTK_CENTIMETERS:
+
+<!-- ##### ENUM GtkOrientation ##### -->
+<para>
+
+</para>
+
+@GTK_ORIENTATION_HORIZONTAL:
+@GTK_ORIENTATION_VERTICAL:
+
+<!-- ##### ENUM GtkPackType ##### -->
+<para>
+
+</para>
+
+@GTK_PACK_START:
+@GTK_PACK_END:
+
+<!-- ##### ENUM GtkPathPriorityType ##### -->
+<para>
+
+</para>
+
+@GTK_PATH_PRIO_LOWEST:
+@GTK_PATH_PRIO_GTK:
+@GTK_PATH_PRIO_APPLICATION:
+@GTK_PATH_PRIO_RC:
+@GTK_PATH_PRIO_HIGHEST:
+@GTK_PATH_PRIO_MASK:
+
+<!-- ##### ENUM GtkPathType ##### -->
+<para>
+
+</para>
+
+@GTK_PATH_WIDGET:
+@GTK_PATH_WIDGET_CLASS:
+@GTK_PATH_CLASS:
+
+<!-- ##### ENUM GtkPolicyType ##### -->
+<para>
+
+</para>
+
+@GTK_POLICY_ALWAYS:
+@GTK_POLICY_AUTOMATIC:
+@GTK_POLICY_NEVER:
+
+<!-- ##### ENUM GtkPositionType ##### -->
+<para>
+
+</para>
+
+@GTK_POS_LEFT:
+@GTK_POS_RIGHT:
+@GTK_POS_TOP:
+@GTK_POS_BOTTOM:
+
+<!-- ##### ENUM GtkPreviewType ##### -->
+<para>
+An enumeration which describes whether a preview
+contains grayscale or red-green-blue data.
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GTK_PREVIEW_COLOR</entry>
+<entry>the preview contains red-green-blue data.</entry>
+</row>
+
+<row>
+<entry>GTK_PREVIEW_GRAYSCALE</entry>
+<entry>The preview contains grayscale data.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@GTK_PREVIEW_COLOR:
+@GTK_PREVIEW_GRAYSCALE:
+
+<!-- ##### ENUM GtkReliefStyle ##### -->
+<para>
+
+</para>
+
+@GTK_RELIEF_NORMAL:
+@GTK_RELIEF_HALF:
+@GTK_RELIEF_NONE:
+
+<!-- ##### ENUM GtkResizeMode ##### -->
+<para>
+
+</para>
+
+@GTK_RESIZE_PARENT:
+@GTK_RESIZE_QUEUE:
+@GTK_RESIZE_IMMEDIATE:
+
+<!-- ##### ENUM GtkSignalRunType ##### -->
+<para>
+
+</para>
+
+@GTK_RUN_FIRST:
+@GTK_RUN_LAST:
+@GTK_RUN_BOTH:
+@GTK_RUN_NO_RECURSE:
+@GTK_RUN_ACTION:
+@GTK_RUN_NO_HOOKS:
+
+<!-- ##### ENUM GtkScrollType ##### -->
+<para>
+
+</para>
+
+@GTK_SCROLL_NONE:
+@GTK_SCROLL_STEP_BACKWARD:
+@GTK_SCROLL_STEP_FORWARD:
+@GTK_SCROLL_PAGE_BACKWARD:
+@GTK_SCROLL_PAGE_FORWARD:
+@GTK_SCROLL_JUMP:
+
+<!-- ##### ENUM GtkSelectionMode ##### -->
+<para>
+
+</para>
+
+@GTK_SELECTION_SINGLE:
+@GTK_SELECTION_BROWSE:
+@GTK_SELECTION_MULTIPLE:
+@GTK_SELECTION_EXTENDED:
+
+<!-- ##### ENUM GtkShadowType ##### -->
+<para>
+
+</para>
+
+@GTK_SHADOW_NONE:
+@GTK_SHADOW_IN:
+@GTK_SHADOW_OUT:
+@GTK_SHADOW_ETCHED_IN:
+@GTK_SHADOW_ETCHED_OUT:
+
+<!-- ##### ENUM GtkStateType ##### -->
+<para>
+
+</para>
+
+@GTK_STATE_NORMAL:
+@GTK_STATE_ACTIVE:
+@GTK_STATE_PRELIGHT:
+@GTK_STATE_SELECTED:
+@GTK_STATE_INSENSITIVE:
+
+<!-- ##### ENUM GtkSubmenuDirection ##### -->
+<para>
+
+</para>
+
+@GTK_DIRECTION_LEFT:
+@GTK_DIRECTION_RIGHT:
+
+<!-- ##### ENUM GtkSubmenuPlacement ##### -->
+<para>
+
+</para>
+
+@GTK_TOP_BOTTOM:
+@GTK_LEFT_RIGHT:
+
+<!-- ##### ENUM GtkToolbarStyle ##### -->
+<para>
+
+</para>
+
+@GTK_TOOLBAR_ICONS:
+@GTK_TOOLBAR_TEXT:
+@GTK_TOOLBAR_BOTH:
+
+<!-- ##### ENUM GtkTroughType ##### -->
+<para>
+
+</para>
+
+@GTK_TROUGH_NONE:
+@GTK_TROUGH_START:
+@GTK_TROUGH_END:
+@GTK_TROUGH_JUMP:
+
+<!-- ##### ENUM GtkUpdateType ##### -->
+<para>
+
+</para>
+
+@GTK_UPDATE_CONTINUOUS:
+@GTK_UPDATE_DISCONTINUOUS:
+@GTK_UPDATE_DELAYED:
+
+<!-- ##### ENUM GtkVisibility ##### -->
+<para>
+
+</para>
+
+@GTK_VISIBILITY_NONE:
+@GTK_VISIBILITY_PARTIAL:
+@GTK_VISIBILITY_FULL:
+
+<!-- ##### ENUM GtkWindowPosition ##### -->
+<para>
+
+</para>
+
+@GTK_WIN_POS_NONE:
+@GTK_WIN_POS_CENTER:
+@GTK_WIN_POS_MOUSE:
+
+<!-- ##### ENUM GtkWindowType ##### -->
+<para>
+
+</para>
+
+@GTK_WINDOW_TOPLEVEL:
+@GTK_WINDOW_DIALOG:
+@GTK_WINDOW_POPUP:
+
+<!-- ##### ENUM GtkSortType ##### -->
+<para>
+
+</para>
+
+@GTK_SORT_ASCENDING:
+@GTK_SORT_DESCENDING:
+
diff --git a/docs/reference/gtk/tmpl/gtkeventbox.sgml b/docs/reference/gtk/tmpl/gtkeventbox.sgml
new file mode 100644
index 000000000..463a9f996
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkeventbox.sgml
@@ -0,0 +1,34 @@
+<!-- ##### SECTION Title ##### -->
+GtkEventBox
+
+<!-- ##### SECTION Short_Description ##### -->
+a widget used to catch events for widgets which do not have their own window.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkEventBox widget is a subclass of #GtkBin which also has its own window.
+It is useful since it allows you to catch events for widgets which do not
+have their own window.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkEventBox ##### -->
+<para>
+The #GtkEventBox-struct struct contains private data only, and
+should be accessed using the functions below.
+</para>
+
+@bin:
+
+<!-- ##### FUNCTION gtk_event_box_new ##### -->
+<para>
+Creates a new #GtkEventBox.
+</para>
+
+@Returns: a new #GtkEventBox.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkfeatures.sgml b/docs/reference/gtk/tmpl/gtkfeatures.sgml
new file mode 100644
index 000000000..bf8520788
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkfeatures.sgml
@@ -0,0 +1,57 @@
+<!-- ##### SECTION Title ##### -->
+Feature Test Macros
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### VARIABLE gtk_major_version ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE gtk_minor_version ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE gtk_micro_version ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE gtk_binary_age ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### VARIABLE gtk_interface_age ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION gtk_check_version ##### -->
+<para>
+
+</para>
+
+@required_major:
+@required_minor:
+@required_micro:
+@Returns:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkfilesel.sgml b/docs/reference/gtk/tmpl/gtkfilesel.sgml
new file mode 100644
index 000000000..6a36d803b
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkfilesel.sgml
@@ -0,0 +1,188 @@
+<!-- ##### SECTION Title ##### -->
+GtkFileSelection
+
+<!-- ##### SECTION Short_Description ##### -->
+prompt the user for a file or directory name.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GtkFileSelection should be used to retrieve file or directory names from the user. It will create a new dialog window containing a directory list, and a file list corresponding to the current working directory. The filesystem can be navigated using the directory list or the drop-down history menu. Alternatively, the TAB key can be used to navigate using filename completion - common in text based editors such as emacs and jed.
+</para>
+<para>
+File selection dialogs are created with a call to gtk_file_selection_new().
+</para>
+<para>
+The default filename can be set using gtk_file_selection_set_filename() and the selected filename retrieved using gtk_file_selection_get_filename().
+</para>
+<para>
+Use gtk_file_selection_complete() to display files that match a given pattern. This can be used for example, to show only *.txt files, or only files beginning with gtk*.
+</para>
+<para>
+Simple file operations; create directory, delete file, and rename file, are available from buttons at the top of the dialog. These can be hidden using gtk_file_selection_hide_fileop_buttons() and shown again using gtk_file_selection_show_fileop_buttons().
+</para>
+<para>
+<example>
+<title>Getting a filename from the user</title>
+<programlisting>
+
+/* The file selection widget and the string to store the chosen filename */
+
+GtkWidget *file_selector;
+gchar *selected_filename;
+
+void store_filename(GtkFileSelection *selector, gpointer user_data) {
+ selected_filename = gtk_file_selection_get_filename (GTK_FILE_SELECTION(file_selector));
+}
+
+void create_file_selection(void) {
+
+ /* Create the selector */
+
+ file_selector = gtk_file_selection_new("Please select a file for editing.");
+
+ gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION(file_selector)->ok_button)),
+ "clicked", GTK_SIGNAL_FUNC (store_filename), NULL);
+
+ /* Ensure that the dialog box is destroyed when the user clicks a button. */
+
+ gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION(file_selector)->ok_button)),
+ "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy),
+ (gpointer) file_selector);
+
+ gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION(file_selector)->cancel_button)),
+ "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy),
+ (gpointer) file_selector);
+
+ /* Display that dialog */
+
+ gtk_widget_show (file_selector);
+}
+
+</programlisting>
+</example>
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+
+<para>
+<variablelist>
+<varlistentry>
+<term>#GtkDialog</term>
+<listitem><para>Add your own widgets into the #GtkFileSelection.</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkFileSelection ##### -->
+<para>
+The #GtkFileSelection struct contains the following #GtkWidget fields:
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>*fileop_dialog;</entry>
+<entry>the dialog box used to display the #GtkFileSelection. It can be customized by adding/removing widgets from it using the standard #GtkDialog functions.</entry>
+</row>
+
+<row>
+<entry>*dir_list, *file_list;</entry>
+<entry>the two #GtkCList widgets corresponding to directories and files.</entry>
+</row>
+
+<row>
+<entry>*ok_button, *cancel_button;</entry>
+<entry>the two main buttons that signals should be connected to in order to perform an action when the user hits either OK or Cancel.</entry>
+</row>
+
+<row>
+<entry>*history_pulldown;</entry>
+<entry>the #GtkOptionMenu used to create the drop-down directory history.</entry>
+</row>
+
+<row>
+<entry>*fileop_c_dir, *fileop_del_file, *fileop_ren_file;</entry>
+<entry>the buttons that appear at the top of the file selection dialog. These "operation buttons" can be hidden and redisplayed with gtk_file_selection_hide_fileop_buttons() and gtk_file_selection_show_fileop_buttons() respectively.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+
+</para>
+
+@window:
+@dir_list:
+@file_list:
+@selection_entry:
+@selection_text:
+@main_vbox:
+@ok_button:
+@cancel_button:
+@help_button:
+@history_pulldown:
+@history_menu:
+@history_list:
+@fileop_dialog:
+@fileop_entry:
+@fileop_file:
+@cmpl_state:
+@fileop_c_dir:
+@fileop_del_file:
+@fileop_ren_file:
+@button_area:
+@action_area:
+
+<!-- ##### FUNCTION gtk_file_selection_new ##### -->
+<para>
+Creates a new file selection dialog box. By default it will contain a #GtkCList of the application's current working directory, and a file listing. Operation buttons that allow the user to create a directory, delete files and rename files, are also present.
+</para>
+
+@title: a message that will be placed in the file requestor's titlebar.
+@Returns: the new file selection.
+
+
+<!-- ##### FUNCTION gtk_file_selection_set_filename ##### -->
+<para>
+Sets a default path for the file requestor. If @filename includes a directory path, then the requestor will open with that path as its current working directory.
+
+</para>
+
+@filesel: a #GtkFileSelection.
+@filename: a string to set as the default file name.
+
+
+<!-- ##### FUNCTION gtk_file_selection_get_filename ##### -->
+<para>
+Retrieves the currently selected filename from the file selection dialog. If no file is selected then the selected directory path is returned.
+</para>
+
+@filesel: a #GtkFileSelection
+@Returns: a string containing the selected file's full path.
+
+
+<!-- ##### FUNCTION gtk_file_selection_complete ##### -->
+<para>
+Will attempt to match @pattern to a valid filename in the current directory. If a match can be made, the matched filename will appear in the text entry field of the file selection dialog.
+If a partial match can be made, the "Files" list will contain those file names which have been partially matched.
+</para>
+
+@filesel: a #GtkFileSelection.
+@pattern: a string of characters which may or may not match any filenames in the current directory.
+
+
+<!-- ##### FUNCTION gtk_file_selection_show_fileop_buttons ##### -->
+<para>
+Shows the file operation buttons, if they have previously been hidden. The rest of the widgets in the dialog will be resized accordingly.
+</para>
+
+@filesel: a #GtkFileSelection.
+
+
+<!-- ##### FUNCTION gtk_file_selection_hide_fileop_buttons ##### -->
+<para>
+Hides the file operation buttons that normally appear at the top of the dialog. Useful if you wish to create a custom file selector, based on #GtkFileSelection.
+</para>
+
+@filesel: a #GtkFileSelection.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkfixed.sgml b/docs/reference/gtk/tmpl/gtkfixed.sgml
new file mode 100644
index 000000000..20f6c085a
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkfixed.sgml
@@ -0,0 +1,104 @@
+<!-- ##### SECTION Title ##### -->
+GtkFixed
+
+<!-- ##### SECTION Short_Description ##### -->
+a container which supports fixed sizes and positions of its children.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkFixed widget is a container which can place child widgets at fixed
+positions and with fixed sizes, given in pixels.
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkFixed ##### -->
+<para>
+The #GtkFixed-struct struct contains the following fields.
+(These fields should be considered read-only. They should never be set by
+an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#GList *children;</entry>
+<entry>a list of #GtkFixedChild elements, containing the child widgets and
+their positions.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@container:
+@children:
+
+<!-- ##### STRUCT GtkFixedChild ##### -->
+<para>
+The #GtkFixedChild-struct struct contains the following fields.
+(These fields should be considered read-only. They should never be set by
+an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#GtkWidget *widget;</entry>
+<entry>the child #GtkWidget.</entry>
+</row>
+
+<row>
+<entry>#gint16 x;</entry>
+<entry>the horizontal position of the widget within the #GtkFixed
+container.</entry>
+</row>
+
+<row>
+<entry>#gint16 y;</entry>
+<entry>the vertical position of the widget within the #GtkFixed
+container.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@widget:
+@x:
+@y:
+
+<!-- ##### FUNCTION gtk_fixed_new ##### -->
+<para>
+Creates a new #GtkFixed.
+</para>
+
+@Returns: a new #GtkFixed.
+
+
+<!-- ##### FUNCTION gtk_fixed_put ##### -->
+<para>
+Adds a widget to a #GtkFixed container at the given position.
+</para>
+
+@fixed: a #GtkFixed.
+@widget: the widget to add.
+@x: the horizontal position to place the widget at.
+@y: the vertical position to place the widget at.
+
+
+<!-- ##### FUNCTION gtk_fixed_move ##### -->
+<para>
+Moves a child of a #GtkFixed container to the given position.
+</para>
+
+@fixed: a #GtkFixed.
+@widget: the child widget.
+@x: the horizontal position to move the widget to.
+@y: the vertical position to move the widget to.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkfontsel.sgml b/docs/reference/gtk/tmpl/gtkfontsel.sgml
new file mode 100644
index 000000000..caf3f8847
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkfontsel.sgml
@@ -0,0 +1,165 @@
+<!-- ##### SECTION Title ##### -->
+GtkFontSelection
+
+<!-- ##### SECTION Short_Description ##### -->
+a widget for selecting fonts.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkFontSelection widget lists the available fonts, styles and sizes,
+allowing the user to select a font.
+It is used in the #GtkFontSelectionDialog widget to provide a dialog box for
+selecting fonts.
+</para>
+<para>
+To set the font which is initially selected, use
+gtk_font_selection_set_font_name().
+</para>
+<para>
+To get the selected font use gtk_font_selection_get_font()
+or gtk_font_selection_get_font_name().
+</para>
+<para>
+To change the text which is shown in the preview area, use
+gtk_font_selection_set_preview_text().
+</para>
+<para>
+Filters can be used to limit the fonts shown. There are 2 filters in the
+#GtkFontSelection - a base filter and a user filter. The base filter
+can not be changed by the user, so this can be used when the user must choose
+from the restricted set of fonts (e.g. for a terminal-type application you may
+want to force the user to select a fixed-width font). The user filter can be
+changed or reset by the user, by using the 'Reset Filter' button or changing
+the options on the 'Filter' page of the widget.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkFontSelectionDialog</term>
+<listitem><para>a dialog box which uses #GtkFontSelection.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkFontSelection ##### -->
+<para>
+The #GtkFontSelection struct contains private data only, and should
+only be accessed using the functions below.
+</para>
+
+@notebook:
+@main_vbox:
+@font_label:
+@font_entry:
+@font_clist:
+@font_style_entry:
+@font_style_clist:
+@size_entry:
+@size_clist:
+@pixels_button:
+@points_button:
+@filter_button:
+@preview_entry:
+@message_label:
+@info_vbox:
+@info_clist:
+@requested_font_name:
+@actual_font_name:
+@filter_vbox:
+@type_bitmaps_button:
+@type_scalable_button:
+@type_scaled_bitmaps_button:
+@filter_clists:
+@font:
+@font_index:
+@style:
+@metric:
+@size:
+@selected_size:
+@property_values:
+@filters:
+
+<!-- ##### FUNCTION gtk_font_selection_new ##### -->
+<para>
+Creates a new #GtkFontSelection.
+</para>
+
+@Returns: a new #GtkFontSelection.
+
+
+<!-- ##### FUNCTION gtk_font_selection_get_font ##### -->
+<para>
+Gets the currently-selected font.
+</para>
+
+@fontsel: a #GtkFontSelection.
+@Returns: the currently-selected font, or NULL if no font is selected.
+
+
+<!-- ##### FUNCTION gtk_font_selection_get_font_name ##### -->
+<para>
+Gets the currently-selected font name.
+</para>
+
+@fontsel: a #GtkFontSelection.
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_font_selection_set_font_name ##### -->
+<para>
+Sets the currently-selected font.
+</para>
+
+@fontsel: a #GtkFontSelection.
+@fontname: a fontname.
+@Returns: TRUE if the font was found.
+
+
+<!-- ##### FUNCTION gtk_font_selection_get_preview_text ##### -->
+<para>
+Gets the text displayed in the preview area.
+</para>
+
+@fontsel: a #GtkFontSelection.
+@Returns: the text displayed in the preview area.
+
+
+<!-- ##### FUNCTION gtk_font_selection_set_preview_text ##### -->
+<para>
+Sets the text displayed in the preview area.
+</para>
+
+@fontsel: a #GtkFontSelection.
+@text: the text to display in the preview area.
+
+
+<!-- ##### FUNCTION gtk_font_selection_set_filter ##### -->
+<para>
+Sets one of the two font filters, to limit the fonts shown.
+</para>
+
+@fontsel: a #GtkFontSelection.
+@filter_type: which of the two font filters to set, either
+#GTK_FONT_FILTER_BASE or #GTK_FONT_FILTER_USER. The user filter
+can be changed by the user, but the base filter is permanent.
+@font_type: the types of font to be shown. This is a bitwise combination of
+#GTK_FONT_BITMAP, #GTK_FONT_SCALABLE and #GTK_FONT_SCALABLE_BITMAP,
+or #GTK_FONT_ALL to show all three font types.
+@foundries: a NULL-terminated array of strings containing foundry names which
+will be shown, or NULL to show all foundries.
+@weights: a NULL-terminated array of strings containing weight names which
+will be shown, or NULL to show all weights.
+@slants: a NULL-terminated array of strings containing slant names which
+will be shown, or NULL to show all slants.
+@setwidths: a NULL-terminated array of strings containing setwidth names which
+will be shown, or NULL to show all setwidths.
+@spacings: a NULL-terminated array of strings containing spacings which
+will be shown, or NULL to show all spacings.
+@charsets: a NULL-terminated array of strings containing charset names which
+will be shown, or NULL to show all charsets.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkfontseldlg.sgml b/docs/reference/gtk/tmpl/gtkfontseldlg.sgml
new file mode 100644
index 000000000..8c32d89a2
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkfontseldlg.sgml
@@ -0,0 +1,229 @@
+<!-- ##### SECTION Title ##### -->
+GtkFontSelectionDialog
+
+<!-- ##### SECTION Short_Description ##### -->
+a dialog box for selecting fonts.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkFontSelectionDialog widget is a dialog box for selecting a font.
+</para>
+<para>
+To set the font which is initially selected, use
+gtk_font_selection_dialog_set_font_name().
+</para>
+<para>
+To get the selected font use gtk_font_selection_dialog_get_font()
+or gtk_font_selection_dialog_get_font_name().
+</para>
+<para>
+To change the text which is shown in the preview area, use
+gtk_font_selection_dialog_set_preview_text().
+</para>
+<para>
+Filters can be used to limit the fonts shown. There are 2 filters in the
+#GtkFontSelectionDialog - a base filter and a user filter. The base filter
+can not be changed by the user, so this can be used when the user must choose
+from the restricted set of fonts (e.g. for a terminal-type application you may
+want to force the user to select a fixed-width font). The user filter can be
+changed or reset by the user, by using the 'Reset Filter' button or changing
+the options on the 'Filter' page of the dialog.
+</para>
+
+<example>
+<title>Setting a filter to show only fixed-width fonts.</title>
+<programlisting>
+ gchar *spacings[] = { "c", "m", NULL };
+ gtk_font_selection_dialog_set_filter (GTK_FONT_SELECTION_DIALOG (fontsel),
+ GTK_FONT_FILTER_BASE, GTK_FONT_ALL,
+ NULL, NULL, NULL, NULL, spacings, NULL);
+</programlisting>
+</example>
+
+<para>
+To allow only true scalable fonts to be selected use:
+</para>
+
+<example>
+<title>Setting a filter to show only true scalable fonts.</title>
+<programlisting>
+ gtk_font_selection_dialog_set_filter (GTK_FONT_SELECTION_DIALOG (fontsel),
+ GTK_FONT_FILTER_BASE, GTK_FONT_SCALABLE,
+ NULL, NULL, NULL, NULL, NULL, NULL);
+</programlisting>
+</example>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkFontSelection</term>
+<listitem><para>the underlying widget for selecting fonts.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkFontSelectionDialog ##### -->
+<para>
+The #GtkFontSelectionDialog struct contains private data only, and should
+only be accessed using the functions below.
+</para>
+
+@window:
+@fontsel:
+@main_vbox:
+@action_area:
+@ok_button:
+@apply_button:
+@cancel_button:
+@dialog_width:
+@auto_resize:
+
+<!-- ##### FUNCTION gtk_font_selection_dialog_new ##### -->
+<para>
+Creates a new #GtkFontSelectionDialog.
+</para>
+
+@title: the title of the dialog box.
+@Returns: a new #GtkFontSelectionDialog.
+
+
+<!-- ##### FUNCTION gtk_font_selection_dialog_get_font ##### -->
+<para>
+Gets the currently-selected font.
+</para>
+
+@fsd: a #GtkFontSelectionDialog.
+@Returns: the currently-selected font, or NULL if no font is selected.
+
+
+<!-- ##### FUNCTION gtk_font_selection_dialog_get_font_name ##### -->
+<para>
+Gets the currently-selected font name.
+</para>
+
+@fsd: a #GtkFontSelectionDialog.
+@Returns: the currently-selected font name, or NULL if no font is selected.
+
+
+<!-- ##### FUNCTION gtk_font_selection_dialog_set_font_name ##### -->
+<para>
+Sets the currently-selected font.
+</para>
+
+@fsd: a #GtkFontSelectionDialog.
+@fontname: a fontname.
+@Returns: TRUE if the font was found.
+
+
+<!-- ##### FUNCTION gtk_font_selection_dialog_get_preview_text ##### -->
+<para>
+Gets the text displayed in the preview area.
+</para>
+
+@fsd: a #GtkFontSelectionDialog.
+@Returns: the text displayed in the preview area.
+
+
+<!-- ##### FUNCTION gtk_font_selection_dialog_set_preview_text ##### -->
+<para>
+Sets the text displayed in the preview area.
+</para>
+
+@fsd: a #GtkFontSelectionDialog.
+@text: the text to display in the preview area.
+
+
+<!-- ##### FUNCTION gtk_font_selection_dialog_set_filter ##### -->
+<para>
+Sets one of the two font filters, to limit the fonts shown.
+</para>
+
+@fsd: a #GtkFontSelectionDialog.
+@filter_type: which of the two font filters to set, either
+#GTK_FONT_FILTER_BASE or #GTK_FONT_FILTER_USER. The user filter
+can be changed by the user, but the base filter is permanent.
+@font_type: the types of font to be shown. This is a bitwise combination of
+#GTK_FONT_BITMAP, #GTK_FONT_SCALABLE and #GTK_FONT_SCALABLE_BITMAP,
+or #GTK_FONT_ALL to show all three font types.
+@foundries: a NULL-terminated array of strings containing foundry names which
+will be shown, or NULL to show all foundries.
+@weights: a NULL-terminated array of strings containing weight names which
+will be shown, or NULL to show all weights.
+@slants: a NULL-terminated array of strings containing slant names which
+will be shown, or NULL to show all slants.
+@setwidths: a NULL-terminated array of strings containing setwidth names which
+will be shown, or NULL to show all setwidths.
+@spacings: a NULL-terminated array of strings containing spacings which
+will be shown, or NULL to show all spacings.
+@charsets: a NULL-terminated array of strings containing charset names which
+will be shown, or NULL to show all charsets.
+
+
+<!-- ##### ENUM GtkFontType ##### -->
+<para>
+A set of bit flags used to specify the type of fonts shown
+when calling gtk_font_selection_dialog_set_filter() or
+gtk_font_selection_set_filter().
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GTK_FONT_BITMAP</entry>
+<entry>bitmap fonts.</entry>
+</row>
+
+<row>
+<entry>GTK_FONT_SCALABLE</entry>
+<entry>scalable fonts.</entry>
+</row>
+
+<row>
+<entry>GTK_FONT_SCALED_BITMAP</entry>
+<entry>scaled bitmap fonts.</entry>
+</row>
+
+<row>
+<entry>GTK_FONT_ALL</entry>
+<entry>a bitwise combination of all of the above.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@GTK_FONT_BITMAP:
+@GTK_FONT_SCALABLE:
+@GTK_FONT_SCALABLE_BITMAP:
+@GTK_FONT_ALL:
+
+<!-- ##### ENUM GtkFontFilterType ##### -->
+<para>
+A set of bit flags used to specify the filter being set
+when calling gtk_font_selection_dialog_set_filter() or
+gtk_font_selection_set_filter().
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GTK_FONT_FILTER_BASE</entry>
+<entry>the base filter, which can't be changed by the user.</entry>
+</row>
+
+<row>
+<entry>GTK_FONT_FILTER_USER</entry>
+<entry>the user filter, which can be changed from within the 'Filter' page
+of the #GtkFontSelection widget.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@GTK_FONT_FILTER_BASE:
+@GTK_FONT_FILTER_USER:
+
diff --git a/docs/reference/gtk/tmpl/gtkframe.sgml b/docs/reference/gtk/tmpl/gtkframe.sgml
new file mode 100644
index 000000000..492ceefc3
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkframe.sgml
@@ -0,0 +1,96 @@
+<!-- ##### SECTION Title ##### -->
+GtkFrame
+
+<!-- ##### SECTION Short_Description ##### -->
+A bin with a decorative frame and optional label.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The frame widget is a Bin that surrounds its child
+with a decorative frame and an optional label.
+If present, the label is drawn in a gap in the
+top side of the frame. The position of the
+label can be controlled with gtk_frame_set_label_align().
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkFrame ##### -->
+<para>
+
+</para>
+
+@bin:
+@label:
+@shadow_type:
+@label_width:
+@label_height:
+@label_xalign:
+@label_yalign:
+
+<!-- ##### FUNCTION gtk_frame_new ##### -->
+<para>
+Create a new Frame, with optional label @label.
+If @label is %NULL, the label is omitted.
+</para>
+
+@label:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_frame_set_label ##### -->
+<para>
+
+Set the text of the label. If @label is %NULL,
+the current label, if any, is removed.
+</para>
+
+@frame:
+@label:
+
+
+<!-- ##### FUNCTION gtk_frame_set_label_align ##### -->
+<para>
+Set the alignment of the Frame widget's label. The
+default value for a newly created Frame is 0.0.
+</para>
+
+@frame: The Frame widget.
+@xalign: The position of the label along the top edge
+ of the widget. A value of 0.0 represents left alignment;
+ 1.0 represents right alignment.
+@yalign: The y alignment of the label. Currently ignored.
+
+
+<!-- ##### FUNCTION gtk_frame_set_shadow_type ##### -->
+<para>
+Set the shadow type for the Frame widget.
+</para>
+
+@frame: The Frame widget.
+@type: New shadow type.
+
+
+<!-- ##### ARG GtkFrame:label ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkFrame:label_xalign ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkFrame:label_yalign ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkFrame:shadow ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkgamma.sgml b/docs/reference/gtk/tmpl/gtkgamma.sgml
new file mode 100644
index 000000000..114c74548
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkgamma.sgml
@@ -0,0 +1,37 @@
+<!-- ##### SECTION Title ##### -->
+GtkGammaCurve
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkGammaCurve ##### -->
+<para>
+
+</para>
+
+@vbox:
+@table:
+@curve:
+@button:
+@gamma:
+@gamma_dialog:
+@gamma_text:
+
+<!-- ##### FUNCTION gtk_gamma_curve_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkgc.sgml b/docs/reference/gtk/tmpl/gtkgc.sgml
new file mode 100644
index 000000000..e1cd99b42
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkgc.sgml
@@ -0,0 +1,36 @@
+<!-- ##### SECTION Title ##### -->
+Graphics Contexts
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gtk_gc_get ##### -->
+<para>
+
+</para>
+
+@depth:
+@colormap:
+@values:
+@values_mask:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_gc_release ##### -->
+<para>
+
+</para>
+
+@gc:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkhandlebox.sgml b/docs/reference/gtk/tmpl/gtkhandlebox.sgml
new file mode 100644
index 000000000..fdc52202f
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkhandlebox.sgml
@@ -0,0 +1,170 @@
+<!-- ##### SECTION Title ##### -->
+GtkHandleBox
+
+<!-- ##### SECTION Short_Description ##### -->
+a widget for detachable window portions.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkHandleBox widget allows a portion of a window to be "torn
+off". It is a bin widget which displays its child and a handle that
+the user can drag to tear off a separate window (the <firstterm>float
+window</firstterm>) containing the child widget. A thin
+<firstterm>ghost</firstterm> is drawn in the original location of the
+handlebox. By dragging the separate window back to its original
+location, it can be reattached.
+</para>
+<para>
+When reattaching, the ghost and float window, must be aligned
+along one of the edges, the <firstterm>snap edge</firstterm>.
+This either can be specified by the application programmer
+explicitely, or GTK+ will pick a reasonable default based
+on the handle position.
+</para>
+<para>
+To make detaching and reattaching the handlebox as minimally confusing
+as possible to the user, it is important to set the snap edge so that
+the snap edge does not move when the handlebox is deattached. For
+instance, if the handlebox is packed at the bottom of a VBox, then
+when the handlebox is detached, the bottom edge of the handlebox's
+allocation will remain fixed as the height of the handlebox shrinks,
+so the snap edge should be set to %GTK_POS_BOTTOM.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkHandleBox ##### -->
+<para>
+The #GtkHandleBox-struct struct contains the following fields.
+(These fields should be considered read-only. They should never be set by
+an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GtkShadowType shadow_type;</entry>
+<entry>The shadow type for the entry. (See gtk_handle_box_set_shadow_type()).</entry>
+</row>
+
+<row>
+<entry>GtkPositionType handle_position;</entry>
+<entry>The position of the handlebox's handle with respect
+to the child. (See gtk_handle_box_set_handle_position())</entry>
+</row>
+
+<row>
+<entry>gint snap_edge;</entry>
+<entry>A value of type #GtkPosition type indicating snap edge for the widget.
+(See gtk_handle_box_set_snap_edge). The value of -1 indicates
+that this value has not been set.
+
+<row>
+<entry>#gboolean child_detached;</entry>
+<entry>A boolean value indicating whether the handlebox's
+child is attached or detached.</entry>
+</row>
+
+</tbody>
+</tgroup>
+</informaltable>
+
+</para>
+
+@bin:
+@bin_window:
+@float_window:
+@shadow_type:
+@handle_position:
+@float_window_mapped:
+@child_detached:
+@in_drag:
+@shrink_on_detach:
+@snap_edge:
+@deskoff_x:
+@deskoff_y:
+@attach_allocation:
+@float_allocation:
+
+<!-- ##### FUNCTION gtk_handle_box_new ##### -->
+<para>
+Create a new handle box.
+</para>
+
+@Returns: a new #GtkHandleBox.
+
+
+<!-- ##### FUNCTION gtk_handle_box_set_shadow_type ##### -->
+<para>
+Sets the type of shadow to be drawn around the border
+of the
+</para>
+
+@handle_box: a #GtkHandleBox
+@type: the shadow type.
+
+
+<!-- ##### FUNCTION gtk_handle_box_set_handle_position ##### -->
+<para>
+Sets the side of the handlebox where the handle is drawn.
+</para>
+
+@handle_box: a #GtkHandleBox
+@position: the side of the handlebox where the handle should be drawn.
+
+
+<!-- ##### FUNCTION gtk_handle_box_set_snap_edge ##### -->
+<para>
+Sets the snap edge of a handlebox. The snap edge is
+the edge of the detached child that must be aligned
+with the corresponding edge of the "ghost" left
+behind when the child was detached to reattach
+the torn-off window. Usually, the snap edge should
+be chosen so that it stays in the same place on
+the screen when the handlebox is torn off.
+</para>
+<para>
+If the snap edge is not set, then an appropriate value
+will be guessed from the handle position. If the
+handle position is %GTK_POS_RIGHT or %GTK_POS_LEFT,
+then the snap edge will be %GTK_POS_TOP, otherwise
+it will be %GTK_POS_LEFT.
+</para>
+
+@handle_box: a #GtkHandleBox
+@edge: the snap edge, or -1 to unset the value; in which
+case GTK+ will try to guess an appropriate value
+in the future.
+
+
+<!-- ##### SIGNAL GtkHandleBox::child-attached ##### -->
+<para>
+This signal is emitted when the contents of the
+handlebox are reattached to the main window.
+</para>
+
+@handlebox: the object which received the signal.
+@widget: the child widget of the handlebox.
+ (this argument provides no extra information
+ and is here only for backwards-compatibility)
+
+<!-- ##### SIGNAL GtkHandleBox::child-detached ##### -->
+<para>
+This signal is emitted when the contents of the
+handlebox are detached from the main window.
+</para>
+
+@handlebox: the object which received the signal.
+@widget: the child widget of the handlebox.
+ (this argument provides no extra information
+ and is here only for backwards-compatibility)
+
+<!-- ##### ARG GtkHandleBox:shadow ##### -->
+<para>
+Determines the shadow type for the handlebox.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkhbbox.sgml b/docs/reference/gtk/tmpl/gtkhbbox.sgml
new file mode 100644
index 000000000..0a67e4445
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkhbbox.sgml
@@ -0,0 +1,99 @@
+<!-- ##### SECTION Title ##### -->
+GtkHButtonBox
+
+<!-- ##### SECTION Short_Description ##### -->
+a container for arranging button horizontally.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+A button box should be used to provide a consistent layout of buttons
+throughout your application. There is one default layout and a default
+spacing value that are persistant across all #HButtonBox widgets.
+</para>
+<para>
+The layout/spacing can then be altered by the programmer, or if desired, by
+the user to alter the 'feel' of a program to a small degree.
+</para>
+<para>
+A #HButtonBox is created with gtk_hbutton_box_new(). Buttons are packed into
+a button box the same way as any other box, using gtk_box_pack_start() or
+gtk_box_pack_end().
+</para>
+<para>
+The default spacing between buttons can be set with
+gtk_hbutton_box_set_spacing_default() and queried with
+gtk_hbutton_box_get_spacing_default().
+</para>
+<para>
+The arrangement and layout of the buttons can be changed using
+gtk_hbutton_box_set_layout_default() and queried with
+gtk_hbutton_box_get_layout_default().
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+<varlistentry>
+<term>#GtkBox</term>
+<listitem><para>Used to pack widgets into button boxes.</para></listitem>
+</varlistentry><varlistentry>
+<term>#GtkButtonBox</term>
+<listitem><para>Provides functions for controlling button boxes.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>#GtkVButtonBox</term>
+<listitem><para>Pack buttons vertically</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkHButtonBox ##### -->
+<para>
+<structfield>button_box</structfield> is the #GtkHButtonBox widget itself and
+should not be modified directly.
+</para>
+
+@button_box:
+
+<!-- ##### FUNCTION gtk_hbutton_box_new ##### -->
+<para>
+Creates a new horizontal button box.
+</para>
+
+@Returns: a new button box #GtkWidget.
+
+
+<!-- ##### FUNCTION gtk_hbutton_box_get_spacing_default ##### -->
+<para>
+Retrieves the current default spacing for horizontal button boxes. This is the number of pixels
+to be placed between the buttons when they are arranged.
+</para>
+
+@Returns: the default number of pixels between buttons.
+
+
+<!-- ##### FUNCTION gtk_hbutton_box_get_layout_default ##### -->
+<para>
+Retrieves the current layout used to arrange buttons in button box widgets.
+</para>
+
+@Returns: the current #GtkButtonBoxStyle.
+
+
+<!-- ##### FUNCTION gtk_hbutton_box_set_spacing_default ##### -->
+<para>
+Changes the default spacing that is placed between widgets in an
+horizontal button box.
+</para>
+
+@spacing: an integer value.
+
+
+<!-- ##### FUNCTION gtk_hbutton_box_set_layout_default ##### -->
+<para>
+Sets a new layout mode that will be used by all button boxes.
+</para>
+
+@layout: a new #GtkButtonBoxStyle.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkhbox.sgml b/docs/reference/gtk/tmpl/gtkhbox.sgml
new file mode 100644
index 000000000..0fd5acff2
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkhbox.sgml
@@ -0,0 +1,47 @@
+<!-- ##### SECTION Title ##### -->
+GtkHBox
+
+<!-- ##### SECTION Short_Description ##### -->
+horizontal container box
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GtkHBox is a container that organizes child widgets into a single row.
+</para>
+
+<para>
+Use the #GtkBox packing interface to determine the arrangement,
+spacing, width, and alignment of GtkHBox children.
+</para>
+
+<para>
+All children are allocated the same height.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkVBox</term>
+<listitem><para>a sister class that organizes widgets into a column.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkHBox ##### -->
+
+
+@box:
+
+<!-- ##### FUNCTION gtk_hbox_new ##### -->
+<para>
+Creates a new GtkHBox.
+</para>
+
+@homogeneous: %TRUE if all children are to be given equal space allotments.
+@spacing: the number of pixels to place by default between children.
+@Returns: a new GtkHBox.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkhpaned.sgml b/docs/reference/gtk/tmpl/gtkhpaned.sgml
new file mode 100644
index 000000000..369a0beaf
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkhpaned.sgml
@@ -0,0 +1,33 @@
+<!-- ##### SECTION Title ##### -->
+GtkHPaned
+
+<!-- ##### SECTION Short_Description ##### -->
+A container with two panes arranged horizontally.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The HPaned widget is a container widget with two
+children arranged horizontally. The division between
+the two panes is adjustable by the user by dragging
+a handle. See #GtkPaned for details.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkHPaned ##### -->
+<para>
+</para>
+
+@paned:
+
+<!-- ##### FUNCTION gtk_hpaned_new ##### -->
+<para>
+Create a new #GtkHPaned
+</para>
+
+@Returns: the new #GtkHPaned
+
+
diff --git a/docs/reference/gtk/tmpl/gtkhruler.sgml b/docs/reference/gtk/tmpl/gtkhruler.sgml
new file mode 100644
index 000000000..21658d405
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkhruler.sgml
@@ -0,0 +1,38 @@
+<!-- ##### SECTION Title ##### -->
+GtkHRuler
+
+<!-- ##### SECTION Short_Description ##### -->
+A horizontal ruler.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The HRuler widget is a widget arranged horizontally creating a ruler that is
+utilized around other widgets such as a text widget. The ruler is used to show
+the location of the mouse on the window and to show the size of the window in
+specified units. The available units of measurement are GTK_PIXELS, GTK_INCHES
+and GTK_CENTIMETERS. GTK_PIXELS is the default.
+rulers.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GtkHRuler ##### -->
+<para>
+The #GtkHRuler struct contains private data and should be accessed
+with the functions below.
+</para>
+
+@ruler:
+
+<!-- ##### FUNCTION gtk_hruler_new ##### -->
+<para>
+Creates a new horizontal ruler.
+</para>
+
+@Returns: the new GTKHRuler.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkhscale.sgml b/docs/reference/gtk/tmpl/gtkhscale.sgml
new file mode 100644
index 000000000..9c9803d84
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkhscale.sgml
@@ -0,0 +1,45 @@
+<!-- ##### SECTION Title ##### -->
+GtkHScale
+
+<!-- ##### SECTION Short_Description ##### -->
+a horizontal slider widget for selecting a value from a range.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkHScale widget is used to allow the user to select a value using
+a horizontal slider.
+A #GtkAdjustment is used to set the initial value, the lower
+and upper bounds, and the step and page increments.
+</para>
+<para>
+The position to show the current value, and the number of decimal places
+shown can be set using the parent #GtkScale class's functions.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkHScale ##### -->
+<para>
+The #GtkHScale-struct struct contains private data only, and
+should be accessed using the functions below.
+</para>
+
+@scale:
+
+<!-- ##### FUNCTION gtk_hscale_new ##### -->
+<para>
+Creates a new #GtkHScale.
+</para>
+
+@adjustment: the #GtkAdjustment which sets the range of the scale.
+@Returns: a new #GtkHScale.
+
+
+<!-- ##### ARG GtkHScale:adjustment ##### -->
+<para>
+the #GtkAdjustment which sets the range of the scale.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkhscrollbar.sgml b/docs/reference/gtk/tmpl/gtkhscrollbar.sgml
new file mode 100644
index 000000000..fa0a60b6a
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkhscrollbar.sgml
@@ -0,0 +1,42 @@
+<!-- ##### SECTION Title ##### -->
+GtkHScrollbar
+
+<!-- ##### SECTION Short_Description ##### -->
+A horizontal scrollbar
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The HScrollbar widget is a widget arranged horizontally creating a scroll
+bar. See #GtkScrollbar for details on scrollbars. #GtkAdjustment pointers may be
+added to handle the adjustment of the scrollbars or it may be left NULL in which
+case one will be created you. See #GtkAdjustment for details.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GtkHScrollbar ##### -->
+<para>
+The #GtkHScrollbar struct contains private data and should be accessed
+unsing the functions below.
+</para>
+
+@scrollbar:
+
+<!-- ##### FUNCTION gtk_hscrollbar_new ##### -->
+<para>
+Creates a new horizontal scrollbar.
+</para>
+
+@adjustment:
+@Returns: the new GTKHScrollbar
+
+
+<!-- ##### ARG GtkHScrollbar:adjustment ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkhseparator.sgml b/docs/reference/gtk/tmpl/gtkhseparator.sgml
new file mode 100644
index 000000000..4c3dc810d
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkhseparator.sgml
@@ -0,0 +1,31 @@
+<!-- ##### SECTION Title ##### -->
+GtkHSeparator
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkHSeparator ##### -->
+<para>
+
+</para>
+
+@separator:
+
+<!-- ##### FUNCTION gtk_hseparator_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkimage.sgml b/docs/reference/gtk/tmpl/gtkimage.sgml
new file mode 100644
index 000000000..476f4ae10
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkimage.sgml
@@ -0,0 +1,55 @@
+<!-- ##### SECTION Title ##### -->
+GtkImage
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkImage ##### -->
+<para>
+
+</para>
+
+@misc:
+@image:
+@mask:
+
+<!-- ##### FUNCTION gtk_image_new ##### -->
+<para>
+
+</para>
+
+@val:
+@mask:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_image_set ##### -->
+<para>
+
+</para>
+
+@image:
+@val:
+@mask:
+
+
+<!-- ##### FUNCTION gtk_image_get ##### -->
+<para>
+
+</para>
+
+@image:
+@val:
+@mask:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkinputdialog.sgml b/docs/reference/gtk/tmpl/gtkinputdialog.sgml
new file mode 100644
index 000000000..065889214
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkinputdialog.sgml
@@ -0,0 +1,73 @@
+<!-- ##### SECTION Title ##### -->
+GtkInputDialog
+
+<!-- ##### SECTION Short_Description ##### -->
+Configure devices for the XInput extension.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+#GtkInputDialog displays a dialog which allows the user
+to configure XInput extension devices. For each
+device, they can control the mode of the device
+(disabled, screen-relative, or window-relative),
+the mapping of axes to coordinates, and the
+mapping of the devices macro keys to key press
+events.
+</para>
+<para>
+#GtkInputDialog contains two buttons to which
+the application can connect; one for closing
+the dialog, and one for saving the changes.
+No actions are bound to these by default.
+The changes that the user makes take effect
+immediately.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkInputDialog ##### -->
+<para>
+</para>
+
+@dialog:
+@axis_list:
+@axis_listbox:
+@mode_optionmenu:
+@close_button:
+@save_button:
+@axis_items:
+@current_device:
+@keys_list:
+@keys_listbox:
+
+<!-- ##### FUNCTION gtk_input_dialog_new ##### -->
+<para>
+Creates a new #GtkInputDialog.
+</para>
+
+@Returns: the new #GtkInputDialog.
+
+
+<!-- ##### SIGNAL GtkInputDialog::enable-device ##### -->
+<para>
+This signal is emitted when the user changes the
+mode of a device from #GDK_MODE_DISABLED to a
+#GDK_MODE_SCREEN or #GDK_MODE_WINDOW.
+</para>
+
+@inputdialog: the object which received the signal.
+@deviceid: The ID of the newly enabled device.
+
+<!-- ##### SIGNAL GtkInputDialog::disable-device ##### -->
+<para>
+This signal is emitted when the user changes the
+mode of a device from a #GDK_MODE_SCREEN or #GDK_MODE_WINDOW
+to #GDK_MODE_ENABLED.
+</para>
+
+@inputdialog: the object which received the signal.
+@deviceid: The ID of the newly disabled device.
+
diff --git a/docs/reference/gtk/tmpl/gtkinvisible.sgml b/docs/reference/gtk/tmpl/gtkinvisible.sgml
new file mode 100644
index 000000000..692e4138c
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkinvisible.sgml
@@ -0,0 +1,31 @@
+<!-- ##### SECTION Title ##### -->
+GtkInvisible
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkInvisible ##### -->
+<para>
+
+</para>
+
+@bin:
+
+<!-- ##### FUNCTION gtk_invisible_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkitem.sgml b/docs/reference/gtk/tmpl/gtkitem.sgml
new file mode 100644
index 000000000..42461654d
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkitem.sgml
@@ -0,0 +1,68 @@
+<!-- ##### SECTION Title ##### -->
+GtkItem
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkItem ##### -->
+<para>
+
+</para>
+
+@bin:
+
+<!-- ##### FUNCTION gtk_item_select ##### -->
+<para>
+
+</para>
+
+@item:
+
+
+<!-- ##### FUNCTION gtk_item_deselect ##### -->
+<para>
+
+</para>
+
+@item:
+
+
+<!-- ##### FUNCTION gtk_item_toggle ##### -->
+<para>
+
+</para>
+
+@item:
+
+
+<!-- ##### SIGNAL GtkItem::select ##### -->
+<para>
+
+</para>
+
+@item: the object which received the signal.
+
+<!-- ##### SIGNAL GtkItem::deselect ##### -->
+<para>
+
+</para>
+
+@item: the object which received the signal.
+
+<!-- ##### SIGNAL GtkItem::toggle ##### -->
+<para>
+
+</para>
+
+@item: the object which received the signal.
+
diff --git a/docs/reference/gtk/tmpl/gtkitemfactory.sgml b/docs/reference/gtk/tmpl/gtkitemfactory.sgml
new file mode 100644
index 000000000..9eb4b7a36
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkitemfactory.sgml
@@ -0,0 +1,358 @@
+<!-- ##### SECTION Title ##### -->
+GtkItemFactory
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkItemFactory ##### -->
+<para>
+
+</para>
+
+@object:
+@path:
+@accel_group:
+@widget:
+@items:
+@translate_func:
+@translate_data:
+@translate_notify:
+
+<!-- ##### USER_FUNCTION GtkPrintFunc ##### -->
+<para>
+
+</para>
+
+@func_data:
+@str:
+
+
+<!-- ##### USER_FUNCTION GtkTranslateFunc ##### -->
+<para>
+
+</para>
+
+@path:
+@func_data:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION GtkItemFactoryCallback ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### USER_FUNCTION GtkItemFactoryCallback1 ##### -->
+<para>
+
+</para>
+
+@callback_data:
+@callback_action:
+@widget:
+
+
+<!-- ##### USER_FUNCTION GtkItemFactoryCallback2 ##### -->
+<para>
+
+</para>
+
+@widget:
+@callback_data:
+@callback_action:
+
+
+<!-- ##### STRUCT GtkItemFactoryEntry ##### -->
+<para>
+
+</para>
+
+@path:
+@accelerator:
+@callback:
+@callback_action:
+@item_type:
+
+<!-- ##### STRUCT GtkItemFactoryItem ##### -->
+<para>
+
+</para>
+
+@path:
+@accelerator_key:
+@accelerator_mods:
+@modified:
+@in_propagation:
+@dummy:
+@widgets:
+
+<!-- ##### FUNCTION gtk_item_factory_new ##### -->
+<para>
+
+</para>
+
+@container_type:
+@path:
+@accel_group:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_item_factory_construct ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@container_type:
+@path:
+@accel_group:
+
+
+<!-- ##### FUNCTION gtk_item_factory_parse_rc ##### -->
+<para>
+
+</para>
+
+@file_name:
+
+
+<!-- ##### FUNCTION gtk_item_factory_parse_rc_string ##### -->
+<para>
+
+</para>
+
+@rc_string:
+
+
+<!-- ##### FUNCTION gtk_item_factory_parse_rc_scanner ##### -->
+<para>
+
+</para>
+
+@scanner:
+
+
+<!-- ##### FUNCTION gtk_item_factory_from_widget ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_item_factory_path_from_widget ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_item_factory_get_widget ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@path:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_item_factory_get_widget_by_action ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@action:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_item_factory_dump_items ##### -->
+<para>
+
+</para>
+
+@path_pspec:
+@modified_only:
+@print_func:
+@func_data:
+
+
+<!-- ##### FUNCTION gtk_item_factory_dump_rc ##### -->
+<para>
+
+</para>
+
+@file_name:
+@path_pspec:
+@modified_only:
+
+
+<!-- ##### FUNCTION gtk_item_factory_print_func ##### -->
+<para>
+
+</para>
+
+@FILE_pointer:
+@string:
+
+
+<!-- ##### FUNCTION gtk_item_factory_create_item ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@entry:
+@callback_data:
+@callback_type:
+
+
+<!-- ##### FUNCTION gtk_item_factory_create_items ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@n_entries:
+@entries:
+@callback_data:
+
+
+<!-- ##### FUNCTION gtk_item_factory_create_items_ac ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@n_entries:
+@entries:
+@callback_data:
+@callback_type:
+
+
+<!-- ##### FUNCTION gtk_item_factory_delete_item ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@path:
+
+
+<!-- ##### FUNCTION gtk_item_factory_delete_entry ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@entry:
+
+
+<!-- ##### FUNCTION gtk_item_factory_delete_entries ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@n_entries:
+@entries:
+
+
+<!-- ##### FUNCTION gtk_item_factory_popup ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@x:
+@y:
+@mouse_button:
+@time:
+
+
+<!-- ##### FUNCTION gtk_item_factory_popup_with_data ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@popup_data:
+@destroy:
+@x:
+@y:
+@mouse_button:
+@time:
+
+
+<!-- ##### FUNCTION gtk_item_factory_popup_data ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_item_factory_popup_data_from_widget ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_item_factory_from_path ##### -->
+<para>
+
+</para>
+
+@path:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_item_factory_create_menu_entries ##### -->
+<para>
+
+</para>
+
+@n_entries:
+@entries:
+
+
+<!-- ##### FUNCTION gtk_item_factories_path_delete ##### -->
+<para>
+
+</para>
+
+@ifactory_path:
+@path:
+
+
+<!-- ##### FUNCTION gtk_item_factory_set_translate_func ##### -->
+<para>
+
+</para>
+
+@ifactory:
+@func:
+@data:
+@notify:
+
+
diff --git a/docs/reference/gtk/tmpl/gtklabel.sgml b/docs/reference/gtk/tmpl/gtklabel.sgml
new file mode 100644
index 000000000..6d5c30835
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtklabel.sgml
@@ -0,0 +1,146 @@
+<!-- ##### SECTION Title ##### -->
+GtkLabel
+
+<!-- ##### SECTION Short_Description ##### -->
+A widget that displays a small to medium amount of text.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkLabel widget is usually used directly by the programmer to display
+word(s) describing an adjacent widget or its use. It is also used internally
+by Gtk+ as #GtkButton labels, #GtkMenu items, and many other widgets which
+use text.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkLabel ##### -->
+<para>
+This should not be accessed directly. Use the accessor functions as
+described below.
+</para>
+
+@misc:
+@label:
+@label_wc:
+@pattern:
+@words:
+@max_width:
+@jtype:
+@wrap:
+
+<!-- ##### STRUCT GtkLabelWord ##### -->
+<para>
+Internal to #GtkLabel.
+</para>
+
+
+<!-- ##### FUNCTION gtk_label_new ##### -->
+<para>
+Creates a new label with the given string of text inside it. You can
+pass NULL to get an empty label widget.
+</para>
+
+@str: The string you want to display in the #GtkLabel
+@Returns: The newly allocated #GtkLabel widget
+
+
+<!-- ##### MACRO gtk_label_set ##### -->
+<para>
+Aliases gtk_label_set_text. Probably used for backward compatibility with
+Gtk+ 1.0.x.
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_label_set_pattern ##### -->
+<para>
+The pattern of underlines you want under the existing text within the
+#GtkLabel widget. For example if the current text of the label says
+&quot;FooBarBaz&quot; passing a pattern of &quot;___ ___&quot; will underline
+&quot;Foo&quot; and &quot;Baz&quot; but not &quot;Bar&quot;.
+</para>
+
+@label: The #GtkLabel you want to set the pattern to.
+@pattern: The pattern as described above.
+
+
+<!-- ##### FUNCTION gtk_label_set_justify ##### -->
+<para>
+Set where the text within the #GtkLabel will align to. This can be one of
+four values: GTK_JUSTIFY_LEFT, GTK_JUSTIFY_RIGHT, GTK_JUSTIFY_CENTER,
+and GTK_JUSTIFY_FILL. GTK_JUSTIFY_CENTER is the default value when the
+widget is first created with gtk_label_new().
+</para>
+
+@label: The #GtkLabel widget you want to set justification for.
+@jtype: The #GtkJustification type as described above.
+
+
+<!-- ##### FUNCTION gtk_label_get ##### -->
+<para>
+Gets the current string of text within the #GtkLabel and writes it to
+the given str argument. It does not make a copy of this string so you
+must not write to it.
+</para>
+
+@label: The #GtkLabel widget you want to get the text from.
+@str: The reference to the pointer you want to point to the text.
+
+
+<!-- ##### FUNCTION gtk_label_parse_uline ##### -->
+<para>
+Parses the given string for underscores and converts the next
+character to an underlined character. The last character that
+was underlined will have its lower-cased accelerator keyval returned (i.e.
+&quot;_File&quot; would return the keyval for &quot;f&quot;. This is
+probably only used within the Gtk+ library itself for menu items and such.
+</para>
+
+@label: The #GtkLabel you want to affect.
+@string: The string you want to parse for underlines.
+@Returns: The lowercase keyval of the last character underlined.
+
+
+<!-- ##### FUNCTION gtk_label_set_line_wrap ##### -->
+<para>
+Toggles line wrapping within the #GtkLabel widget. TRUE makes it break
+lines if text exceeds the widget's size. FALSE lets the text get cut off
+by the edge of the widget if it exceeds the widget size.
+</para>
+
+@label: The #GtkLabel you want to set line wrapping for.
+@wrap: TRUE turns it on; FALSE turns it off.
+
+
+<!-- ##### FUNCTION gtk_label_set_text ##### -->
+<para>
+Sets the text within the #GtkLabel widget. It overwrites any text that
+was there before. Note that underlines that were there before do not
+get overwritten. If you want to erase underlines just send NULL to
+gtk_label_set_pattern().
+</para>
+
+@label: The #GtkLabel you want to set the text for.
+@str: The text you want to add.
+
+
+<!-- ##### ARG GtkLabel:label ##### -->
+<para>
+The actual label text. Do not write to this pointer, it is not copied.
+</para>
+
+<!-- ##### ARG GtkLabel:pattern ##### -->
+<para>
+The pattern of underlines under the existing text. Do not change the
+pointer, it isn't copied.
+</para>
+
+<!-- ##### ARG GtkLabel:justify ##### -->
+<para>
+The #GtkJustification setting. See gtk_label_set_justify() for more info.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtklayout.sgml b/docs/reference/gtk/tmpl/gtklayout.sgml
new file mode 100644
index 000000000..dc058a3e6
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtklayout.sgml
@@ -0,0 +1,130 @@
+<!-- ##### SECTION Title ##### -->
+GtkLayout
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkLayout ##### -->
+<para>
+
+</para>
+
+@container:
+@children:
+@width:
+@height:
+@xoffset:
+@yoffset:
+@hadjustment:
+@vadjustment:
+@bin_window:
+@visibility:
+@configure_serial:
+@scroll_x:
+@scroll_y:
+@freeze_count:
+
+<!-- ##### FUNCTION gtk_layout_new ##### -->
+<para>
+
+</para>
+
+@hadjustment:
+@vadjustment:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_layout_put ##### -->
+<para>
+
+</para>
+
+@layout:
+@widget:
+@x:
+@y:
+
+
+<!-- ##### FUNCTION gtk_layout_move ##### -->
+<para>
+
+</para>
+
+@layout:
+@widget:
+@x:
+@y:
+
+
+<!-- ##### FUNCTION gtk_layout_set_size ##### -->
+<para>
+
+</para>
+
+@layout:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_layout_freeze ##### -->
+<para>
+
+</para>
+
+@layout:
+
+
+<!-- ##### FUNCTION gtk_layout_thaw ##### -->
+<para>
+
+</para>
+
+@layout:
+
+
+<!-- ##### FUNCTION gtk_layout_get_hadjustment ##### -->
+<para>
+
+</para>
+
+@layout:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_layout_get_vadjustment ##### -->
+<para>
+
+</para>
+
+@layout:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_layout_set_hadjustment ##### -->
+<para>
+
+</para>
+
+@layout:
+@adjustment:
+
+
+<!-- ##### FUNCTION gtk_layout_set_vadjustment ##### -->
+<para>
+
+</para>
+
+@layout:
+@adjustment:
+
+
diff --git a/docs/reference/gtk/tmpl/gtklist.sgml b/docs/reference/gtk/tmpl/gtklist.sgml
new file mode 100644
index 000000000..a640713ca
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtklist.sgml
@@ -0,0 +1,283 @@
+<!-- ##### SECTION Title ##### -->
+GtkList
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkList ##### -->
+<para>
+
+</para>
+
+@container:
+@children:
+@selection:
+@undo_selection:
+@undo_unselection:
+@last_focus_child:
+@undo_focus_child:
+@htimer:
+@vtimer:
+@anchor:
+@drag_pos:
+@anchor_state:
+@selection_mode:
+@drag_selection:
+@add_mode:
+
+<!-- ##### FUNCTION gtk_list_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_list_insert_items ##### -->
+<para>
+
+</para>
+
+@list:
+@items:
+@position:
+
+
+<!-- ##### FUNCTION gtk_list_append_items ##### -->
+<para>
+
+</para>
+
+@list:
+@items:
+
+
+<!-- ##### FUNCTION gtk_list_prepend_items ##### -->
+<para>
+
+</para>
+
+@list:
+@items:
+
+
+<!-- ##### FUNCTION gtk_list_remove_items ##### -->
+<para>
+
+</para>
+
+@list:
+@items:
+
+
+<!-- ##### FUNCTION gtk_list_remove_items_no_unref ##### -->
+<para>
+
+</para>
+
+@list:
+@items:
+
+
+<!-- ##### FUNCTION gtk_list_clear_items ##### -->
+<para>
+
+</para>
+
+@list:
+@start:
+@end:
+
+
+<!-- ##### FUNCTION gtk_list_select_item ##### -->
+<para>
+
+</para>
+
+@list:
+@item:
+
+
+<!-- ##### FUNCTION gtk_list_unselect_item ##### -->
+<para>
+
+</para>
+
+@list:
+@item:
+
+
+<!-- ##### FUNCTION gtk_list_select_child ##### -->
+<para>
+
+</para>
+
+@list:
+@child:
+
+
+<!-- ##### FUNCTION gtk_list_unselect_child ##### -->
+<para>
+
+</para>
+
+@list:
+@child:
+
+
+<!-- ##### FUNCTION gtk_list_child_position ##### -->
+<para>
+
+</para>
+
+@list:
+@child:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_list_set_selection_mode ##### -->
+<para>
+
+</para>
+
+@list:
+@mode:
+
+
+<!-- ##### FUNCTION gtk_list_extend_selection ##### -->
+<para>
+
+</para>
+
+@list:
+@scroll_type:
+@position:
+@auto_start_selection:
+
+
+<!-- ##### FUNCTION gtk_list_start_selection ##### -->
+<para>
+
+</para>
+
+@list:
+
+
+<!-- ##### FUNCTION gtk_list_end_selection ##### -->
+<para>
+
+</para>
+
+@list:
+
+
+<!-- ##### FUNCTION gtk_list_select_all ##### -->
+<para>
+
+</para>
+
+@list:
+
+
+<!-- ##### FUNCTION gtk_list_unselect_all ##### -->
+<para>
+
+</para>
+
+@list:
+
+
+<!-- ##### FUNCTION gtk_list_scroll_horizontal ##### -->
+<para>
+
+</para>
+
+@list:
+@scroll_type:
+@position:
+
+
+<!-- ##### FUNCTION gtk_list_scroll_vertical ##### -->
+<para>
+
+</para>
+
+@list:
+@scroll_type:
+@position:
+
+
+<!-- ##### FUNCTION gtk_list_toggle_add_mode ##### -->
+<para>
+
+</para>
+
+@list:
+
+
+<!-- ##### FUNCTION gtk_list_toggle_focus_row ##### -->
+<para>
+
+</para>
+
+@list:
+
+
+<!-- ##### FUNCTION gtk_list_toggle_row ##### -->
+<para>
+
+</para>
+
+@list:
+@item:
+
+
+<!-- ##### FUNCTION gtk_list_undo_selection ##### -->
+<para>
+
+</para>
+
+@list:
+
+
+<!-- ##### FUNCTION gtk_list_end_drag_selection ##### -->
+<para>
+
+</para>
+
+@list:
+
+
+<!-- ##### SIGNAL GtkList::selection-changed ##### -->
+<para>
+
+</para>
+
+@list: the object which received the signal.
+
+<!-- ##### SIGNAL GtkList::select-child ##### -->
+<para>
+
+</para>
+
+@list: the object which received the signal.
+@widget:
+
+<!-- ##### SIGNAL GtkList::unselect-child ##### -->
+<para>
+
+</para>
+
+@list: the object which received the signal.
+@widget:
+
diff --git a/docs/reference/gtk/tmpl/gtklistitem.sgml b/docs/reference/gtk/tmpl/gtklistitem.sgml
new file mode 100644
index 000000000..f4b758556
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtklistitem.sgml
@@ -0,0 +1,133 @@
+<!-- ##### SECTION Title ##### -->
+GtkListItem
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkListItem ##### -->
+<para>
+
+</para>
+
+@item:
+
+<!-- ##### FUNCTION gtk_list_item_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_list_item_new_with_label ##### -->
+<para>
+
+</para>
+
+@label:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_list_item_select ##### -->
+<para>
+
+</para>
+
+@list_item:
+
+
+<!-- ##### FUNCTION gtk_list_item_deselect ##### -->
+<para>
+
+</para>
+
+@list_item:
+
+
+<!-- ##### SIGNAL GtkListItem::toggle-focus-row ##### -->
+<para>
+
+</para>
+
+@listitem: the object which received the signal.
+
+<!-- ##### SIGNAL GtkListItem::select-all ##### -->
+<para>
+
+</para>
+
+@listitem: the object which received the signal.
+
+<!-- ##### SIGNAL GtkListItem::unselect-all ##### -->
+<para>
+
+</para>
+
+@listitem: the object which received the signal.
+
+<!-- ##### SIGNAL GtkListItem::undo-selection ##### -->
+<para>
+
+</para>
+
+@listitem: the object which received the signal.
+
+<!-- ##### SIGNAL GtkListItem::start-selection ##### -->
+<para>
+
+</para>
+
+@listitem: the object which received the signal.
+
+<!-- ##### SIGNAL GtkListItem::end-selection ##### -->
+<para>
+
+</para>
+
+@listitem: the object which received the signal.
+
+<!-- ##### SIGNAL GtkListItem::toggle-add-mode ##### -->
+<para>
+
+</para>
+
+@listitem: the object which received the signal.
+
+<!-- ##### SIGNAL GtkListItem::extend-selection ##### -->
+<para>
+
+</para>
+
+@listitem: the object which received the signal.
+@scroll_type:
+@position:
+@auto_start_selection:
+
+<!-- ##### SIGNAL GtkListItem::scroll-vertical ##### -->
+<para>
+
+</para>
+
+@listitem: the object which received the signal.
+@scroll_type:
+@position:
+
+<!-- ##### SIGNAL GtkListItem::scroll-horizontal ##### -->
+<para>
+
+</para>
+
+@listitem: the object which received the signal.
+@scroll_type:
+@position:
+
diff --git a/docs/reference/gtk/tmpl/gtkmain.sgml b/docs/reference/gtk/tmpl/gtkmain.sgml
new file mode 100644
index 000000000..d75ab873c
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkmain.sgml
@@ -0,0 +1,414 @@
+<!-- ##### SECTION Title ##### -->
+General
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION gtk_set_locale ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_init ##### -->
+<para>
+
+</para>
+
+@argc:
+@argv:
+
+
+<!-- ##### FUNCTION gtk_init_check ##### -->
+<para>
+
+</para>
+
+@argc:
+@argv:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_exit ##### -->
+<para>
+
+</para>
+
+@error_code:
+
+
+<!-- ##### FUNCTION gtk_events_pending ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_main ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_main_level ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_main_quit ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_main_iteration ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_main_iteration_do ##### -->
+<para>
+
+</para>
+
+@blocking:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_main_do_event ##### -->
+<para>
+
+</para>
+
+@event:
+
+
+<!-- ##### USER_FUNCTION GtkModuleInitFunc ##### -->
+<para>
+
+</para>
+
+@argc:
+@argv:
+
+
+<!-- ##### FUNCTION gtk_true ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_false ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_grab_add ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_grab_get_current ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_grab_remove ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_init_add ##### -->
+<para>
+
+</para>
+
+@function:
+@data:
+
+
+<!-- ##### FUNCTION gtk_quit_add_destroy ##### -->
+<para>
+
+</para>
+
+@main_level:
+@object:
+
+
+<!-- ##### FUNCTION gtk_quit_add ##### -->
+<para>
+
+</para>
+
+@main_level:
+@function:
+@data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_quit_add_full ##### -->
+<para>
+
+</para>
+
+@main_level:
+@function:
+@marshal:
+@data:
+@destroy:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_quit_remove ##### -->
+<para>
+
+</para>
+
+@quit_handler_id:
+
+
+<!-- ##### FUNCTION gtk_quit_remove_by_data ##### -->
+<para>
+
+</para>
+
+@data:
+
+
+<!-- ##### FUNCTION gtk_timeout_add_full ##### -->
+<para>
+
+</para>
+
+@interval:
+@function:
+@marshal:
+@data:
+@destroy:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_timeout_add ##### -->
+<para>
+
+</para>
+
+@interval:
+@function:
+@data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_timeout_remove ##### -->
+<para>
+
+</para>
+
+@timeout_handler_id:
+
+
+<!-- ##### FUNCTION gtk_idle_add ##### -->
+<para>
+
+</para>
+
+@function:
+@data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_idle_add_priority ##### -->
+<para>
+
+</para>
+
+@priority:
+@function:
+@data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_idle_add_full ##### -->
+<para>
+
+</para>
+
+@priority:
+@function:
+@marshal:
+@data:
+@destroy:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_idle_remove ##### -->
+<para>
+
+</para>
+
+@idle_handler_id:
+
+
+<!-- ##### FUNCTION gtk_idle_remove_by_data ##### -->
+<para>
+
+</para>
+
+@data:
+
+
+<!-- ##### FUNCTION gtk_input_add_full ##### -->
+<para>
+
+</para>
+
+@source:
+@condition:
+@function:
+@marshal:
+@data:
+@destroy:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_input_remove ##### -->
+<para>
+
+</para>
+
+@input_handler_id:
+
+
+<!-- ##### MACRO GTK_PRIORITY_REDRAW ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GTK_PRIORITY_RESIZE ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GTK_PRIORITY_HIGH ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GTK_PRIORITY_INTERNAL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GTK_PRIORITY_DEFAULT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GTK_PRIORITY_LOW ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_key_snooper_install ##### -->
+<para>
+
+</para>
+
+@snooper:
+@func_data:
+@Returns:
+
+
+<!-- ##### USER_FUNCTION GtkKeySnoopFunc ##### -->
+<para>
+
+</para>
+
+@grab_widget:
+@event:
+@func_data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_key_snooper_remove ##### -->
+<para>
+
+</para>
+
+@snooper_handler_id:
+
+
+<!-- ##### FUNCTION gtk_get_current_event ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_get_event_widget ##### -->
+<para>
+
+</para>
+
+@event:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_propagate_event ##### -->
+<para>
+
+</para>
+
+@widget:
+@event:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkmarshal.sgml b/docs/reference/gtk/tmpl/gtkmarshal.sgml
new file mode 100644
index 000000000..288a5cb45
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkmarshal.sgml
@@ -0,0 +1,482 @@
+<!-- ##### SECTION Title ##### -->
+Signal Marshallers
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO gtk_signal_default_marshaller ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_BOOL__POINTER_INT_INT_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_BOOL__POINTER_STRING_STRING_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_ENUM__ENUM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__BOXED ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__ENUM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__ENUM_FLOAT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__ENUM_FLOAT_BOOL ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__OBJECT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__POINTER_STRING_STRING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__POINTER_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__POINTER_UINT_ENUM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__POINTER_POINTER_UINT_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__POINTER_INT_INT_POINTER_UINT_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__POINTER_UINT_UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__STRING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__STRING_INT_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__UINT ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__UINT_POINTER_UINT_ENUM_ENUM_POINTER ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__UINT_POINTER_UINT_UINT_ENUM ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_marshal_NONE__UINT_STRING ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_marshal_BOOL__NONE ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_BOOL__POINTER ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_BOOL__POINTER_INT_INT ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_BOOL__POINTER_INT_INT_INT ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_BOOL__POINTER_POINTER_INT_INT ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_BOOL__POINTER_POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_INT__INT ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_INT__POINTER ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_INT__POINTER_CHAR_CHAR ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__BOOL ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__C_CALLBACK ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__C_CALLBACK_C_CALLBACK ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__INT ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__INT_FLOAT ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__INT_FLOAT_BOOL ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__INT_INT ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__INT_INT_POINTER ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__INT_POINTER ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__INT_POINTER_INT_INT_INT ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__INT_POINTER_INT_INT_INT_POINTER ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__NONE ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__POINTER ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__POINTER_INT ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__POINTER_INT_INT ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__POINTER_INT_INT_POINTER_INT_INT ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__POINTER_INT_POINTER ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__POINTER_POINTER_INT_INT ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
+<!-- ##### FUNCTION gtk_marshal_NONE__POINTER_POINTER_POINTER ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@func_data:
+@args:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkmenu.sgml b/docs/reference/gtk/tmpl/gtkmenu.sgml
new file mode 100644
index 000000000..7411912cb
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkmenu.sgml
@@ -0,0 +1,287 @@
+<!-- ##### SECTION Title ##### -->
+GtkMenu
+
+<!-- ##### SECTION Short_Description ##### -->
+a drop down menu widget.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+A #GtkMenu is a #GtkMenuShell that implements a drop down menu consisting of
+a list of #GtkMenuItem objects which can be navigated and activated by the
+user to perform application functions.
+</para>
+
+<para>
+A #GtkMenu is most commonly dropped down by activating a #GtkMenuItem in a
+#GtkMenuBar or popped up by activating a #GtkMenuItem in another #GtkMenu.
+</para>
+
+<para>
+A #GtkMenu can also be popped up by activating a #GtkOptionMenu.
+Other composite widgets such as the #GtkNotebook can pop up a #GtkMenu
+as well.
+</para>
+
+<para>
+Applications can display a #GtkMenu as a popup menu by calling the
+gtk_menu_popup() function. The example below shows how an application
+can pop up a menu when the 3rd mouse button is pressed.
+</para>
+
+<example>
+<title>Connecting the popup signal handler.</title>
+<programlisting>
+ /* connect our handler which will popup the menu */
+ gtk_signal_connect_object(GTK_OBJECT(window), "button_press_event",
+ GTK_SIGNAL_FUNC (my_popup_handler), GTK_OBJECT(menu));
+</programlisting>
+</example>
+
+<example>
+<title>Signal handler which displays a popup menu.</title>
+<programlisting>
+static gint
+my_popup_handler(GtkWidget *widget, GdkEvent *event)
+{
+ GtkMenu *menu;
+ GdkEventButton *event_button;
+
+ g_return_val_if_fail (widget != NULL, FALSE);
+ g_return_val_if_fail (GTK_IS_MENU (widget), FALSE);
+ g_return_val_if_fail (event != NULL, FALSE);
+
+ /* The "widget" is the menu that was supplied when
+ * gtk_signal_connect_object was called.
+ */
+ menu = GTK_MENU (widget);
+
+ if (event->type == GDK_BUTTON_PRESS)
+ {
+ event_button = (GdkEventButton *) event;
+ if (event_button->button == 3)
+ {
+ gtk_menu_popup (menu, NULL, NULL, NULL, NULL,
+ event_button->button, event_button->time);
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+</programlisting>
+</example>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkMenu ##### -->
+<para>
+The #GtkMenu-struct struct contains private data only, and
+should be accessed using the functions below.
+</para>
+
+@menu_shell:
+@parent_menu_item:
+@old_active_menu_item:
+@accel_group:
+@position_func:
+@position_func_data:
+@toplevel:
+@tearoff_window:
+@torn_off:
+
+<!-- ##### FUNCTION gtk_menu_new ##### -->
+<para>
+Creates a new #GtkMenu.
+</para>
+
+@Returns: a new #GtkMenu.
+
+
+<!-- ##### FUNCTION gtk_menu_append ##### -->
+<para>
+Adds a new #GtkMenuItem to the end of the menu's item list.
+</para>
+
+@menu: a #GtkMenu.
+@child: The #GtkMenuItem to add.
+
+
+<!-- ##### FUNCTION gtk_menu_prepend ##### -->
+<para>
+Adds a new #GtkMenuItem to the beginning of the menu's item list.
+</para>
+
+@menu: a #GtkMenu.
+@child: The #GtkMenuItem to add.
+
+
+<!-- ##### FUNCTION gtk_menu_insert ##### -->
+<para>
+Adds a new #GtkMenuItem to the menu's item list at the position
+indicated by @position.
+</para>
+
+@menu: a #GtkMenu.
+@child: The #GtkMenuItem to add.
+@position: The position in the item list where @child is added.
+Positions are numbered from 0 to n-1.
+
+
+<!-- ##### FUNCTION gtk_menu_reorder_child ##### -->
+<para>
+Moves a #GtkMenuItem to a new position within the #GtkMenu.
+</para>
+
+@menu: a #GtkMenu.
+@child: the #GtkMenuItem to move.
+@position: the new position to place @child. Positions are numbered from
+0 to n-1.
+
+
+<!-- ##### FUNCTION gtk_menu_popup ##### -->
+<para>
+Displays a menu and makes it available for selection. Applications can use
+this function to display context-sensitive menus, and will typically supply
+NULL for the @parent_menu_shell, @parent_menu_item, @func and @data
+parameters. The default menu positioning function will position the menu
+at the current pointer position.
+</para>
+
+@menu: a #GtkMenu.
+@parent_menu_shell: the menu shell containing the triggering menu item.
+@parent_menu_item: the menu item whose activation triggered the popup.
+@func: a user supplied function used to position the menu.
+@data: user supplied data to be passed to @func.
+@button: the button which was pressed to initiate the event.
+@activate_time: the time at which the activation event occurred.
+
+
+<!-- ##### FUNCTION gtk_menu_set_accel_group ##### -->
+<para>
+Set the #GtkAccelGroup which holds global accelerators for the menu.
+</para>
+
+@menu: a #GtkMenu.
+@accel_group: the #GtkAccelGroup to be associated with the menu.
+
+
+<!-- ##### FUNCTION gtk_menu_set_title ##### -->
+<para>
+Sets the title string for the menu. The title is displayed when the menu
+is shown as a tearoff menu.
+</para>
+
+@menu: a #GtkMenu.
+@title: a string containing the title for the menu.
+
+
+<!-- ##### FUNCTION gtk_menu_popdown ##### -->
+<para>
+Removes the menu from the screen.
+</para>
+
+@menu: a #GtkMenu.
+
+
+<!-- ##### FUNCTION gtk_menu_reposition ##### -->
+<para>
+Repositions the menu according to its position function.
+</para>
+
+@menu: a #GtkMenu.
+
+
+<!-- ##### FUNCTION gtk_menu_get_active ##### -->
+<para>
+Returns the selected menu item from the menu. This is used by the
+#GtkOptionMenu.
+</para>
+
+@menu: a #GtkMenu.
+@Returns: the #GtkMenuItem that was last selected in the menu. If a
+selection has not yet been made, the first menu item is selected.
+
+
+<!-- ##### FUNCTION gtk_menu_set_active ##### -->
+<para>
+Selects the specified menu item within the menu. This is used by the
+#GtkOptionMenu.
+</para>
+
+@menu: a #GtkMenu.
+@index: the index of the menu item to select. Index values are from
+0 to n-1.
+
+
+<!-- ##### FUNCTION gtk_menu_set_tearoff_state ##### -->
+<para>
+Changes the tearoff state of the menu. A menu is normally displayed
+as drop down menu which persists as long as the menu is active. It can
+also be displayed as a tearoff menu which persists until it is closed
+or reattached.
+</para>
+
+@menu: a #GtkMenu.
+@torn_off: If TRUE, menu is displayed as a tearoff menu.
+
+
+<!-- ##### FUNCTION gtk_menu_attach_to_widget ##### -->
+<para>
+Attaches the menu to the widget and provides a callback function that will
+be invoked when the menu calls gtk_menu_detach() during its destruction.
+</para>
+
+@menu: a #GtkMenu.
+@attach_widget: the #GtkWidget that the menu will be attached to.
+@detacher: the user supplied callback function that will be called when
+the menu calls gtk_menu_detach().
+
+
+<!-- ##### FUNCTION gtk_menu_detach ##### -->
+<para>
+Detaches the menu from the widget to which it had been attached.
+This function will call the callback function, @detacher, provided
+when the gtk_menu_attach_to_widget() function was called.
+</para>
+
+@menu: a #GtkMenu.
+
+
+<!-- ##### FUNCTION gtk_menu_get_attach_widget ##### -->
+<para>
+Returns the #GtkWidget that the menu is attached to.
+</para>
+
+@menu: a #GtkMenu.
+@Returns: the #GtkWidget that the menu is attached to.
+
+
+<!-- ##### USER_FUNCTION GtkMenuPositionFunc ##### -->
+<para>
+A user function supplied when calling gtk_menu_popup() which controls the
+positioning of the menu when it is displayed. The function sets the @x
+and @y parameters to the coordinates where the menu is to be drawn.
+</para>
+
+@menu: a #GtkMenu.
+@x: address of the #gint representing the horizontal position where the
+menu shall be drawn. This is an output parameter.
+@y: address of the #gint representing the vertical position where the
+menu shall be drawn. This is an output parameter.
+@user_data: the data supplied by the user in the gtk_menu_popup() @data
+parameter.
+
+
+<!-- ##### USER_FUNCTION GtkMenuDetachFunc ##### -->
+<para>
+A user function supplied when calling gtk_menu_attach_to_widget() which
+will be called when the menu is later detached from the widget.
+</para>
+
+@attach_widget: the #GtkWidget that the menu is being detached from.
+@menu: the #GtkMenu being detached.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkmenubar.sgml b/docs/reference/gtk/tmpl/gtkmenubar.sgml
new file mode 100644
index 000000000..d26a5bd69
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkmenubar.sgml
@@ -0,0 +1,74 @@
+<!-- ##### SECTION Title ##### -->
+GtkMenuBar
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkMenuBar ##### -->
+<para>
+
+</para>
+
+@menu_shell:
+@shadow_type:
+
+<!-- ##### FUNCTION gtk_menu_bar_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_menu_bar_append ##### -->
+<para>
+
+</para>
+
+@menu_bar:
+@child:
+
+
+<!-- ##### FUNCTION gtk_menu_bar_prepend ##### -->
+<para>
+
+</para>
+
+@menu_bar:
+@child:
+
+
+<!-- ##### FUNCTION gtk_menu_bar_insert ##### -->
+<para>
+
+</para>
+
+@menu_bar:
+@child:
+@position:
+
+
+<!-- ##### FUNCTION gtk_menu_bar_set_shadow_type ##### -->
+<para>
+
+</para>
+
+@menu_bar:
+@type:
+
+
+<!-- ##### ARG GtkMenuBar:shadow ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkmenufactory.sgml b/docs/reference/gtk/tmpl/gtkmenufactory.sgml
new file mode 100644
index 000000000..77a9754c4
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkmenufactory.sgml
@@ -0,0 +1,132 @@
+<!-- ##### SECTION Title ##### -->
+Menu Factory
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### USER_FUNCTION GtkMenuCallback ##### -->
+<para>
+
+</para>
+
+@widget:
+@user_data:
+
+
+<!-- ##### STRUCT GtkMenuEntry ##### -->
+<para>
+
+</para>
+
+@path:
+@accelerator:
+@callback:
+@callback_data:
+@widget:
+
+<!-- ##### STRUCT GtkMenuPath ##### -->
+<para>
+
+</para>
+
+@path:
+@widget:
+
+<!-- ##### STRUCT GtkMenuFactory ##### -->
+<para>
+
+</para>
+
+@path:
+@type:
+@accel_group:
+@widget:
+@subfactories:
+
+<!-- ##### FUNCTION gtk_menu_factory_new ##### -->
+<para>
+
+</para>
+
+@type:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_menu_factory_destroy ##### -->
+<para>
+
+</para>
+
+@factory:
+
+
+<!-- ##### FUNCTION gtk_menu_factory_add_entries ##### -->
+<para>
+
+</para>
+
+@factory:
+@entries:
+@nentries:
+
+
+<!-- ##### FUNCTION gtk_menu_factory_add_subfactory ##### -->
+<para>
+
+</para>
+
+@factory:
+@subfactory:
+@path:
+
+
+<!-- ##### FUNCTION gtk_menu_factory_remove_paths ##### -->
+<para>
+
+</para>
+
+@factory:
+@paths:
+@npaths:
+
+
+<!-- ##### FUNCTION gtk_menu_factory_remove_entries ##### -->
+<para>
+
+</para>
+
+@factory:
+@entries:
+@nentries:
+
+
+<!-- ##### FUNCTION gtk_menu_factory_remove_subfactory ##### -->
+<para>
+
+</para>
+
+@factory:
+@subfactory:
+@path:
+
+
+<!-- ##### FUNCTION gtk_menu_factory_find ##### -->
+<para>
+
+</para>
+
+@factory:
+@path:
+@Returns:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkmenuitem.sgml b/docs/reference/gtk/tmpl/gtkmenuitem.sgml
new file mode 100644
index 000000000..2eed9a243
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkmenuitem.sgml
@@ -0,0 +1,132 @@
+<!-- ##### SECTION Title ##### -->
+GtkMenuItem
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkMenuItem ##### -->
+<para>
+
+</para>
+
+@item:
+@submenu:
+@accelerator_signal:
+@toggle_size:
+@accelerator_width:
+@show_toggle_indicator:
+@show_submenu_indicator:
+@submenu_placement:
+@submenu_direction:
+@right_justify:
+@timer:
+
+<!-- ##### FUNCTION gtk_menu_item_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_menu_item_new_with_label ##### -->
+<para>
+
+</para>
+
+@label:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_menu_item_set_submenu ##### -->
+<para>
+
+</para>
+
+@menu_item:
+@submenu:
+
+
+<!-- ##### FUNCTION gtk_menu_item_remove_submenu ##### -->
+<para>
+
+</para>
+
+@menu_item:
+
+
+<!-- ##### FUNCTION gtk_menu_item_set_placement ##### -->
+<para>
+
+</para>
+
+@menu_item:
+@placement:
+
+
+<!-- ##### FUNCTION gtk_menu_item_configure ##### -->
+<para>
+
+</para>
+
+@menu_item:
+@show_toggle_indicator:
+@show_submenu_indicator:
+
+
+<!-- ##### FUNCTION gtk_menu_item_select ##### -->
+<para>
+
+</para>
+
+@menu_item:
+
+
+<!-- ##### FUNCTION gtk_menu_item_deselect ##### -->
+<para>
+
+</para>
+
+@menu_item:
+
+
+<!-- ##### FUNCTION gtk_menu_item_activate ##### -->
+<para>
+
+</para>
+
+@menu_item:
+
+
+<!-- ##### FUNCTION gtk_menu_item_right_justify ##### -->
+<para>
+
+</para>
+
+@menu_item:
+
+
+<!-- ##### SIGNAL GtkMenuItem::activate ##### -->
+<para>
+
+</para>
+
+@menuitem: the object which received the signal.
+
+<!-- ##### SIGNAL GtkMenuItem::activate-item ##### -->
+<para>
+
+</para>
+
+@menuitem: the object which received the signal.
+
diff --git a/docs/reference/gtk/tmpl/gtkmenushell.sgml b/docs/reference/gtk/tmpl/gtkmenushell.sgml
new file mode 100644
index 000000000..cad3bdefe
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkmenushell.sgml
@@ -0,0 +1,191 @@
+<!-- ##### SECTION Title ##### -->
+GtkMenuShell
+
+<!-- ##### SECTION Short_Description ##### -->
+a base class for menu objects.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+A #GtkMenuShell is the abstract base class used to derive the
+#GtkMenu and #GtkMenuBar subclasses.
+</para>
+
+<para>
+A #GtkMenuShell is a container of #GtkMenuItem objects arranged in a
+list which can be navigated, selected, and activated by the user to perform
+application functions. A #GtkMenuItem can have a submenu associated with it,
+allowing for nested hierarchical menus.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkMenuShell ##### -->
+<para>
+The #GtkMenuShell-struct struct contains the following fields.
+(These fields should be considered read-only. They should never be set by
+an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#GList *children;</entry>
+<entry>The list of #GtkMenuItem objects contained by this #GtkMenuShell.
+</entry>
+</row>
+</tbody></tgroup></informaltable>
+</para>
+
+@container:
+@children:
+@active_menu_item:
+@parent_menu_shell:
+@active:
+@have_grab:
+@have_xgrab:
+@button:
+@ignore_leave:
+@menu_flag:
+@ignore_enter:
+@activate_time:
+
+<!-- ##### FUNCTION gtk_menu_shell_append ##### -->
+<para>
+Adds a new #GtkMenuItem to the end of the menu shell's item list.
+</para>
+
+@menu_shell: a #GtkMenuShell.
+@child: The #GtkMenuItem to add.
+
+
+<!-- ##### FUNCTION gtk_menu_shell_prepend ##### -->
+<para>
+Adds a new #GtkMenuItem to the beginning of the menu shell's item list.
+</para>
+
+@menu_shell: a #GtkMenuShell.
+@child: The #GtkMenuItem to add.
+
+
+<!-- ##### FUNCTION gtk_menu_shell_insert ##### -->
+<para>
+Adds a new #GtkMenuItem to the menu shell's item list at the position
+indicated by @position.
+</para>
+
+@menu_shell: a #GtkMenuShell.
+@child: The #GtkMenuItem to add.
+@position: The position in the item list where @child is added.
+Positions are numbered from 0 to n-1.
+
+
+<!-- ##### FUNCTION gtk_menu_shell_deactivate ##### -->
+<para>
+Deactivates the menu shell. Typically this results in the menu shell
+being erased from the screen.
+</para>
+
+@menu_shell: a #GtkMenuShell.
+
+
+<!-- ##### FUNCTION gtk_menu_shell_select_item ##### -->
+<para>
+Selects the menu item from the menu shell.
+</para>
+
+@menu_shell: a #GtkMenuShell.
+@menu_item: The #GtkMenuItem to select.
+
+
+<!-- ##### FUNCTION gtk_menu_shell_activate_item ##### -->
+<para>
+Activates the menu item within the menu shell.
+</para>
+
+@menu_shell: a #GtkMenuShell.
+@menu_item: The #GtkMenuItem to activate.
+@force_deactivate: If TRUE, force the deactivation of the menu shell
+after the menu item is activated.
+
+
+<!-- ##### ENUM GtkMenuDirectionType ##### -->
+<para>
+An enumeration representing directional movements within a menu.
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GTK_MENU_DIR_PARENT</entry>
+<entry>To the parent menu shell.</entry>
+</row>
+
+<row>
+<entry>GTK_MENU_DIR_CHILD</entry>
+<entry>To the submenu, if any, associated with the item.</entry>
+</row>
+
+<row>
+<entry>GTK_MENU_DIR_NEXT</entry>
+<entry>To the next menu item.</entry>
+</row>
+
+<row>
+<entry>GTK_MENU_DIR_PREV</entry>
+<entry>To the previous menu item.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@GTK_MENU_DIR_PARENT:
+@GTK_MENU_DIR_CHILD:
+@GTK_MENU_DIR_NEXT:
+@GTK_MENU_DIR_PREV:
+
+<!-- ##### SIGNAL GtkMenuShell::deactivate ##### -->
+<para>
+This signal is emitted when a menu shell is deactivated.
+</para>
+
+@menushell: the object which received the signal.
+
+<!-- ##### SIGNAL GtkMenuShell::selection-done ##### -->
+<para>
+This signal is emitted when a selection has been completed within a menu
+shell.
+</para>
+
+@menushell: the object which received the signal.
+
+<!-- ##### SIGNAL GtkMenuShell::move-current ##### -->
+<para>
+An action signal which moves the current menu item in the direction
+specified by @direction.
+</para>
+
+@menushell: the object which received the signal.
+@direction: the direction to move.
+
+<!-- ##### SIGNAL GtkMenuShell::activate-current ##### -->
+<para>
+An action signal that activates the current menu item within the menu
+shell.
+</para>
+
+@menushell: the object which received the signal.
+@force_hide: if TRUE, hide the menu after activating the menu item.
+
+<!-- ##### SIGNAL GtkMenuShell::cancel ##### -->
+<para>
+An action signal which cancels the selection within the menu shell.
+Causes the GtkMenuShell::selection-done signal to be emitted.
+</para>
+
+@menushell: the object which received the signal.
+
diff --git a/docs/reference/gtk/tmpl/gtkmisc.sgml b/docs/reference/gtk/tmpl/gtkmisc.sgml
new file mode 100644
index 000000000..10f5662c6
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkmisc.sgml
@@ -0,0 +1,109 @@
+<!-- ##### SECTION Title ##### -->
+GtkMisc
+
+<!-- ##### SECTION Short_Description ##### -->
+a base class for widgets with alignments and padding.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkMisc widget is an abstract widget which is not useful itself, but
+is used to derive subclasses which have alignment and padding attributes.
+</para>
+<para>
+The horizontal and vertical padding attributes allows extra space to be
+added around the widget.
+</para>
+<para>
+The horizontal and vertical alignment attributes enable the widget to be
+positioned within its allocated area. Note that if the widget is added to
+a container in such a way that it expands automatically to fill its
+allocated area, the alignment settings will not alter the widgets position.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkMisc ##### -->
+<para>
+The #GtkMisc-struct struct contains the following fields.
+(These fields should be considered read-only. They should never be set by
+an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#gfloat <structfield>xalign</structfield>;</entry>
+<entry>the horizontal alignment, from 0 (left) to 1 (right).</entry>
+</row>
+
+<row>
+<entry>#gfloat <structfield>yalign</structfield>;</entry>
+<entry>the vertical alignment, from 0 (top) to 1 (bottom).</entry>
+</row>
+
+<row>
+<entry>#guint16 <structfield>xpad</structfield>;</entry>
+<entry>the amount of space to add on the left and right of the widget,
+in pixels.</entry>
+</row>
+
+<row>
+<entry>#guint16 <structfield>ypad</structfield>;</entry>
+<entry>the amount of space to add on the top and bottom of the widget,
+in pixels.</entry>
+</row>
+</informaltable>
+</para>
+
+@widget:
+@xalign:
+@yalign:
+@xpad:
+@ypad:
+
+<!-- ##### FUNCTION gtk_misc_set_alignment ##### -->
+<para>
+Sets the alignment of the widget.
+</para>
+
+@misc: a #GtkMisc.
+@xalign: the horizontal alignment, from 0 (left) to 1 (right).
+@yalign: the vertical alignment, from 0 (top) to 1 (bottom).
+
+
+<!-- ##### FUNCTION gtk_misc_set_padding ##### -->
+<para>
+Sets the amount of space to add around the widget.
+</para>
+
+@misc: a #GtkMisc.
+@xpad: the amount of space to add on the left and right of the widget,
+in pixels.
+@ypad: the amount of space to add on the top and bottom of the widget,
+in pixels.
+
+
+<!-- ##### ARG GtkMisc:xalign ##### -->
+<para>
+the horizontal alignment, from 0 (left) to 1 (right).
+</para>
+
+<!-- ##### ARG GtkMisc:yalign ##### -->
+<para>
+the vertical alignment, from 0 (top) to 1 (bottom).
+</para>
+
+<!-- ##### ARG GtkMisc:xpad ##### -->
+<para>
+the amount of space to add on the left and right of the widget, in pixels.
+</para>
+
+<!-- ##### ARG GtkMisc:ypad ##### -->
+<para>
+the amount of space to add on the top and bottom of the widget, in pixels.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtknotebook.sgml b/docs/reference/gtk/tmpl/gtknotebook.sgml
new file mode 100644
index 000000000..dc6014b07
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtknotebook.sgml
@@ -0,0 +1,446 @@
+<!-- ##### SECTION Title ##### -->
+GtkNotebook
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkNotebook ##### -->
+<para>
+
+</para>
+
+@container:
+@cur_page:
+@children:
+@first_tab:
+@focus_tab:
+@menu:
+@panel:
+@timer:
+@tab_hborder:
+@tab_vborder:
+@show_tabs:
+@homogeneous:
+@show_border:
+@tab_pos:
+@scrollable:
+@in_child:
+@click_child:
+@button:
+@need_timer:
+@child_has_focus:
+@have_visible_child:
+
+<!-- ##### MACRO GTK_NOTEBOOK_PAGE ##### -->
+<para>
+
+</para>
+
+@_glist_:
+
+
+<!-- ##### STRUCT GtkNotebookPage ##### -->
+<para>
+
+</para>
+
+@child:
+@tab_label:
+@menu_label:
+@default_menu:
+@default_tab:
+@expand:
+@fill:
+@pack:
+@requisition:
+@allocation:
+
+<!-- ##### FUNCTION gtk_notebook_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_notebook_append_page ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@tab_label:
+
+
+<!-- ##### FUNCTION gtk_notebook_append_page_menu ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@tab_label:
+@menu_label:
+
+
+<!-- ##### FUNCTION gtk_notebook_prepend_page ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@tab_label:
+
+
+<!-- ##### FUNCTION gtk_notebook_prepend_page_menu ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@tab_label:
+@menu_label:
+
+
+<!-- ##### FUNCTION gtk_notebook_insert_page ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@tab_label:
+@position:
+
+
+<!-- ##### FUNCTION gtk_notebook_insert_page_menu ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@tab_label:
+@menu_label:
+@position:
+
+
+<!-- ##### FUNCTION gtk_notebook_remove_page ##### -->
+<para>
+
+</para>
+
+@notebook:
+@page_num:
+
+
+<!-- ##### MACRO gtk_notebook_current_page ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_notebook_page_num ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_page ##### -->
+<para>
+
+</para>
+
+@notebook:
+@page_num:
+
+
+<!-- ##### FUNCTION gtk_notebook_next_page ##### -->
+<para>
+
+</para>
+
+@notebook:
+
+
+<!-- ##### FUNCTION gtk_notebook_prev_page ##### -->
+<para>
+
+</para>
+
+@notebook:
+
+
+<!-- ##### FUNCTION gtk_notebook_reorder_child ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@position:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_tab_pos ##### -->
+<para>
+
+</para>
+
+@notebook:
+@pos:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_show_tabs ##### -->
+<para>
+
+</para>
+
+@notebook:
+@show_tabs:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_show_border ##### -->
+<para>
+
+</para>
+
+@notebook:
+@show_border:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_scrollable ##### -->
+<para>
+
+</para>
+
+@notebook:
+@scrollable:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_tab_border ##### -->
+<para>
+
+</para>
+
+@notebook:
+@border_width:
+
+
+<!-- ##### FUNCTION gtk_notebook_popup_enable ##### -->
+<para>
+
+</para>
+
+@notebook:
+
+
+<!-- ##### FUNCTION gtk_notebook_popup_disable ##### -->
+<para>
+
+</para>
+
+@notebook:
+
+
+<!-- ##### FUNCTION gtk_notebook_get_current_page ##### -->
+<para>
+
+</para>
+
+@notebook:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_notebook_get_menu_label ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_notebook_get_nth_page ##### -->
+<para>
+
+</para>
+
+@notebook:
+@page_num:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_notebook_get_tab_label ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_notebook_query_tab_label_packing ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@expand:
+@fill:
+@pack_type:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_homogeneous_tabs ##### -->
+<para>
+
+</para>
+
+@notebook:
+@homogeneous:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_menu_label ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@menu_label:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_menu_label_text ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@menu_text:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_tab_hborder ##### -->
+<para>
+
+</para>
+
+@notebook:
+@tab_hborder:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_tab_label ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@tab_label:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_tab_label_packing ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@expand:
+@fill:
+@pack_type:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_tab_label_text ##### -->
+<para>
+
+</para>
+
+@notebook:
+@child:
+@tab_text:
+
+
+<!-- ##### FUNCTION gtk_notebook_set_tab_vborder ##### -->
+<para>
+
+</para>
+
+@notebook:
+@tab_vborder:
+
+
+<!-- ##### SIGNAL GtkNotebook::switch-page ##### -->
+<para>
+
+</para>
+
+@notebook: the object which received the signal.
+@page:
+@page_num:
+
+<!-- ##### ARG GtkNotebook:page ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:tab_pos ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:tab_border ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:tab_hborder ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:tab_vborder ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:show_tabs ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:show_border ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:scrollable ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkNotebook:enable_popup ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkobject.sgml b/docs/reference/gtk/tmpl/gtkobject.sgml
new file mode 100644
index 000000000..c4d5a576e
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkobject.sgml
@@ -0,0 +1,531 @@
+<!-- ##### SECTION Title ##### -->
+GtkObject
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkObject ##### -->
+<para>
+
+</para>
+
+@klass:
+@flags:
+@ref_count:
+@object_data:
+
+<!-- ##### MACRO GTK_OBJECT_TYPE ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_OBJECT_SIGNALS ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_OBJECT_NSIGNALS ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### ENUM GtkObjectFlags ##### -->
+<para>
+
+</para>
+
+@GTK_DESTROYED:
+@GTK_FLOATING:
+@GTK_CONNECTED:
+@GTK_CONSTRUCTED:
+
+<!-- ##### MACRO GTK_OBJECT_FLAGS ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_OBJECT_DESTROYED ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_OBJECT_FLOATING ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_OBJECT_CONNECTED ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_OBJECT_CONSTRUCTED ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_OBJECT_SET_FLAGS ##### -->
+<para>
+
+</para>
+
+@obj:
+@flag:
+
+
+<!-- ##### MACRO GTK_OBJECT_UNSET_FLAGS ##### -->
+<para>
+
+</para>
+
+@obj:
+@flag:
+
+
+<!-- ##### ENUM GtkArgFlags ##### -->
+<para>
+
+</para>
+
+@GTK_ARG_READABLE:
+@GTK_ARG_WRITABLE:
+@GTK_ARG_CONSTRUCT:
+@GTK_ARG_CONSTRUCT_ONLY:
+@GTK_ARG_CHILD_ARG:
+@GTK_ARG_MASK:
+@GTK_ARG_READWRITE:
+
+<!-- ##### FUNCTION gtk_object_class_user_signal_new ##### -->
+<para>
+
+</para>
+
+@klass:
+@name:
+@signal_flags:
+@marshaller:
+@return_val:
+@nparams:
+@Varargs:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_object_class_user_signal_newv ##### -->
+<para>
+
+</para>
+
+@klass:
+@name:
+@signal_flags:
+@marshaller:
+@return_val:
+@nparams:
+@params:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_object_new ##### -->
+<para>
+
+</para>
+
+@type:
+@first_arg_name:
+@Varargs:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_object_newv ##### -->
+<para>
+
+</para>
+
+@object_type:
+@n_args:
+@args:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_object_constructed ##### -->
+<para>
+
+</para>
+
+@object:
+
+
+<!-- ##### FUNCTION gtk_object_default_construct ##### -->
+<para>
+
+</para>
+
+@object:
+
+
+<!-- ##### FUNCTION gtk_object_sink ##### -->
+<para>
+
+</para>
+
+@object:
+
+
+<!-- ##### FUNCTION gtk_object_ref ##### -->
+<para>
+
+</para>
+
+@object:
+
+
+<!-- ##### FUNCTION gtk_object_unref ##### -->
+<para>
+
+</para>
+
+@object:
+
+
+<!-- ##### FUNCTION gtk_object_weakref ##### -->
+<para>
+
+</para>
+
+@object:
+@notify:
+@data:
+
+
+<!-- ##### FUNCTION gtk_object_weakunref ##### -->
+<para>
+
+</para>
+
+@object:
+@notify:
+@data:
+
+
+<!-- ##### FUNCTION gtk_object_destroy ##### -->
+<para>
+
+</para>
+
+@object:
+
+
+<!-- ##### FUNCTION gtk_object_getv ##### -->
+<para>
+
+</para>
+
+@object:
+@n_args:
+@args:
+
+
+<!-- ##### FUNCTION gtk_object_set ##### -->
+<para>
+
+</para>
+
+@object:
+@first_arg_name:
+@Varargs:
+
+
+<!-- ##### FUNCTION gtk_object_setv ##### -->
+<para>
+
+</para>
+
+@object:
+@n_args:
+@args:
+
+
+<!-- ##### FUNCTION gtk_object_query_args ##### -->
+<para>
+
+</para>
+
+@class_type:
+@arg_flags:
+@n_args:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_object_set_data ##### -->
+<para>
+
+</para>
+
+@object:
+@key:
+@data:
+
+
+<!-- ##### FUNCTION gtk_object_set_data_full ##### -->
+<para>
+
+</para>
+
+@object:
+@key:
+@data:
+@destroy:
+
+
+<!-- ##### FUNCTION gtk_object_remove_data ##### -->
+<para>
+
+</para>
+
+@object:
+@key:
+
+
+<!-- ##### FUNCTION gtk_object_get_data ##### -->
+<para>
+
+</para>
+
+@object:
+@key:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_object_remove_no_notify ##### -->
+<para>
+
+</para>
+
+@object:
+@key:
+
+
+<!-- ##### FUNCTION gtk_object_set_user_data ##### -->
+<para>
+
+</para>
+
+@object:
+@data:
+
+
+<!-- ##### FUNCTION gtk_object_get_user_data ##### -->
+<para>
+
+</para>
+
+@object:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_object_class_add_signals ##### -->
+<para>
+
+</para>
+
+@klass:
+@signals:
+@nsignals:
+
+
+<!-- ##### FUNCTION gtk_object_add_arg_type ##### -->
+<para>
+
+</para>
+
+@arg_name:
+@arg_type:
+@arg_flags:
+@arg_id:
+
+
+<!-- ##### FUNCTION gtk_object_set_data_by_id ##### -->
+<para>
+
+</para>
+
+@object:
+@data_id:
+@data:
+
+
+<!-- ##### FUNCTION gtk_object_set_data_by_id_full ##### -->
+<para>
+
+</para>
+
+@object:
+@data_id:
+@data:
+@destroy:
+
+
+<!-- ##### FUNCTION gtk_object_get_data_by_id ##### -->
+<para>
+
+</para>
+
+@object:
+@data_id:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_object_remove_data_by_id ##### -->
+<para>
+
+</para>
+
+@object:
+@data_id:
+
+
+<!-- ##### FUNCTION gtk_object_remove_no_notify_by_id ##### -->
+<para>
+
+</para>
+
+@object:
+@key_id:
+
+
+<!-- ##### MACRO gtk_object_data_try_key ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO gtk_object_data_force_id ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_object_arg_set ##### -->
+<para>
+
+</para>
+
+@object:
+@arg:
+@info:
+
+
+<!-- ##### FUNCTION gtk_object_arg_get ##### -->
+<para>
+
+</para>
+
+@object:
+@arg:
+@info:
+
+
+<!-- ##### FUNCTION gtk_object_args_collect ##### -->
+<para>
+
+</para>
+
+@object_type:
+@arg_list_p:
+@info_list_p:
+@first_arg_name:
+@var_args:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_object_arg_get_info ##### -->
+<para>
+
+</para>
+
+@object_type:
+@arg_name:
+@info_p:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_trace_referencing ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@dummy:
+@line:
+@do_ref:
+
+
+<!-- ##### SIGNAL GtkObject::destroy ##### -->
+<para>
+
+</para>
+
+@object: the object which received the signal.
+
+<!-- ##### ARG GtkObject:user_data ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkObject:signal ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkObject:signal_after ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkObject:object_signal ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkObject:object_signal_after ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkoptionmenu.sgml b/docs/reference/gtk/tmpl/gtkoptionmenu.sgml
new file mode 100644
index 000000000..429a319f4
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkoptionmenu.sgml
@@ -0,0 +1,76 @@
+<!-- ##### SECTION Title ##### -->
+GtkOptionMenu
+
+<!-- ##### SECTION Short_Description ##### -->
+a widget used to choose from a list of valid choices.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+A #GtkOptionMenu is a widget that allows the user to choose from a
+list of valid choices. The #GtkOptionMenu displays the selected
+choice. When activated the #GtkOptionMenu displays a popup #GtkMenu
+which allows the user to make a new choice.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+
+
+<!-- ##### STRUCT GtkOptionMenu ##### -->
+<para>
+The #GtkOptionMenu-struct struct contains private data only, and
+should be accessed using the functions below.
+</para>
+
+@button:
+@menu:
+@menu_item:
+@width:
+@height:
+
+<!-- ##### FUNCTION gtk_option_menu_new ##### -->
+<para>
+Creates a new #GtkOptionMenu.
+</para>
+
+@Returns: a new #GtkOptionMenu.
+
+
+<!-- ##### FUNCTION gtk_option_menu_get_menu ##### -->
+<para>
+Returns the #GtkMenu associated with the #GtkOptionMenu.
+</para>
+
+@option_menu: a #GtkOptionMenu.
+@Returns: the #GtkMenu associated with the #GtkOptionMenu.
+
+
+<!-- ##### FUNCTION gtk_option_menu_set_menu ##### -->
+<para>
+Provides the #GtkMenu that is popped up to allow the user to choose
+a new value. You should provide a simple menu avoiding the
+use of tearoff menu items, submenus, and accelerators.
+</para>
+
+@option_menu: a #GtkOptionMenu.
+@menu: the #GtkMenu to associate with the #GtkOptionMenu.
+
+
+<!-- ##### FUNCTION gtk_option_menu_remove_menu ##### -->
+<para>
+Removes the menu from the option menu.
+</para>
+
+@option_menu: a #GtkOptionMenu.
+
+
+<!-- ##### FUNCTION gtk_option_menu_set_history ##### -->
+<para>
+Selects the menu item specified by @index making it the newly
+selected value for the option menu.
+</para>
+
+@option_menu: a #GtkOptionMenu.
+@index: the index of the menu item to select. Index values are from
+0 to n-1.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkpacker.sgml b/docs/reference/gtk/tmpl/gtkpacker.sgml
new file mode 100644
index 000000000..d9a0fdde0
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkpacker.sgml
@@ -0,0 +1,227 @@
+<!-- ##### SECTION Title ##### -->
+GtkPacker
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkPacker ##### -->
+<para>
+
+</para>
+
+@parent:
+@children:
+@spacing:
+@default_border_width:
+@default_pad_x:
+@default_pad_y:
+@default_i_pad_x:
+@default_i_pad_y:
+
+<!-- ##### ENUM GtkPackerOptions ##### -->
+<para>
+
+</para>
+
+@GTK_PACK_EXPAND:
+@GTK_FILL_X:
+@GTK_FILL_Y:
+
+<!-- ##### ENUM GtkSideType ##### -->
+<para>
+
+</para>
+
+@GTK_SIDE_TOP:
+@GTK_SIDE_BOTTOM:
+@GTK_SIDE_LEFT:
+@GTK_SIDE_RIGHT:
+
+<!-- ##### ENUM GtkAnchorType ##### -->
+<para>
+
+</para>
+
+@GTK_ANCHOR_CENTER:
+@GTK_ANCHOR_NORTH:
+@GTK_ANCHOR_NORTH_WEST:
+@GTK_ANCHOR_NORTH_EAST:
+@GTK_ANCHOR_SOUTH:
+@GTK_ANCHOR_SOUTH_WEST:
+@GTK_ANCHOR_SOUTH_EAST:
+@GTK_ANCHOR_WEST:
+@GTK_ANCHOR_EAST:
+@GTK_ANCHOR_N:
+@GTK_ANCHOR_NW:
+@GTK_ANCHOR_NE:
+@GTK_ANCHOR_S:
+@GTK_ANCHOR_SW:
+@GTK_ANCHOR_SE:
+@GTK_ANCHOR_W:
+@GTK_ANCHOR_E:
+
+<!-- ##### STRUCT GtkPackerChild ##### -->
+<para>
+
+</para>
+
+@widget:
+@anchor:
+@side:
+@options:
+@use_default:
+@border_width:
+@pad_x:
+@pad_y:
+@i_pad_x:
+@i_pad_y:
+
+<!-- ##### FUNCTION gtk_packer_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_packer_add_defaults ##### -->
+<para>
+
+</para>
+
+@packer:
+@child:
+@side:
+@anchor:
+@options:
+
+
+<!-- ##### FUNCTION gtk_packer_add ##### -->
+<para>
+
+</para>
+
+@packer:
+@child:
+@side:
+@anchor:
+@options:
+@border_width:
+@pad_x:
+@pad_y:
+@i_pad_x:
+@i_pad_y:
+
+
+<!-- ##### MACRO gtk_packer_configure ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_packer_reorder_child ##### -->
+<para>
+
+</para>
+
+@packer:
+@child:
+@position:
+
+
+<!-- ##### FUNCTION gtk_packer_set_spacing ##### -->
+<para>
+
+</para>
+
+@packer:
+@spacing:
+
+
+<!-- ##### FUNCTION gtk_packer_set_default_border_width ##### -->
+<para>
+
+</para>
+
+@packer:
+@border:
+
+
+<!-- ##### FUNCTION gtk_packer_set_default_pad ##### -->
+<para>
+
+</para>
+
+@packer:
+@pad_x:
+@pad_y:
+
+
+<!-- ##### FUNCTION gtk_packer_set_default_ipad ##### -->
+<para>
+
+</para>
+
+@packer:
+@i_pad_x:
+@i_pad_y:
+
+
+<!-- ##### FUNCTION gtk_packer_set_child_packing ##### -->
+<para>
+
+</para>
+
+@packer:
+@child:
+@side:
+@anchor:
+@options:
+@border_width:
+@pad_x:
+@pad_y:
+@i_pad_x:
+@i_pad_y:
+
+
+<!-- ##### ARG GtkPacker:spacing ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkPacker:default_border_width ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkPacker:default_pad_x ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkPacker:default_pad_y ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkPacker:default_ipad_x ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkPacker:default_ipad_y ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkpaned.sgml b/docs/reference/gtk/tmpl/gtkpaned.sgml
new file mode 100644
index 000000000..63d2f3c54
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkpaned.sgml
@@ -0,0 +1,198 @@
+<!-- ##### SECTION Title ##### -->
+GtkPaned
+
+<!-- ##### SECTION Short_Description ##### -->
+Base class for widgets with two adjustable panes
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GtkPaned is the base class for widgets with two panes,
+arranged either horizontally (#GtkHPaned) or
+vertically (#GtkVPaned). Child widgets are
+added to the panes of the widget with
+gtk_paned_pack1() and gtk_paned_pack2(). The division
+beween the two children is set by default from the
+size requests of the children, but it can be adjusted
+by the user.
+</para>
+<para>
+A paned widget draws a separator between the two
+child widgets and a small handle that the user
+can drag to adjust the division. It does not
+draw any relief around the children or around
+the separator. (The space in which the separator
+is called the gutter). Often, it is useful
+to put each child inside a #GtkFrame with the
+shadow type set to %GTK_SHADOW_IN so that the
+gutter appears as a ridge.
+<para>
+Each child has two options that can be set,
+@resize and @shrink. If @resize is true, then when the
+#GtkPaned is resized, that child will expand
+or shrink along with the paned widget. If @shrink
+is true, then when that child can be made smaller
+than it's requisition by the user. Setting @shrink
+to FALSE allows the application to set a minimum
+size. If @resize is false for both children, then
+this is treated as if @resize is true for both
+children.
+</para>
+<para>
+The application can set the position of the slider
+as if it were set by the user, by calling
+gtk_paned_set_position().
+</para>
+
+<example>
+<title> Creating a paned widget with minimum sizes </title>
+<programlisting>
+GtkWidget *hpaned = gtk_hpaned_new();
+GtkWidget *frame1 = gtk_frame_new(NULL);
+GtkWidget *frame2 = gtk_frame_new(NULL);
+gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN);
+gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_IN);
+
+gtk_widget_set_usize (hpaned, 200 + GTK_PANED (hpaned)->gutter_size, -1);
+
+gtk_paned_pack1 (GTK_PANED (hpaned), frame1, TRUE, FALSE);
+gtk_widget_set_usize (frame1, 50, -1);
+
+gtk_paned_pack2 (GTK_PANED (hpaned), frame1, FALSE, FALSE);
+gtk_widget_set_usize (frame1, 50, -1);
+</programlisting>
+</example>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkPaned ##### -->
+<para>
+</para>
+
+@container:
+@child1:
+@child2:
+@handle:
+@groove_rectangle:
+@xor_gc:
+@handle_size:
+@gutter_size:
+@child1_size:
+@last_allocation:
+@min_position:
+@max_position:
+@position_set:
+@in_drag:
+@child1_shrink:
+@child1_resize:
+@child2_shrink:
+@child2_resize:
+@handle_xpos:
+@handle_ypos:
+
+<!-- ##### FUNCTION gtk_paned_add1 ##### -->
+<para>
+Add a child to the top or left pane with
+default parameters. This is equivalent
+to
+<programlisting>
+gtk_paned_pack1(paned, FALSE, TRUE);
+</programlisting>
+</para>
+
+@paned: a paned widget
+@child: the child to add
+
+
+<!-- ##### FUNCTION gtk_paned_add2 ##### -->
+<para>
+Add a child to the bottom or right pane with default
+parameters. This is equivalent to
+<programlisting>
+gtk_paned_pack1(paned, FALSE, FALSE);
+</programlisting>
+</para>
+
+@paned: a paned widget
+@child: the child to add
+
+
+<!-- ##### MACRO gtk_paned_handle_size ##### -->
+<para>
+Old name for gtk_paned_set_handle_size()
+</para>
+
+
+
+<!-- ##### MACRO gtk_paned_gutter_size ##### -->
+<para>
+Old name for gtk_paned_set_gutter_size()
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_paned_compute_position ##### -->
+<para>
+Internal function used by #GtkHPaned and #GtkVPaned
+</para>
+
+@paned:
+@allocation:
+@child1_req:
+@child2_req:
+
+
+<!-- ##### FUNCTION gtk_paned_pack1 ##### -->
+<para>
+Add a child to the top or left pane.
+</para>
+
+@paned: a paned widget
+@child: the child to add
+@resize: should this child expand when the paned widget is resized.
+@shrink: can this child be made smaller than its requsition.
+
+
+<!-- ##### FUNCTION gtk_paned_pack2 ##### -->
+<para>
+Add a child to the bottom or right pane.
+</para>
+
+@paned: a paned widget
+@child: the child to add
+@resize: should this child expand when the paned widget is resized.
+@shrink: can this child be made smaller than its requsition.
+
+
+<!-- ##### FUNCTION gtk_paned_set_gutter_size ##### -->
+<para>
+Set the width of the gutter. (The area between the two panes).
+</para>
+
+@paned: a paned widget
+@size: the width of the widget in pixels
+
+
+<!-- ##### FUNCTION gtk_paned_set_handle_size ##### -->
+<para>
+Set the the handle size to @size x @size pixels.
+</para>
+
+@paned: a paned widget
+@size: the size in pixels
+
+
+<!-- ##### FUNCTION gtk_paned_set_position ##### -->
+<para>
+Set the position of the separator, as if set by the user.
+If position is negative, the remembered position is
+forgotten, and the division is recomputed from the
+the requisitions of the children.
+</para>
+
+@paned: a paned widget
+@position: the new position of the separator.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkpixmap.sgml b/docs/reference/gtk/tmpl/gtkpixmap.sgml
new file mode 100644
index 000000000..57444d827
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkpixmap.sgml
@@ -0,0 +1,80 @@
+<!-- ##### SECTION Title ##### -->
+GtkPixmap
+
+<!-- ##### SECTION Short_Description ##### -->
+a widget displaying a graphical image or icon.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkPixmap widget displays a graphical image or icon.
+The icon is typically created using gdk_pixmap_colormap_create_from_xpm()
+or gdk_pixmap_colormap_create_from_xpm_d().
+</para>
+<para>
+The pixels in a #GtkPixmap cannot be manipulated by the application after
+creation, since under the X Window system the pixel data is stored on the
+X server and so is not available to the client application.
+If you want to create graphical images which can be manipulated by the
+application, look at #GtkImage and #GdkRGB.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkPixmap ##### -->
+<para>
+The #GtkPixmap-struct struct contains private data only, and
+should be accessed using the functions below.
+</para>
+
+@misc:
+@pixmap:
+@mask:
+@pixmap_insensitive:
+@build_insensitive:
+
+<!-- ##### FUNCTION gtk_pixmap_new ##### -->
+<para>
+Creates a new #GtkPixmap, using the given GDK pixmap and mask.
+</para>
+
+@pixmap: a #GDKPixmap.
+@mask: a #GDKBitmap which indicates which parts of the @pixmap should be
+transparent.
+@Returns: a new #GtkPixmap.
+
+
+<!-- ##### FUNCTION gtk_pixmap_set ##### -->
+<para>
+Sets the #GdkPixmap and #GdkBitmap mask.
+</para>
+
+@pixmap: a #GtkPixmap.
+@val: a #GdkPixmap.
+@mask: a #GdkBitmap, which indicates which parts of the @pixmap should be
+transparent. This can be NULL, in which case none of the @pixmap is
+transparent.
+
+
+<!-- ##### FUNCTION gtk_pixmap_get ##### -->
+<para>
+Gets the current #GdkPixmap and #GdkBitmap mask.
+</para>
+
+@pixmap: a #GtkPixmap.
+@val: returns the current #GdkPixmap.
+@mask: returns the current #GdkBitmap mask.
+
+
+<!-- ##### FUNCTION gtk_pixmap_set_build_insensitive ##### -->
+<para>
+
+</para>
+
+@pixmap: a #GtkPixmap.
+@build: set to TRUE if an extra pixmap should be automatically created to use
+when the pixmap is insensitive.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkplug.sgml b/docs/reference/gtk/tmpl/gtkplug.sgml
new file mode 100644
index 000000000..1f71fb5dc
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkplug.sgml
@@ -0,0 +1,60 @@
+<!-- ##### SECTION Title ##### -->
+GtkPlug
+
+<!-- ##### SECTION Short_Description ##### -->
+Toplevel for embedding into other processes.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+Together with #GtkSocket, #GtkPlug provides the ability
+to embed widgets from one process into another process
+in a fashion that is transparent to the user. One
+process creates a #GtkSocket widget and, passes the
+XID of that widgets window to the other process,
+which then creates a #GtkPlug window with that XID.
+Any widgets contained in the #GtkPlug then will appear
+inside the first applications window.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkSocket</term>
+<listitem><para>the widget that a #GtkPlug plugs into.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkPlug ##### -->
+<para>
+
+</para>
+
+@window:
+@socket_window:
+@same_app:
+
+<!-- ##### FUNCTION gtk_plug_construct ##### -->
+<para>
+Finish the creation of a #GtkPlug widget. This function
+will generally only be used by classes deriving
+from #GtkPlug.
+</para>
+
+@plug: a #GtkPlug widget.
+@socket_id: the XID of the socket's window.
+
+
+<!-- ##### FUNCTION gtk_plug_new ##### -->
+<para>
+Create a new plug widget inside the #GtkSocket identified
+by @socket_id.
+</para>
+
+@socket_id: the XID of the socket's window.
+@Returns: the new #GtkPlug widget.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkpreview.sgml b/docs/reference/gtk/tmpl/gtkpreview.sgml
new file mode 100644
index 000000000..d5448de0b
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkpreview.sgml
@@ -0,0 +1,265 @@
+<!-- ##### SECTION Title ##### -->
+GtkPreview
+
+<!-- ##### SECTION Short_Description ##### -->
+a widget to display RGB or grayscale data.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkPreview widget provides a simple interface
+used to display images as RGB or grayscale data.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GdkRGB</term>
+<listitem><para>the backend used by #GtkPreview.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkPreview ##### -->
+<para>
+The #GtkPreview-struct struct contains private data only, and
+should be accessed using the functions below.
+</para>
+
+@widget:
+@buffer:
+@buffer_width:
+@buffer_height:
+@bpp:
+@rowstride:
+@dither:
+@type:
+@expand:
+
+<!-- ##### STRUCT GtkPreviewInfo ##### -->
+<para>
+Contains information about global properties
+of preview widgets.
+
+The #GtkPreviewInfo struct contains the following fields.
+(These fields should be considered read-only. They should never be set by
+an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#GdkVisual *visual;</entry>
+<entry>the visual used by all previews.</entry>
+</row>
+
+<row>
+<entry>#GdkColormap *cmap;</entry>
+<entry>the colormap used by all previews.</entry>
+</row>
+
+<row>
+<entry>gdouble gamma;</entry>
+<entry>the gamma correction value used by all previews (See gtk_preview_set_gamma()).</entry>
+</row>
+
+</tbody>
+</tgroup>
+</informaltable>
+
+</para>
+
+@visual:
+@cmap:
+@lookup:
+@gamma:
+
+<!-- ##### UNION GtkDitherInfo ##### -->
+<para>
+This union not used in GTK+.
+</para>
+
+
+<!-- ##### FUNCTION gtk_preview_uninit ##### -->
+<para>
+This function is deprecated and does nothing.
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_preview_new ##### -->
+<para>
+Create a new preview widget.
+</para>
+
+@type: the type data contained by the widget.
+(Grayscale or RGB)
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_preview_size ##### -->
+<para>
+Set the size that the preview widget will request
+in response to a "size_request" signal. The
+drawing area may actually be allocated a size
+larger than this depending on how it is packed
+within the enclosing containers. The effect
+of this is determined by whether the preview
+is set to expand or not (see gtk_preview_expand())
+</para>
+
+@preview: a #GtkPreview.
+@width: the new width.
+@height: the new height.
+
+
+<!-- ##### FUNCTION gtk_preview_put ##### -->
+<para>
+Takes a portion of the contents of a preview widget
+and draws it onto the given drawable, @window.
+</para>
+
+@preview: a #GtkPreview.
+@window: a window or pixmap.
+@gc: The graphics context for the operation. Only the
+ clip mask for this GC matters.
+@srcx: the x coordinate of the upper left corner in the source image.
+@srcy: the y coordinate of the upper left corner in the source image.
+@destx: the x coordinate of the upper left corner in the destination image.
+@desty: the y coordinate of the upper left corner in the destination image.
+@width: the width of the rectangular portion to draw.
+@height: the height of the rectangular portion to draw.
+
+
+<!-- ##### FUNCTION gtk_preview_draw_row ##### -->
+<para>
+Sets the data for a portion of a row.
+</para>
+
+@preview: a #GtkPreview.
+@data: the new data for the portion. It should contain
+ @w bytes of data if the preview is of type
+ GTK_TYPE_GRAYSCALE, and 3*@w bytes of data
+ if the preview is of type GTK_TYPE_COLOR.
+@x: the starting value on the row to set.
+@y: the row to change.
+@w: the number of pixels in the row to change.
+
+
+<!-- ##### FUNCTION gtk_preview_set_expand ##### -->
+<para>
+Determines the way that the the preview widget behaves
+when the size it is allocated is larger than the requested
+size. If @expand is %FALSE, then the preview's window
+and buffer will be no larger than the size set with
+gtk_preview_size(), and the data set will be centered
+in the allocation if it is larger. If @expand is %TRUE
+then the window and buffer will expand with the allocation;
+the application is responsible for catching
+the "size_allocate" signal and providing the data
+appropriate for this size.
+</para>
+
+@preview: a #GtkPreview.
+@expand: whether the preview's window should expand or not.
+
+
+<!-- ##### FUNCTION gtk_preview_set_gamma ##### -->
+<para>
+Set the gamma-correction value for all preview widgets.
+(This function will eventually be replaced with a
+function that sets a per-preview-widget gamma value).
+The resulting intensity is given by:
+<literal>destination_value * pow (source_value/255, 1/gamma)</literal>.
+The gamma value is applied when the data is
+set with gtk_preview_draw_row() so changing this
+value will not affect existing data in preview
+widgets.
+</para>
+
+@gamma: the new gamma value.
+
+
+<!-- ##### FUNCTION gtk_preview_set_color_cube ##### -->
+<para>
+This function is deprecated and does nothing. GdkRGB
+automatically picks an optimium color cube for the
+display.
+</para>
+
+@nred_shades: ignored
+@ngreen_shades: ignored
+@nblue_shades: ignored
+@ngray_shades: ignored
+
+
+<!-- ##### FUNCTION gtk_preview_set_install_cmap ##### -->
+<para>
+This function is deprecated
+and does nothing. GdkRGB will automatically pick
+a private colormap if it cannot allocate sufficient
+colors.
+</para>
+
+@install_cmap: ignored.
+
+
+<!-- ##### FUNCTION gtk_preview_set_reserved ##### -->
+<para>
+This function is deprecated and does nothing.
+</para>
+
+@nreserved: ignored.
+
+
+<!-- ##### FUNCTION gtk_preview_set_dither ##### -->
+<para>
+Set the dithering mode for the display.
+</para>
+
+@preview: a #GtkPreview.
+@dither: the dithering mode.
+
+
+<!-- ##### FUNCTION gtk_preview_get_visual ##### -->
+<para>
+Returns the visual used by preview widgets. This
+function is deprecated, and you should use
+gdk_rgb_get_visual() instead.
+</para>
+
+@Returns: the visual for previews.
+
+
+<!-- ##### FUNCTION gtk_preview_get_cmap ##### -->
+<para>
+Returns the colormap used by preview widgets. This
+function is deprecated, and you should use
+gdk_rgb_get_cmap() instead.
+</para>
+
+@Returns: the colormap for previews.
+
+
+<!-- ##### FUNCTION gtk_preview_get_info ##### -->
+<para>
+Return a #GtkPreviewInfo structure containing
+global information about preview widgets.
+</para>
+
+@Returns: a #GtkPreviewInfo structure. The return
+ value belongs to GTK+ and must not be modified
+ or freed.
+
+
+<!-- ##### FUNCTION gtk_preview_reset ##### -->
+<para>
+This function is deprecated and does nothing. It was
+once used for changing the colormap and visual on the fly.
+</para>
+
+
+
diff --git a/docs/reference/gtk/tmpl/gtkprivate.sgml b/docs/reference/gtk/tmpl/gtkprivate.sgml
new file mode 100644
index 000000000..3be551b99
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkprivate.sgml
@@ -0,0 +1,120 @@
+<!-- ##### SECTION Title ##### -->
+Private Information
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM GtkPrivateFlags ##### -->
+<para>
+
+</para>
+
+@PRIVATE_GTK_USER_STYLE:
+@PRIVATE_GTK_REDRAW_PENDING:
+@PRIVATE_GTK_RESIZE_PENDING:
+@PRIVATE_GTK_RESIZE_NEEDED:
+@PRIVATE_GTK_LEAVE_PENDING:
+@PRIVATE_GTK_HAS_SHAPE_MASK:
+@PRIVATE_GTK_IN_REPARENT:
+@PRIVATE_GTK_IS_OFFSCREEN:
+
+<!-- ##### MACRO GTK_PRIVATE_FLAGS ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_USER_STYLE ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_WIDGET_REDRAW_PENDING ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_CONTAINER_RESIZE_PENDING ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_WIDGET_RESIZE_NEEDED ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_WIDGET_LEAVE_PENDING ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_WIDGET_HAS_SHAPE_MASK ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_WIDGET_IN_REPARENT ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_WIDGET_IS_OFFSCREEN ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### MACRO GTK_PRIVATE_SET_FLAG ##### -->
+<para>
+
+</para>
+
+@wid:
+@flag:
+
+
+<!-- ##### MACRO GTK_PRIVATE_UNSET_FLAG ##### -->
+<para>
+
+</para>
+
+@wid:
+@flag:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkprogress.sgml b/docs/reference/gtk/tmpl/gtkprogress.sgml
new file mode 100644
index 000000000..f977ff991
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkprogress.sgml
@@ -0,0 +1,172 @@
+<!-- ##### SECTION Title ##### -->
+GtkProgress
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkProgress ##### -->
+<para>
+
+</para>
+
+@widget:
+@adjustment:
+@offscreen_pixmap:
+@format:
+@x_align:
+@y_align:
+@show_text:
+@activity_mode:
+
+<!-- ##### FUNCTION gtk_progress_set_show_text ##### -->
+<para>
+
+</para>
+
+@progress:
+@show_text:
+
+
+<!-- ##### FUNCTION gtk_progress_set_text_alignment ##### -->
+<para>
+
+</para>
+
+@progress:
+@x_align:
+@y_align:
+
+
+<!-- ##### FUNCTION gtk_progress_set_format_string ##### -->
+<para>
+
+</para>
+
+@progress:
+@format:
+
+
+<!-- ##### FUNCTION gtk_progress_set_adjustment ##### -->
+<para>
+
+</para>
+
+@progress:
+@adjustment:
+
+
+<!-- ##### FUNCTION gtk_progress_set_percentage ##### -->
+<para>
+
+</para>
+
+@progress:
+@percentage:
+
+
+<!-- ##### FUNCTION gtk_progress_set_value ##### -->
+<para>
+
+</para>
+
+@progress:
+@value:
+
+
+<!-- ##### FUNCTION gtk_progress_get_value ##### -->
+<para>
+
+</para>
+
+@progress:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_progress_set_activity_mode ##### -->
+<para>
+
+</para>
+
+@progress:
+@activity_mode:
+
+
+<!-- ##### FUNCTION gtk_progress_get_current_text ##### -->
+<para>
+
+</para>
+
+@progress:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_progress_get_text_from_value ##### -->
+<para>
+
+</para>
+
+@progress:
+@value:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_progress_get_current_percentage ##### -->
+<para>
+
+</para>
+
+@progress:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_progress_get_percentage_from_value ##### -->
+<para>
+
+</para>
+
+@progress:
+@value:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_progress_configure ##### -->
+<para>
+
+</para>
+
+@progress:
+@value:
+@min:
+@max:
+
+
+<!-- ##### ARG GtkProgress:activity_mode ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkProgress:show_text ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkProgress:text_xalign ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkProgress:text_yalign ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkprogressbar.sgml b/docs/reference/gtk/tmpl/gtkprogressbar.sgml
new file mode 100644
index 000000000..5838aba50
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkprogressbar.sgml
@@ -0,0 +1,150 @@
+<!-- ##### SECTION Title ##### -->
+GtkProgressBar
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkProgressBar ##### -->
+<para>
+
+</para>
+
+@progress:
+@bar_style:
+@orientation:
+@blocks:
+@in_block:
+@activity_pos:
+@activity_step:
+@activity_blocks:
+@activity_dir:
+
+<!-- ##### ENUM GtkProgressBarStyle ##### -->
+<para>
+
+</para>
+
+@GTK_PROGRESS_CONTINUOUS:
+@GTK_PROGRESS_DISCRETE:
+
+<!-- ##### ENUM GtkProgressBarOrientation ##### -->
+<para>
+
+</para>
+
+@GTK_PROGRESS_LEFT_TO_RIGHT:
+@GTK_PROGRESS_RIGHT_TO_LEFT:
+@GTK_PROGRESS_BOTTOM_TO_TOP:
+@GTK_PROGRESS_TOP_TO_BOTTOM:
+
+<!-- ##### FUNCTION gtk_progress_bar_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_progress_bar_new_with_adjustment ##### -->
+<para>
+
+</para>
+
+@adjustment:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_progress_bar_set_bar_style ##### -->
+<para>
+
+</para>
+
+@pbar:
+@style:
+
+
+<!-- ##### FUNCTION gtk_progress_bar_set_discrete_blocks ##### -->
+<para>
+
+</para>
+
+@pbar:
+@blocks:
+
+
+<!-- ##### FUNCTION gtk_progress_bar_set_activity_step ##### -->
+<para>
+
+</para>
+
+@pbar:
+@step:
+
+
+<!-- ##### FUNCTION gtk_progress_bar_set_activity_blocks ##### -->
+<para>
+
+</para>
+
+@pbar:
+@blocks:
+
+
+<!-- ##### FUNCTION gtk_progress_bar_set_orientation ##### -->
+<para>
+
+</para>
+
+@pbar:
+@orientation:
+
+
+<!-- ##### FUNCTION gtk_progress_bar_update ##### -->
+<para>
+
+</para>
+
+@pbar:
+@percentage:
+
+
+<!-- ##### ARG GtkProgressBar:adjustment ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkProgressBar:orientation ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkProgressBar:bar_style ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkProgressBar:activity_step ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkProgressBar:activity_blocks ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkProgressBar:discrete_blocks ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkradiobutton.sgml b/docs/reference/gtk/tmpl/gtkradiobutton.sgml
new file mode 100644
index 000000000..681ceec23
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkradiobutton.sgml
@@ -0,0 +1,85 @@
+<!-- ##### SECTION Title ##### -->
+GtkRadioButton
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkRadioButton ##### -->
+<para>
+
+</para>
+
+@check_button:
+@group:
+
+<!-- ##### FUNCTION gtk_radio_button_new ##### -->
+<para>
+
+</para>
+
+@group:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_radio_button_new_from_widget ##### -->
+<para>
+
+</para>
+
+@group:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_radio_button_new_with_label ##### -->
+<para>
+
+</para>
+
+@group:
+@label:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_radio_button_new_with_label_from_widget ##### -->
+<para>
+
+</para>
+
+@group:
+@label:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_radio_button_group ##### -->
+<para>
+
+</para>
+
+@radio_button:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_radio_button_set_group ##### -->
+<para>
+
+</para>
+
+@radio_button:
+@group:
+
+
+<!-- ##### ARG GtkRadioButton:group ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkradiomenuitem.sgml b/docs/reference/gtk/tmpl/gtkradiomenuitem.sgml
new file mode 100644
index 000000000..58d7fa5af
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkradiomenuitem.sgml
@@ -0,0 +1,61 @@
+<!-- ##### SECTION Title ##### -->
+GtkRadioMenuItem
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkRadioMenuItem ##### -->
+<para>
+
+</para>
+
+@check_menu_item:
+@group:
+
+<!-- ##### FUNCTION gtk_radio_menu_item_new ##### -->
+<para>
+
+</para>
+
+@group:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_radio_menu_item_new_with_label ##### -->
+<para>
+
+</para>
+
+@group:
+@label:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_radio_menu_item_group ##### -->
+<para>
+
+</para>
+
+@radio_menu_item:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_radio_menu_item_set_group ##### -->
+<para>
+
+</para>
+
+@radio_menu_item:
+@group:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkrange.sgml b/docs/reference/gtk/tmpl/gtkrange.sgml
new file mode 100644
index 000000000..2908bce5a
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkrange.sgml
@@ -0,0 +1,202 @@
+<!-- ##### SECTION Title ##### -->
+GtkRange
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkRange ##### -->
+<para>
+
+</para>
+
+@widget:
+@trough:
+@slider:
+@step_forw:
+@step_back:
+@x_click_point:
+@y_click_point:
+@button:
+@digits:
+@policy:
+@scroll_type:
+@in_child:
+@click_child:
+@need_timer:
+@timer:
+@old_value:
+@old_lower:
+@old_upper:
+@old_page_size:
+@adjustment:
+
+<!-- ##### FUNCTION gtk_range_get_adjustment ##### -->
+<para>
+
+</para>
+
+@range:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_range_set_update_policy ##### -->
+<para>
+
+</para>
+
+@range:
+@policy:
+
+
+<!-- ##### FUNCTION gtk_range_set_adjustment ##### -->
+<para>
+
+</para>
+
+@range:
+@adjustment:
+
+
+<!-- ##### FUNCTION gtk_range_draw_background ##### -->
+<para>
+
+</para>
+
+@range:
+
+
+<!-- ##### FUNCTION gtk_range_draw_trough ##### -->
+<para>
+
+</para>
+
+@range:
+
+
+<!-- ##### FUNCTION gtk_range_draw_slider ##### -->
+<para>
+
+</para>
+
+@range:
+
+
+<!-- ##### FUNCTION gtk_range_draw_step_forw ##### -->
+<para>
+
+</para>
+
+@range:
+
+
+<!-- ##### FUNCTION gtk_range_draw_step_back ##### -->
+<para>
+
+</para>
+
+@range:
+
+
+<!-- ##### FUNCTION gtk_range_slider_update ##### -->
+<para>
+
+</para>
+
+@range:
+
+
+<!-- ##### FUNCTION gtk_range_trough_click ##### -->
+<para>
+
+</para>
+
+@range:
+@x:
+@y:
+@jump_perc:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_range_default_hslider_update ##### -->
+<para>
+
+</para>
+
+@range:
+
+
+<!-- ##### FUNCTION gtk_range_default_vslider_update ##### -->
+<para>
+
+</para>
+
+@range:
+
+
+<!-- ##### FUNCTION gtk_range_default_htrough_click ##### -->
+<para>
+
+</para>
+
+@range:
+@x:
+@y:
+@jump_perc:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_range_default_vtrough_click ##### -->
+<para>
+
+</para>
+
+@range:
+@x:
+@y:
+@jump_perc:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_range_default_hmotion ##### -->
+<para>
+
+</para>
+
+@range:
+@xdelta:
+@ydelta:
+
+
+<!-- ##### FUNCTION gtk_range_default_vmotion ##### -->
+<para>
+
+</para>
+
+@range:
+@xdelta:
+@ydelta:
+
+
+<!-- ##### FUNCTION gtk_range_clear_background ##### -->
+<para>
+
+</para>
+
+@range:
+
+
+<!-- ##### ARG GtkRange:update_policy ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkrc.sgml b/docs/reference/gtk/tmpl/gtkrc.sgml
new file mode 100644
index 000000000..850384c40
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkrc.sgml
@@ -0,0 +1,724 @@
+<!-- ##### SECTION Title ##### -->
+Resource Files
+
+<!-- ##### SECTION Short_Description ##### -->
+Routines for handling resource files
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GTK+ provides resource file mechanism for configuring
+various aspects of the operation of a GTK+ program
+at runtime.
+</para>
+
+<refsect2><title>Default files</title>
+<para>
+An application can cause GTK+ to parse a specific RC
+file by calling gtk_rc_parse(). In addition to this,
+certain files will be read at the end of gtk_init().
+Unless modified, the files looked for will be <filename>.gtkrc</filename>
+in the users home directory, and
+<filename>$localstatedir/gtk/gtkrc</filename>
+(<literal>$localstatedir</literal> defaults to
+<filename>/usr/local/etc</filename>).
+</para>
+
+<para>
+The set of these <firstterm>default</firstterm> files
+can be retrieved with gtk_rc_get_default_files()
+and modified with gtk_rc_add_default_file() and
+gtk_rc_set_default_files().
+</para>
+
+<para>
+For each default file, in addition to the file itself,
+GTK+ will look for a locale-specific file that will
+be parsed in addition to the main file. For instance,
+if <literal>LANG</literal> is set to <literal>ja_JP.ujis</literal>,
+when loading the default file <filename>~/.gtkrc</filename>
+then GTK+ looks for <filename>~/.gtkrc.ja_JP.ujis</filename>,
+<filename>~/.gtkrc.ja_JP</filename>, and
+<filename>~/.gtkrc.ja</filename>, and parses the
+first one it finds.
+</para>
+</refsect2>
+
+<refsect2><title>Toplevel declarations</title>
+<para>
+An RC file is a text file which is composed of a sequence
+of declarations. '#' characters delimit comments and
+the portion of a line after a '#' is ignored when parsing
+an RC file.
+</para>
+
+<para>
+The possible toplevel declarations are:
+
+<variablelist>
+ <varlistentry>
+ <term><literal>binding <replaceable>name</replaceable>
+ { ... }</literal></term>
+ <listitem>
+ <para>Declare a binding set</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>class <replaceable>pattern</replaceable>
+ [ style | binding [ : <replaceable>priority</replaceable> ]]
+ <replaceable>name</replaceable></literal></term>
+ <listitem>
+ <para>Specify a style or binding set for a particular
+ branch of the inheritance heirarchy.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>include <replaceable>filename</replaceable></literal></term>
+ <listitem>
+ <para>Parse another file at this point</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>module_path <replaceable>path></replaceable></literal></term>
+ <listitem>
+ <para>Sets a path (a list of directories separated
+ by colons) that will be searched for theme engines referenced in
+ RC files.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>pixmap_path <replaceable>path></replaceable></literal></term>
+ <listitem>
+ <para>Sets a path (a list of directories separated
+ by colons) that will be searched for pixmaps referenced in
+ RC files.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>style <replaceable>name</replaceable> [ =
+ <replaceable>parent</replaceable> ] { ... }</literal></term>
+ <listitem>
+ <para>Declare a style</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>widget <replaceable>pattern</replaceable>
+ [ style | binding [ : <replaceable>priority</replaceable> ]]
+ <replaceable>name</replaceable></literal></term>
+ <listitem>
+ <para>Specify a style or binding set for a particular
+ group of widgets by matching on the widget path.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>widget_class <replaceable>pattern</replaceable>
+ [ style | binding [ : <replaceable>priority</replaceable> ]]
+ <replaceable>name</replaceable></literal></term>
+ <listitem>
+ <para>Specify a style or binding set for a particular
+ group of widgets by matching on the class path.</para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+<refsect2><title>Styles</title>
+<para>
+A RC style is specified by a <literal>style</literal>
+declaration in a RC file, and then bound to widgets
+with a <literal>widget</literal>, <literal>widget_class</literal>,
+or <literal>class</literal> declaration. All styles
+applying to a particular widget are composited together
+with <literal>widget</literal> declarations overriding
+<literal>widget_class</literal> declarations which, in
+turn, override <literal>widget</literal> declarations.
+Within each type of declaration, later declarations override
+earlier ones.
+</para>
+
+<para>
+Within a <literal>style</literal> declaration, the possible
+elements are:
+
+<variablelist>
+ <varlistentry>
+ <term><literal>bg[<replaceable>state</replaceable>] =
+ <replaceable>color</replaceable></literal></term>
+ <listitem>
+ <para>
+ Set color used for the background of most widgets.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>fg[<replaceable>state</replaceable>] =
+ <replaceable>color</replaceable></literal></term>
+ <listitem>
+ <para>
+ Set color used for the foreground of most widgets.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>base[<replaceable>state</replaceable>] =
+ <replaceable>color</replaceable></literal></term>
+ <listitem>
+ <para>
+ Set color used for the background of widgets displaying
+ editable text. This color is used for the background
+ of, among others, #GtkText, #GtkEntry, #GtkList, and #GtkClist.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>text[<replaceable>state</replaceable>] =
+ <replaceable>color</replaceable></literal></term>
+ <listitem>
+ <para>
+ Set color used for foreground of widgets using
+ <literal>base</literal> for the background color.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>bg_text[<replaceable>state</replaceable>] =
+ <replaceable>color</replaceable></literal></term>
+ <listitem>
+ <para>
+ Set a background pixmap to be used in place of
+ the <literal>bg</literal> color (or for #GtkText,
+ in place of the <literal>base</literal> color.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>font = <replaceable>font</replaceable></literal></term>
+ <listitem>
+ <para>
+ Set the font for a widget.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>fontset = <replaceable>font</replaceable></literal></term>
+ <listitem>
+ <para>
+ Set the fontset for a widget. Overrides any
+ <literal>font</literal> declarations.
+ </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+<para>
+The colors and background pixmaps are specified as a function of the
+state of the widget. The states are:
+
+<variablelist>
+ <varlistentry>
+ <term><literal>NORMAL</literal></term>
+ <listitem>
+ <para>
+ A color used for a widget in its normal state
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>ACTIVE</literal></term>
+ <listitem>
+ <para>
+ A variant of the <literal>NORMAL</literal> color used when the
+ widget is in the %GTK_STATE_ACTIVE state, and also for
+ the trough of a ScrollBar, tabs of a NoteBook
+ other than the current tab and similar areas.
+ Frequently, this should be a darker variant
+ of the <literal>NORMAL</literal> color.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>PRELIGHT</literal></term>
+ <listitem>
+ <para>
+ A color used for widgets in the %GTK_STATE_PRELIGHT state. This
+ state is the used for Buttons and MenuItems
+ that have the mouse cursor over them, and for
+ their children.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>SELECTED</literal></term>
+ <listitem>
+ <para>
+ A color used to highlight data selected by the user.
+ for instance, the selected ListItems in a List widget, and the
+ selection in an Editable widget.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal>INSENSITIVE</literal></term>
+ <listitem>
+ <para>
+ A color used for the background of widgets that have
+ been set insenstivie with gtk_widget_set_senstive()
+ </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+</para>
+
+<para>
+Colors can be specified as a string <literal>"#rrrrggggbbbb"</literal>,
+<literal>"#rrrgggbbb"</literal>, <literal>"#rrggbb"</literal>,
+or <literal>"#rgb"</literal>, where <literal>r</literal>
+<literal>g</literal>, and <literal>b</literal> are
+hex digits, or they can be specified as a triplet of floats
+<literal>{ <replaceable>r</replaceable>, <replaceable>g</replaceable>,
+<replaceable>b</replaceable>}</literal>.
+</para>
+</refsect2>
+
+<refsect2><title>Key bindings</title>
+<para>
+Key bindings allow the user to specify actions to be
+taken on particular key presses. The form of a binding
+set declaration is:
+</para>
+
+<programlisting>
+binding <replaceable>name</replaceable> {
+ bind <replaceable>key</replaceable> {
+ <replaceable>signalname</replaceable> (<replaceable>param</replaceable>, ...)
+ ...
+ }
+ ...
+}
+</programlisting>
+
+<para>
+<replaceable>key</replaceable> is a string consisting of a
+series of modifiers followed by the name of a key. The
+modifiers can be:
+<simplelist>
+<member><literal>&lt;alt&gt;</literal></member>
+<member><literal>&lt;control&gt;</literal></member>
+<member><literal>&lt;mod1&gt;</literal></member>
+<member><literal>&lt;mod2&gt;</literal></member>
+<member><literal>&lt;mod3&gt;</literal></member>
+<member><literal>&lt;mod4&gt;</literal></member>
+<member><literal>&lt;mod5&gt;</literal></member>
+<member><literal>&lt;release&gt;</literal></member>
+<member><literal>&lt;shft&gt;</literal></member>
+<member><literal>&lt;shift&gt;</literal></member>
+</simplelist>
+<literal>&lt;shft&gt;</literal> is an alias for
+<literal>&lt;shift&gt;</literal> and
+<literal>&lt;alt&gt;</literal> is an alias for
+<literal>&lt;mod1&gt;</literal>.
+</para>
+
+<para>
+The action that is bound to the key is a sequence
+of signal names (strings) followed by parameters for
+each signal. The signals must be action signals.
+(See gtk_signal_new()). Each parameter can be
+a float, integer, string, or unquoted string
+representing an enumeration value. The types of
+the parameters specified must match the types of the
+parameters of the signal.
+</para>
+
+<para>
+Binding sets are connected to widgets in the
+same manner as styles, with one addition.
+A priority can be specified for each pattern,
+and within each type of pattern, binding sets
+override other binding sets first by priority,
+and only then by order of specification. (Later
+overrides earlier). The priorities that can
+be specified are (highest to lowest):
+<simplelist>
+<member><literal>HIGHEST</literal></member>
+<member><literal>RC</literal></member>
+<member><literal>APPLICATION</literal></member>
+<member><literal>GTK</literal></member>
+<member><literal>LOWEST</literal></member>
+</simplelist>
+<literal>RC</literal> is the default for bindings
+read from an RC file, <literal>APPLICATION</literal>
+should be used for bindings an application sets
+up, and <literal>GTK</literal> is used for bindings
+that GTK+ creates internally.
+</para>
+</refsect2>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkRcStyle ##### -->
+<para>
+The #GtkRcStyle structure is used to represent a set
+of information about the appearance of a widget.
+This can later be composited together with other
+#GtkRcStyle structures to form a #GtkStyle.
+</para>
+
+@name:
+@font_name:
+@fontset_name:
+@bg_pixmap_name:
+@color_flags:
+@fg:
+@bg:
+@text:
+@base:
+@engine:
+@engine_data:
+@ref_count:
+
+<!-- ##### ENUM GtkRcFlags ##### -->
+<para>
+The #GtkRcFlags enumeration is used as a bitmask
+to specify which fields of a #GtkRcStyle have been
+set for each state.
+</para>
+<variablelist>
+ <varlistentry><term> %GTK_RC_FG </term>
+ <listitem>
+ <para>
+ If present, the foreground color has been set for this state.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term> %GTK_RC_BG </term>
+ <listitem>
+ <para>
+ If present, the background color has been set for this state.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term> %GTK_RC_TEXT </term>
+ <listitem>
+ <para>
+ If present, the text color has been set for this state.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry><term> %GTK_RC_BASE </term>
+ <listitem>
+ <para>
+ If present, the base color has been set for this state.
+ </para>
+ </listitem>
+ </varlistentry>
+</variablelist>
+
+@GTK_RC_FG:
+@GTK_RC_BG:
+@GTK_RC_TEXT:
+@GTK_RC_BASE:
+
+<!-- ##### USER_FUNCTION GtkImageLoader ##### -->
+<para>
+A GtkImageLoader is used to load a filename found in
+a RC file.
+</para>
+
+@window: the window for creating image
+@colormap: the colormap for this image
+@mask: a pointer to the location to store the mask
+@transparent_color: the transparent color for the image
+@filename: filename to load
+@Returns: a #GtkPixmap representing @filename
+
+
+<!-- ##### ENUM GtkRcTokenType ##### -->
+<para>
+The #GtkRcTokenType enumeration represents the tokens
+in the RC file. It is exposed so that theme engines
+can reuse these tokens when parsing the theme-engine
+specific portions of a RC file.
+</para>
+
+@GTK_RC_TOKEN_INVALID:
+@GTK_RC_TOKEN_INCLUDE:
+@GTK_RC_TOKEN_NORMAL:
+@GTK_RC_TOKEN_ACTIVE:
+@GTK_RC_TOKEN_PRELIGHT:
+@GTK_RC_TOKEN_SELECTED:
+@GTK_RC_TOKEN_INSENSITIVE:
+@GTK_RC_TOKEN_FG:
+@GTK_RC_TOKEN_BG:
+@GTK_RC_TOKEN_BASE:
+@GTK_RC_TOKEN_TEXT:
+@GTK_RC_TOKEN_FONT:
+@GTK_RC_TOKEN_FONTSET:
+@GTK_RC_TOKEN_BG_PIXMAP:
+@GTK_RC_TOKEN_PIXMAP_PATH:
+@GTK_RC_TOKEN_STYLE:
+@GTK_RC_TOKEN_BINDING:
+@GTK_RC_TOKEN_BIND:
+@GTK_RC_TOKEN_WIDGET:
+@GTK_RC_TOKEN_WIDGET_CLASS:
+@GTK_RC_TOKEN_CLASS:
+@GTK_RC_TOKEN_LOWEST:
+@GTK_RC_TOKEN_GTK:
+@GTK_RC_TOKEN_APPLICATION:
+@GTK_RC_TOKEN_RC:
+@GTK_RC_TOKEN_HIGHEST:
+@GTK_RC_TOKEN_ENGINE:
+@GTK_RC_TOKEN_MODULE_PATH:
+@GTK_RC_TOKEN_LAST:
+
+<!-- ##### FUNCTION gtk_rc_get_style ##### -->
+<para>
+Finds all matching RC styles for a given widget,
+composites them together, and then creates a
+#GtkStyle representing the composite appearance.
+(GTK+ actually keeps a cache of previously
+created styles, so a new style may not be
+created.)
+</para>
+
+@widget: a #GtkWidget
+@Returns: the resulting style. The caller should
+reference the result, since GTK+ will retain the
+initial reference count itself for the cache
+of created styles.
+
+
+<!-- ##### FUNCTION gtk_rc_add_widget_name_style ##### -->
+<para>
+Add a RcStyle that will be looked up by a match against
+the widget's pathname. This is equivalent to a:
+<programlisting>
+widget PATTERN style STYLE
+</programlisting>
+statement in a RC file.
+</para>
+
+@rc_style: the #GtkRcStyle to use for widgets matching @pattern
+@pattern: the pattern
+
+
+<!-- ##### FUNCTION gtk_rc_add_widget_class_style ##### -->
+<para>
+Add a RcStyle that will be looked up by a match against
+the widget's class pathname. This is equivalent to a:
+
+<programlisting>
+widget_class PATTERN style STYLE
+</programlisting>
+statement in a RC file.
+</para>
+
+@rc_style: the #GtkRcStyle to use for widgets matching @pattern
+@pattern: the pattern
+
+
+<!-- ##### FUNCTION gtk_rc_add_class_style ##### -->
+<para>
+Add a RcStyle that will be looked up by a matching against
+the class heirarchy of the widget. This is equivalent to a:
+<programlisting>
+class PATTERN style STYLE
+</programlisting>
+statement in a RC file.
+</para>
+
+@rc_style: the #GtkRcStyle to use for widgets deriving from @pattern
+@pattern: the pattern
+
+
+<!-- ##### FUNCTION gtk_rc_parse ##### -->
+<para>
+Parse a given resource file.
+</para>
+
+@filename: the filename of a file to parse.
+
+
+<!-- ##### FUNCTION gtk_rc_parse_string ##### -->
+<para>
+Parse resource information directly from a string.
+</para>
+
+@rc_string: a string to parse.
+
+
+<!-- ##### FUNCTION gtk_rc_reparse_all ##### -->
+<para>
+If the modification time on any previously read file
+has changed, discard all style information
+and then reread all previously read RC files.
+</para>
+
+@Returns: %TRUE if the files were reread.
+
+
+<!-- ##### FUNCTION gtk_rc_add_default_file ##### -->
+<para>
+Adds a file to the list of files to be parsed at the
+end of gtk_init().
+</para>
+
+@filename: the pathname to the file.
+
+
+<!-- ##### FUNCTION gtk_rc_get_default_files ##### -->
+<para>
+Retrieves the current list of RC files that will be parsed
+at the end of gtk_init()
+</para>
+
+@Returns: A NULL terminated array of filenames. This memory
+is owned by GTK+ and must not be freed by the application.
+If you want to store this information, you should make a
+copy.
+
+
+<!-- ##### FUNCTION gtk_rc_set_default_files ##### -->
+<para>
+Sets the list of files that GTK+ will read at the
+end of gtk_init()
+</para>
+
+@filenames: A %NULL terminated list of filenames.
+
+
+<!-- ##### FUNCTION gtk_rc_parse_color ##### -->
+<para>
+Parses a color in the format expected in a RC file.
+</para>
+
+@scanner: a #GtkScanner
+@color: a pointer to a #GtkColor structure in which to store the result
+@Returns: %G_TOKEN_NONE if parsing suceeded, otherwise the token
+that was expected but not found.
+
+
+<!-- ##### FUNCTION gtk_rc_parse_state ##### -->
+<para>
+Parses a #GtkStateType variable from the format expected
+in a RC file.
+</para>
+
+@scanner: a #GtkScanner (must be initialized for parsing an RC file)
+@state: A pointer to a #GtkStateType variable in which to
+store the result.
+@Returns: %G_TOKEN_NONE if parsing suceeded, otherwise the token
+that was expected but not found.
+
+
+<!-- ##### FUNCTION gtk_rc_parse_priority ##### -->
+<para>
+Parses a #GtkPathPriorityType variable from the format expected
+in a RC file.
+</para>
+
+@scanner: a #GtkScanner (must be initialized for parsing an RC file)
+@priority: A pointer to #GtkPathPriorityType variable in which
+to store the result.
+@Returns: %G_TOKEN_NONE if parsing suceeded, otherwise the token
+that was expected but not found.
+
+
+<!-- ##### FUNCTION gtk_rc_find_module_in_path ##### -->
+<para>
+Looks up a file in the current module path.
+</para>
+
+@module_file: The name of the module to search for.
+@Returns: The filename, if found. (Must be freed with g_free()),
+otherwise %NULL.
+
+
+<!-- ##### FUNCTION gtk_rc_find_pixmap_in_path ##### -->
+<para>
+Looks up a file in the current pixmap path. If the file is
+not found, it outputs a warning message using g_warning()
+and returns %NULL.
+</para>
+
+@scanner: a #GtkScanner. Used for printing out warning messages
+if the file is not found.
+@pixmap_file: The name of the file to search for.
+@Returns: The filename, if found. (Must be freed with g_free()),
+otherwise %NULL.
+
+
+<!-- ##### FUNCTION gtk_rc_get_module_dir ##### -->
+<para>
+Returns the directory in which GTK+ will look for
+theme engines.
+</para>
+
+@Returns: The directory. (Must be freed with g_free())
+
+
+<!-- ##### FUNCTION gtk_rc_get_theme_dir ##### -->
+<para>
+Returns the standard directory in which themes should
+be installed. (GTK+ does not actually use this directory
+itself.)
+</para>
+
+@Returns: The directory. (Must be freed with g_free())
+
+
+<!-- ##### FUNCTION gtk_rc_set_image_loader ##### -->
+<para>
+Sets the function that GTK+ will use to load images
+</para>
+
+@loader: the #GtkImageLoader to use
+
+
+<!-- ##### FUNCTION gtk_rc_load_image ##### -->
+<para>
+Internal function. Loads an image using the current
+image loader.
+</para>
+
+@colormap: the colormap to use for the image
+@transparent_color: the transparent color for the image
+@filename: the filename of the image file
+@Returns: a #GtkPixmap representing @filename
+
+
+<!-- ##### FUNCTION gtk_rc_style_new ##### -->
+<para>
+Create a new #GtkRcStyle with no fields set and
+a reference count of 1.
+</para>
+
+@Returns: the newly create #GtkRcStyle
+
+
+<!-- ##### FUNCTION gtk_rc_style_ref ##### -->
+<para>
+Increment the reference count of a #GtkRcStyle.
+</para>
+
+@rc_style: a #GtkRcStyle
+
+
+<!-- ##### FUNCTION gtk_rc_style_unref ##### -->
+<para>
+Decrement the reference count of a #GtkRcStyle and
+free if the result is 0.
+</para>
+
+@rc_style: a #GtkRcStyle
+
+
+<!-- ##### FUNCTION gtk_rc_init ##### -->
+<para>
+Internal function.
+</para>
+
+
+
diff --git a/docs/reference/gtk/tmpl/gtkruler.sgml b/docs/reference/gtk/tmpl/gtkruler.sgml
new file mode 100644
index 000000000..2dcf0028a
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkruler.sgml
@@ -0,0 +1,81 @@
+<!-- ##### SECTION Title ##### -->
+GtkRuler
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkRuler ##### -->
+<para>
+
+</para>
+
+@widget:
+@backing_store:
+@non_gr_exp_gc:
+@metric:
+@xsrc:
+@ysrc:
+@slider_size:
+@lower:
+@upper:
+@position:
+@max_size:
+
+<!-- ##### STRUCT GtkRulerMetric ##### -->
+<para>
+
+</para>
+
+@metric_name:
+@abbrev:
+@pixels_per_unit:
+@ruler_scale:
+@subdivide:
+
+<!-- ##### FUNCTION gtk_ruler_set_metric ##### -->
+<para>
+
+</para>
+
+@ruler:
+@metric:
+
+
+<!-- ##### FUNCTION gtk_ruler_set_range ##### -->
+<para>
+
+</para>
+
+@ruler:
+@lower:
+@upper:
+@position:
+@max_size:
+
+
+<!-- ##### FUNCTION gtk_ruler_draw_ticks ##### -->
+<para>
+
+</para>
+
+@ruler:
+
+
+<!-- ##### FUNCTION gtk_ruler_draw_pos ##### -->
+<para>
+
+</para>
+
+@ruler:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkscale.sgml b/docs/reference/gtk/tmpl/gtkscale.sgml
new file mode 100644
index 000000000..8eaf20100
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkscale.sgml
@@ -0,0 +1,100 @@
+<!-- ##### SECTION Title ##### -->
+GtkScale
+
+<!-- ##### SECTION Short_Description ##### -->
+a base class for #GtkHScale and #GtkVScale.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkScale widget is an abstract class, used only for deriving the
+subclasses #GtkHScale and #GtkVScale.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkScale ##### -->
+<para>
+The #GtkScale-struct struct contains the following fields.
+(These fields should be considered read-only. They should never be set by
+an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#guint <structfield>draw_value</structfield>;</entry>
+<entry>non-zero if the scale's current value is displayed next to the
+slider.</entry>
+</row>
+
+<row>
+<entry>#guint <structfield>value_pos</structfield>;</entry>
+<entry>the position in which the textual value is displayed, selected from
+#GtkPositionType.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@range:
+@draw_value:
+@value_pos:
+
+<!-- ##### FUNCTION gtk_scale_set_digits ##### -->
+<para>
+Sets the number of decimal places that are displayed in the value.
+</para>
+
+@scale: a #GtkScale.
+@digits: the number of decimal places to display, e.g. use 1 to display 1.0,
+2 to display 1.00 etc.
+
+
+<!-- ##### FUNCTION gtk_scale_set_draw_value ##### -->
+<para>
+Specifies whether the current value is displayed as a string next to the
+slider.
+</para>
+
+@scale: a #GtkScale.
+@draw_value:
+
+
+<!-- ##### FUNCTION gtk_scale_set_value_pos ##### -->
+<para>
+Sets the position in which the current value is displayed.
+</para>
+
+@scale: a #GtkScale.
+@pos: the position in which the current value is displayed.
+
+
+<!-- ##### FUNCTION gtk_scale_get_value_width ##### -->
+<para>
+An internal function used to get the maximum width needed to display the value
+string.
+</para>
+
+@scale: a #GtkScale.
+@Returns: the maximum width needed to display the value string.
+
+
+<!-- ##### ARG GtkScale:digits ##### -->
+<para>
+The number of decimal places that are displayed in the value.
+</para>
+
+<!-- ##### ARG GtkScale:draw_value ##### -->
+<para>
+If the current value is displayed as a string next to the slider.
+</para>
+
+<!-- ##### ARG GtkScale:value_pos ##### -->
+<para>
+The position in which the current value is displayed.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkscrollbar.sgml b/docs/reference/gtk/tmpl/gtkscrollbar.sgml
new file mode 100644
index 000000000..a459493b0
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkscrollbar.sgml
@@ -0,0 +1,23 @@
+<!-- ##### SECTION Title ##### -->
+GtkScrollbar
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkScrollbar ##### -->
+<para>
+
+</para>
+
+@range:
+
diff --git a/docs/reference/gtk/tmpl/gtkscrolledwindow.sgml b/docs/reference/gtk/tmpl/gtkscrolledwindow.sgml
new file mode 100644
index 000000000..02163acd9
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkscrolledwindow.sgml
@@ -0,0 +1,199 @@
+<!-- ##### SECTION Title ##### -->
+GtkScrolledWindow
+
+<!-- ##### SECTION Short_Description ##### -->
+
+Adds scrollbars to its child widget.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+#GtkScrolledWindow is a #GtkBin subclass: it's a container
+the accepts a single child widget. #GtkScrolledWindow adds scrollbars
+to the child widget.
+</para>
+
+<para>
+The scrolled window can work in two ways. Some widgets have native
+scrolling support; these widgets have "slots" for #GtkAdjustment
+objects. The scrolled window installs #GtkAdjustment objects in the
+child window's slots using the set_scroll_adjustments_signal, found in
+#GtkWidgetClass. (Conceptually, these widgets implement a "Scrollable"
+interface; because GTK+ 1.2 lacks multiple inheritance, this interface
+is hackily implemented as a signal in #GtkWidgetClass.)
+</para>
+
+<para>
+The second way to use the scrolled window is useful with widgets that
+lack the set_scroll_adjustments_signal. The #GtkViewport widget acts as
+a proxy, implementing scrollability for child widgets that lack their
+own scrolling capabilities.
+</para>
+
+<para>
+If a widget has native scrolling abilities, it can be added to the
+#GtkScrolledWindow with gtk_container_add(). If a widget does not, you
+must first add the widget to a #GtkViewport, then add the GtkViewport
+to the scrolled window. The convenience function
+gtk_scrolled_window_add_with_viewport() does exactly this, so you can
+ignore the presence of the viewport.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+#GtkViewport, #GtkAdjustment, #GtkWidgetClass
+</para>
+
+<!-- ##### STRUCT GtkScrolledWindow ##### -->
+<para>
+There are no public fields in the #GtkScrolledWindow struct; it should
+only be accessed using the functions below.
+</para>
+
+@container:
+@hscrollbar:
+@vscrollbar:
+@hscrollbar_policy:
+@vscrollbar_policy:
+@hscrollbar_visible:
+@vscrollbar_visible:
+@window_placement:
+
+<!-- ##### FUNCTION gtk_scrolled_window_new ##### -->
+<para>
+Creates a new scrolled window. The two arguments are the scrolled
+window's adjustments; these will be shared with the scrollbars and the
+child widget to keep the bars in sync with the child. Usually you want
+to pass NULL for the adjustments, which will cause the scrolled window
+to create them for you.
+</para>
+
+@hadjustment: Horizontal adjustment.
+@vadjustment: Vertical adjustment.
+@Returns: New scrolled window.
+
+
+<!-- ##### FUNCTION gtk_scrolled_window_get_hadjustment ##### -->
+<para>
+Returns the horizontal scrollbar's adjustment, used to connect the
+horizontal scrollbar to the child widget's horizontal scroll
+functionality.
+</para>
+
+@scrolled_window: A #GtkScrolledWindow.
+@Returns: The horizontal #GtkAdjustment.
+
+
+<!-- ##### FUNCTION gtk_scrolled_window_get_vadjustment ##### -->
+<para>
+Returns the vertical scrollbar's adjustment, used to connect the
+vertical scrollbar to the child widget's vertical scroll
+functionality.
+</para>
+
+@scrolled_window: A #GtkScrolledWindow.
+@Returns: The vertical #GtkAdjustment.
+
+
+<!-- ##### FUNCTION gtk_scrolled_window_set_policy ##### -->
+<para>
+Sets the scrollbar policy for the horizontal and vertical scrollbars.
+The policy determines when the scrollbar should appear; it is a value
+from the #GtkPolicyType enumeration. If %GTK_POLICY_ALWAYS, the
+scrollbar is always present; if %GTK_POLICY_NEVER, the scrollbar is
+never present; if %GTK_POLICY_AUTOMATIC, the scrollbar is present only
+if needed (that is, if the slider part of the bar would be smaller
+than the trough - the display is larger than the page size).
+</para>
+
+@scrolled_window: A #GtkScrolledWindow.
+@hscrollbar_policy: Policy for horizontal bar.
+@vscrollbar_policy: Policy for vertical bar.
+
+
+<!-- ##### FUNCTION gtk_scrolled_window_add_with_viewport ##### -->
+<para>
+Used to add children without native scrolling capabilities. This is
+simply a convenience function; it is equivalent to adding the
+unscrollable child to a viewport, then adding the viewport to the
+scrolled window. If a child has native scrolling, use
+gtk_container_add() instead of this function.
+</para>
+
+<para>
+The viewport scrolls the child by moving its #GdkWindow, and takes the
+size of the child to be the size of its toplevel #GdkWindow. This will
+be very wrong for most widgets that support native scrolling; for
+example, if you add a #GtkCList with a viewport, the whole widget will
+scroll, including the column headings. Thus #GtkCList supports
+scrolling already, and should not be used with the #GtkViewport proxy.
+</para>
+
+<para>
+A widget supports scrolling natively if the
+set_scroll_adjustments_signal field in #GtkWidgetClass is non-zero,
+i.e. has been filled in with a valid signal identifier.
+</para>
+
+@scrolled_window: A #GtkScrolledWindow.
+@child: Widget you want to scroll.
+
+
+<!-- ##### FUNCTION gtk_scrolled_window_set_hadjustment ##### -->
+<para>
+Sets the #GtkAdjustment for the horizontal scrollbar.
+</para>
+
+@scrolled_window: A #GtkScrolledWindow.
+@hadjustment: Horizontal scroll adjustment.
+
+
+<!-- ##### FUNCTION gtk_scrolled_window_set_placement ##### -->
+<para>
+Determines the location of the child widget with respect to the
+scrollbars. The default is %GTK_CORNER_TOP_LEFT, meaning the child is
+in the top left, with the scrollbars underneath and to the right.
+Other values in #GtkCornerType are %GTK_CORNER_TOP_RIGHT,
+%GTK_CORNER_BOTTOM_LEFT, and %GTK_CORNER_BOTTOM_RIGHT.
+</para>
+
+@scrolled_window: A #GtkScrolledWindow.
+@window_placement: Position of the child window.
+
+
+<!-- ##### FUNCTION gtk_scrolled_window_set_vadjustment ##### -->
+<para>
+Sets the #GtkAdjustment for the vertical scrollbar.
+</para>
+
+@scrolled_window: A #GtkScrolledWindow.
+@hadjustment:
+<!-- # Unused Parameters # -->
+@vadjustment: Vertical scroll adjustment.
+
+
+<!-- ##### ARG GtkScrolledWindow:hadjustment ##### -->
+<para>
+Horizontal adjustment. See gtk_scrolled_window_set_hadjustment(), gtk_scrolled_window_get_hadjustment().
+</para>
+
+<!-- ##### ARG GtkScrolledWindow:vadjustment ##### -->
+<para>
+Vertical adjustment. See gtk_scrolled_window_set_vadjustment(), gtk_scrolled_window_get_vadjustment().
+</para>
+
+<!-- ##### ARG GtkScrolledWindow:hscrollbar_policy ##### -->
+<para>
+Horizontal scrollbar policy (show scrollbar always, never, or "when appropriate").
+</para>
+
+<!-- ##### ARG GtkScrolledWindow:vscrollbar_policy ##### -->
+<para>
+Vertical scrollbar policy (show scrollbar always, never, or "when appropriate").
+</para>
+
+<!-- ##### ARG GtkScrolledWindow:window_placement ##### -->
+<para>
+Position of child window with respect to scrollbars; top left, top
+right, bottom left, bottom right.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkselection.sgml b/docs/reference/gtk/tmpl/gtkselection.sgml
new file mode 100644
index 000000000..6e873df05
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkselection.sgml
@@ -0,0 +1,270 @@
+<!-- ##### SECTION Title ##### -->
+Selections
+
+<!-- ##### SECTION Short_Description ##### -->
+Functions for handling inter-process communication via selections.
+
+<!-- ##### SECTION Long_Description ##### -->
+
+<para>
+See the documentation for #GtkWidget for descriptions
+of the "selection_get" and "selection_received" signals.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkTargetEntry ##### -->
+<para>
+A #GtkTargetEntry structure represents a single type of
+data than can be supplied for by a widget for a selection
+or for supplied or received during drag-and-drop. It
+contains a string representing the drag type, a flags
+field (used only for drag and drop - see #GtkTargetFlags),
+and an application assigned integer ID. The integer
+ID will later be passed as a signal parameter for signals
+like "selection_get". It allows the application to identify
+the target type without extensive string compares.
+</para>
+
+@target:
+@flags:
+@info:
+
+<!-- ##### STRUCT GtkTargetList ##### -->
+<para>
+A #GtkTargetList structure is a reference counted list
+of #GtkTargetPair. It is used to represent the same
+information as a table of #GtkTargetEntry, but in
+an efficient form. This structure should be treated as
+opaque.
+</para>
+
+@list:
+@ref_count:
+
+<!-- ##### STRUCT GtkTargetPair ##### -->
+<para>
+Internally used structure in the drag-and-drop and
+selection handling code.
+
+@target:
+@flags:
+@info:
+
+<!-- ##### FUNCTION gtk_target_list_new ##### -->
+<para>
+Create a new #GtkTargetList from an array of #GtkTargetEntry.
+</para>
+
+@targets: Pointer to an array of #GtkTargetEntry
+@ntargets: number of entries in @targets.
+@Returns: the new #GtkTargetList.
+
+
+<!-- ##### FUNCTION gtk_target_list_ref ##### -->
+<para>
+Increase the reference count of a #GtkTargetList by one.
+</para>
+
+@list: a #GtkTargetList
+
+
+<!-- ##### FUNCTION gtk_target_list_unref ##### -->
+<para>
+Decrease the reference count of a #GtkTargetList by one.
+If the resulting reference count is zero, free the list.
+</para>
+
+@list: a #GtkTargetList
+
+
+<!-- ##### FUNCTION gtk_target_list_add ##### -->
+<para>
+Add another target to a #GtkTargetList
+</para>
+
+@list: a #GtkTargetList
+@target: the interned atom representing the target
+@flags: the flags for this target
+@info: an ID that will be passed back to the application
+
+
+<!-- ##### FUNCTION gtk_target_list_add_table ##### -->
+<para>
+Add a table of #GtkTargetEntry into a target list
+</para>
+
+@list: a #GtkTargetList
+@targets: the table of #GtkTargetEntry
+@ntargets: number of targets in the table
+
+
+<!-- ##### FUNCTION gtk_target_list_remove ##### -->
+<para>
+Remove a target from a target list
+</para>
+
+@list: a #GtkTargetList
+@target: the interned atom representing the target
+
+
+<!-- ##### FUNCTION gtk_target_list_find ##### -->
+<para>
+Look up a given target in a #GtkTargetList
+</para>
+
+@list: a #GtkTargetList
+@target: an interned atom representing the target to search for
+@info: a pointer to the location to store application info for target
+@Returns: %TRUE if the target was found, otherwise %FALSE
+
+
+<!-- ##### FUNCTION gtk_selection_owner_set ##### -->
+<para>
+Claim ownership of a given selection for a particular widget,
+or, if @widget is %NULL, release ownership of the selection.
+</para>
+
+@widget: a #GtkWidget, or %NULL.
+@selection: an interned atom representing the selection to claim
+@time: the time stamp for claiming the selection
+@Returns: %TRUE if the operation succeeded
+
+
+<!-- ##### FUNCTION gtk_selection_add_target ##### -->
+<para>
+Add specified target to the list of supported targets for a
+given widget and selection.
+</para>
+
+@widget: a #GtkTarget
+@selection: the selection
+@target: target to add.
+@info: A unsigned integer which will be passed back to the application.
+
+
+<!-- ##### FUNCTION gtk_selection_add_targets ##### -->
+<para>
+Add a table of targets to the list of supported targets
+for a given widget and selection.
+</para>
+
+@widget: a #GtkWidget
+@selection: the selection
+@targets: a table of targets to add
+@ntargets: number of entries in @targets
+
+
+<!-- ##### FUNCTION gtk_selection_convert ##### -->
+<para>
+Request the contents of a selection. When received,
+a "selection_received" signal will be generated.
+</para>
+
+@widget: The widget which acts as requestor
+@selection: Which selection to get
+@target: Form of information desired (e.g., STRING)
+@time: Time of request (usually of triggering event)
+ In emergency, you could use GDK_CURRENT_TIME
+@Returns: TRUE if requested succeeded. FALSE if we could not process
+ request. (e.g., there was already a request in process for
+ this widget).
+
+
+<!-- ##### FUNCTION gtk_selection_data_set ##### -->
+<para>
+Store new data into a GtkSelectionData object. Should
+_only_ by called from a selection handler callback.
+Null terminates the stored data.
+</para>
+
+@selection_data:
+@type: the type of selection data
+@format: format (number of bits in a unit)
+@data: pointer to the data (will be copied)
+@length: length of the data
+
+
+<!-- ##### FUNCTION gtk_selection_remove_all ##### -->
+<para>
+Removes all handlers and unsets ownership of all
+selections for a widget. Called when widget is being
+destroyed. This function will not generally be
+called by applications.
+</para>
+
+@widget: a #GtkWidget
+
+
+<!-- ##### FUNCTION gtk_selection_data_copy ##### -->
+<para>
+Make a copy of a #GtkSelection data structure and its
+data.
+</para>
+
+@data: a pointer to a #GtkSelectionData structure.
+@Returns: a pointer to a copy of @data.
+
+
+<!-- ##### FUNCTION gtk_selection_data_free ##### -->
+<para>
+Free a #GtkSelectionData structure returned from
+gtk_selection_data_copy().
+</para>
+
+@data: a pointer to a #GtkSelectionData structure.
+
+
+<!-- ##### FUNCTION gtk_selection_clear ##### -->
+<para>
+Internal function.
+</para>
+
+@widget:
+@event:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_selection_incr_event ##### -->
+<para>
+Internal function.
+</para>
+
+@window:
+@event:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_selection_notify ##### -->
+<para>
+Internal function.
+</para>
+
+@widget:
+@event:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_selection_property_notify ##### -->
+<para>
+Internal function.
+</para>
+
+@widget:
+@event:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_selection_request ##### -->
+<para>
+Internal function.
+</para>
+
+@widget:
+@event:
+@Returns:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkseparator.sgml b/docs/reference/gtk/tmpl/gtkseparator.sgml
new file mode 100644
index 000000000..1f116c1d4
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkseparator.sgml
@@ -0,0 +1,24 @@
+<!-- ##### SECTION Title ##### -->
+GtkSeparator
+
+<!-- ##### SECTION Short_Description ##### -->
+a base class for #GtkHSeparator and #GtkVseparator.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkSeparator widget is an abstract class, used only for deriving the
+subclasses #GtkHSeparator and #GtkVSeparator.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkSeparator ##### -->
+<para>
+The #GtkSeparator-struct struct contains private data only.
+</para>
+
+@widget:
+
diff --git a/docs/reference/gtk/tmpl/gtksignal.sgml b/docs/reference/gtk/tmpl/gtksignal.sgml
new file mode 100644
index 000000000..3a450f324
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtksignal.sgml
@@ -0,0 +1,473 @@
+<!-- ##### SECTION Title ##### -->
+Signals
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GTK_SIGNAL_OFFSET ##### -->
+<para>
+
+</para>
+
+@struct:
+@field:
+
+
+<!-- ##### USER_FUNCTION GtkSignalMarshal ##### -->
+<para>
+
+</para>
+
+@object:
+@data:
+@nparams:
+@args:
+@arg_types:
+@return_type:
+
+
+<!-- ##### USER_FUNCTION GtkSignalDestroy ##### -->
+<para>
+
+</para>
+
+@data:
+
+
+<!-- ##### USER_FUNCTION GtkEmissionHook ##### -->
+<para>
+
+</para>
+
+@object:
+@signal_id:
+@n_params:
+@params:
+@data:
+@Returns:
+
+
+<!-- ##### STRUCT GtkSignalQuery ##### -->
+<para>
+
+</para>
+
+@object_type:
+@signal_id:
+@signal_name:
+@is_user_signal:
+@signal_flags:
+@return_val:
+@nparams:
+@params:
+
+<!-- ##### FUNCTION gtk_signal_init ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_signal_new ##### -->
+<para>
+
+</para>
+
+@name:
+@signal_flags:
+@object_type:
+@function_offset:
+@marshaller:
+@return_val:
+@nparams:
+@Varargs:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_newv ##### -->
+<para>
+
+</para>
+
+@name:
+@signal_flags:
+@object_type:
+@function_offset:
+@marshaller:
+@return_val:
+@nparams:
+@params:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_lookup ##### -->
+<para>
+
+</para>
+
+@name:
+@object_type:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_name ##### -->
+<para>
+
+</para>
+
+@signal_id:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_emit ##### -->
+<para>
+
+</para>
+
+@object:
+@signal_id:
+@Varargs:
+
+
+<!-- ##### FUNCTION gtk_signal_emit_by_name ##### -->
+<para>
+
+</para>
+
+@object:
+@name:
+@Varargs:
+
+
+<!-- ##### FUNCTION gtk_signal_emitv ##### -->
+<para>
+
+</para>
+
+@object:
+@signal_id:
+@params:
+
+
+<!-- ##### FUNCTION gtk_signal_emitv_by_name ##### -->
+<para>
+
+</para>
+
+@object:
+@name:
+@params:
+
+
+<!-- ##### FUNCTION gtk_signal_n_emissions ##### -->
+<para>
+
+</para>
+
+@object:
+@signal_id:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_n_emissions_by_name ##### -->
+<para>
+
+</para>
+
+@object:
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_emit_stop ##### -->
+<para>
+
+</para>
+
+@object:
+@signal_id:
+
+
+<!-- ##### FUNCTION gtk_signal_emit_stop_by_name ##### -->
+<para>
+
+</para>
+
+@object:
+@name:
+
+
+<!-- ##### FUNCTION gtk_signal_connect ##### -->
+<para>
+
+</para>
+
+@object:
+@name:
+@func:
+@func_data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_connect_after ##### -->
+<para>
+
+</para>
+
+@object:
+@name:
+@func:
+@func_data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_connect_object ##### -->
+<para>
+
+</para>
+
+@object:
+@name:
+@func:
+@slot_object:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_connect_object_after ##### -->
+<para>
+
+</para>
+
+@object:
+@name:
+@func:
+@slot_object:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_connect_full ##### -->
+<para>
+
+</para>
+
+@object:
+@name:
+@func:
+@marshal:
+@data:
+@destroy_func:
+@object_signal:
+@after:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_connect_object_while_alive ##### -->
+<para>
+
+</para>
+
+@object:
+@signal:
+@func:
+@alive_object:
+
+
+<!-- ##### FUNCTION gtk_signal_connect_while_alive ##### -->
+<para>
+
+</para>
+
+@object:
+@signal:
+@func:
+@func_data:
+@alive_object:
+
+
+<!-- ##### FUNCTION gtk_signal_disconnect ##### -->
+<para>
+
+</para>
+
+@object:
+@handler_id:
+
+
+<!-- ##### FUNCTION gtk_signal_disconnect_by_func ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@data:
+
+
+<!-- ##### FUNCTION gtk_signal_disconnect_by_data ##### -->
+<para>
+
+</para>
+
+@object:
+@data:
+
+
+<!-- ##### FUNCTION gtk_signal_handler_block ##### -->
+<para>
+
+</para>
+
+@object:
+@handler_id:
+
+
+<!-- ##### FUNCTION gtk_signal_handler_block_by_func ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@data:
+
+
+<!-- ##### FUNCTION gtk_signal_handler_block_by_data ##### -->
+<para>
+
+</para>
+
+@object:
+@data:
+
+
+<!-- ##### FUNCTION gtk_signal_handler_unblock ##### -->
+<para>
+
+</para>
+
+@object:
+@handler_id:
+
+
+<!-- ##### FUNCTION gtk_signal_handler_unblock_by_func ##### -->
+<para>
+
+</para>
+
+@object:
+@func:
+@data:
+
+
+<!-- ##### FUNCTION gtk_signal_handler_unblock_by_data ##### -->
+<para>
+
+</para>
+
+@object:
+@data:
+
+
+<!-- ##### FUNCTION gtk_signal_handler_pending ##### -->
+<para>
+
+</para>
+
+@object:
+@signal_id:
+@may_be_blocked:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_handler_pending_by_func ##### -->
+<para>
+
+</para>
+
+@object:
+@signal_id:
+@may_be_blocked:
+@func:
+@data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_handler_pending_by_id ##### -->
+<para>
+
+</para>
+
+@object:
+@handler_id:
+@may_be_blocked:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_handlers_destroy ##### -->
+<para>
+
+</para>
+
+@object:
+
+
+<!-- ##### FUNCTION gtk_signal_set_funcs ##### -->
+<para>
+
+</para>
+
+@marshal_func:
+@destroy_func:
+
+
+<!-- ##### FUNCTION gtk_signal_query ##### -->
+<para>
+
+</para>
+
+@signal_id:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_add_emission_hook ##### -->
+<para>
+
+</para>
+
+@signal_id:
+@hook_func:
+@data:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_add_emission_hook_full ##### -->
+<para>
+
+</para>
+
+@signal_id:
+@hook_func:
+@data:
+@destroy:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_signal_remove_emission_hook ##### -->
+<para>
+
+</para>
+
+@signal_id:
+@hook_id:
+
+
diff --git a/docs/reference/gtk/tmpl/gtksocket.sgml b/docs/reference/gtk/tmpl/gtksocket.sgml
new file mode 100644
index 000000000..ae9ea670f
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtksocket.sgml
@@ -0,0 +1,132 @@
+<!-- ##### SECTION Title ##### -->
+GtkSocket
+
+<!-- ##### SECTION Short_Description ##### -->
+Container for widgets from other processes.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+Together with #GtkPlug, #GtkSocket provides the ability
+to embed widgets from one process into another process
+in a fashion that is transparent to the user. One
+process creates a #GtkSocket widget and, passes the
+XID of that widget's window to the other process,
+which then creates a #GtkPlug window with that XID.
+Any widgets contained in the #GtkPlug then will appear
+inside the first applications window.
+</para>
+
+<para>
+The XID of the socket's window is obtained by using
+the GTK_WINDOW_XWINDOW() macro from the header
+file &lt;gdk/gdkx.h&gt;. Before using this macro,
+the socket must have been realized, and for hence,
+have been added to its parent.
+
+<example>
+<title> Obtaining the XID of a socket </title>
+<programlisting>
+#include &lt;gdk/gdkx.h&gt;
+
+GtkWidget *socket = gtk_socket_new();
+gtk_widget_show (socket);
+gtk_container_add (GTK_CONTAINER (parent), socket);
+
+/* The following call is only necessary if one of
+ * the ancestors of the socket is not yet visible.
+ */
+gtk_widget_realize (socket);
+g_print ("The XID of the sockets window is %#x\n",
+ GDK_WINDOW_XWINDOW (socket->window));
+</programlisting>
+</example>
+</para>
+
+<para>
+Note that if you pass the XID of the socket to another
+process that will create a plug in the socket, you
+must make sure that the socket widget is not destroyed
+until that plug is created. Violating this rule will
+cause unpredictable consequences, the most likely
+consequence being that the plug will appear as a
+separate toplevel window. You can check if the plug
+has been created by examining the
+<StructField>plug_window</StructField> field of the
+#GtkSocket structure. If this field is non-NULL,
+then the plug has been succesfully created inside
+of the socket.
+</para>
+
+<para>
+When GTK+ is notified that the embedded window has been
+destroyed, then it will destroy the socket as well. You
+should always, therefore, be prepared for your sockets
+to be destroyed at any time when the main event loop
+is running.
+</para>
+
+<para>
+A socket can also be used to swallow arbitrary
+pre-existing top-level windows using gtk_socket_steal(),
+though the integration when this is done will not be as close
+as between a #GtkPlug and a #GtkSocket.</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkPlug</term>
+<listitem><para>the widget that plugs into a #GtkSocket.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkSocket ##### -->
+<para>
+The #GtkEditable structure contains the following field.
+(This field should be considered read-only. It should
+never be set by an application.)
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>#GdkWindow *plug_window;</entry>
+<entry>the window embedded inside this #GtkSocket.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+</para>
+
+@container:
+@request_width:
+@request_height:
+@current_width:
+@current_height:
+@plug_window:
+@same_app:
+@focus_in:
+@have_size:
+@need_map:
+
+<!-- ##### FUNCTION gtk_socket_new ##### -->
+<para>
+Create a new empty #GtkSocket.
+</para>
+
+@Returns: the new #GtkSocket.
+
+
+<!-- ##### FUNCTION gtk_socket_steal ##### -->
+<para>
+Reparents a pre-existing toplevel window into a
+#GtkSocket.
+</para>
+
+@socket: a #GtkSocket.
+@wid: the XID of an existing toplevel window.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkspinbutton.sgml b/docs/reference/gtk/tmpl/gtkspinbutton.sgml
new file mode 100644
index 000000000..661ea26e1
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkspinbutton.sgml
@@ -0,0 +1,385 @@
+<!-- ##### SECTION Title ##### -->
+GtkSpinButton
+
+<!-- ##### SECTION Short_Description ##### -->
+retrieve an integer or floating-point number from the user.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+A #GtkSpinButton is an ideal way to allow the user to set the value of some attribute. Rather than having to directly type a number into a #GtkEntry, #GtkSpinButton allows the user to click on one of two arrows to increment or decrement the displayed value. A value can still be typed in, with the bonus that it can be checked to ensure it is in a given range.
+</para>
+<para>
+The main properties of a #GtkSpinButton are through a #GtkAdjustment. See the #GtkAdjustment section for more details about an adjustment's properties.
+</para>
+<para>
+#GtkSpinButton widgets are created with a call to gtk_spin_button_new().
+</para>
+<para>
+The #GtkAdjustment of a spin button can be set or retrieved with a call to gtk_spin_button_set_adjustment() or gtk_spin_button_get_adjustment(), respectively.
+</para>
+<para>
+The number of digits after the decimal point of a spin button can be altered with gtk_spin_button_set_digits().
+</para>
+<para>
+To retrieve values from a spin button, use gtk_spin_button_get_value_as_float() if you require a floating point number, or gtk_spin_button_get_value_as_int() if you require an integer.
+</para>
+<para>
+To set the value of a #GtkSpinButton, use gtk_spin_button_set_value(). To change the update behaviour of a spin button, use gtk_spin_button_set_update_policy().
+</para>
+<para>
+When a spin button reaches it's upper or lower limit, it can either stop spinning, or wrap around and continue spinning from the opposite limit. For example, if five is the upper limit and the lower limit is zero, upon reaching the value five, the spin button can change it's value back to zero and continue spinning upwards.
+This behaviour is set with gtk_spin_button_set_wrap().
+</para>
+<para>
+A border around a spin button's arrows can be created using gtk_spin_button_set_shadow_type().
+</para>
+<para>
+A number may be entered that is invalid, given a spin button's range. An erroneous number can be corrected as soon as the spin button is 'activated' using gtk_spin_button_snap_to_ticks(), which will alter the current value to the nearest step increment. (See #GtkAdjustment for step increments).
+</para>
+<para>
+Because a spin contains a #GtkEntry, alphabetic characters may be entered. These can be ignored by using gtk_spin_button_set_numeric() with a value of TRUE. Then only numeric values, '-' and a decimal point will be accepted.
+</para>
+<para>
+To manually increment or decrement the spin button, use gtk_spin_button_spin(), and to force an update (refresh), use gtk_spin_button_update().
+</para>
+<para>
+<example>
+<title>Using a GtkSpinButton to get an integer.</title>
+<programlisting>
+
+/* Provides a function to retrieve an integer value from a GtkSpinButton
+ * and creates a spin button to model percentage values.
+ */
+
+gint grab_int_value (GtkSpinButton *a_spinner, gpointer user_data) {
+ return gtk_spin_button_get_value_as_int (a_spinner);
+}
+
+void create_integer_spin_button(void) {
+
+ GtkWidget *window, *spinner;
+ GtkAdjustment *spinner_adj;
+
+ spinner_adj = (GtkAdjustment *) gtk_adjustment_new(50.0, 0.0, 100.0, 1.0, 5.0, 5.0);
+
+ window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ gtk_container_set_border_width (GTK_CONTAINER (window), 5);
+
+ /* creates the spinner, with no decimal places */
+ spinner = gtk_spin_button_new (spinner_adj, 1.0, 0);
+ gtk_container_add (GTK_CONTAINER(window), spinner);
+
+ gtk_widget_show_all (window);
+ return;
+}
+
+</programlisting>
+</example>
+</para>
+
+<para>
+<example>
+<title>Using a GtkSpinButton to get a floating point value.</title>
+<programlisting>
+
+/* Provides a function to retrieve a floating point value from a
+ * GtkSpinButton, and creates a high precision spin button.
+ */
+
+gfloat grab_int_value (GtkSpinButton *a_spinner, gpointer user_data) {
+ return gtk_spin_button_get_value_as_float (a_spinner);
+}
+
+void create_floating_spin_button(void) {
+
+ GtkWidget *window, *spinner;
+ GtkAdjustment *spinner_adj;
+
+ spinner_adj = (GtkAdjustment *) gtk_adjustment_new(2.500, 0.0, 5.0, 0.001, 0.1, 0.1);
+
+ window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ gtk_container_set_border_width (GTK_CONTAINER (window), 5);
+
+ /* creates the spinner, with three decimal places */
+ spinner = gtk_spin_button_new (spinner_adj, 0.001, 3);
+ gtk_container_add (GTK_CONTAINER(window), spinner);
+
+ gtk_widget_show_all (window);
+ return;
+}
+
+</programlisting>
+</example>
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+<varlistentry>
+<term>#GtkEntry</term>
+<listitem><para>retrieve text rather than numbers.</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkSpinButton ##### -->
+<para>
+<structfield>entry</structfield> is the #GtkEntry part of the #GtkSpinButton widget, and can be used accordingly. All other fields contain private data and should only be modified using the functions below.
+</para>
+
+@entry:
+@adjustment:
+@panel:
+@shadow_type:
+@timer:
+@ev_time:
+@climb_rate:
+@timer_step:
+@update_policy:
+@in_child:
+@click_child:
+@button:
+@need_timer:
+@timer_calls:
+@digits:
+@numeric:
+@wrap:
+@snap_to_ticks:
+
+<!-- ##### ENUM GtkSpinButtonUpdatePolicy ##### -->
+<para>
+
+<informaltable pgwide=1 frame="none" role="enum">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+<row>
+<entry>GTK_UPDATE_ALWAYS</entry>
+<entry>When refreshing your #GtkSpinButton, the value is always displayed.</entry>
+</row>
+<row>
+<entry>GTK_UPDATE_IF_VALID</entry>
+<entry>When refreshing your #GtkSpinButton, the value is only displayed if it is valid within the bounds of the spin button's #GtkAdjustment.</entry>
+</row>
+</tbody></tgroup></informaltable>
+</para>
+
+@GTK_UPDATE_ALWAYS:
+@GTK_UPDATE_IF_VALID:
+
+<!-- ##### ENUM GtkSpinType ##### -->
+<para>
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+<row>
+<entry>GTK_SPIN_STEP_FORWARD,
+GTK_SPIN_STEP_BACKWARD,
+GTK_SPIN_PAGE_FORWARD,
+GTK_SPIN_PAGE_BACKWARD</entry>
+<entry>These values spin a #GtkSpinButton by the relevant values of the spin button's #GtkAdjustment.</entry>
+</row>
+<row>
+<entry>GTK_SPIN_HOME,
+GTK_SPIN_END</entry>
+<entry>These set the spin button's value to the minimum or maxmimum possible values, (set by it's #GtkAdjustment), respectively.</entry>
+</row>
+<row>
+<entry>GTK_SPIN_USER_DEFINED</entry>
+<entry>The programmer must specify the exact amount to spin the #GtkSpinButton.</entry>
+</row>
+</tbody></tgroup></informaltable>
+</para>
+
+@GTK_SPIN_STEP_FORWARD:
+@GTK_SPIN_STEP_BACKWARD:
+@GTK_SPIN_PAGE_FORWARD:
+@GTK_SPIN_PAGE_BACKWARD:
+@GTK_SPIN_HOME:
+@GTK_SPIN_END:
+@GTK_SPIN_USER_DEFINED:
+
+<!-- ##### FUNCTION gtk_spin_button_configure ##### -->
+<para>
+Changes the properties of an existing spin button. The adjustment, climb rate, and number of decimal places are all changed accordingly, after this function call.
+</para>
+
+@spin_button: a #GtkSpinButton.
+@adjustment: a #GtkAdjustment.
+@climb_rate: the new climb rate.
+@digits: the number of decimal places to display in the spin button.
+
+
+<!-- ##### FUNCTION gtk_spin_button_new ##### -->
+<para>
+Creates a new #GtkSpinButton.
+</para>
+
+@adjustment: the #GtkAdjustment object that this spin button should use.
+@climb_rate: specifies how much the spin button changes when an arrow is clicked on.
+@digits: the number of decimal places to display.
+@Returns: a #GtkWidget.
+
+
+<!-- ##### FUNCTION gtk_spin_button_set_adjustment ##### -->
+<para>
+Changes which #GtkAdjustment is associated with a spin button.
+</para>
+
+@spin_button: a #GtkSpinButton.
+@adjustment: a #GtkAdjustment.
+
+
+<!-- ##### FUNCTION gtk_spin_button_get_adjustment ##### -->
+<para>
+Retrieves the #GtkAdjustment used by a given spin button.
+</para>
+
+@spin_button: a #GtkSpinButton.
+@Returns: a #GtkAdjustment.
+
+
+<!-- ##### FUNCTION gtk_spin_button_set_digits ##### -->
+<para>
+Alters the number of decimal places that are displayed in a spin button.
+</para>
+
+@spin_button: a #GtkSpinButton.
+@digits: the number of decimal places.
+
+
+<!-- ##### FUNCTION gtk_spin_button_get_value_as_float ##### -->
+<para>
+Retrieves the current value of a #GtkSpinButton. If the number has no decimal places, it is converted to a float before the function returns.
+</para>
+
+@spin_button: a #GtkSpinButton.
+@Returns: the value of @spin_button as a #gfloat.
+
+
+<!-- ##### FUNCTION gtk_spin_button_get_value_as_int ##### -->
+<para>
+Retrieves the current integer value of a #GtkSpinButton.
+</para>
+
+@spin_button: a #GtkSpinButton.
+@Returns: the value of @spin_button as a #gint.
+
+
+<!-- ##### FUNCTION gtk_spin_button_set_value ##### -->
+<para>
+Sets the value of a spin button.
+</para>
+
+@spin_button: a #GtkSpinButton.
+@value: the new floating point value.
+
+
+<!-- ##### FUNCTION gtk_spin_button_set_update_policy ##### -->
+<para>
+Changes the way a spin button refreshes and updates itself. See %GtkSpinButtonUpdatePolicy for more information.
+</para>
+
+@spin_button: a #GtkSpinButton.
+@policy: the new update policy.
+
+
+<!-- ##### FUNCTION gtk_spin_button_set_numeric ##### -->
+<para>
+Sets how the spin button's #GtkEntry reacts to alphabetic characters. A value of TRUE to @numeric means that all non-numeric characters (except '-' and a decimal point) are ignored.
+</para>
+
+@spin_button: a #GtkSpinButton.
+@numeric: whether letters should be ignored.
+
+
+<!-- ##### FUNCTION gtk_spin_button_spin ##### -->
+<para>
+Performs an explicit 'spin' on a spin button.
+</para>
+
+@spin_button: a #GtkSpinButton.
+@direction: the type of spin to perform.
+@increment: the amount to spin.
+
+
+<!-- ##### FUNCTION gtk_spin_button_set_wrap ##### -->
+<para>
+Sets a spin button's value to the lower limit when it's upper limit is reached, and vice versa.
+</para>
+
+@spin_button: a #GtkSpinButton.
+@wrap: defaults to FALSE, set to TRUE to make the spin button wrap.
+
+
+<!-- ##### FUNCTION gtk_spin_button_set_shadow_type ##### -->
+<para>
+Creates a border around the arrows of a #GtkSpinButton. The type of border is determined by @shadow_type.
+</para>
+
+@spin_button: a #GtkSpinButton
+@shadow_type: the new border type.
+
+
+<!-- ##### FUNCTION gtk_spin_button_set_snap_to_ticks ##### -->
+<para>
+Sets whether a number typed into a spin button should be snapped to the nearest step increment.
+</para>
+
+@spin_button: a #GtkButton.
+@snap_to_ticks: TRUE or FALSE.
+
+
+<!-- ##### FUNCTION gtk_spin_button_update ##### -->
+<para>
+Refreshes a spin button. The behaviour of the update is determined by gtk_spin_button_set_update_policy().
+</para>
+
+@spin_button: a #GtkSpinButton.
+
+
+<!-- ##### ARG GtkSpinButton:adjustment ##### -->
+<para>
+the #GtkAdjustment that defines a spin button's main properties.
+</para>
+
+<!-- ##### ARG GtkSpinButton:climb_rate ##### -->
+<para>
+the amount a spin button changes when an arrow is clicked.
+</para>
+
+<!-- ##### ARG GtkSpinButton:digits ##### -->
+<para>
+the number of decimal places to display.
+</para>
+
+<!-- ##### ARG GtkSpinButton:snap_to_ticks ##### -->
+<para>
+whether erroneous values are automatically changed to a spin button's nearest step increment.
+</para>
+
+<!-- ##### ARG GtkSpinButton:numeric ##### -->
+<para>
+whether non-numeric characters should be ignored.
+</para>
+
+<!-- ##### ARG GtkSpinButton:wrap ##### -->
+<para>
+whether a spin button should wrap upon reaching its limits.
+</para>
+
+<!-- ##### ARG GtkSpinButton:update_policy ##### -->
+<para>
+how a spin button should be updated.
+</para>
+
+<!-- ##### ARG GtkSpinButton:shadow_type ##### -->
+<para>
+the type of border that surrounds the arrows of a spin button.
+</para>
+
+<!-- ##### ARG GtkSpinButton:value ##### -->
+<para>
+reads the current value, or sets a new value.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkstatusbar.sgml b/docs/reference/gtk/tmpl/gtkstatusbar.sgml
new file mode 100644
index 000000000..13fa228c7
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkstatusbar.sgml
@@ -0,0 +1,136 @@
+<!-- ##### SECTION Title ##### -->
+GtkStatusbar
+
+<!-- ##### SECTION Short_Description ##### -->
+report messages of minor importance to the user.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+A #GtkStatusbar is usually placed along the bottom of an application's main
+#GtkWindow. It may provide a regular commentary of the application's status
+(as is usually the case in a web browser, for example), or may be used to
+simply output a message when the status changes, (when an upload is complete
+in an FTP client, for example).
+</para>
+<para>
+Status bars in Gtk+ maintain a stack of messages. The message at
+the top of the each bar's stack is the one that will currently be displayed.
+</para>
+<para>
+Any messages added to a statusbar's stack must specify a <emphasis>context_id</emphasis>
+that is used to uniquely identify the source of a message. This context_id can be
+generated by gtk_statusbar_get_context_id(), given a message and the
+statusbar that it will be added to. Note that messages are stored in a
+stack, and when choosing which message to display, the stack structure is
+adhered to, regardless of the context identifier of a message.
+</para>
+<para>
+Status bars are created using gtk_statusbar_new().
+</para>
+<para>
+Messages are added to the bar's stack with gtk_statusbar_push().
+</para>
+<para>
+The message at the top of the stack can be removed using gtk_statusbar_pop(). A message can be removed from anywhere in the stack if it's message_id was recorded at the time it was added. This is done using gtk_statusbar_remove().
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+<varlistentry>
+<term>#GtkDialog</term>
+<listitem><para>another way of reporting information to the user.</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkStatusbar ##### -->
+<para>
+Contains private data that should be modified with the functions described below.
+</para>
+
+@parent_widget:
+@frame:
+@label:
+@messages:
+@keys:
+@seq_context_id:
+@seq_message_id:
+
+<!-- ##### STRUCT GtkStatusbarMsg ##### -->
+<para>
+Holds the data for a statusbar message. <structfield>text</structfield> holds the actual text string. <structfield>context_id</structfield> is the context that this message is associated with, and <structfield>message_id</structfield> is this particular message's identifier. However, these fields should not be modified directly.
+</para>
+
+@text:
+@context_id:
+@message_id:
+
+<!-- ##### FUNCTION gtk_statusbar_new ##### -->
+<para>
+Creates a new #GtkStatusbar ready for messages.
+</para>
+
+@Returns: the new #GtkStatusbar.
+
+
+<!-- ##### FUNCTION gtk_statusbar_get_context_id ##### -->
+<para>
+Returns a new context identifier, given a description of the actual context.
+</para>
+
+@statusbar: a #GtkStatusbar.
+@context_description: textual description of what context the new message is
+being used in.
+@Returns: an integer id.
+
+
+<!-- ##### FUNCTION gtk_statusbar_push ##### -->
+<para>
+Pushes a new message onto a statusbar's stack.
+</para>
+
+@statusbar: a #GtkStatusbar.
+@context_id: the message's context id, as returned by
+gkt_statusbar_get_context_id().
+@text: the message to add to the statusbar.
+@Returns: the message's new message id for use with gtk_statusbar_remove().
+
+
+<!-- ##### FUNCTION gtk_statusbar_pop ##### -->
+<para>
+Removes the message at the top of a #GtkStatusBar's stack.
+</para>
+
+@statusbar: a #GtkStatusBar.
+@context_id: a context identifier.
+
+
+<!-- ##### FUNCTION gtk_statusbar_remove ##### -->
+<para>
+Forces the removal of a message from a statusbar's stack. The exact context_id and message_id must be specified.
+</para>
+
+@statusbar: a #GtkStatusBar.
+@context_id: a context identifier.
+@message_id: a message identifier, as returned by gtk_statusbar_push().
+
+
+<!-- ##### SIGNAL GtkStatusbar::text-pushed ##### -->
+<para>
+Is emitted whenever a new message gets pushed onto a statusbar's stack.
+</para>
+
+@statusbar: the object which received the signal.
+@context_id: the context id of the relevant message/statusbar.
+@text: the message that was pushed.
+
+<!-- ##### SIGNAL GtkStatusbar::text-popped ##### -->
+<para>
+Is emitted whenever a new message is popped off a statusbar's stack.
+</para>
+
+@statusbar: the object which received the signal.
+@context_id: the context id of the relevant message/statusbar.
+@text: the message that was just popped.
+
diff --git a/docs/reference/gtk/tmpl/gtkstyle.sgml b/docs/reference/gtk/tmpl/gtkstyle.sgml
new file mode 100644
index 000000000..0fbac43c7
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkstyle.sgml
@@ -0,0 +1,887 @@
+<!-- ##### SECTION Title ##### -->
+Styles
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### MACRO GTK_STYLE_NUM_STYLECOLORS ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### MACRO GTK_STYLE_ATTACHED ##### -->
+<para>
+
+</para>
+
+@style:
+
+
+<!-- ##### STRUCT GtkStyle ##### -->
+<para>
+
+</para>
+
+@klass:
+@fg:
+@bg:
+@light:
+@dark:
+@mid:
+@text:
+@base:
+@black:
+@white:
+@font:
+@fg_gc:
+@bg_gc:
+@light_gc:
+@dark_gc:
+@mid_gc:
+@text_gc:
+@base_gc:
+@black_gc:
+@white_gc:
+@bg_pixmap:
+@ref_count:
+@attach_count:
+@depth:
+@colormap:
+@engine:
+@engine_data:
+@rc_style:
+@styles:
+
+<!-- ##### STRUCT GtkStyleClass ##### -->
+<para>
+
+</para>
+
+@xthickness:
+@ythickness:
+@draw_hline:
+@draw_vline:
+@draw_shadow:
+@draw_polygon:
+@draw_arrow:
+@draw_diamond:
+@draw_oval:
+@draw_string:
+@draw_box:
+@draw_flat_box:
+@draw_check:
+@draw_option:
+@draw_cross:
+@draw_ramp:
+@draw_tab:
+@draw_shadow_gap:
+@draw_box_gap:
+@draw_extension:
+@draw_focus:
+@draw_slider:
+@draw_handle:
+
+<!-- ##### FUNCTION gtk_style_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_style_copy ##### -->
+<para>
+
+</para>
+
+@style:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_style_attach ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_style_detach ##### -->
+<para>
+
+</para>
+
+@style:
+
+
+<!-- ##### FUNCTION gtk_style_ref ##### -->
+<para>
+
+</para>
+
+@style:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_style_unref ##### -->
+<para>
+
+</para>
+
+@style:
+
+
+<!-- ##### FUNCTION gtk_style_set_background ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+
+
+<!-- ##### FUNCTION gtk_style_apply_default_background ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@set_bg:
+@state_type:
+@area:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### MACRO gtk_style_apply_default_pixmap ##### -->
+<para>
+
+</para>
+
+@s:
+@gw:
+@st:
+@a:
+@x:
+@y:
+@w:
+@h:
+
+
+<!-- ##### FUNCTION gtk_draw_hline ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@x1:
+@x2:
+@y:
+
+
+<!-- ##### FUNCTION gtk_draw_vline ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@y1:
+@y2:
+@x:
+
+
+<!-- ##### FUNCTION gtk_draw_shadow ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_draw_polygon ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@points:
+@npoints:
+@fill:
+
+
+<!-- ##### FUNCTION gtk_draw_arrow ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@arrow_type:
+@fill:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_draw_diamond ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_draw_oval ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_draw_string ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@x:
+@y:
+@string:
+
+
+<!-- ##### FUNCTION gtk_draw_box ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_draw_box_gap ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+@gap_side:
+@gap_x:
+@gap_width:
+
+
+<!-- ##### FUNCTION gtk_draw_check ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_draw_cross ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_draw_extension ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+@gap_side:
+
+
+<!-- ##### FUNCTION gtk_draw_flat_box ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_draw_focus ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_draw_handle ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+@orientation:
+
+
+<!-- ##### FUNCTION gtk_draw_option ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_draw_ramp ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@arrow_type:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_draw_shadow_gap ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+@gap_side:
+@gap_x:
+@gap_width:
+
+
+<!-- ##### FUNCTION gtk_draw_slider ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+@orientation:
+
+
+<!-- ##### FUNCTION gtk_draw_tab ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_arrow ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@arrow_type:
+@fill:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_box ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_box_gap ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+@gap_side:
+@gap_x:
+@gap_width:
+
+
+<!-- ##### FUNCTION gtk_paint_check ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_cross ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_diamond ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_extension ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+@gap_side:
+
+
+<!-- ##### FUNCTION gtk_paint_flat_box ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_focus ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_handle ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+@orientation:
+
+
+<!-- ##### FUNCTION gtk_paint_hline ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@area:
+@widget:
+@detail:
+@x1:
+@x2:
+@y:
+
+
+<!-- ##### FUNCTION gtk_paint_option ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_oval ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_polygon ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@points:
+@npoints:
+@fill:
+
+
+<!-- ##### FUNCTION gtk_paint_ramp ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@arrow_type:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_shadow ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_shadow_gap ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+@gap_side:
+@gap_x:
+@gap_width:
+
+
+<!-- ##### FUNCTION gtk_paint_slider ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+@orientation:
+
+
+<!-- ##### FUNCTION gtk_paint_string ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@string:
+
+
+<!-- ##### FUNCTION gtk_paint_tab ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@shadow_type:
+@area:
+@widget:
+@detail:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_paint_vline ##### -->
+<para>
+
+</para>
+
+@style:
+@window:
+@state_type:
+@area:
+@widget:
+@detail:
+@y1:
+@y2:
+@x:
+
+
diff --git a/docs/reference/gtk/tmpl/gtktable.sgml b/docs/reference/gtk/tmpl/gtktable.sgml
new file mode 100644
index 000000000..0ba1ce02e
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtktable.sgml
@@ -0,0 +1,237 @@
+<!-- ##### SECTION Title ##### -->
+GtkTable
+
+<!-- ##### SECTION Short_Description ##### -->
+Pack widgets in regular patterns.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The GtkTable functions allow the programmer to arrange widgets in rows and
+columns, making it easy to align many widgets next to each other,
+horizontally and vertically.
+</para>
+<para>
+Tables are created with a call to gtk_table_new(), the size of which can
+later be changed with gtk_table_resize().
+</para>
+<para>
+Widgets can be added to a table using gtk_table_attach() or the more
+convenient (but slightly less flexible) gtk_table_attach_defaults().
+</para>
+<para>
+To alter the space next to a specific row, use gtk_table_set_row_spacing(),
+and for a column, gtk_table_set_col_spacing().</para>
+<para>
+The gaps between <emphasis>all</emphasis> rows or columns can be changed by calling
+gtk_table_set_row_spacings() or gtk_table_set_col_spacings() respectively.
+</para>
+<para>
+gtk_table_set_homogeneous(), can be used to set whether all cells in the
+table will resize themselves to the size of the largest widget in the table.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+<varlistentry>
+<term>#GtkVBox</term>
+<listitem><para>For packing widgets vertically only.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>#GtkHBox</term>
+<listitem><para>For packing widgets horizontally only.</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkTable ##### -->
+<para>
+The GtkTable structure holds the data for the actual table itself.
+
+<structfield>children</structfield> is a #GList of all the widgets the table contains. <structfield>rows</structfield> and <structfield>columns</structfield> are pointers to #GtkTableRowCol structures, which contain the default spacing and expansion details for the #GtkTable's rows and columns, respectively.
+</para>
+<para>
+<structfield>nrows</structfield> and <structfield>ncols</structfield> are 16bit integers storing the number of rows and columns the table has.
+</para>
+
+@container:
+@children:
+@rows:
+@cols:
+@nrows:
+@ncols:
+@column_spacing:
+@row_spacing:
+@homogeneous:
+
+<!-- ##### STRUCT GtkTableChild ##### -->
+<para>
+The <structfield>widget</structfield> field is a pointer to the widget that
+this %GtkTableChild structure is keeping track of.
+The <structfield>left_attach</structfield>,
+<structfield>right_attach</structfield>,
+<structfield>top_attach</structfield>, and
+<structfield>bottom_attach</structfield> fields specify the row and column
+numbers which make up the invisible rectangle that the child widget is packed into.
+</para>
+<para>
+<structfield>xpadding</structfield> and <structfield>ypadding</structfield>
+specify the space between this widget and the surrounding table cells.
+</para>
+
+@widget:
+@left_attach:
+@right_attach:
+@top_attach:
+@bottom_attach:
+@xpadding:
+@ypadding:
+@xexpand:
+@yexpand:
+@xshrink:
+@yshrink:
+@xfill:
+@yfill:
+
+<!-- ##### STRUCT GtkTableRowCol ##### -->
+<para>
+These fields should be considered read-only and not be modified directly.
+</para>
+
+@requisition:
+@allocation:
+@spacing:
+@need_expand:
+@need_shrink:
+@expand:
+@shrink:
+@empty:
+
+<!-- ##### FUNCTION gtk_table_new ##### -->
+<para>
+Used to create a new table widget. An initial size must be given by specifying how many rows and columns the table should have, although this can be changed later with gtk_table_resize().
+</para>
+
+@rows: The number of rows the new table should have.
+@columns: The number of columns the new table should have.
+@homogeneous: If set to TRUE, all table cells are resized to the size of the cell
+containing the largest widget.
+@Returns: A pointer to the the newly created table widget.
+
+
+<!-- ##### FUNCTION gtk_table_resize ##### -->
+<para>
+If you need to change a table's size <emphasis>after</emphasis> it has been created, this function allows you to do so.
+</para>
+
+@table: The #GtkTable you wish to change the size of.
+@rows: The new number of rows.
+@columns: The new number of columns.
+
+
+<!-- ##### FUNCTION gtk_table_attach ##### -->
+<para>
+Adds a widget to a table. The number of 'cells' that a widget will occupy is
+specified by @left_attach, @right_attach, @top_attach and @bottom_attach.
+These each represent the leftmost, rightmost, uppermost and lowest column
+and row numbers of the table. (Columns and rows are indexed from zero).
+</para>
+
+@table: The #GtkTable to add a new widget to.
+@child: The widget to add.
+@left_attach: the column number to attach the left side of a child widget to.
+@right_attach: the column number to attach the right side of a child widget to.
+@top_attach: the row number to attach the left side of a child widget to.
+@bottom_attach: the column number to attach the right side of a child widget to.
+@xoptions: Used to specify the properties of the child widget when the table is resized.
+@yoptions: The same as xoptions, except this field determines behaviour of vertical resizing.
+@xpadding: An integer value specifying the padding on the left and right of the widget being added to the table.
+@ypadding: The amount of padding above and below the child widget.
+
+
+<!-- ##### FUNCTION gtk_table_attach_defaults ##### -->
+<para>
+As there are many options associated with gtk_table_attach(), this convenience function provides the programmer with a means to add children to a table with identical padding and expansion options.
+</para>
+
+@table: The table to add a new child widget to.
+@widget: The child widget to add.
+@left_attach: The column number to attach the left side of the child widget to.
+@right_attach: The column number to attach the right side of the child widget to.
+@top_attach: The row number to attach the top of the child widget to.
+@bottom_attach: The row number to attach the bottom of the child widget to.
+
+
+<!-- ##### FUNCTION gtk_table_set_row_spacing ##### -->
+<para>
+changes the space between a given table row and its surrounding rows.
+</para>
+
+@table: a #GtkTable containing the row whose properties you wish to change.
+@row: row number whose spacing will be changed.
+@spacing: number of pixels that the spacing should take up.
+
+
+<!-- ##### FUNCTION gtk_table_set_col_spacing ##### -->
+<para>
+alters the amount of space between a given table column and the adjacent columns.
+</para>
+
+@table: a #GtkTable.
+@column: the column whose spacing should be changed.
+@spacing: number of pixels that the spacing should take up.
+
+
+<!-- ##### FUNCTION gtk_table_set_row_spacings ##### -->
+<para>
+sets the space between every row in @table equal to @spacing.
+</para>
+
+@table: a #GtkTable.
+@spacing: the number of pixels of space to place between every row in the table.
+
+
+<!-- ##### FUNCTION gtk_table_set_col_spacings ##### -->
+<para>
+sets the space between every column in @table equal to @spacing.
+</para>
+
+@table: a #GtkTable.
+@spacing: the number of pixels of space to place between every column in the table.
+
+
+<!-- ##### FUNCTION gtk_table_set_homogeneous ##### -->
+<para>
+changes the homogenous property of table cells. Ie. whether all cells are an equal size or not.
+</para>
+
+@table: The GtkTable you wish to set the homogeneous properties of.
+@homogeneous: Set to TRUE to ensure all table cells are the same size. Set
+to FALSE if this is not your desired behaviour.
+
+
+<!-- ##### ARG GtkTable:n_rows ##### -->
+<para>
+set or retrieve the number of rows in a table.
+</para>
+
+<!-- ##### ARG GtkTable:n_columns ##### -->
+<para>
+set or retrieve the number of columnsin a table.
+</para>
+
+<!-- ##### ARG GtkTable:row_spacing ##### -->
+<para>
+set or retrieve the number of pixels of space between each row.
+</para>
+
+<!-- ##### ARG GtkTable:column_spacing ##### -->
+<para>
+set or retrieve the number of pixels of space between each column.
+</para>
+
+<!-- ##### ARG GtkTable:homogeneous ##### -->
+<para>
+whether each cell in the table should be the same size or not.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtktearoffmenuitem.sgml b/docs/reference/gtk/tmpl/gtktearoffmenuitem.sgml
new file mode 100644
index 000000000..a065298e8
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtktearoffmenuitem.sgml
@@ -0,0 +1,55 @@
+<!-- ##### SECTION Title ##### -->
+GtkTearoffMenuItem
+
+<!-- ##### SECTION Short_Description ##### -->
+a menu item used to tear off and reattach its menu.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+a #GtkTearoffMenuItem is a special #GtkMenuItem which is used to
+tear off and reattach its menu.
+</para>
+
+<para>
+When its menu is shown normally, the #GtkTearoffMenuItem is drawn as a
+dotted line indicating that the menu can be torn off. Activating it
+causes its menu to be torn off and displayed in its own window
+as a tearoff menu.
+</para>
+
+<para>
+When its menu is shown as a tearoff menu, the #GtkTearoffMenuItem is drawn
+as a dotted line which has a left pointing arrow graphic indicating that
+the tearoff menu can be reattached. Activating it will erase the tearoff
+menu window.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkMenu</term>
+<listitem><para>for further discussion of menus in GTK.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkTearoffMenuItem ##### -->
+<para>
+The #GtkTearoffMenuItem-struct struct contains private data only, and
+should be accessed using the functions below.
+</para>
+
+@menu_item:
+@torn_off:
+
+<!-- ##### FUNCTION gtk_tearoff_menu_item_new ##### -->
+<para>
+Creates a new #GtkTearoffMenuItem.
+</para>
+
+@Returns: a new #GtkTearoffMenuItem.
+
+
diff --git a/docs/reference/gtk/tmpl/gtktext.sgml b/docs/reference/gtk/tmpl/gtktext.sgml
new file mode 100644
index 000000000..73cd8f003
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtktext.sgml
@@ -0,0 +1,246 @@
+<!-- ##### SECTION Title ##### -->
+GtkText
+
+<!-- ##### SECTION Short_Description ##### -->
+text widget which allows display and manipulation of arbitrary text
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+A #GtkText widget allows one to display any given text and manipulate it
+by deleting from one point to another, selecting a region, and various
+other functions as outlined below. It is inherited from #GtkEditable.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkText ##### -->
+<para>
+Most of the #GtkText-struct struct members should not be accessed directly.
+Listed below are a few exceptions and how to use them.
+
+<informaltable pgwide=1 frame="none" role="struct">
+<tgroup cols="2"><colspec colwidth="2*"><colspec colwidth="8*">
+<tbody>
+
+<row>
+<entry>GtkAdjustment *hadj;</entry>
+<entry>Allows you to see the state of an attached horizontal #GtkScrollbar.
+See #GtkAdjustment for more info. This allows easy access to the adjustments
+of the #GtkText struct without having to keep track of ones that you initialize
+at widget creation.</entry>
+</row>
+
+<row>
+<entry>GtkAdjustment *vadj;</entry>
+<entry>Same as hadj except it involves the vertical #GtkScrollbar.</entry>
+</row>
+
+</tbody></tgroup></informaltable>
+
+</para>
+
+@editable:
+@text_area:
+@hadj:
+@vadj:
+@gc:
+@line_wrap_bitmap:
+@line_arrow_bitmap:
+
+<!-- ##### STRUCT GtkTextFont ##### -->
+<para>
+Internal #GtkText data type.
+<!-- Pretty sure.. declared in gtktext.c -->
+</para>
+
+
+<!-- ##### STRUCT GtkPropertyMark ##### -->
+<para>
+Internal #GtkText data type. Should not be access directly.
+<!-- FIXME: unsure about this -->
+</para>
+
+@property:
+@offset:
+@index:
+
+<!-- ##### FUNCTION gtk_text_new ##### -->
+<para>
+Creates a new #GtkText widget, initialized with the given pointers to
+#GtkAdjustments. These pointers can be used to track the viewing position
+of the #GtkText widget. Passing NULL to either or both of them will make
+the #GtkText create it's own. You can set these later with the function
+<function>gtk_text_set_adjustment()</function>
+</para>
+
+@hadj: horizontal adjustment.
+@vadj: vertical adjustment.
+@Returns: the new #GtkText widget.
+
+
+<!-- ##### FUNCTION gtk_text_set_editable ##### -->
+<para>
+Set whether the #GtkText widget can be edited by the user or not. This
+still allows you the programmer to make changes with the various #GtkText
+functions.
+</para>
+
+@text: the #GtkText widget
+@editable: %TRUE makes it editable, %FALSE makes it immutable by the user
+
+
+<!-- ##### FUNCTION gtk_text_set_word_wrap ##### -->
+<para>
+Sets whether the #GtkText widget wraps words down to the next line if it
+can't be completed on the current line.
+</para>
+
+@text: the #GtkText widget
+@word_wrap: %TRUE makes it word wrap, %FALSE disables word wrapping
+
+
+<!-- ##### FUNCTION gtk_text_set_line_wrap ##### -->
+<para>
+Controls how #GtkText handles long lines of continuous text. If line wrap
+is on, the line is broken when it reaches the extent of the #GtkText widget
+viewing area and the rest is displayed on the next line. If it is not set,
+the line continues regardless size of current viewing area. Similar to word
+wrap but it disregards word boundaries.
+</para>
+
+@text: the #GtkText widget
+@line_wrap: %TRUE turns line wrap on, %FALSE turns it off
+
+
+<!-- ##### FUNCTION gtk_text_set_adjustments ##### -->
+<para>
+Allows you to set #GtkAdjustment pointers which in turn allows you to
+keep track of the viewing position of the #GtkText widget.
+</para>
+
+@text: the #GtkText widget
+@hadj: the horizontal adjustment
+@vadj: the vertical adjustment
+
+
+<!-- ##### FUNCTION gtk_text_set_point ##### -->
+<para>
+Sets the cursor at the given point. In this case a point constitutes
+the number of characters from the extreme upper left corner of the #GtkText
+widget.
+</para>
+
+@text: the #GtkText widget
+@index: the number of characters from the upper left corner
+
+
+<!-- ##### FUNCTION gtk_text_get_point ##### -->
+<para>
+Gets the current position of the cursor as the number of characters from
+the upper left corner of the #GtkText widget.
+</para>
+
+@text: the #GtkText widget
+@Returns: the number of characters from the upper left corner
+
+
+<!-- ##### FUNCTION gtk_text_get_length ##### -->
+<para>
+Returns the length of the all the text contained within the #GtkText widget;
+disregards current point position.
+</para>
+
+@text: the #GtkText widget
+@Returns: the length of the text
+
+
+<!-- ##### FUNCTION gtk_text_freeze ##### -->
+<para>
+Freezes the #GtkText widget which disallows redrawing of the widget until
+it is thawed. This is useful if a large number of changes are going to
+made to the text within the widget, reducing the amount of flicker seen
+by the user.
+</para>
+
+@text: the #GtkText widget
+
+
+<!-- ##### FUNCTION gtk_text_thaw ##### -->
+<para>
+Allows the #GtkText widget to be redrawn again by GTK.
+</para>
+
+@text: the #GtkText widget
+
+
+<!-- ##### FUNCTION gtk_text_insert ##### -->
+<para>
+Inserts given text into the #GtkText widget with the given properties as
+outlined below.
+</para>
+
+@text: the #GtkText widget
+@font: the #GdkFont to use
+@fore: the foreground color to insert with
+@back: the background color to insert with
+@chars: the actual text to be inserted
+@length: the length of the text to be inserted, passing -1 makes it insert
+all the text.
+
+
+<!-- ##### FUNCTION gtk_text_backward_delete ##### -->
+<para>
+Deletes from the current point position backward the given number of
+characters.
+</para>
+
+@text: the #GtkText widget
+@nchars: the number of characters to delete
+@Returns: %TRUE if the operation was successful, otherwise returns %FALSE
+
+
+<!-- ##### FUNCTION gtk_text_forward_delete ##### -->
+<para>
+Deletes from the current point position forward the given number of
+characters.
+</para>
+
+@text: the #GtkText widget
+@nchars: the number of characters to delete
+@Returns: %TRUE if the operation was successful, otherwise returns %FALSE
+
+
+<!-- ##### MACRO GTK_TEXT_INDEX ##### -->
+<para>
+Returns the character at the given index within the #GtkText widget.
+</para>
+
+@t: the #GtkText widget
+@index: the number of characters from the upper left corner
+
+
+<!-- ##### ARG GtkText:hadjustment ##### -->
+<para>
+Used by the #GtkText widget to keep track of the size of it's horizontal
+text.
+</para>
+
+<!-- ##### ARG GtkText:vadjustment ##### -->
+<para>
+Used by the #GtkText widget to keep track of the size of it's vertical
+text.
+</para>
+
+<!-- ##### ARG GtkText:line_wrap ##### -->
+<para>
+Boolean value indicating whether line wrap is enabled or not.
+</para>
+
+<!-- ##### ARG GtkText:word_wrap ##### -->
+<para>
+Boolean value indicated whether word wrap is enabled or not.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkthemes.sgml b/docs/reference/gtk/tmpl/gtkthemes.sgml
new file mode 100644
index 000000000..7dd4163a7
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkthemes.sgml
@@ -0,0 +1,73 @@
+<!-- ##### SECTION Title ##### -->
+Themes
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkThemeEngine ##### -->
+<para>
+
+</para>
+
+@parse_rc_style:
+@merge_rc_style:
+@rc_style_to_style:
+@duplicate_style:
+@realize_style:
+@unrealize_style:
+@destroy_rc_style:
+@destroy_style:
+@set_background:
+
+<!-- ##### FUNCTION gtk_theme_engine_get ##### -->
+<para>
+
+</para>
+
+@name:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_theme_engine_ref ##### -->
+<para>
+
+</para>
+
+@engine:
+
+
+<!-- ##### FUNCTION gtk_theme_engine_unref ##### -->
+<para>
+
+</para>
+
+@engine:
+
+
+<!-- ##### FUNCTION gtk_themes_init ##### -->
+<para>
+
+</para>
+
+@argc:
+@argv:
+
+
+<!-- ##### FUNCTION gtk_themes_exit ##### -->
+<para>
+
+</para>
+
+@error_code:
+
+
diff --git a/docs/reference/gtk/tmpl/gtktipsquery.sgml b/docs/reference/gtk/tmpl/gtktipsquery.sgml
new file mode 100644
index 000000000..0bc6abfaa
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtktipsquery.sgml
@@ -0,0 +1,129 @@
+<!-- ##### SECTION Title ##### -->
+GtkTipsQuery
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkTipsQuery ##### -->
+<para>
+
+</para>
+
+@label:
+@emit_always:
+@in_query:
+@label_inactive:
+@label_no_tip:
+@caller:
+@last_crossed:
+@query_cursor:
+
+<!-- ##### FUNCTION gtk_tips_query_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_tips_query_start_query ##### -->
+<para>
+
+</para>
+
+@tips_query:
+
+
+<!-- ##### FUNCTION gtk_tips_query_stop_query ##### -->
+<para>
+
+</para>
+
+@tips_query:
+
+
+<!-- ##### FUNCTION gtk_tips_query_set_caller ##### -->
+<para>
+
+</para>
+
+@tips_query:
+@caller:
+
+
+<!-- ##### FUNCTION gtk_tips_query_set_labels ##### -->
+<para>
+
+</para>
+
+@tips_query:
+@label_inactive:
+@label_no_tip:
+
+
+<!-- ##### SIGNAL GtkTipsQuery::start-query ##### -->
+<para>
+
+</para>
+
+@tipsquery: the object which received the signal.
+
+<!-- ##### SIGNAL GtkTipsQuery::stop-query ##### -->
+<para>
+
+</para>
+
+@tipsquery: the object which received the signal.
+
+<!-- ##### SIGNAL GtkTipsQuery::widget-entered ##### -->
+<para>
+
+</para>
+
+@tipsquery: the object which received the signal.
+@widget:
+@tip_text:
+@tip_private:
+
+<!-- ##### SIGNAL GtkTipsQuery::widget-selected ##### -->
+<para>
+
+</para>
+
+@tipsquery: the object which received the signal.
+@widget:
+@tip_text:
+@tip_private:
+@event:
+@Returns:
+
+<!-- ##### ARG GtkTipsQuery:emit_always ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkTipsQuery:caller ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkTipsQuery:label_inactive ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkTipsQuery:label_no_tip ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtktogglebutton.sgml b/docs/reference/gtk/tmpl/gtktogglebutton.sgml
new file mode 100644
index 000000000..3ba8121c4
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtktogglebutton.sgml
@@ -0,0 +1,166 @@
+<!-- ##### SECTION Title ##### -->
+GtkToggleButton
+
+<!-- ##### SECTION Short_Description ##### -->
+create buttons which retain their state.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+A #GtkToggleButton is a #GtkButton which will remain 'pressed-in' when
+clicked. Clicking again will cause the toggle button to return to it's
+normal state.
+</para>
+<para>
+A toggle button is created by calling either gtk_toggle_button_new() or
+gtk_toggle_button_new_with_label(). If using the former, it is advisable to
+pack a widget, (such as a #GtkLabel and/or a #GtkPixmap), into the toggle
+button's container. (See #GtkButton for more information).
+</para>
+<para>
+The state of a #GtkToggleButton can be set specifically using
+gtk_toggle_button_set_active(), and retrieved using
+gtk_toggle_button_get_active().
+</para>
+<para>
+To simply switch the state of a toggle button, use gtk_toggle_button_toggled.
+</para>
+<example>
+<title>Creating two #GtkToggleButton widgets.</title>
+<programlisting>
+
+void make_toggles(void) {
+ GtkWidget *dialog, *toggle1, *toggle2;
+
+ dialog = gtk_dialog_new();
+ toggle1 = gtk_toggle_button_new_with_label("Hi, i'm a toggle button.");
+
+ /* Makes this toggle button invisible */
+ gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle1), TRUE);
+
+ gtk_signal_connect (GTK_OBJECT (toggle1), "toggled",
+ GTK_SIGNAL_FUNC (output_state), NULL);
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG(dialog)->action_area),
+ toggle1, FALSE, FALSE, 2);
+
+ toggle2 = gtk_toggle_button_new_with_label("Hi, i'm another toggle button.");
+ gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle2), FALSE);
+ gtk_signal_connect (GTK_OBJECT (toggle2), "toggled",
+ GTK_SIGNAL_FUNC (output_state), NULL);
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG(dialog)->action_area),
+ toggle2, FALSE, FALSE, 2);
+
+ gtk_widget_show_all (dialog);
+}
+
+</programlisting>
+</example>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+<varlistentry>
+<term>#GtkButton</term>
+<listitem><para>a more general button.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>#GtkCheckButton</term>
+<listitem><para>another way of presenting a toggle option.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>#GtkCheckMenuItem</term>
+<listitem><para>a #GtkToggleButton as a menu item.</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkToggleButton ##### -->
+<para>
+The #GtkToggleButton struct contains private data only, and should be manipulated using the functions below.
+</para>
+
+@button:
+@active:
+@draw_indicator:
+@event_window:
+
+<!-- ##### FUNCTION gtk_toggle_button_new ##### -->
+<para>
+Creates a new toggle button. A widget should be packed into the button, as in gtk_button_new().
+</para>
+
+@Returns: a new toggle button.
+
+
+<!-- ##### FUNCTION gtk_toggle_button_new_with_label ##### -->
+<para>
+Creates a new toggle button with a text label.
+</para>
+
+@label: a string containing the message to be placed in the toggle button.
+@Returns: a new toggle button.
+
+
+<!-- ##### FUNCTION gtk_toggle_button_set_mode ##### -->
+<para>
+Determines whether or not the toggle button is drawn on screen. The default mode is FALSE, which results in the button being displayed. To make the button invisible, set <structfield>draw_indicator</structfield> to TRUE.
+</para>
+
+@toggle_button: a #GtkToggleButton.
+@draw_indicator: TRUE or FALSE.
+
+
+<!-- ##### MACRO gtk_toggle_button_set_state ##### -->
+<para>
+This is a deprecated macro, and is only maintained for compatability reasons.
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_toggle_button_toggled ##### -->
+<para>
+Changes the state of the toggle button.
+</para>
+
+@toggle_button: a #GtkToggleButton.
+
+
+<!-- ##### FUNCTION gtk_toggle_button_get_active ##### -->
+<para>
+Queries a #GtkToggleButton and returns it's current state. Returns TRUE if
+the toggle button is pressed in and FALSE if it is raised.
+</para>
+
+@toggle_button: a #GtkToggleButton.
+@Returns: a #gboolean value.
+
+
+<!-- ##### FUNCTION gtk_toggle_button_set_active ##### -->
+<para>
+Sets the status of the toggle button. Set to TRUE if you want the
+GtkToggleButton to be 'pressed in', and FALSE to raise it.
+This action causes the toggled signal to be emitted.
+</para>
+
+@toggle_button: a #GtkToggleButton.
+@is_active: TRUE or FALSE.
+
+
+<!-- ##### SIGNAL GtkToggleButton::toggled ##### -->
+<para>
+Should be connected if you wish to perform an action whenever the
+#GtkToggleButton's state is changed.
+</para>
+
+@togglebutton: the object which received the signal.
+
+<!-- ##### ARG GtkToggleButton:active ##### -->
+<para>
+Sets whether the toggle button should be pressed in or not.
+</para>
+
+<!-- ##### ARG GtkToggleButton:draw_indicator ##### -->
+<para>
+A value of TRUE causes the toggle button to be invisible. FALSE displays it
+again.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtktoolbar.sgml b/docs/reference/gtk/tmpl/gtktoolbar.sgml
new file mode 100644
index 000000000..7debeba9f
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtktoolbar.sgml
@@ -0,0 +1,332 @@
+<!-- ##### SECTION Title ##### -->
+GtkToolbar
+
+<!-- ##### SECTION Short_Description ##### -->
+create bars of buttons and other widgets.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+A toolbar is created with a call to gtk_toolbar_new().
+</para>
+<para>
+Buttons with text and/or images are added with gtk_toolbar_append_item(), gtk_toolbar_prepend_item(), and gtk_toolbar_insert_item().
+</para>
+<para>
+Any of #GtkToggleButton, #GtkRadioButton, or an arbitrary widget can be added to the toolbar with gtk_toolbar_append_element(), gtk_toolbar_prepend_element(), and gtk_toolbar_insert_element().
+</para>
+<para>
+Widgets can be visibily grouped by adding gaps between widgets using gtk_toolbar_append_space(), gtk_toolbar_prepend_space, and gtk_toolbar_insert_space().
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+<varlistentry>
+<term>#GtkToolTips</term>
+<listitem><para>Change the properties of a #GtkToolbar's #GtkTooltips.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>#GtkTipsQuery</term>
+<listitem><para>Make use of the private tips of toolbar elements.</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkToolbar ##### -->
+<para>
+<structfield>num_children</structfield> is an integer specifying how many toolbar items the #GtkToolbar contains. <structfield>children</structfield> is a #GList of the child widgets of the toolbar.
+</para>
+<para>
+<structfield>orientation</structfield>
+</para>
+
+@container:
+@num_children:
+@children:
+@orientation:
+@style:
+@space_size:
+@space_style:
+@tooltips:
+@button_maxw:
+@button_maxh:
+@relief:
+
+<!-- ##### ENUM GtkToolbarChildType ##### -->
+<para>
+is used to set the type of new elements that are added to a #GtkToolbar.
+</para>
+<para>
+SPACE is just a space in the style of the toolbar's GtkToolbarSpaceStyle. BUTTON denotes a #GtkButton. TOGGLEBUTTON denotes a #GtkToggleButton, RADIOBUTTON denotes a #GtkRadioButton, and WIDGET denotes a standard #GtkWidget.
+</para>
+
+@GTK_TOOLBAR_CHILD_SPACE:
+@GTK_TOOLBAR_CHILD_BUTTON:
+@GTK_TOOLBAR_CHILD_TOGGLEBUTTON:
+@GTK_TOOLBAR_CHILD_RADIOBUTTON:
+@GTK_TOOLBAR_CHILD_WIDGET:
+
+<!-- ##### ENUM GtkToolbarSpaceStyle ##### -->
+<para>
+
+</para>
+
+@GTK_TOOLBAR_SPACE_EMPTY:
+@GTK_TOOLBAR_SPACE_LINE:
+
+<!-- ##### STRUCT GtkToolbarChild ##### -->
+<para>
+
+</para>
+
+@type:
+@widget:
+@icon:
+@label:
+
+<!-- ##### FUNCTION gtk_toolbar_new ##### -->
+<para>
+creates a new toolbar.
+</para>
+
+@orientation: a #GtkOrientation. It determines whether the toolbar appears horizontally or vertically.
+@style: a #GtkToolbarStyle. It determines if the toolbar will contain buttons with just labels, just images, or both.
+@Returns: the newly created toolbar.
+
+
+<!-- ##### FUNCTION gtk_toolbar_append_item ##### -->
+<para>
+adds a new button to the beginning (left or top edges) of the given toolbar.
+</para>
+
+@toolbar: a #GtkToolbar.
+@text: give your toolbar button a label.
+@tooltip_text: a string that appears when the user holds the mouse over this item.
+@tooltip_private_text: use with #GtkTipsQuery.
+@icon: a #GtkWidget that should be used as the button's icon.
+@callback: the function to be executed when the button is pressed.
+@user_data: a pointer to any data you wish to be passed to the callback.
+@Returns: the new toolbar item as a #GtkWidget.
+
+
+<!-- ##### FUNCTION gtk_toolbar_prepend_item ##### -->
+<para>
+adds a new button to the beginning of the given toolbar.
+</para>
+
+@toolbar: a #GtkToolbar.
+@text: give your toolbar button a label.
+@tooltip_text: a string that appears when the user holds the mouse over this item.
+@tooltip_private_text: use with #GtkTipsQuery.
+@icon: a #GtkWidget that should be used as the button's icon.
+@callback: the function to be executed when the button is pressed.
+@user_data: a pointer to any data you wish to be passed to the callback.
+@Returns: the new toolbar item as a #GtkWidget.
+
+
+<!-- ##### FUNCTION gtk_toolbar_insert_item ##### -->
+<para>
+inserts a new item into the toolbar. You must specify the position in the toolbar where it will be inserted.
+</para>
+
+@toolbar: a #GtkToolbar.
+@text: give your toolbar button a label.
+@tooltip_text: a string that appears when the user holds the mouse over this item.
+@tooltip_private_text: use with #GtkTipsQuery.
+@icon: a #GtkWidget that should be used as the button's icon.
+@callback: the function to be executed when the button is pressed.
+@user_data: a pointer to any data you wish to be passed to the callback.
+@position: the number of widgets to insert this item after.
+@Returns: the new toolbar item as a #GtkWidget.
+
+
+<!-- ##### FUNCTION gtk_toolbar_append_space ##### -->
+<para>
+adds a new space to the end of the toolbar.
+</para>
+
+@toolbar: a #GtkToolbar.
+
+
+<!-- ##### FUNCTION gtk_toolbar_prepend_space ##### -->
+<para>
+adds a new space to the beginning of the toolbar.
+</para>
+
+@toolbar: a #GtkToolbar.
+
+
+<!-- ##### FUNCTION gtk_toolbar_insert_space ##### -->
+<para>
+inserts a new space in the toolbar at the specified position.
+</para>
+
+@toolbar: a #GtkToolbar
+@position: the number of widgets after which a space should be inserted.
+
+
+<!-- ##### FUNCTION gtk_toolbar_append_element ##### -->
+<para>
+adds a new element to the end of a toolbar.
+</para>
+
+@toolbar: a #GtkToolbar.
+@type: a value of type #GtkToolbarChildType that determines what @widget will be.
+@widget: a #GtkWidget to add to the toolbar. (FIXME: double check this).
+@text: the element's label.
+@tooltip_text: the element's tooltip.
+@tooltip_private_text: used for context-sensitive help about this toolbar element.
+@icon: a #GtkWidget that provides pictorial representation of the element's function.
+@callback: the function to be executed when the button is pressed.
+@user_data: any data you wish to pass to the callback.
+@Returns: the new toolbar element as a #GtkWidget.
+
+
+<!-- ##### FUNCTION gtk_toolbar_prepend_element ##### -->
+<para>
+adds a new element to the beginning of a toolbar.
+</para>
+
+@toolbar: a #GtkToolbar.
+@type: a value of type #GtkToolbarChildType that determines what @widget will be.
+@widget: a #GtkWidget to add to the toolbar. (FIXME: double check this).
+@text: the element's label.
+@tooltip_text: the element's tooltip.
+@tooltip_private_text: used for context-sensitive help about this toolbar element.
+@icon: a #GtkWidget that provides pictorial representation of the element's function.
+@callback: the function to be executed when the button is pressed.
+@user_data: any data you wish to pass to the callback.
+@Returns: the new toolbar element as a #GtkWidget.
+
+
+<!-- ##### FUNCTION gtk_toolbar_insert_element ##### -->
+<para>
+
+</para>
+
+@toolbar: a #GtkToolbar.
+@type: a value of type #GtkToolbarChildType that determines what @widget will be.
+@widget: a #GtkWidget to add to the toolbar. (FIXME: double check this).
+@text: the element's label.
+@tooltip_text: the element's tooltip.
+@tooltip_private_text: used for context-sensitive help about this toolbar element.
+@icon: a #GtkWidget that provides pictorial representation of the element's function.
+@callback: the function to be executed when the button is pressed.
+@user_data: any data you wish to pass to the callback.
+@position: the number of widgets to insert this element after.
+@Returns: the new toolbar element as a #GtkWidget.
+
+
+<!-- ##### FUNCTION gtk_toolbar_append_widget ##### -->
+<para>
+
+</para>
+
+@toolbar:
+@widget:
+@tooltip_text:
+@tooltip_private_text:
+
+
+<!-- ##### FUNCTION gtk_toolbar_prepend_widget ##### -->
+<para>
+
+</para>
+
+@toolbar:
+@widget:
+@tooltip_text:
+@tooltip_private_text:
+
+
+<!-- ##### FUNCTION gtk_toolbar_insert_widget ##### -->
+<para>
+
+</para>
+
+@toolbar:
+@widget:
+@tooltip_text:
+@tooltip_private_text:
+@position:
+
+
+<!-- ##### FUNCTION gtk_toolbar_set_orientation ##### -->
+<para>
+sets whether a toolbar should appear horizontally or vertically.
+</para>
+
+@toolbar: a #GtkToolbar.
+@orientation: a new #GtkOrientation.
+
+
+<!-- ##### FUNCTION gtk_toolbar_set_style ##### -->
+<para>
+alters the view of @toolbar to display either icons only, text only, or both.
+</para>
+
+@toolbar: a #GtkToolbar.
+@style: the new style for @toolbar.
+
+
+<!-- ##### FUNCTION gtk_toolbar_set_space_size ##### -->
+<para>
+should be used to set the number of pixels each item of space takes up in a toolbar.
+</para>
+
+@toolbar: a #GtkToolbar.
+@space_size: the new number of pixels that spaces should consume.
+
+
+<!-- ##### FUNCTION gtk_toolbar_set_space_style ##### -->
+<para>
+sets whether a 'space' in the toolbar appears as a line or just plain empty space.
+</para>
+
+@toolbar: a #GtkToolbar.
+@space_style: the new style for the toolbar's spaces.
+
+
+<!-- ##### FUNCTION gtk_toolbar_set_tooltips ##### -->
+<para>
+sets if the tooltips of a toolbar should be active or not.
+</para>
+
+@toolbar: a #GtkToolbar.
+@enable: set to 0 to disable the tooltips, or 1 to enable them.
+
+
+<!-- ##### FUNCTION gtk_toolbar_set_button_relief ##### -->
+<para>
+
+</para>
+
+@toolbar:
+@relief:
+
+
+<!-- ##### FUNCTION gtk_toolbar_get_button_relief ##### -->
+<para>
+
+</para>
+
+@toolbar:
+@Returns:
+
+
+<!-- ##### SIGNAL GtkToolbar::orientation-changed ##### -->
+<para>
+should be used if you wish to perform an action when the orientation of a toolbar is changed.
+</para>
+
+@toolbar: the object which received the signal.
+@orientation: the new #GtkOrientation of the toolbar.
+
+<!-- ##### SIGNAL GtkToolbar::style-changed ##### -->
+<para>
+should be used if you wish to perform an action when ever the style of a toolbar is adjusted. For example, this would be a useful signal to connect to if you want to display more items on the toolbar when it is in icon-only mode; each item takes less space on the bar.
+</para>
+
+@toolbar: the object which received the signal.
+@style: the new #GtkToolbarStyle of @toolbar.
+
diff --git a/docs/reference/gtk/tmpl/gtktooltips.sgml b/docs/reference/gtk/tmpl/gtktooltips.sgml
new file mode 100644
index 000000000..fba097eb9
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtktooltips.sgml
@@ -0,0 +1,177 @@
+<!-- ##### SECTION Title ##### -->
+GtkTooltips
+
+<!-- ##### SECTION Short_Description ##### -->
+Add tips to your widgets.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+Tooltips are the messages that appear next to a widget when the mouse pointer is held over it for a short amount of time. They are especially helpful for adding more verbose descriptions of things such as buttons in a toolbar.
+</para>
+<para>
+An individual tooltip belongs to a group of tooltips. A group is created with a call to gtk_tooltips_new(). Every tooltip in the group can then be turned off with a call to gtk_tooltips_disable() and enabled with gtk_tooltips_enable().
+</para>
+<para>
+The length of time the user must keep the mouse over a widget before the tip is shown, can be altered with gtk_tooltips_set_delay(). This is set on a 'per group of tooltips' basis.
+</para>
+<para>
+To assign a tip to a particular #GtkWidget, gtk_tooltips_set_tip() is used.
+</para>
+<para>
+The default appearance of all tooltips in a program is determined by the current gtk theme that the user has selected. To change the tooltip appearance manually, use gtk_tooltips_set_colors(). Again, this is per group of tooltips.
+</para>
+<para>
+Information about the tooltip (if any) associated with an arbitrary widget can be retrieved using gtk_tooltips_data_get().
+</para>
+<para>
+<example>
+<title>Adding tooltips to buttons.</title>
+<programlisting>
+ GtkWidget *load_button, *save_button, *hbox;
+ GtkTooltips *button_bar_tips;
+
+ button_bar_tips = gtk_tooltips_new();
+
+ /* Create the buttons and pack them into a #GtkHBox */
+ hbox = gtk_hbox_new(TRUE, 2);
+
+ load_button = gtk_button_new_with_label("Load a file");
+ gtk_box_pack_start(GTK_BOX (hbox), load_button, TRUE, TRUE, 2);
+ gtk_widget_show(load_button);
+
+ save_button = gtk_button_new_with_label("Save a file");
+ gtk_box_pack_start(GTK_BOX (hbox), save_button, TRUE, TRUE, 2);
+ gtk_widget_show(save_button);
+ gtk_widget_show(hbox);
+
+ /* Add the tips */
+ gtk_tooltips_set_tip(GTK_TOOLTIPS (button_bar_tips), load_button,
+ "Load a new document into this window",
+ "Requests the filename of a document.
+ This will then be loaded into the current
+ window, replacing the contents of whatever
+ is already loaded.");
+ gtk_tooltips_set_tip(GTK_TOOLTIPS (button_bar_tips), save_button,
+ "Saves the current document to a file",
+ "If you have saved the document previously,
+ then the new version will be saved over the
+ old one. Otherwise, you will be prompted for
+ a filename.");
+</programlisting></example>
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+<varlistentry>
+<term>#GtkToolbar</term>
+<listitem><para>Create groups of widgets with their own tooltips.</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>#GtkTipsQuery</term>
+<listitem><para>Query tooltips to create context-sensitive help.</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkTooltips ##### -->
+<para>Holds information about a group of tooltips. Fields should be changed using the functions provided, rather than directly accessing the struct's members.
+</para>
+
+@data:
+@tip_window:
+@active_tips_data:
+@tips_data_list:
+@gc:
+@foreground:
+@background:
+@delay:
+@enabled:
+@timer_tag:
+
+<!-- ##### STRUCT GtkTooltipsData ##### -->
+<para>
+<structfield>tooltips</structfield> is the #GtkTooltips group that this tooltip belongs to. <structfield>widget</structfield> is the #GtkWidget that this tooltip data is associated with. <structfield>tip_text</structfield> is a string containing the tooltip message itself.</para>
+<para>
+<structfield>tip_private</structfield> is a string that is not shown as the default tooltip. Instead, this message may be more informative and go towards forming a context-sensitive help system for your application. (FIXME: how to actually "switch on" private tips?)
+</para>
+
+@tooltips:
+@widget:
+@tip_text:
+@tip_private:
+@font:
+@width:
+@row:
+
+<!-- ##### FUNCTION gtk_tooltips_new ##### -->
+<para>
+Creates an empty group of tooltips. This function initialises a #GtkTooltips structure. Without at least one such structure, you can not add tips to your application.
+</para>
+
+@Returns: a new #GtkTooltips group for you to use.
+
+
+<!-- ##### FUNCTION gtk_tooltips_enable ##### -->
+<para>
+Allows the user to see your tooltips as they navigate your application.
+</para>
+
+@tooltips: a #GtkTooltips.
+
+
+<!-- ##### FUNCTION gtk_tooltips_disable ##### -->
+<para>
+Causes all tooltips in @tooltips to become inactive. Any widgets that have tips associated with that group will no longer display their tips until they are enabled again with gtk_tooltips_enable().
+</para>
+
+@tooltips: a #GtkTooltips.
+
+
+<!-- ##### FUNCTION gtk_tooltips_set_delay ##### -->
+<para>
+Sets the time between the user moving the mouse over a widget and the widget's tooltip appearing.
+</para>
+
+@tooltips: a #GtkTooltips.
+@delay: an integer value representing seconds (FIXME: double-check this).
+
+
+<!-- ##### FUNCTION gtk_tooltips_set_tip ##### -->
+<para>
+Adds a tooltip containing the message @tip_text to the specified #GtkWidget.
+</para>
+
+@tooltips: a #GtkTooltips.
+@widget: the #GtkWidget you wish to associate the tip with.
+@tip_text: a string containing the tip itself.
+@tip_private: a string of any further information that may be useful if the user gets stuck.
+
+
+<!-- ##### FUNCTION gtk_tooltips_set_colors ##### -->
+<para>
+Changes the foreground and background colors of a #GtkTooltips.
+</para>
+
+@tooltips: a #GtkTooltip
+@background: a #GdkColor that your tooltip text will be shown in.
+@foreground: a #GdkColor that your tooltip backgrounds will be shown in.
+
+
+<!-- ##### FUNCTION gtk_tooltips_data_get ##### -->
+<para>
+Retrieves any #GtkTooltipsData previously associated with the given widget.
+</para>
+
+@widget: a #GtkWidget.
+@Returns: a #GtkTooltipsData struct, or NULL if the widget has no tooltip.
+
+
+<!-- ##### FUNCTION gtk_tooltips_force_window ##### -->
+<para>
+Soon as I play with this, I'll report what it does.
+</para>
+
+@tooltips:
+
+
diff --git a/docs/reference/gtk/tmpl/gtktree.sgml b/docs/reference/gtk/tmpl/gtktree.sgml
new file mode 100644
index 000000000..84be04bd2
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtktree.sgml
@@ -0,0 +1,307 @@
+<!-- ##### SECTION Title ##### -->
+GtkTree
+
+<!-- ##### SECTION Short_Description ##### -->
+A treelist widget.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkTree widget is a container that shows users a list of items, in a tree format complete with branches and leafnodes. Branches can be expanded to show their child items, or collapsed to hide them.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+#GtkTreeList for the items to put into a #GtkTree.
+</para>
+<para>
+#GtkScrolledWindow for details on how to scroll around a #GtkTree.
+</para>
+
+<!-- ##### STRUCT GtkTree ##### -->
+<para>
+<programlisting>
+struct _GtkTree
+{
+ GtkContainer container;
+ GList *children;
+ GtkTree* root_tree; /* owner of selection list */
+ GtkWidget* tree_owner;
+ GList *selection;
+ guint level;
+ guint indent_value;
+ guint current_indent;
+ guint selection_mode : 2;
+ guint view_mode : 1;
+ guint view_line : 1;
+};
+</programlisting>
+</para>
+
+@container:
+@children:
+@root_tree:
+@tree_owner:
+@selection:
+@level:
+@indent_value:
+@current_indent:
+@selection_mode:
+@view_mode:
+@view_line:
+
+<!-- ##### MACRO GTK_IS_ROOT_TREE ##### -->
+<para>
+A macro that returns a boolean value which indicates if @obj is a root tree or not.
+</para>
+
+@obj: A pointer to the #GtkTree. @obj will accept any pointer, but if the pointer does not point to a #GtkTree, the results are undefined.
+
+
+<!-- ##### MACRO GTK_TREE_ROOT_TREE ##### -->
+<para>
+A macro that returns the root tree of @obj.
+</para>
+<para>
+If @obj is already a root tree, @obj is cast to #GtkTree and returned.
+</para>
+
+@obj: A pointer to the #GtkTree. @obj will accept any pointer, but if the pointer does not point to a #GtkTree, the results are undefined.
+
+
+<!-- ##### MACRO GTK_TREE_SELECTION ##### -->
+<para>
+A macro that returns a GList that contains the selection of the root tree of @obj.
+</para>
+
+@obj: A pointer to the #GtkTree. @obj will accept any pointer, but it the pointer does not point to a #GtkTree, the results are undefined.
+
+
+<!-- ##### ENUM GtkTreeViewMode ##### -->
+<para>
+
+</para>
+
+@GTK_TREE_VIEW_LINE:
+@GTK_TREE_VIEW_ITEM:
+
+<!-- ##### FUNCTION gtk_tree_new ##### -->
+<para>
+Creates a new #GtkTree.
+</para>
+
+@Returns: A pointer to the newly allocated widget.
+
+
+<!-- ##### FUNCTION gtk_tree_append ##### -->
+<para>
+Adds the #GtkTreeItem in @tree_item to the end of the items in @tree.
+</para>
+
+@tree: A pointer to a #GtkTree.
+@tree_item: A pointer to the #GtkWidget that is to be appended to the tree.
+
+
+<!-- ##### FUNCTION gtk_tree_prepend ##### -->
+<para>
+Adds the #GtkTreeItem in @tree_item to the start of the items in @tree.
+</para>
+
+@tree: A pointer to a #GtkTree.
+@tree_item: A pointer to the #GtkWidget that is to be prepended to the tree.
+
+
+<!-- ##### FUNCTION gtk_tree_insert ##### -->
+<para>
+Adds the #GtkTreeItem in @tree_item to the list of items in @tree at the position indicated by @position.
+</para>
+
+@tree: A pointer to a #GtkTree.
+@tree_item: A pointer to the #GtkWidget that is to be added to the tree.
+@position: A #gint that indicates the position in the tree, that the tree_item is to be added at.
+
+
+<!-- ##### FUNCTION gtk_tree_remove_items ##### -->
+<para>
+Removes a list of items from the #GtkTree in @tree.
+</para>
+<para>
+If only one item is to be removed from the #GtkTree, gtk_container_remove() can be used instead.
+</para>
+<para>
+Removing an item from a #GtkTree dereferences the item, and thus usually destroys the item and any subtrees it may contain. If the item is not to be destroyed, use gtk_object_ref() before removing it.
+</para>
+
+@tree: A pointer to a #GtkTree.
+@items: A pointer to a #GList that contains the items to be removed.
+
+
+<!-- ##### FUNCTION gtk_tree_clear_items ##### -->
+<para>
+Removes the items at positions between @start and @end from the #GtkTree @tree.
+</para>
+<para>
+Removing an item from a #GtkTree dereferences the item, and thus usually destroys the item and any subtrees it may contain. If the item is not to be destroyed, use gtk_object_ref() before removing it.
+</para>
+
+@tree: A pointer to a #GtkTree.
+@start: A gint.
+@end: A gint.
+
+
+<!-- ##### FUNCTION gtk_tree_select_item ##### -->
+<para>
+Emits the #select_item signal for the child at position @item, and thus selects it (unless it is unselected in a signal handler).
+</para>
+
+@tree: A pointer to a #GtkTree.
+@item: A gint.
+
+
+<!-- ##### FUNCTION gtk_tree_unselect_item ##### -->
+<para>
+Emits the #unselect_item for the child at position @item, and thus unselects it.
+</para>
+
+@tree: A pointer to a #GtkTree.
+@item: A gint.
+
+
+<!-- ##### FUNCTION gtk_tree_select_child ##### -->
+<para>
+Emits the #select_item signal for the child @tree_item, and thus selects it (unless it is unselected in a signal handler).
+</para>
+
+@tree: A pointer to a #GtkTree.
+@tree_item: A pointer to the #GtkWidget that is to be selected.
+
+
+<!-- ##### FUNCTION gtk_tree_unselect_child ##### -->
+<para>
+Emits the #unselect_item signal for the child @tree_item, and thus unselects it.
+</para>
+
+@tree: A pointer to a #GtkTree.
+@tree_item: A pointer to the #GtkWidget that is to be selected.
+
+
+<!-- ##### FUNCTION gtk_tree_child_position ##### -->
+<para>
+Returns the position of @child in the #GtkTree @tree.
+</para>
+<para>
+If @child is not a child of @tree, then -1 is returned.
+</para>
+
+@tree: A pointer to a #GtkTree.
+@child: A pointer to a #GtkWidget.
+@Returns: A gint.
+
+
+<!-- ##### FUNCTION gtk_tree_set_selection_mode ##### -->
+<para>
+Sets the selection mode for the #GtkTree @tree.
+</para>
+<para>
+@mode can be one of
+</para>
+<itemizedlist>
+<listitem>
+<para>
+%GTK_SELECTION_SINGLE for when only one item can be selected at a time.
+</para>
+</listitem>
+<listitem>
+<para>
+%GTK_SELECTION_BROWSE for when one item must be selected.
+</para>
+</listitem>
+<listitem>
+<para>
+%GTK_SELECTION_MULTIPLE for when many items can be selected at once.
+</para>
+</listitem>
+<listitem>
+<para>
+%GTK_SELECTION_EXTENDED Reserved for later use.
+</para>
+</listitem>
+</itemizedlist>
+<para>
+The selection mode is only defined for a root tree, as the root tree "owns" the selection.
+</para>
+<para>
+The default mode is %GTK_SELECTION_SINGLE.
+</para>
+
+@tree: A pointer to a #GtkTree.
+@mode: A #GtkSelectionMode.
+
+
+<!-- ##### FUNCTION gtk_tree_set_view_mode ##### -->
+<para>
+Sets the 'viewmode' for the #GtkTree in @tree. The 'viewmode' defines how the tree looks when an item is selected.
+</para>
+<para>
+@mode can be one of:
+</para>
+<itemizedlist>
+<listitem>
+<para>
+%GTK_TREE_VIEW_LINE : When an item is selected the entire #GtkTreeItem is highlighted.
+</para>
+</listitem>
+<listitem>
+<para>
+%GTK_TREE_VIEW_ITEM : When an item is selected only the selected item's child widget is highlighted.
+</para>
+</listitem>
+</itemizedlist>
+<para>
+The default mode is %GTK_TREE_VIEW_LINE.
+</para>
+
+@tree: A pointer to a #GtkTree.
+@mode: A #GtkTreeViewMode.
+
+
+<!-- ##### FUNCTION gtk_tree_set_view_lines ##### -->
+<para>
+Sets whether or not the connecting lines between branches and children are drawn.
+</para>
+
+@tree: A pointer to a #GtkTree.
+@flag: A guint, indicating %TRUE, or %FALSE.
+
+
+<!-- ##### FUNCTION gtk_tree_remove_item ##### -->
+<para>
+Removes the item @child from the #GtkTree @tree.
+</para>
+
+@tree: A pointer to a #GtkTree.
+@child: A pointer to the #GtkWidget that is to be removed from the tree.
+
+
+<!-- ##### SIGNAL GtkTree::selection-changed ##### -->
+<para>
+This signal is emitted by the root tree whenever the selection changes.
+</para>
+
+@tree: the object which received the signal.
+
+<!-- ##### SIGNAL GtkTree::select-child ##### -->
+<para>
+This signal is emitted by @tree whenever @widget is about to be selected.
+</para>
+
+@tree: the object which received the signal.
+@widget: The child that is about to be selected.
+
+<!-- ##### SIGNAL GtkTree::unselect-child ##### -->
+<para>
+This signal is emitted by @tree whenever @widget is about to be unselected.
+</para>
+
+@tree: the object which received the signal.
+@widget: The child that is about to be unselected.
+
diff --git a/docs/reference/gtk/tmpl/gtktreeitem.sgml b/docs/reference/gtk/tmpl/gtktreeitem.sgml
new file mode 100644
index 000000000..fd745a729
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtktreeitem.sgml
@@ -0,0 +1,115 @@
+<!-- ##### SECTION Title ##### -->
+GtkTreeItem
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkTreeItem ##### -->
+<para>
+
+</para>
+
+@item:
+@subtree:
+@pixmaps_box:
+@pixmaps:
+@expanded:
+
+<!-- ##### MACRO GTK_TREE_ITEM_SUBTREE ##### -->
+<para>
+
+</para>
+
+@obj:
+
+
+<!-- ##### FUNCTION gtk_tree_item_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_tree_item_new_with_label ##### -->
+<para>
+
+</para>
+
+@label:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_tree_item_set_subtree ##### -->
+<para>
+
+</para>
+
+@tree_item:
+@subtree:
+
+
+<!-- ##### FUNCTION gtk_tree_item_remove_subtree ##### -->
+<para>
+
+</para>
+
+@tree_item:
+
+
+<!-- ##### FUNCTION gtk_tree_item_select ##### -->
+<para>
+
+</para>
+
+@tree_item:
+
+
+<!-- ##### FUNCTION gtk_tree_item_deselect ##### -->
+<para>
+
+</para>
+
+@tree_item:
+
+
+<!-- ##### FUNCTION gtk_tree_item_expand ##### -->
+<para>
+
+</para>
+
+@tree_item:
+
+
+<!-- ##### FUNCTION gtk_tree_item_collapse ##### -->
+<para>
+
+</para>
+
+@tree_item:
+
+
+<!-- ##### SIGNAL GtkTreeItem::collapse ##### -->
+<para>
+
+</para>
+
+@treeitem: the object which received the signal.
+
+<!-- ##### SIGNAL GtkTreeItem::expand ##### -->
+<para>
+
+</para>
+
+@treeitem: the object which received the signal.
+
diff --git a/docs/reference/gtk/tmpl/gtktypeutils.sgml b/docs/reference/gtk/tmpl/gtktypeutils.sgml
new file mode 100644
index 000000000..6580d9817
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtktypeutils.sgml
@@ -0,0 +1,869 @@
+<!-- ##### SECTION Title ##### -->
+Types
+
+<!-- ##### SECTION Short_Description ##### -->
+Handle run-time type creation.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+Gtk's type system is extensible. Because of that, types have to be
+managed at runtime.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### TYPEDEF GtkType ##### -->
+<para>
+@GtkType is unique integer identifying the type. The guts of the
+information about the type is held in a private struct named
+GtkTypeNode.
+</para>
+
+
+<!-- ##### ENUM GtkFundamentalType ##### -->
+<para>
+@GtkFundamentalType is an enumerated type which lists all the possible
+fundamental types (e.g. char, uchar, int, long, float, etc).
+</para>
+
+@GTK_TYPE_INVALID:
+@GTK_TYPE_NONE:
+@GTK_TYPE_CHAR:
+@GTK_TYPE_UCHAR:
+@GTK_TYPE_BOOL:
+@GTK_TYPE_INT:
+@GTK_TYPE_UINT:
+@GTK_TYPE_LONG:
+@GTK_TYPE_ULONG:
+@GTK_TYPE_FLOAT:
+@GTK_TYPE_DOUBLE:
+@GTK_TYPE_STRING:
+@GTK_TYPE_ENUM:
+@GTK_TYPE_FLAGS:
+@GTK_TYPE_BOXED:
+@GTK_TYPE_POINTER:
+@GTK_TYPE_SIGNAL:
+@GTK_TYPE_ARGS:
+@GTK_TYPE_CALLBACK:
+@GTK_TYPE_C_CALLBACK:
+@GTK_TYPE_FOREIGN:
+@GTK_TYPE_OBJECT:
+
+<!-- ##### MACRO GTK_TYPE_NUM_BUILTINS ##### -->
+<para>
+No idea.
+</para>
+
+
+
+<!-- ##### MACRO GTK_TYPE_FLAT_FIRST ##### -->
+<para>
+The first "flat" (no struct) enumerated type value.
+</para>
+
+
+
+<!-- ##### MACRO GTK_TYPE_FLAT_LAST ##### -->
+<para>
+The last "flat" (no struct) enumerated type value.
+</para>
+
+
+
+<!-- ##### MACRO GTK_TYPE_STRUCTURED_FIRST ##### -->
+<para>
+The first structured enumerated type value.
+</para>
+
+
+
+<!-- ##### MACRO GTK_TYPE_STRUCTURED_LAST ##### -->
+<para>
+The last structured enumerated type value.
+</para>
+
+
+
+<!-- ##### MACRO GTK_TYPE_FUNDAMENTAL_LAST ##### -->
+<para>
+The highest-numbered structured or flat enumerated type value.
+</para>
+
+
+
+<!-- ##### MACRO GTK_TYPE_FUNDAMENTAL_MAX ##### -->
+<para>
+The highest maximum fundamental enumerated type value.
+</para>
+
+
+
+<!-- ##### MACRO GTK_STRUCT_OFFSET ##### -->
+<para>
+Use in place of offsetof(), which is used if it exists.
+</para>
+
+@struct: The type of the structure.
+@field: The field within the structure.
+
+
+<!-- ##### MACRO GTK_CHECK_CAST ##### -->
+<para>
+Cast the object in @tobj into @cast. If GTK_NO_CHECK_CASTS is
+defined, just cast it. Otherwise, check to see if we can cast @tobj
+into a @cast.
+</para>
+
+@tobj: a pointer to a GtkObject.
+@cast_type: a Gtk type.
+@cast: a C type
+
+
+<!-- ##### MACRO GTK_CHECK_CLASS_CAST ##### -->
+<para>
+Cast the object in @tobj into @cast. If GTK_NO_CHECK_CASTS is
+defined, just cast it. Otherwise, check to see if we can cast @tobj
+into a @cast.
+</para>
+
+@tclass: a pointer to a GtkClassInitFunc
+@cast_type: a Gtk type.
+@cast: a C type
+
+
+<!-- ##### MACRO GTK_CHECK_TYPE ##### -->
+<para>
+Determines whether @type_object is a type of @otype.
+</para>
+
+@type_object: A GtkTypeObject object.
+@otype:
+
+
+<!-- ##### MACRO GTK_CHECK_CLASS_TYPE ##### -->
+<para>
+Determines whether @type_class is a type of @otype.
+</para>
+
+@type_class: A GtkTypeClass class.
+@otype:
+
+
+<!-- ##### MACRO GTK_TYPE_IDENTIFIER ##### -->
+<para>
+Hide the name of gtk_identifier_get_type
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_identifier_get_type ##### -->
+<para>
+Get the type of GtkIdentifier.
+</para>
+
+@Returns: GtkType -- the enumerated type of something.
+
+
+<!-- ##### MACRO GTK_TYPE_MAKE ##### -->
+<para>
+Combine a fundemantal type and a sequence number to create a gtk type.
+</para>
+
+@parent_t:
+@seqno:
+
+
+<!-- ##### MACRO GTK_FUNDAMENTAL_TYPE ##### -->
+<para>
+Convert a gtk type into a fundamental type
+</para>
+
+@type:
+
+
+<!-- ##### MACRO GTK_TYPE_SEQNO ##### -->
+<para>
+Convert a gtk type into its sequence number
+</para>
+
+@type:
+
+
+<!-- ##### MACRO GTK_SIGNAL_FUNC ##### -->
+<para>
+Just a macroized cast into a GtkSignalFunc
+</para>
+
+@f:
+
+
+<!-- ##### USER_FUNCTION GtkClassInitFunc ##### -->
+<para>
+Define a function pointer.
+</para>
+
+@klass: a gpointer
+
+
+<!-- ##### USER_FUNCTION GtkObjectInitFunc ##### -->
+<para>
+Define a function pointer.
+</para>
+
+@object: a gpointer
+@klass: a gpointer
+
+
+<!-- ##### USER_FUNCTION GtkSignalFunc ##### -->
+<para>
+Define a function pointer.
+</para>
+
+
+
+<!-- ##### USER_FUNCTION GtkFunction ##### -->
+<para>
+Define a function pointer.
+</para>
+
+@data: gpointer
+@Returns: gint
+
+
+<!-- ##### USER_FUNCTION GtkDestroyNotify ##### -->
+<para>
+Define a function pointer.
+</para>
+
+@data: gpointer
+
+
+<!-- ##### USER_FUNCTION GtkCallbackMarshal ##### -->
+<para>
+Define a function pointer.
+</para>
+
+@object: GtkObject*
+@data: gpointer
+@n_args: guint
+@args: GtkArg*
+
+
+<!-- ##### USER_FUNCTION GtkSignalMarshaller ##### -->
+<para>
+Define a function pointer.
+</para>
+
+@object: GtkObject*
+@func: GtkSignalFunc
+@func_data: gpointer
+@args: GtkArg*
+
+
+<!-- ##### USER_FUNCTION GtkArgGetFunc ##### -->
+<para>
+Define a function pointer. Deprecated.
+</para>
+
+@object:
+@arg:
+@arg_id:
+
+
+<!-- ##### USER_FUNCTION GtkArgSetFunc ##### -->
+<para>
+Define a function pointer. Deprecated.
+</para>
+
+@object:
+@arg:
+@arg_id:
+
+
+<!-- ##### STRUCT GtkTypeObject ##### -->
+<para>
+A GtkTypeObject defines the minimum structure requirements
+for type instances. Type instances returned from gtk_type_new ()
+and initialized through a GtkObjectInitFunc need to directly inherit
+from this structure or at least copy its fields one by one.
+</para>
+
+@klass:
+
+<!-- ##### STRUCT GtkArg ##### -->
+<para>
+This is a structure that we use to pass in typed values (and names).
+</para>
+
+@type:
+@name:
+
+<!-- ##### MACRO GTK_VALUE_CHAR ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_CHAR
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_UCHAR ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_UCHAR
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_BOOL ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_BOOL
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_INT ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_INT
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_UINT ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_UINT
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_LONG ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_LONG
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_ULONG ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_ULONG
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_FLOAT ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_FLOAT
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_DOUBLE ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_DOUBLE
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_STRING ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_STRING
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_ENUM ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_ENUM
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_FLAGS ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_FLAGS
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_BOXED ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_BOXED
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_POINTER ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_POINTER
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_OBJECT ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_OBJECT
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_SIGNAL ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_SIGNAL
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_ARGS ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_ARGS
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_CALLBACK ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_CALLBACK
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_C_CALLBACK ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_C_CALLBACK
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_VALUE_FOREIGN ##### -->
+<para>
+Use to get the value of a GtkArg whose GtkType is GTK_TYPE_C_FOREIGN
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_CHAR ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_CHAR
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_UCHAR ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_UCHAR
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_BOOL ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_BOOL
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_INT ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_INT
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_UINT ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_UINT
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_LONG ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_LONG
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_ULONG ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_ULONG
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_FLOAT ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_FLOAT
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_DOUBLE ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_DOUBLE
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_STRING ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_STRING
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_ENUM ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_ENUM
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_FLAGS ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_FLAGS
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_BOXED ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_BOXED
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_POINTER ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_POINTER
+</para>
+
+@a:
+
+
+<!-- ##### MACRO GTK_RETLOC_OBJECT ##### -->
+<para>
+If the GtkArg contains a pointer to the value, this macro will be a pointer to a GTK_TYPE_OBJECT
+</para>
+
+@a:
+
+
+<!-- ##### STRUCT GtkTypeInfo ##### -->
+<para>
+Holds information about the type. @gtk_type_name returns the name.
+@object_size is somehow set to the number of bytes that an instance of
+the object will occupy. @class_init_func holds the type's
+initialization function. @object_init_func holds the initialization
+function for an instance of the object. @reserved_1 is used for
+GtkEnumValue to hold the enumerated values.
+</para>
+
+@type_name:
+@object_size:
+@class_size:
+@class_init_func:
+@object_init_func:
+@reserved_1:
+@reserved_2:
+@base_class_init_func:
+
+<!-- ##### STRUCT GtkTypeQuery ##### -->
+<para>
+A structure used to return values from @gtk_type_query.
+</para>
+
+@type:
+@type_name:
+@object_size:
+@class_size:
+
+<!-- ##### STRUCT GtkTypeClass ##### -->
+<para>
+The base structure for a Gtk Type. Every type inherits this as a base structure.
+</para>
+
+
+<!-- ##### STRUCT GtkEnumValue ##### -->
+<para>
+A structure which contains a single enum value, and its name, and it's
+nickname.
+</para>
+
+@value:
+@value_name:
+@value_nick:
+
+<!-- ##### FUNCTION gtk_type_init ##### -->
+<para>
+Initialize the data structures associated with gtk types.
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_type_unique ##### -->
+<para>
+Create a new, unique type.
+</para>
+
+@parent_type: if zero, a fundamental type is created.
+@type_info: must not be null, and @type_info->type_name must also not be null.
+@Returns: the new GtkType.
+
+
+<!-- ##### FUNCTION gtk_type_set_chunk_alloc ##### -->
+<para>
+Set the mem_chunk size so it will hold @n_chunks of the objects of that @type.
+</para>
+
+@type: There must be an unlocked TypeNode associated with this type otherwise nothing happens.
+@n_chunks:
+
+
+<!-- ##### FUNCTION gtk_type_name ##### -->
+<para>
+</para>
+
+@type: a GtkType
+@Returns: a pointer to the name of a type, or NULL if it has none.
+
+
+<!-- ##### FUNCTION gtk_type_from_name ##### -->
+<para>
+Get the internal representation of a type given its name.
+</para>
+
+@name: the name of a gtk type
+@Returns: a GtkType
+
+
+<!-- ##### FUNCTION gtk_type_parent ##### -->
+<para>
+
+</para>
+
+@type: a GtkType
+@Returns: the GtkType of the parent
+
+
+<!-- ##### FUNCTION gtk_type_class ##### -->
+<para>
+Return a gpointer pointing to the class of @type or NULL if there was
+any trouble identifying @type. Initialize the class if necessary.
+</para>
+
+@type: a GtkType
+@Returns: gpointer to the klass.
+
+
+<!-- ##### FUNCTION gtk_type_parent_class ##### -->
+<para>
+Return the class of the parent. Initialize the class if necessary.
+Return NULL if anything goes wrong.
+</para>
+
+@type: GtkType
+@Returns: gpointer to the klass.
+
+
+<!-- ##### FUNCTION gtk_type_children_types ##### -->
+<para>
+Return the pointer to the type's children's types.
+</para>
+
+@type: GtkType
+@Returns: pointer to a GList
+
+
+<!-- ##### FUNCTION gtk_type_new ##### -->
+<para>
+Create a new object of a given type, and return a gpointer to it.
+Returns NULL if you give it an invalid type. It allocates the object
+out of the type's memory chunk if there is a memory chunk. The object
+has all the proper initializers called.
+</para>
+
+@type: GtkType
+@Returns: gpointer to a GtkTypeObject
+
+
+<!-- ##### FUNCTION gtk_type_free ##### -->
+<para>
+Given the type of an object and a pointer to it, the object is freed.
+</para>
+
+@type: GtkType
+@mem: gpointer to the object
+
+
+<!-- ##### FUNCTION gtk_type_describe_heritage ##### -->
+<para>
+Print the types @type inherits from.
+</para>
+
+@type: GtkType
+
+
+<!-- ##### FUNCTION gtk_type_describe_tree ##### -->
+<para>
+Given a @type, describe all of its children, and their children. Only
+show the size if @show_size is true.
+</para>
+
+@type: GtkType
+@show_size: gboolean
+
+
+<!-- ##### FUNCTION gtk_type_is_a ##### -->
+<para>
+Look in the type hierarchy to see if @type has @is_a_type among its
+ancestors. Do so with a simple lookup, not a loop.
+</para>
+
+@type: GtkType
+@is_a_type: GtkType
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_type_check_object_cast ##### -->
+<para>
+Given a pointer to a GtkTypeObject @type_object, and a GtkType @cast_type,
+make sure that it's okay to cast @type_object into a @cast_type.
+</para>
+
+@type_object: GtkTypeObject*
+@cast_type: GtkType
+@Returns: the same GtkTypeObject* as @type_object
+
+
+<!-- ##### FUNCTION gtk_type_check_class_cast ##### -->
+<para>
+Given a GtkTypeClass pointer @klass, and a GtkType @cast_type, make
+sure that it's okay to cast something of that @klass into a @cast_type.
+</para>
+
+@klass: GtkTypeClass*
+@cast_type: GtkType
+@Returns: Always return @klass.
+
+
+<!-- ##### FUNCTION gtk_type_register_enum ##### -->
+<para>
+Register a new set of enum @values and give them the name in
+@type_name.
+</para>
+
+@type_name: must not be null.
+@values: GtkEnumValue*
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_type_register_flags ##### -->
+<para>
+Register a new set of flags @values and give them the name in
+@type_name.
+ara>
+
+@type_name: must not be null.
+@values: GtkFlagValue*
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_type_enum_get_values ##### -->
+<para>
+If @enum_type has values, then return a pointer to all of them.
+</para>
+
+@enum_type: GtkType
+@Returns: GtkEnumValue*
+
+
+<!-- ##### FUNCTION gtk_type_flags_get_values ##### -->
+<para>
+If @flags_type has values, then return a pointer to all of them.
+</para>
+
+@flags_type:
+@Returns: GtkFlagValue*
+
+
+<!-- ##### FUNCTION gtk_type_enum_find_value ##### -->
+<para>
+Return a pointer to one of @enum_type's GtkEnumValues's whose name (or nickname) matches @value_name.
+</para>
+
+@enum_type: GtkType
+@value_name:
+@Returns: GtkEnumValue*
+
+
+<!-- ##### FUNCTION gtk_type_flags_find_value ##### -->
+<para>
+Return a pointer to one of @flag_type's GtkFlagValue's whose name (or nickname) matches @value_name.
+</para>
+
+@flag_type: GtkType
+@value_name:
+@Returns: GtkFlagValue*
+
+
+<!-- ##### FUNCTION gtk_type_set_varargs_type ##### -->
+<para>
+Set the varargs type for a fundamental type @foreign_type.
+</para>
+
+@foreign_type: Must be a GtkType with a sequence number of zero. Must not be a
+fundamental type.
+@varargs_type: Must be a GtkType which is either structured or flag, or NONE.
+
+
+<!-- ##### FUNCTION gtk_type_get_varargs_type ##### -->
+<para>
+Get the varargs type associated with @foreign_type
+</para>
+
+@foreign_type: GtkType
+@Returns: GtkType
+
+
+<!-- ##### FUNCTION gtk_type_query ##### -->
+<para>
+Given a type, return various interesting parameters of the type.
+</para>
+
+@type: GtkType
+@Returns: GtkTypeQuery*
+
+
diff --git a/docs/reference/gtk/tmpl/gtkvbbox.sgml b/docs/reference/gtk/tmpl/gtkvbbox.sgml
new file mode 100644
index 000000000..d0fe4c865
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkvbbox.sgml
@@ -0,0 +1,63 @@
+<!-- ##### SECTION Title ##### -->
+GtkVButtonBox
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkVButtonBox ##### -->
+<para>
+
+</para>
+
+@button_box:
+
+<!-- ##### FUNCTION gtk_vbutton_box_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_vbutton_box_get_spacing_default ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_vbutton_box_set_spacing_default ##### -->
+<para>
+
+</para>
+
+@spacing:
+
+
+<!-- ##### FUNCTION gtk_vbutton_box_get_layout_default ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_vbutton_box_set_layout_default ##### -->
+<para>
+
+</para>
+
+@layout:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkvbox.sgml b/docs/reference/gtk/tmpl/gtkvbox.sgml
new file mode 100644
index 000000000..306f685ab
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkvbox.sgml
@@ -0,0 +1,47 @@
+<!-- ##### SECTION Title ##### -->
+GtkVBox
+
+<!-- ##### SECTION Short_Description ##### -->
+vertical container box
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+GtkVBox is a container that organizes child widgets into a single column.
+</para>
+
+<para>
+Use the #GtkBox packing interface to determine the arrangement,
+spacing, height, and alignment of GtkVBox children.
+</para>
+
+<para>
+All children are allocated the same width.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+<variablelist>
+
+<varlistentry>
+<term>#GtkHBox</term>
+<listitem><para>a sister class that organizes widgets into a row.</para></listitem>
+</varlistentry>
+
+</variablelist>
+</para>
+
+<!-- ##### STRUCT GtkVBox ##### -->
+
+
+@box:
+
+<!-- ##### FUNCTION gtk_vbox_new ##### -->
+<para>
+Creates a new GtkVBox.
+</para>
+
+@homogeneous: %TRUE if all children are to be given equal space allotments.
+@spacing: the number of pixels to place by default between children.
+@Returns: a new GtkVBox.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkviewport.sgml b/docs/reference/gtk/tmpl/gtkviewport.sgml
new file mode 100644
index 000000000..a43582f0c
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkviewport.sgml
@@ -0,0 +1,98 @@
+<!-- ##### SECTION Title ##### -->
+GtkViewport
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkViewport ##### -->
+<para>
+
+</para>
+
+@bin:
+@shadow_type:
+@view_window:
+@bin_window:
+@hadjustment:
+@vadjustment:
+
+<!-- ##### FUNCTION gtk_viewport_new ##### -->
+<para>
+
+</para>
+
+@hadjustment:
+@vadjustment:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_viewport_get_hadjustment ##### -->
+<para>
+
+</para>
+
+@viewport:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_viewport_get_vadjustment ##### -->
+<para>
+
+</para>
+
+@viewport:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_viewport_set_hadjustment ##### -->
+<para>
+
+</para>
+
+@viewport:
+@adjustment:
+
+
+<!-- ##### FUNCTION gtk_viewport_set_vadjustment ##### -->
+<para>
+
+</para>
+
+@viewport:
+@adjustment:
+
+
+<!-- ##### FUNCTION gtk_viewport_set_shadow_type ##### -->
+<para>
+
+</para>
+
+@viewport:
+@type:
+
+
+<!-- ##### ARG GtkViewport:hadjustment ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkViewport:vadjustment ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkViewport:shadow_type ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkvpaned.sgml b/docs/reference/gtk/tmpl/gtkvpaned.sgml
new file mode 100644
index 000000000..f6d41bc5a
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkvpaned.sgml
@@ -0,0 +1,33 @@
+<!-- ##### SECTION Title ##### -->
+GtkVPaned
+
+<!-- ##### SECTION Short_Description ##### -->
+A container with two panes arranged vertically.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The VPaned widget is a container widget with two
+children arranged vertically. The division between
+the two panes is adjustable by the user by dragging
+a handle. See #GtkPaned for details.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkVPaned ##### -->
+<para>
+</para>
+
+@paned:
+
+<!-- ##### FUNCTION gtk_vpaned_new ##### -->
+<para>
+Create a new #GtkVPaned
+</para>
+
+@Returns: the new #GtkVPaned
+
+
diff --git a/docs/reference/gtk/tmpl/gtkvruler.sgml b/docs/reference/gtk/tmpl/gtkvruler.sgml
new file mode 100644
index 000000000..789cd16ce
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkvruler.sgml
@@ -0,0 +1,38 @@
+<!-- ##### SECTION Title ##### -->
+GtkVRuler
+
+<!-- ##### SECTION Short_Description ##### -->
+A vertical ruler.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The VRuler widget is a widget arranged vertically creating a ruler that is
+utilized around other widgets such as a text widget. The ruler is used to show
+the location of the mouse on the window and to show the size of the window in
+specified units. The available units of measurement are GTK_PIXELS, GTK_INCHES
+and GTK_CENTIMETERS. GTK_PIXELS is the default.
+rulers.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GtkVRuler ##### -->
+<para>
+The #GtkVRuler struct contains private data and should be accessed
+using the functions below.
+</para>
+
+@ruler:
+
+<!-- ##### FUNCTION gtk_vruler_new ##### -->
+<para>
+Creates a new vertical ruler
+</para>
+
+@Returns: the new GTKVRuler.
+
+
diff --git a/docs/reference/gtk/tmpl/gtkvscale.sgml b/docs/reference/gtk/tmpl/gtkvscale.sgml
new file mode 100644
index 000000000..0b0e0171d
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkvscale.sgml
@@ -0,0 +1,45 @@
+<!-- ##### SECTION Title ##### -->
+GtkVScale
+
+<!-- ##### SECTION Short_Description ##### -->
+a vertical slider widget for selecting a value from a range.
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The #GtkVScale widget is used to allow the user to select a value using
+a vertical slider.
+A #GtkAdjustment is used to set the initial value, the lower
+and upper bounds, and the step and page increments.
+</para>
+<para>
+The position to show the current value, and the number of decimal places
+shown can be set using the parent #GtkScale class's functions.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkVScale ##### -->
+<para>
+The #GtkVScale-struct struct contains private data only, and
+should be accessed using the functions below.
+</para>
+
+@scale:
+
+<!-- ##### FUNCTION gtk_vscale_new ##### -->
+<para>
+Creates a new #GtkVScale.
+</para>
+
+@adjustment: the #GtkAdjustment which sets the range of the scale.
+@Returns: a new #GtkVScale.
+
+
+<!-- ##### ARG GtkVScale:adjustment ##### -->
+<para>
+the #GtkAdjustment which sets the range of the scale.
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkvscrollbar.sgml b/docs/reference/gtk/tmpl/gtkvscrollbar.sgml
new file mode 100644
index 000000000..ecff50a5b
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkvscrollbar.sgml
@@ -0,0 +1,42 @@
+<!-- ##### SECTION Title ##### -->
+GtkVScrollbar
+
+<!-- ##### SECTION Short_Description ##### -->
+A vertical scrollbar
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+The VScrollbar widget is a widget arranged vertically creating a scroll bar. See
+#GtkScrollbar for details on scrollbars. #GtkAdjustment pointers may be added to
+handle the adjustment of the scrollbars or it may be left NULL in which case one
+will be created you. See #GtkAdjustment for details.
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### STRUCT GtkVScrollbar ##### -->
+<para>
+The #GtkVScrollbar struct contains private data and should be accessed
+using the functions below.
+</para>
+
+@scrollbar:
+
+<!-- ##### FUNCTION gtk_vscrollbar_new ##### -->
+<para>
+Creates a new vertical scrollbar.
+</para>
+
+@adjustment:
+@Returns: the new GTKVScrollbar
+
+
+<!-- ##### ARG GtkVScrollbar:adjustment ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkvseparator.sgml b/docs/reference/gtk/tmpl/gtkvseparator.sgml
new file mode 100644
index 000000000..6e4b7047c
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkvseparator.sgml
@@ -0,0 +1,31 @@
+<!-- ##### SECTION Title ##### -->
+GtkVSeparator
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkVSeparator ##### -->
+<para>
+
+</para>
+
+@separator:
+
+<!-- ##### FUNCTION gtk_vseparator_new ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
diff --git a/docs/reference/gtk/tmpl/gtkwidget.sgml b/docs/reference/gtk/tmpl/gtkwidget.sgml
new file mode 100644
index 000000000..3ecc84727
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkwidget.sgml
@@ -0,0 +1,1721 @@
+<!-- ##### SECTION Title ##### -->
+GtkWidget
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkWidget ##### -->
+<para>
+
+</para>
+
+@object:
+@private_flags:
+@state:
+@saved_state:
+@name:
+@style:
+@requisition:
+@allocation:
+@window:
+@parent:
+
+<!-- ##### ENUM GtkWidgetFlags ##### -->
+<para>
+
+</para>
+
+@GTK_TOPLEVEL:
+@GTK_NO_WINDOW:
+@GTK_REALIZED:
+@GTK_MAPPED:
+@GTK_VISIBLE:
+@GTK_SENSITIVE:
+@GTK_PARENT_SENSITIVE:
+@GTK_CAN_FOCUS:
+@GTK_HAS_FOCUS:
+@GTK_CAN_DEFAULT:
+@GTK_HAS_DEFAULT:
+@GTK_HAS_GRAB:
+@GTK_RC_STYLE:
+@GTK_COMPOSITE_CHILD:
+@GTK_NO_REPARENT:
+@GTK_APP_PAINTABLE:
+@GTK_RECEIVES_DEFAULT:
+
+<!-- ##### MACRO GTK_WIDGET_TYPE ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_STATE ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_SAVED_STATE ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_FLAGS ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_TOPLEVEL ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_NO_WINDOW ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_REALIZED ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_MAPPED ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_VISIBLE ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_DRAWABLE ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_SENSITIVE ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_PARENT_SENSITIVE ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_IS_SENSITIVE ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_CAN_FOCUS ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_HAS_FOCUS ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_CAN_DEFAULT ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_RECEIVES_DEFAULT ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_HAS_DEFAULT ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_HAS_GRAB ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_RC_STYLE ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_COMPOSITE_CHILD ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_APP_PAINTABLE ##### -->
+<para>
+
+</para>
+
+@wid:
+
+
+<!-- ##### MACRO GTK_WIDGET_SET_FLAGS ##### -->
+<para>
+
+</para>
+
+@wid:
+@flag:
+
+
+<!-- ##### MACRO GTK_WIDGET_UNSET_FLAGS ##### -->
+<para>
+
+</para>
+
+@wid:
+@flag:
+
+
+<!-- ##### USER_FUNCTION GtkCallback ##### -->
+<para>
+
+</para>
+
+@widget:
+@data:
+
+
+<!-- ##### STRUCT GtkRequisition ##### -->
+<para>
+
+</para>
+
+@width:
+@height:
+
+<!-- ##### STRUCT GtkAllocation ##### -->
+<para>
+
+</para>
+
+@x:
+@y:
+@width:
+@height:
+
+<!-- ##### STRUCT GtkSelectionData ##### -->
+<para>
+
+</para>
+
+@selection:
+@target:
+@type:
+@format:
+@data:
+@length:
+
+<!-- ##### STRUCT GtkWidgetAuxInfo ##### -->
+<para>
+
+</para>
+
+@x:
+@y:
+@width:
+@height:
+
+<!-- ##### STRUCT GtkWidgetShapeInfo ##### -->
+<para>
+
+</para>
+
+@offset_x:
+@offset_y:
+@shape_mask:
+
+<!-- ##### FUNCTION gtk_widget_new ##### -->
+<para>
+
+</para>
+
+@type:
+@first_arg_name:
+@Varargs:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_newv ##### -->
+<para>
+
+</para>
+
+@type:
+@nargs:
+@args:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_ref ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_unref ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_destroy ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_destroyed ##### -->
+<para>
+
+</para>
+
+@widget:
+@widget_pointer:
+
+
+<!-- ##### FUNCTION gtk_widget_get ##### -->
+<para>
+
+</para>
+
+@widget:
+@arg:
+
+
+<!-- ##### FUNCTION gtk_widget_getv ##### -->
+<para>
+
+</para>
+
+@widget:
+@nargs:
+@args:
+
+
+<!-- ##### FUNCTION gtk_widget_set ##### -->
+<para>
+
+</para>
+
+@widget:
+@first_arg_name:
+@Varargs:
+
+
+<!-- ##### FUNCTION gtk_widget_setv ##### -->
+<para>
+
+</para>
+
+@widget:
+@nargs:
+@args:
+
+
+<!-- ##### FUNCTION gtk_widget_unparent ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_show ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_show_now ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_hide ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_show_all ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_hide_all ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_map ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_unmap ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_realize ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_unrealize ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_queue_draw ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_queue_resize ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_draw ##### -->
+<para>
+
+</para>
+
+@widget:
+@area:
+
+
+<!-- ##### FUNCTION gtk_widget_draw_focus ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_draw_default ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_size_request ##### -->
+<para>
+
+</para>
+
+@widget:
+@requisition:
+
+
+<!-- ##### FUNCTION gtk_widget_get_child_requisition ##### -->
+<para>
+
+</para>
+
+@widget:
+@requisition:
+
+
+<!-- ##### FUNCTION gtk_widget_size_allocate ##### -->
+<para>
+
+</para>
+
+@widget:
+@allocation:
+
+
+<!-- ##### FUNCTION gtk_widget_add_accelerator ##### -->
+<para>
+
+</para>
+
+@widget:
+@accel_signal:
+@accel_group:
+@accel_key:
+@accel_mods:
+@accel_flags:
+
+
+<!-- ##### FUNCTION gtk_widget_remove_accelerator ##### -->
+<para>
+
+</para>
+
+@widget:
+@accel_group:
+@accel_key:
+@accel_mods:
+
+
+<!-- ##### FUNCTION gtk_widget_remove_accelerators ##### -->
+<para>
+
+</para>
+
+@widget:
+@accel_signal:
+@visible_only:
+
+
+<!-- ##### FUNCTION gtk_widget_accelerator_signal ##### -->
+<para>
+
+</para>
+
+@widget:
+@accel_group:
+@accel_key:
+@accel_mods:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_event ##### -->
+<para>
+
+</para>
+
+@widget:
+@event:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_activate ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_reparent ##### -->
+<para>
+
+</para>
+
+@widget:
+@new_parent:
+
+
+<!-- ##### FUNCTION gtk_widget_popup ##### -->
+<para>
+
+</para>
+
+@widget:
+@x:
+@y:
+
+
+<!-- ##### FUNCTION gtk_widget_intersect ##### -->
+<para>
+
+</para>
+
+@widget:
+@area:
+@intersection:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_grab_focus ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_grab_default ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_set_name ##### -->
+<para>
+
+</para>
+
+@widget:
+@name:
+
+
+<!-- ##### FUNCTION gtk_widget_get_name ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_set_state ##### -->
+<para>
+
+</para>
+
+@widget:
+@state:
+
+
+<!-- ##### FUNCTION gtk_widget_set_sensitive ##### -->
+<para>
+
+</para>
+
+@widget:
+@sensitive:
+
+
+<!-- ##### FUNCTION gtk_widget_set_parent ##### -->
+<para>
+
+</para>
+
+@widget:
+@parent:
+
+
+<!-- ##### FUNCTION gtk_widget_set_parent_window ##### -->
+<para>
+
+</para>
+
+@widget:
+@parent_window:
+
+
+<!-- ##### FUNCTION gtk_widget_get_parent_window ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_set_uposition ##### -->
+<para>
+
+</para>
+
+@widget:
+@x:
+@y:
+
+
+<!-- ##### FUNCTION gtk_widget_set_usize ##### -->
+<para>
+
+</para>
+
+@widget:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_widget_set_events ##### -->
+<para>
+
+</para>
+
+@widget:
+@events:
+
+
+<!-- ##### FUNCTION gtk_widget_add_events ##### -->
+<para>
+
+</para>
+
+@widget:
+@events:
+
+
+<!-- ##### FUNCTION gtk_widget_set_extension_events ##### -->
+<para>
+
+</para>
+
+@widget:
+@mode:
+
+
+<!-- ##### FUNCTION gtk_widget_get_extension_events ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_get_toplevel ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_get_ancestor ##### -->
+<para>
+
+</para>
+
+@widget:
+@widget_type:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_get_colormap ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_set_colormap ##### -->
+<para>
+
+</para>
+
+@widget:
+@colormap:
+
+
+<!-- ##### FUNCTION gtk_widget_get_visual ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_set_visual ##### -->
+<para>
+
+</para>
+
+@widget:
+@visual:
+
+
+<!-- ##### FUNCTION gtk_widget_get_events ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_get_pointer ##### -->
+<para>
+
+</para>
+
+@widget:
+@x:
+@y:
+
+
+<!-- ##### FUNCTION gtk_widget_is_ancestor ##### -->
+<para>
+
+</para>
+
+@widget:
+@ancestor:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_hide_on_delete ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_set_style ##### -->
+<para>
+
+</para>
+
+@widget:
+@style:
+
+
+<!-- ##### FUNCTION gtk_widget_set_rc_style ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_ensure_style ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_get_style ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_restore_default_style ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_reset_rc_styles ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_push_style ##### -->
+<para>
+
+</para>
+
+@style:
+
+
+<!-- ##### FUNCTION gtk_widget_push_colormap ##### -->
+<para>
+
+</para>
+
+@cmap:
+
+
+<!-- ##### FUNCTION gtk_widget_push_visual ##### -->
+<para>
+
+</para>
+
+@visual:
+
+
+<!-- ##### FUNCTION gtk_widget_pop_style ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_widget_pop_colormap ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_widget_pop_visual ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_widget_set_default_style ##### -->
+<para>
+
+</para>
+
+@style:
+
+
+<!-- ##### FUNCTION gtk_widget_set_default_colormap ##### -->
+<para>
+
+</para>
+
+@colormap:
+
+
+<!-- ##### FUNCTION gtk_widget_set_default_visual ##### -->
+<para>
+
+</para>
+
+@visual:
+
+
+<!-- ##### FUNCTION gtk_widget_get_default_style ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_get_default_colormap ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_get_default_visual ##### -->
+<para>
+
+</para>
+
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_shape_combine_mask ##### -->
+<para>
+
+</para>
+
+@widget:
+@shape_mask:
+@offset_x:
+@offset_y:
+
+
+<!-- ##### FUNCTION gtk_widget_path ##### -->
+<para>
+
+</para>
+
+@widget:
+@path_length:
+@path:
+@path_reversed:
+
+
+<!-- ##### FUNCTION gtk_widget_class_path ##### -->
+<para>
+
+</para>
+
+@widget:
+@path_length:
+@path:
+@path_reversed:
+
+
+<!-- ##### FUNCTION gtk_widget_get_composite_name ##### -->
+<para>
+
+</para>
+
+@widget:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_lock_accelerators ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_modify_style ##### -->
+<para>
+
+</para>
+
+@widget:
+@style:
+
+
+<!-- ##### FUNCTION gtk_widget_pop_composite_child ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_widget_push_composite_child ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_widget_queue_clear ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_queue_clear_area ##### -->
+<para>
+
+</para>
+
+@widget:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_widget_queue_draw_area ##### -->
+<para>
+
+</para>
+
+@widget:
+@x:
+@y:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_widget_reset_shapes ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### FUNCTION gtk_widget_set_app_paintable ##### -->
+<para>
+
+</para>
+
+@widget:
+@app_paintable:
+
+
+<!-- ##### FUNCTION gtk_widget_set_composite_name ##### -->
+<para>
+
+</para>
+
+@widget:
+@name:
+
+
+<!-- ##### FUNCTION gtk_widget_set_scroll_adjustments ##### -->
+<para>
+
+</para>
+
+@widget:
+@hadjustment:
+@vadjustment:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_widget_unlock_accelerators ##### -->
+<para>
+
+</para>
+
+@widget:
+
+
+<!-- ##### SIGNAL GtkWidget::show ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+
+<!-- ##### SIGNAL GtkWidget::hide ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+
+<!-- ##### SIGNAL GtkWidget::map ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+
+<!-- ##### SIGNAL GtkWidget::unmap ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+
+<!-- ##### SIGNAL GtkWidget::realize ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+
+<!-- ##### SIGNAL GtkWidget::unrealize ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+
+<!-- ##### SIGNAL GtkWidget::draw ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@area:
+
+<!-- ##### SIGNAL GtkWidget::draw-focus ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+
+<!-- ##### SIGNAL GtkWidget::draw-default ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+
+<!-- ##### SIGNAL GtkWidget::size-request ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@requisition:
+
+<!-- ##### SIGNAL GtkWidget::size-allocate ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@allocation:
+
+<!-- ##### SIGNAL GtkWidget::state-changed ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@state:
+
+<!-- ##### SIGNAL GtkWidget::parent-set ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@old_parent:
+
+<!-- ##### SIGNAL GtkWidget::style-set ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@previous_style:
+
+<!-- ##### SIGNAL GtkWidget::add-accelerator ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@accel_signal_id:
+@accel_group:
+@accel_key:
+@accel_mods:
+@accel_flags:
+
+<!-- ##### SIGNAL GtkWidget::remove-accelerator ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@accel_group:
+@accel_key:
+@accel_mods:
+
+<!-- ##### SIGNAL GtkWidget::grab-focus ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+
+<!-- ##### SIGNAL GtkWidget::event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::button-press-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::button-release-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::motion-notify-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::delete-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::destroy-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::expose-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::key-press-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::key-release-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::enter-notify-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::leave-notify-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::configure-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::focus-in-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::focus-out-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::map-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::unmap-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::property-notify-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::selection-clear-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::selection-request-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::selection-notify-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::selection-get ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@data:
+@info:
+@time:
+
+<!-- ##### SIGNAL GtkWidget::selection-received ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@data:
+@time:
+
+<!-- ##### SIGNAL GtkWidget::proximity-in-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::proximity-out-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::drag-begin ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@drag_context:
+
+<!-- ##### SIGNAL GtkWidget::drag-end ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@drag_context:
+
+<!-- ##### SIGNAL GtkWidget::drag-data-delete ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@drag_context:
+
+<!-- ##### SIGNAL GtkWidget::drag-leave ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@drag_context:
+@time:
+
+<!-- ##### SIGNAL GtkWidget::drag-motion ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@drag_context:
+@x:
+@y:
+@time:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::drag-drop ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@drag_context:
+@x:
+@y:
+@time:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::drag-data-get ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@drag_context:
+@data:
+@info:
+@time:
+
+<!-- ##### SIGNAL GtkWidget::drag-data-received ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@drag_context:
+@x:
+@y:
+@data:
+@info:
+@time:
+
+<!-- ##### SIGNAL GtkWidget::client-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::no-expose-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::visibility-notify-event ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@event:
+@Returns:
+
+<!-- ##### SIGNAL GtkWidget::debug-msg ##### -->
+<para>
+
+</para>
+
+@widget: the object which received the signal.
+@message:
+
+<!-- ##### ARG GtkWidget:name ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:parent ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:x ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:y ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:width ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:height ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:visible ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:sensitive ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:app_paintable ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:can_focus ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:has_focus ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:can_default ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:has_default ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:receives_default ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:composite_child ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:style ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:events ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkWidget:extension_events ##### -->
+<para>
+
+</para>
+
diff --git a/docs/reference/gtk/tmpl/gtkwindow.sgml b/docs/reference/gtk/tmpl/gtkwindow.sgml
new file mode 100644
index 000000000..abb94a3fa
--- /dev/null
+++ b/docs/reference/gtk/tmpl/gtkwindow.sgml
@@ -0,0 +1,247 @@
+<!-- ##### SECTION Title ##### -->
+GtkWindow
+
+<!-- ##### SECTION Short_Description ##### -->
+
+
+<!-- ##### SECTION Long_Description ##### -->
+<para>
+
+</para>
+
+<!-- ##### SECTION See_Also ##### -->
+<para>
+
+</para>
+
+<!-- ##### STRUCT GtkWindow ##### -->
+<para>
+
+</para>
+
+@bin:
+@title:
+@wmclass_name:
+@wmclass_class:
+@type:
+@focus_widget:
+@default_widget:
+@transient_parent:
+@resize_count:
+@allow_shrink:
+@allow_grow:
+@auto_shrink:
+@handling_resize:
+@position:
+@use_uposition:
+@modal:
+
+<!-- ##### FUNCTION gtk_window_new ##### -->
+<para>
+
+</para>
+
+@type:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_window_set_title ##### -->
+<para>
+
+</para>
+
+@window:
+@title:
+
+
+<!-- ##### FUNCTION gtk_window_set_wmclass ##### -->
+<para>
+
+</para>
+
+@window:
+@wmclass_name:
+@wmclass_class:
+
+
+<!-- ##### FUNCTION gtk_window_set_focus ##### -->
+<para>
+
+</para>
+
+@window:
+@focus:
+
+
+<!-- ##### FUNCTION gtk_window_set_default ##### -->
+<para>
+
+</para>
+
+@window:
+@defaultw:
+
+
+<!-- ##### FUNCTION gtk_window_set_policy ##### -->
+<para>
+
+</para>
+
+@window:
+@allow_shrink:
+@allow_grow:
+@auto_shrink:
+
+
+<!-- ##### FUNCTION gtk_window_add_accel_group ##### -->
+<para>
+
+</para>
+
+@window:
+@accel_group:
+
+
+<!-- ##### FUNCTION gtk_window_remove_accel_group ##### -->
+<para>
+
+</para>
+
+@window:
+@accel_group:
+
+
+<!-- ##### MACRO gtk_window_position ##### -->
+<para>
+
+</para>
+
+
+
+<!-- ##### FUNCTION gtk_window_activate_focus ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_window_activate_default ##### -->
+<para>
+
+</para>
+
+@window:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_window_set_modal ##### -->
+<para>
+
+</para>
+
+@window:
+@modal:
+
+
+<!-- ##### FUNCTION gtk_window_add_embedded_xid ##### -->
+<para>
+
+</para>
+
+@window:
+@xid:
+
+
+<!-- ##### FUNCTION gtk_window_remove_embedded_xid ##### -->
+<para>
+
+</para>
+
+@window:
+@xid:
+
+
+<!-- ##### FUNCTION gtk_window_set_default_size ##### -->
+<para>
+
+</para>
+
+@window:
+@width:
+@height:
+
+
+<!-- ##### FUNCTION gtk_window_set_geometry_hints ##### -->
+<para>
+
+</para>
+
+@window:
+@geometry_widget:
+@geometry:
+@geom_mask:
+
+
+<!-- ##### FUNCTION gtk_window_set_position ##### -->
+<para>
+
+</para>
+
+@window:
+@position:
+
+
+<!-- ##### FUNCTION gtk_window_set_transient_for ##### -->
+<para>
+
+</para>
+
+@window:
+@parent:
+
+
+<!-- ##### SIGNAL GtkWindow::set-focus ##### -->
+<para>
+
+</para>
+
+@window: the object which received the signal.
+@widget:
+
+<!-- ##### ARG GtkWindow:type ##### -->
+<para>
+The type of the window.
+</para>
+
+<!-- ##### ARG GtkWindow:title ##### -->
+<para>
+The title of the window.
+</para>
+
+<!-- ##### ARG GtkWindow:auto_shrink ##### -->
+<para>
+If the window shrinks automatically when widgets within it shrink.
+</para>
+
+<!-- ##### ARG GtkWindow:allow_shrink ##### -->
+<para>
+If the window can be resized to a smaller size by the user.
+</para>
+
+<!-- ##### ARG GtkWindow:allow_grow ##### -->
+<para>
+If the window can be resized to a larger size by the user.
+</para>
+
+<!-- ##### ARG GtkWindow:modal ##### -->
+<para>
+If the window is modal, i.e. it grabs all GTK+ events.
+</para>
+
+<!-- ##### ARG GtkWindow:window_position ##### -->
+<para>
+The position of the window.
+</para>
+