Initial checkins and mods for gtk-doc generation for C bindings.
authorbillh <billh@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Mon, 20 Aug 2001 14:31:33 +0000 (14:31 +0000)
committerbillh <billh@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Mon, 20 Aug 2001 14:31:33 +0000 (14:31 +0000)
git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@43 e2bd861d-eb25-0410-b326-f6ed22b6b98c

ChangeLog
configure.in
docs/Makefile.am
docs/at-spi-docs.sgml [new file with mode: 0644]
docs/at-spi-sections.txt [new file with mode: 0644]
idl/Accessibility_Accessible.idl
idl/Accessible.idl

index 830cee9..5922ebb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2001-08-20  Bill Haneman <bill.haneman@sun.com>
-       
+
+       * docs/Makefile.am:
+       * docs/at-spi-docs.sgml:
+       * docs/at-spi-sections.txt:
+       * configure.in:
+       Initial checkins/modifications for gtk-doc generation.
        * cspi/spi.h:
        * cspi/spi.c:
        Added (missing) interface query methods to Accessible's C binding.
        and we now relay those focus events to any "focus:" listeners.
        This now works with the bridge as a GTK_MODULE when running test/at.
        * libspi/registry.c :
-       * libspi/listener.c : now we ref event sources before propagating, and unref on receipt.
-       * libspi/registry.c : some changes to internal structs, to support event typestring hashes.
+       * libspi/listener.c : 
+       now we ref event sources before propagating, and unref on receipt.
+       * libspi/registry.c : 
+       some changes to internal structs, to support event typestring hashes.
        * text/app.c : changed the way the appname is generated.
        * cspi : added directory that will hold the C bindings library for 
                non-CORBA/bonobo-savvy clients.
        * idl/Hyperlink.idl : added readonly n_links attribute
        * idl/Image.idl : changed methods to attributes.
        
-       KNOWN PROBLEMS:
-       poll() fails after a few event notifications, when the number of file descriptors
-       gets too large.  Investigating.
-       
 2001-08-15  Mark McLoughlin <mark@skynet.ie>
 
        * at-bridge/Makefile.am: link against
index 0b5a7d2..21b62ff 100644 (file)
@@ -50,6 +50,38 @@ dnl internationalization support
 ALL_LINGUAS=""
 AM_GLIB_GNU_GETTEXT
 
+AC_CHECK_PROG(GTKDOC, gtkdoc-mkdb, true, false)
+
+gtk_doc_min_version=0.6
+if $GTKDOC ; then
+    gtk_doc_version=`gtkdoc-mkdb --version`
+    AC_MSG_CHECKING([gtk-doc version ($gtk_doc_version) >= $gtk_doc_min_version])
+    if perl <<EOF ; then
+       exit (("$gtk_doc_version" =~ /^[[0-9]]+\.[[0-9]]+$/) &&
+            ("$gtk_doc_version" >= "$gtk_doc_min_version") ? 0 : 1);
+EOF
+      AC_MSG_RESULT(yes)
+   else
+      AC_MSG_RESULT(no)
+       GTKDOC=false
+   fi
+fi
+
+dnl Let people disable the gtk-doc stuff.
+AC_ARG_ENABLE(gtk-doc, [  --enable-gtk-doc  Use gtk-doc to build documentation [default=auto]], enable_gtk_doc="$enableval", enable_gtk_doc=auto)
+
+if test x$enable_gtk_doc = xauto ; then
+  if test x$GTKDOC = xtrue ; then
+    enable_gtk_doc=yes
+  else
+    enable_gtk_doc=no
+  fi
+fi
+
+dnl NOTE: We need to use a separate automake conditional for this
+dnl      to make this work with the tarballs.
+AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
+
 dnl Checks for libraries
 PKG_CHECK_MODULES(LIBSPI, bonobo-activation-2.0 >= 0.9.1 libbonobo-2.0 >= 1.97.0 ORBit-2.0 >= 2.3.91 atk >= 0.2)
 AC_SUBST(LIBSPI_LIBS)
index e69de29..bc3c689 100644 (file)
@@ -0,0 +1,159 @@
+## Process this file with automake to produce Makefile.in
+
+EXTRA_DIST = Makefile.am at-spi-docs.sgml at-spi-sections.txt
+
+# The name of the module.
+DOC_MODULE=at-spi
+
+# The top-level SGML file.
+DOC_MAIN_SGML_FILE=at-spi-docs.sgml
+
+# The directory containing the source code (if it contains documentation).
+DOC_SOURCE_DIR=../cspi
+
+INSTALLDIR=$(prefix)/share/gtk-doc
+
+HTML_DIR = ${datadir}/gtk-doc/html
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+# 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 =
+
+####################################
+# Everything below here is generic #
+####################################
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+EXTRA_DIST =                           \
+       $(content_files)                \
+       $(extra_files)                  \
+       $(HTML_IMAGES)                  \
+       $(DOC_MAIN_SGML_FILE)           \
+       $(DOC_MODULE)-sections.txt      \
+       $(DOC_MODULE)-overrides.txt
+
+DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \          $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
+
+SCANOBJ_FILES =                        \
+       $(DOC_MODULE).args      \
+       $(DOC_MODULE).hierarchy \
+       $(DOC_MODULE).signals
+
+if ENABLE_GTK_DOC
+all-local: html-build.stamp
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB)
+       @echo '*** Scanning header files ***'
+       if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
+           CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
+               else \
+       cd $(srcdir) ; \
+       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
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
+       @true
+
+#### 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
+
+tmpl.stamp: tmpl-build.stamp
+       @true
+
+#### sgml ####
+
+sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
+       @echo '*** Building SGML ***'
+       cd $(srcdir) && \
+        gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) $(MKDB_OPTIONS)
+       touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+       @true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+       @echo '*** Building HTML ***'
+       test -d $(srcdir)/html || mkdir $(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 $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS)
+
+maintainer-clean-local: clean
+       cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+
+install-data-local:
+       $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
+       (installfiles=`echo $(srcdir)/html/*.html`; \
+       if test "$$installfiles" = '$(srcdir)/html/*.html'; \
+       then echo '-- Nothing to install' ; \
+       else \
+         for i in $$installfiles; do \
+       echo '-- Installing '$$i ; \
+       $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
+         done; \
+         echo '-- Installing $(srcdir)/html/index.sgml' ; \
+         $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
+       fi)
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+       @echo "*** gtk-doc must be installed and enabled in order to make dist"
+       @false
+endif
+
+dist-hook: dist-check-gtkdoc dist-hook-local
+       mkdir $(distdir)/tmpl
+       mkdir $(distdir)/sgml
+       mkdir $(distdir)/html
+       -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
+       -cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
+       cp $(srcdir)/html/index.sgml $(distdir)/html
+       -cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html
+
+       images=$(HTML_IMAGES) ;                 \
+       for i in $$images ; do                  \
+         cp $(srcdir)/$$i $(distdir)/html ;  \
+       done
+
+.PHONY : html sgml templates scan dist-hook-local
diff --git a/docs/at-spi-docs.sgml b/docs/at-spi-docs.sgml
new file mode 100644 (file)
index 0000000..68df4ad
--- /dev/null
@@ -0,0 +1,14 @@
+<!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [
+<!entity at-spi-spi_main SYSTEM "sgml/spi_main.sgml">
+]>
+
+<book>
+  <bookinfo>
+    <title>AT-SPI Reference Manual</title>
+  </bookinfo>
+
+  <chapter id="at-spi">
+    <title>AT-SPI C Bindings</title>
+    &at-spi-spi_main;
+   </chapter>
+</book>
diff --git a/docs/at-spi-sections.txt b/docs/at-spi-sections.txt
new file mode 100644 (file)
index 0000000..610196d
--- /dev/null
@@ -0,0 +1,89 @@
+<SECTION>
+<FILE>spi_main</FILE>
+<TITLE>SPI main loop and initialization</TITLE>
+SPI_init
+SPI_event_main
+SPI_eventIsReady
+SPI_nextEvent
+SPI_exit
+<SUBSECTION Standard>
+</SECTION>
+
+<SECTION>
+<FILE>spi_main</FILE>
+<TITLE>Event Listener Support</TITLE>
+createEventListener
+EventListener_addCallback
+EventListener_removeCallback
+<SUBSECTION Standard>
+</SECTION>
+<SECTION>
+
+<FILE>spi_main</FILE>
+<TITLE>Registry queries</TITLE>
+getDesktopCount
+getDesktop
+getDesktopList
+<SUBSECTION Event Registration>
+registerGlobalEventListener
+registerKeystrokeListener
+generateKeyEvent
+generateMouseEvent
+</SECTION>
+
+<SECTION>
+<FILE>spi_main</FILE>
+<TITLE>Accessible Objects</TITLE>
+Accessible_ref
+Accessible_unref
+Accessible_getName
+Accessible_getDescription
+Accessible_getParent
+Accessible_getChildCount
+Accessible_getIndexInParent
+Accessible_getRelationSet
+Accessible_getRole
+Accessible_getStateSet
+<SUBSECTION Interface Queries>
+Accessible_isAction
+Accessible_isComponent
+Accessible_isEditableText
+Accessible_isHypertext
+Accessible_isImage
+Accessible_isSelection
+Accessible_isTable
+Accessible_isText
+Accessible_getAction
+Accessible_getComponent
+Accessible_getEditableText
+Accessible_getHypertext
+Accessible_getImage
+Accessible_getSelection
+Accessible_getTable
+Accessible_getText
+Accessible_queryInterface
+</SECTION>
+
+<SECTION>
+<FILE>spi_main</FILE>
+<TITLE>AccessibleApplication API</TITLE>
+AccessibleApplication_ref
+AccessibleApplication_unref
+AccessibleApplication_getToolkitName
+AccessibleApplication_getVersion
+AccessibleApplication_getID
+AccessibleApplication_pause
+AccessibleApplication_resume
+</SECTION><SECTION>
+
+<FILE>spi_main</FILE>
+<TITLE>AccessibleComponent Interface</TITLE>
+AccessibleComponent_ref
+AccessibleComponent_unref
+AccessibleComponent_contains
+AccessibleComponent_getAccessibleAtPoint
+AccessibleComponent_getExtents
+AccessibleComponent_getPosition
+AccessibleComponent_getSize
+AccessibleComponent_grabFocus
+</SECTION>
\ No newline at end of file
index ac65681..ac137c5 100644 (file)
@@ -36,7 +36,7 @@ module Accessibility {
   interface Accessible : Bonobo::Unknown {
 
     /**
-     * #attribute description: a (short) @string representing the object's name.
+     * #attribute name: a (short) @string representing the object's name.
      **/
     attribute string name;
 
index ac65681..ac137c5 100644 (file)
@@ -36,7 +36,7 @@ module Accessibility {
   interface Accessible : Bonobo::Unknown {
 
     /**
-     * #attribute description: a (short) @string representing the object's name.
+     * #attribute name: a (short) @string representing the object's name.
      **/
     attribute string name;