+Mon Feb 12 12:42:45 2001 Owen Taylor <otaylor@redhat.com>
+
+ * {glib,gobject}/Makefile.am: The ultimate gtk-doc makefile.
+
2001-02-01 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/tmpl/threads.sgml, glib/glib-sections.txt: Added
# The top-level SGML file.
DOC_MAIN_SGML_FILE=glib-docs.sgml
-# The directory containing the source code
+# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../..
+# Extra options to supply to gtkdoc-scan
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb
+MKDB_OPTIONS=
+
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=
+# Used for dependencies
+HFILE_GLOB=$(top_srcdir)/*.h $(top_srcdir)/gmodule/*.h
+CFILE_GLOB=$(top_srcdir)/*.c $(top_srcdir)/gmodule/*.c
+
# Headers to ignore
IGNORE_HFILES= \
gobject \
gunichartables.h \
glibconfig-sysdefs.h
-tmpl_sources = \
- tmpl/allocators.sgml \
- tmpl/arrays.sgml \
- tmpl/arrays_byte.sgml \
- tmpl/arrays_pointer.sgml \
- tmpl/async_queues.sgml \
- tmpl/byte_order.sgml \
- tmpl/caches.sgml \
- tmpl/completion.sgml \
- tmpl/datalist.sgml \
- tmpl/datasets.sgml \
- tmpl/date.sgml \
- tmpl/error_reporting.sgml \
- tmpl/fileutils.sgml \
- tmpl/glib-unused.sgml \
- tmpl/hash_tables.sgml \
- tmpl/hooks.sgml \
- tmpl/iochannels.sgml \
- tmpl/limits.sgml \
- tmpl/linked_lists_double.sgml \
- tmpl/linked_lists_single.sgml \
- tmpl/macros.sgml \
- tmpl/macros_misc.sgml \
- tmpl/main.sgml \
- tmpl/markup.sgml \
- tmpl/memory.sgml \
- tmpl/memory_chunks.sgml \
- tmpl/messages.sgml \
- tmpl/misc_utils.sgml \
- tmpl/modules.sgml \
- tmpl/numerical.sgml \
- tmpl/quarks.sgml \
- tmpl/queue.sgml \
- tmpl/random_numbers.sgml \
- tmpl/relations.sgml \
- tmpl/scanner.sgml \
- tmpl/shell.sgml \
- tmpl/spawn.sgml \
- tmpl/string_chunks.sgml \
- tmpl/string_utils.sgml \
- tmpl/strings.sgml \
- tmpl/thread_pools.sgml \
- tmpl/threads.sgml \
- tmpl/timers.sgml \
- tmpl/trash_stack.sgml \
- tmpl/trees-binary.sgml \
- tmpl/trees-nary.sgml \
- tmpl/type_conversion.sgml \
- tmpl/types.sgml \
- tmpl/unicode.sgml \
- tmpl/warnings.sgml \
- tmpl/windows.sgml
+# Extra files to add when scanning
+EXTRA_HFILES=
+
+# Images to copy into HTML directory
+HTML_IMAGES = \
+ mainloop-states.gif
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
+content_files =
+# Other files to distribute
extra_files = \
mainloop-states.fig \
mainloop-states.png \
- mainloop-states.eps \
- mainloop-states.gif
+ mainloop-states.eps
+
+# CFLAGS and LDFLAGS for compiling scan program. Only needed
+# if $(DOC_MODULE).types is non-empty.
+GTKDOC_CFLAGS =
+GTKDOC_LIBS =
+
+# Commands for compiling and linking
+GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
+GTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
####################################
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
EXTRA_DIST = \
+ $(content_files) \
$(extra_files) \
+ $(HTML_IMAGES) \
$(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-decl.txt \
+ $(DOC_MODULE).types \
$(DOC_MODULE)-sections.txt \
$(DOC_MODULE)-overrides.txt
+DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp
+
if ENABLE_GTK_DOC
-all-local:
- $(MAKE) scan
- $(MAKE) templates
- $(MAKE) sgml
- $(MAKE) html.stamp
-html.stamp: sgml.stamp $(EXTRA_SGML_FILES)
- $(MAKE) html
-DOC_STAMPS= html.stamp sgml.stamp
-
-#all-local: html/index.html
-#
-#$(DOC_MODULE)-decl.txt:
-# $(MAKE) scan
-#
-#$(tmpl_sources): $(DOC_MODULE)-decl.txt $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
-# $(MAKE) templates
-#
-#sgml/$(DOC_MODULE)-doc.bottom: $(tmpl_sources) $(DOC_MODULE)-decl.txt
-# $(MAKE) sgml
-#
-#html/index.html: sgml/$(DOC_MODULE)-doc.bottom $(DOC_MAIN_SGML_FILE)
-# $(MAKE) html
-endif
+all-local: html-build.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).signal
+
+scan-build.stamp: $(HFILE_GLOB)
+ @echo '*** Scanning header files ***'
+ cd $(srcdir) && ( \
+ if grep -l '^.+$$' $(DOC_MODULE).types > /dev/null ; then \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj --module=$(DOC_MODULE) ; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi )
+ cd $(srcdir) && \
+ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ touch scan-build.stamp
+
+check_scan:
+ $(MAKE) scan-build.stamp
-scan:
- -(cd $(srcdir) \
- && gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" )
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): check_scan
-templates:
+tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+ @echo '*** Rebuilding template files ***'
cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
+ touch tmpl-build.stamp
-sgml:
- cd $(srcdir) \
- && gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
+check_templates:
+ $(MAKE) tmpl-build.stamp
-html:
+tmpl.stamp: check_templates
+
+sgml-build.stamp: tmpl.stamp $(CFILE_GLOB)
+ @echo '*** Building SGML ***'
+ cd $(srcdir) && \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) $(MKDB_OPTIONS)
+ touch sgml-build.stamp
+
+check_sgml:
+ $(MAKE) sgml-build.stamp
+
+sgml.stamp: check_sgml
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE)
+ @echo '*** Building HTML ***'
test -d $(srcdir)/html || mkdir $(srcdir)/html
- -cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
- cp $(srcdir)/*.gif $(srcdir)/html
+ cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
@echo '-- Fixing Crossreferences'
cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ touch html-build.stamp
+endif
clean-local:
- rm -f *~ *.bak *.signals *-unused.txt
+ rm -f *~ *.bak $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS) $(srcdir)/sgml.stamp
maintainer-clean-local: clean
- cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt $(DOC_STAMPS)
+ cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
@false
endif
-dist-hook: dist-check-gtkdoc
+dist-hook: dist-check-gtkdoc dist-hook-local
mkdir $(distdir)/tmpl
mkdir $(distdir)/sgml
mkdir $(distdir)/html
-cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
-cp $(srcdir)/sgml/*.bottom $(srcdir)/sgml/*.top $(distdir)/sgml
-cp $(srcdir)/html/index.sgml $(distdir)/html
- -cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(srcdir)/html/*.gif $(distdir)/html
+ -cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html
+ for i in $(HTML_IMAGES) ; do \
+ cp $(srcdir)/$$i $(distdir)/html ; \
+ done
-.PHONY : html sgml templates scan
+.PHONY : check_sgml check_templates check_scan dist-hook-local
-<!-- ##### FUNCTION g_source_connect_indirect ##### -->
+<!-- ##### USER_FUNCTION GCompletionStrcmpFunc ##### -->
<para>
</para>
-@source:
-@callback_data:
-@callback_funcs:
+@s1:
+@s2:
+@Returns:
-<!-- ##### MACRO popen ##### -->
+<!-- ##### MACRO access ##### -->
<para>
</para>
-<!-- ##### FUNCTION g_mem_check ##### -->
+<!-- ##### MACRO close ##### -->
<para>
-Checks if the given memory has already been freed. If it has it outputs
-a warning message.
-To use this function you must configure glib with the flag
-'--enable-mem-check=yes' before compiling.
+
</para>
-@mem: the memory to check.
-<!-- ##### MACRO pclose ##### -->
+<!-- ##### MACRO fdopen ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION g_convert_error_quark ##### -->
<para>
</para>
+@Returns:
<!-- ##### FUNCTION g_main_add_poll ##### -->
<para>
See #G_PRIORITY_DEFAULT, #G_PRIORITY_DEFAULT_IDLE, #G_PRIORITY_HIGH,
#G_PRIORITY_HIGH_IDLE, and #G_PRIORITY_LOW.
-<!-- ##### MACRO lseek ##### -->
+<!-- ##### FUNCTION g_main_loop_destroy ##### -->
<para>
</para>
+@loop:
-<!-- ##### MACRO getpid ##### -->
+<!-- ##### FUNCTION g_main_remove_poll ##### -->
<para>
-
+Removes a file descriptor from the list being polled.
</para>
+@fd: the #GPollFD to remove.
-<!-- ##### FUNCTION g_source_remove_by_source_data ##### -->
-<para>
-Removes the first event source found with the given source data.
-</para>
+<!-- ##### FUNCTION g_main_win32_get_poll_func ##### -->
<para>
-Event sources are sorted with the highest priority first. Sources with equal
-priority are stored in the order in which they were added.
+
</para>
-@source_data: the source data, which contains information specific to the
-type of source.
-@Returns: TRUE if an event source was found and removed.
+@Returns:
-<!-- ##### MACRO close ##### -->
+<!-- ##### FUNCTION g_mem_check ##### -->
<para>
-
+Checks if the given memory has already been freed. If it has it outputs
+a warning message.
+To use this function you must configure glib with the flag
+'--enable-mem-check=yes' before compiling.
</para>
+@mem: the memory to check.
<!-- ##### FUNCTION g_source_add ##### -->
<para>
@source:
@context:
-<!-- ##### MACRO fdopen ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### USER_FUNCTION GCompletionStrcmpFunc ##### -->
-<para>
-
-</para>
-
-@s1:
-@s2:
-@Returns:
-
<!-- ##### FUNCTION g_source_connect ##### -->
<para>
@data:
@notify:
-<!-- ##### MACRO getcwd ##### -->
+<!-- ##### FUNCTION g_source_connect_indirect ##### -->
<para>
</para>
+@source:
+@callback_data:
+@callback_funcs:
-<!-- ##### MACRO write ##### -->
+<!-- ##### FUNCTION g_source_remove_by_source_data ##### -->
+<para>
+Removes the first event source found with the given source data.
+</para>
<para>
+Event sources are sorted with the highest priority first. Sources with equal
+priority are stored in the order in which they were added.
+</para>
+
+@source_data: the source data, which contains information specific to the
+type of source.
+@Returns: TRUE if an event source was found and removed.
+<!-- ##### MACRO g_string ##### -->
+<para>
+Turns the argument into a string literal by using the '#' stringizing operator.
</para>
+@x: text to convert to a literal string.
-<!-- ##### FUNCTION g_main_remove_poll ##### -->
+<!-- ##### MACRO getcwd ##### -->
<para>
-Removes a file descriptor from the list being polled.
+
</para>
-@fd: the #GPollFD to remove.
-<!-- ##### MACRO access ##### -->
+<!-- ##### MACRO getpid ##### -->
<para>
</para>
-<!-- ##### MACRO g_string ##### -->
+<!-- ##### MACRO lseek ##### -->
<para>
-Turns the argument into a string literal by using the '#' stringizing operator.
+
</para>
-@x: text to convert to a literal string.
-<!-- ##### FUNCTION g_main_win32_get_poll_func ##### -->
+<!-- ##### MACRO open ##### -->
<para>
</para>
-@Returns:
-<!-- ##### MACRO read ##### -->
+<!-- ##### MACRO pclose ##### -->
<para>
</para>
-<!-- ##### FUNCTION g_main_loop_destroy ##### -->
+<!-- ##### MACRO popen ##### -->
<para>
</para>
-@loop:
-<!-- ##### FUNCTION g_convert_error_quark ##### -->
+<!-- ##### MACRO read ##### -->
<para>
</para>
-@Returns:
-<!-- ##### MACRO open ##### -->
+<!-- ##### MACRO write ##### -->
<para>
</para>
# The top-level SGML file.
DOC_MAIN_SGML_FILE=gobject-docs.sgml
-# The directory containing the source code (if it contains documentation).
+# The directory containing the source code. Relative to $(srcdir)
DOC_SOURCE_DIR=../../../gobject
+# Extra options to supply to gtkdoc-scan
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb
+MKDB_OPTIONS=
+
# Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=$(srcdir)/../glib/html
+# Used for dependencies
+HFILE_GLOB=$(top_srcdir)/gobject/*.h
+CFILE_GLOB=$(top_srcdir)/gobject/*.c
+
# Headers to ignore
IGNORE_HFILES= \
gbsearcharray.h
-tmpl_sources = \
- tmpl/closures.sgml \
- tmpl/enumerations_flags.sgml \
- tmpl/gboxed.sgml \
- tmpl/generic_values.sgml \
- tmpl/gobject-unused.sgml \
- tmpl/gtypemodule.sgml \
- tmpl/gtypeplugin.sgml \
- tmpl/objects.sgml \
- tmpl/param_specs.sgml \
- tmpl/signals.sgml \
- tmpl/standard_params.sgml \
- tmpl/types.sgml \
- tmpl/value_collection.sgml \
- tmpl/value_types.sgml
+# Extra files to add when scanning
+EXTRA_HFILES=
+
+# Images to copy into HTML directory
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
+content_files =
+
+# Other files to distribute
+extra_files =
+
+# CFLAGS and LDFLAGS for compiling scan program. Only needed
+# if $(DOC_MODULE).types is non-empty.
+GTKDOC_CFLAGS =
+GTKDOC_LIBS =
+
+# Commands for compiling and linking
+GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
+GTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
+
####################################
# Everything below here is generic #
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
EXTRA_DIST = \
+ $(content_files) \
+ $(extra_files) \
+ $(HTML_IMAGES) \
$(DOC_MAIN_SGML_FILE) \
- $(DOC_MODULE)-decl.txt \
+ $(DOC_MODULE).types \
$(DOC_MODULE)-sections.txt \
$(DOC_MODULE)-overrides.txt
+DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp
+
if ENABLE_GTK_DOC
-all-local:
- $(MAKE) scan
- $(MAKE) templates
- $(MAKE) sgml
- $(MAKE) html.stamp
-html.stamp: sgml.stamp $(EXTRA_SGML_FILES)
- $(MAKE) html
-DOC_STAMPS= html.stamp sgml.stamp
-
-#all-local: html/index.html
-#
-#$(DOC_MODULE)-decl.txt:
-# $(MAKE) scan
-#
-#$(tmpl_sources): $(DOC_MODULE)-decl.txt $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
-# $(MAKE) templates
-#
-#sgml/$(DOC_MODULE)-doc.bottom: $(tmpl_sources) $(DOC_MODULE)-decl.txt
-# $(MAKE) sgml
-#
-#html/index.html: sgml/$(DOC_MODULE)-doc.bottom $(DOC_MAIN_SGML_FILE)
-# $(MAKE) html
-endif
+all-local: html-build.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).signal
+
+scan-build.stamp: $(HFILE_GLOB)
+ @echo '*** Scanning header files ***'
+ cd $(srcdir) && ( \
+ if grep -l '^.+$$' $(DOC_MODULE).types > /dev/null ; then \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj --module=$(DOC_MODULE) ; \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi )
+ cd $(srcdir) && \
+ gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ touch scan-build.stamp
+
+check_scan:
+ $(MAKE) scan-build.stamp
-scan:
- -(cd $(srcdir) \
- && gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)")
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): check_scan
-templates:
+tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+ @echo '*** Rebuilding template files ***'
cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
+ touch tmpl-build.stamp
-sgml:
- cd $(srcdir) \
- && gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
+check_templates:
+ $(MAKE) tmpl-build.stamp
-html:
+tmpl.stamp: check_templates
+
+sgml-build.stamp: tmpl.stamp $(CFILE_GLOB)
+ @echo '*** Building SGML ***'
+ cd $(srcdir) && \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) $(MKDB_OPTIONS)
+ touch sgml-build.stamp
+
+check_sgml:
+ $(MAKE) sgml-build.stamp
+
+sgml.stamp: check_sgml
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE)
+ @echo '*** Building HTML ***'
test -d $(srcdir)/html || mkdir $(srcdir)/html
- -cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
@echo '-- Fixing Crossreferences'
- gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ touch html-build.stamp
+endif
clean-local:
- rm -f *~ *.bak *.signals *-unused.txt
+ rm -f *~ *.bak $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS) $(srcdir)/sgml.stamp
maintainer-clean-local: clean
- cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt $(DOC_STAMPS)
+ cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
@false
endif
-dist-hook: dist-check-gtkdoc
+dist-hook: dist-check-gtkdoc dist-hook-local
mkdir $(distdir)/tmpl
mkdir $(distdir)/sgml
mkdir $(distdir)/html
-cp $(srcdir)/sgml/*.bottom $(srcdir)/sgml/*.top $(distdir)/sgml
-cp $(srcdir)/html/index.sgml $(distdir)/html
-cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html
+ for i in $(HTML_IMAGES) ; do \
+ cp $(srcdir)/$$i $(distdir)/html ; \
+ done
-.PHONY : html sgml templates scan
+.PHONY : check_sgml check_templates check_scan dist-hook-local
-<!-- ##### FUNCTION g_type_conforms_to ##### -->
+<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:Long_Description ##### -->
<para>
</para>
-@type:
-@iface_type:
-@Returns:
-<!-- ##### FUNCTION g_object_class_install_param ##### -->
+<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:See_Also ##### -->
<para>
</para>
-@oclass:
-@param_id:
-@pspec:
-<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:See_Also ##### -->
+<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:Title ##### -->
+gtypemodule.sgml
+
+
+<!-- ##### USER_FUNCTION GObjectGetParamFunc ##### -->
<para>
</para>
+@object:
+@param_id:
+@value:
+@pspec:
+@trailer:
-<!-- ##### FUNCTION g_param_spec_hash_table_insert ##### -->
+<!-- ##### USER_FUNCTION GObjectSetParamFunc ##### -->
<para>
</para>
-@hash_table:
+@object:
+@param_id:
+@value:
@pspec:
-@owner_type:
+@trailer:
-<!-- ##### MACRO G_IS_PARAM_VALUE ##### -->
+<!-- ##### ENUM GSignalType ##### -->
<para>
</para>
-@pspec:
-@value:
+@G_SIGNAL_RUN_FIRST:
+@G_SIGNAL_RUN_LAST:
+@G_SIGNAL_RUN_CLEANUP:
+@G_SIGNAL_NO_RECURSE:
+@G_SIGNAL_ACTION:
+@G_SIGNAL_NO_HOOKS:
-<!-- ##### FUNCTION g_type_instance_conforms_to ##### -->
+<!-- ##### USER_FUNCTION GTypePluginFillInterfaceInfo ##### -->
<para>
</para>
-@instance:
-@iface_type:
-@Returns:
+@plugin:
+@interface_type:
+@instance_type:
+@info:
-<!-- ##### FUNCTION g_object_get_param ##### -->
+<!-- ##### USER_FUNCTION GTypePluginFillTypeInfo ##### -->
<para>
</para>
-@object:
-@param_name:
-@value:
+@plugin:
+@g_type:
+@info:
+@value_table:
<!-- ##### USER_FUNCTION GTypePluginRef ##### -->
<para>
@plugin:
-<!-- ##### FUNCTION g_object_set_param ##### -->
+<!-- ##### USER_FUNCTION GTypePluginUnRef ##### -->
<para>
</para>
-@object:
-@param_name:
-@value:
+@plugin:
-<!-- ##### USER_FUNCTION GObjectGetParamFunc ##### -->
+<!-- ##### STRUCT GTypePluginVTable ##### -->
<para>
</para>
-@object:
-@param_id:
-@value:
-@pspec:
-@trailer:
+@plugin_ref:
+@plugin_unref:
+@complete_type_info:
+@complete_interface_info:
-<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:Long_Description ##### -->
+<!-- ##### MACRO G_IS_PARAM_VALUE ##### -->
<para>
</para>
+@pspec:
+@value:
-<!-- ##### ENUM GSignalType ##### -->
+<!-- ##### MACRO G_NOTIFY_PRIORITY ##### -->
<para>
</para>
-@G_SIGNAL_RUN_FIRST:
-@G_SIGNAL_RUN_LAST:
-@G_SIGNAL_RUN_CLEANUP:
-@G_SIGNAL_NO_RECURSE:
-@G_SIGNAL_ACTION:
-@G_SIGNAL_NO_HOOKS:
-<!-- ##### FUNCTION g_signal_type_closure_new ##### -->
+<!-- ##### MACRO G_WARN_INVALID_PARAM_ID ##### -->
<para>
</para>
-@itype:
-@struct_offset:
-@Returns:
+@object:
+@param_id:
+@pspec:
<!-- ##### FUNCTION g_object_class_find_param_spec ##### -->
<para>
@param_name:
@Returns:
-<!-- ##### FUNCTION g_object_queue_param_changed ##### -->
+<!-- ##### FUNCTION g_object_class_install_param ##### -->
<para>
</para>
-@object:
-@param_name:
-
-<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:Title ##### -->
-gtypemodule.sgml
-
+@oclass:
+@param_id:
+@pspec:
-<!-- ##### USER_FUNCTION GTypePluginUnRef ##### -->
+<!-- ##### FUNCTION g_object_get_param ##### -->
<para>
</para>
-@plugin:
+@object:
+@param_name:
+@value:
-<!-- ##### FUNCTION g_param_spec_hash_table_lookup ##### -->
+<!-- ##### FUNCTION g_object_queue_param_changed ##### -->
<para>
</para>
-@hash_table:
+@object:
@param_name:
-@owner_type:
-@try_ancestors:
-@trailer:
-@Returns:
-<!-- ##### USER_FUNCTION GObjectSetParamFunc ##### -->
+<!-- ##### FUNCTION g_object_set_param ##### -->
<para>
</para>
@object:
-@param_id:
+@param_name:
@value:
-@pspec:
-@trailer:
-<!-- ##### FUNCTION g_type_value_conforms_to ##### -->
+<!-- ##### FUNCTION g_param_spec_hash_table_insert ##### -->
<para>
</para>
-@value:
-@type:
-@Returns:
+@hash_table:
+@pspec:
+@owner_type:
-<!-- ##### FUNCTION g_type_is_dynamic ##### -->
+<!-- ##### FUNCTION g_param_spec_hash_table_lookup ##### -->
<para>
</para>
-@type:
-@flags:
+@hash_table:
+@param_name:
+@owner_type:
+@try_ancestors:
+@trailer:
@Returns:
-<!-- ##### USER_FUNCTION GTypePluginFillTypeInfo ##### -->
+<!-- ##### FUNCTION g_param_spec_hash_table_new ##### -->
<para>
</para>
-@plugin:
-@g_type:
-@info:
-@value_table:
+@Returns:
-<!-- ##### FUNCTION g_signals_destroy ##### -->
+<!-- ##### FUNCTION g_param_spec_hash_table_remove ##### -->
<para>
</para>
-@itype:
+@hash_table:
+@pspec:
-<!-- ##### STRUCT GTypePluginVTable ##### -->
+<!-- ##### FUNCTION g_signal_type_closure_new ##### -->
<para>
</para>
-@plugin_ref:
-@plugin_unref:
-@complete_type_info:
-@complete_interface_info:
+@itype:
+@struct_offset:
+@Returns:
-<!-- ##### USER_FUNCTION GTypePluginFillInterfaceInfo ##### -->
+<!-- ##### FUNCTION g_signals_destroy ##### -->
<para>
</para>
-@plugin:
-@interface_type:
-@instance_type:
-@info:
+@itype:
-<!-- ##### MACRO G_NOTIFY_PRIORITY ##### -->
+<!-- ##### FUNCTION g_type_conforms_to ##### -->
<para>
</para>
+@type:
+@iface_type:
+@Returns:
-<!-- ##### MACRO G_WARN_INVALID_PARAM_ID ##### -->
+<!-- ##### FUNCTION g_type_instance_conforms_to ##### -->
<para>
</para>
-@object:
-@param_id:
-@pspec:
-
-<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:Short_Description ##### -->
-
-
+@instance:
+@iface_type:
+@Returns:
-<!-- ##### FUNCTION g_param_spec_hash_table_new ##### -->
+<!-- ##### FUNCTION g_type_is_dynamic ##### -->
<para>
</para>
+@type:
+@flags:
@Returns:
-<!-- ##### FUNCTION g_param_spec_hash_table_remove ##### -->
+<!-- ##### FUNCTION g_type_value_conforms_to ##### -->
<para>
</para>
-@hash_table:
-@pspec:
+@value:
+@type:
+@Returns: