From a5d25701a6a2e3ff7f586cd709c180187f99bc59 Mon Sep 17 00:00:00 2001 From: billh Date: Mon, 20 Aug 2001 14:31:33 +0000 Subject: [PATCH] Initial checkins and mods for gtk-doc generation for C bindings. git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@43 e2bd861d-eb25-0410-b326-f6ed22b6b98c --- ChangeLog | 17 +++-- configure.in | 32 ++++++++ docs/Makefile.am | 159 +++++++++++++++++++++++++++++++++++++++ docs/at-spi-docs.sgml | 14 ++++ docs/at-spi-sections.txt | 89 ++++++++++++++++++++++ idl/Accessibility_Accessible.idl | 2 +- idl/Accessible.idl | 2 +- 7 files changed, 306 insertions(+), 9 deletions(-) create mode 100644 docs/at-spi-docs.sgml create mode 100644 docs/at-spi-sections.txt diff --git a/ChangeLog b/ChangeLog index 830cee9..5922ebb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2001-08-20 Bill Haneman - + + * 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. @@ -225,8 +230,10 @@ 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. @@ -236,10 +243,6 @@ * 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 * at-bridge/Makefile.am: link against diff --git a/configure.in b/configure.in index 0b5a7d2..21b62ff 100644 --- a/configure.in +++ b/configure.in @@ -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 <= "$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) diff --git a/docs/Makefile.am b/docs/Makefile.am index e69de29..bc3c689 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -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 index 0000000..68df4ad --- /dev/null +++ b/docs/at-spi-docs.sgml @@ -0,0 +1,14 @@ + +]> + + + + AT-SPI Reference Manual + + + + AT-SPI C Bindings + &at-spi-spi_main; + + diff --git a/docs/at-spi-sections.txt b/docs/at-spi-sections.txt new file mode 100644 index 0000000..610196d --- /dev/null +++ b/docs/at-spi-sections.txt @@ -0,0 +1,89 @@ +
+spi_main +SPI main loop and initialization +SPI_init +SPI_event_main +SPI_eventIsReady +SPI_nextEvent +SPI_exit + +
+ +
+spi_main +Event Listener Support +createEventListener +EventListener_addCallback +EventListener_removeCallback + +
+
+ +spi_main +Registry queries +getDesktopCount +getDesktop +getDesktopList + +registerGlobalEventListener +registerKeystrokeListener +generateKeyEvent +generateMouseEvent +
+ +
+spi_main +Accessible Objects +Accessible_ref +Accessible_unref +Accessible_getName +Accessible_getDescription +Accessible_getParent +Accessible_getChildCount +Accessible_getIndexInParent +Accessible_getRelationSet +Accessible_getRole +Accessible_getStateSet + +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 +
+ +
+spi_main +AccessibleApplication API +AccessibleApplication_ref +AccessibleApplication_unref +AccessibleApplication_getToolkitName +AccessibleApplication_getVersion +AccessibleApplication_getID +AccessibleApplication_pause +AccessibleApplication_resume +
+ +spi_main +AccessibleComponent Interface +AccessibleComponent_ref +AccessibleComponent_unref +AccessibleComponent_contains +AccessibleComponent_getAccessibleAtPoint +AccessibleComponent_getExtents +AccessibleComponent_getPosition +AccessibleComponent_getSize +AccessibleComponent_grabFocus +
\ No newline at end of file diff --git a/idl/Accessibility_Accessible.idl b/idl/Accessibility_Accessible.idl index ac65681..ac137c5 100644 --- a/idl/Accessibility_Accessible.idl +++ b/idl/Accessibility_Accessible.idl @@ -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; diff --git a/idl/Accessible.idl b/idl/Accessible.idl index ac65681..ac137c5 100644 --- a/idl/Accessible.idl +++ b/idl/Accessible.idl @@ -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; -- 2.7.4