summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2016-04-25 21:28:23 -0300
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2016-10-06 17:22:25 -0300
commita528e0322655c8377a0248ec1185f1d060a364fa (patch)
treeb869b299828d8fa7fe4bf58820d1d88d5ca6dc2c
parent0cc37e1ccc85427d6d0497afc6bad0099bc1bc89 (diff)
downloadgnome-todo-wip/gbsneto/documentation.tar.gz
docs: add documentationwip/gbsneto/documentation
Adds the Gtk-doc plumbing to the project tree and generate the initial documentation files.
-rw-r--r--Makefile.am7
-rwxr-xr-xautogen.sh1
-rw-r--r--configure.ac18
-rw-r--r--doc/Makefile.am3
-rw-r--r--doc/reference/Makefile.am128
-rw-r--r--doc/reference/gnome-todo-docs.sgml47
-rw-r--r--doc/reference/gnome-todo-overrides.txt0
-rw-r--r--doc/reference/gnome-todo-sections.txt198
-rw-r--r--doc/reference/gnome-todo.types10
-rw-r--r--doc/reference/version.xml.in1
-rw-r--r--src/Makefile.am82
11 files changed, 493 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am
index fa7745f5..2d4066b3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,8 +2,8 @@ include $(top_srcdir)/common.am
ACLOCAL_AMFLAGS = --install -I m4 ${ACLOCAL_FLAGS}
-SUBDIRS = plugins src data po
-DIST_SUBDIRS = src data plugins po
+SUBDIRS = plugins src data po doc
+DIST_SUBDIRS = $(SUBDIRS)
INTLTOOL_FILES = \
intltool-extract.in \
@@ -25,6 +25,7 @@ DISTCLEANFILES = \
DISTCHECK_CONFIGURE_FLAGS = \
--enable-appstream-util \
+ --disable-gtk-doc \
--enable-introspection
# Remove doc directory on uninstall
@@ -38,6 +39,8 @@ GITIGNOREFILES = \
build-aux \
config \
config.h.in \
+ gtk-doc.m4 \
+ gtk-doc.make \
m4 \
src/.deps \
src/Makefile \
diff --git a/autogen.sh b/autogen.sh
index d8411969..08e886a1 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -24,6 +24,7 @@ fi
set -x
aclocal --install || exit $?
intltoolize --force --copy --automake || exit $?
+gtkdocize || exit 1
autoreconf --verbose --force --install -Wno-portability || exit $?
cd $olddir
diff --git a/configure.ac b/configure.ac
index 14fe46bf..fbdfb930 100644
--- a/configure.ac
+++ b/configure.ac
@@ -91,6 +91,20 @@ GNOME_TODO_ADD_PLUGIN([dark-theme], [Dark theme], [yes])
GNOME_TODO_ADD_PLUGIN([score], [Score], [yes])
GNOME_TODO_ADD_PLUGIN([unscheduled-panel], [Unscheduled Tasks Panel], [yes])
+
+dnl ***********************************************************************
+dnl Support for gtk-doc Documentation Engine
+dnl ***********************************************************************
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+AM_CONDITIONAL(ENABLE_GTK_DOC, test "x$enable_gtk_doc" = "xyes")
+AC_ARG_ENABLE(doc-cross-references,
+ AS_HELP_STRING([--disable-doc-cross-references],
+ [cross reference symbols from other libraries @<:@default=yes@:>@]),
+ enable_doc_cross_references=$enableval,
+ enable_doc_cross_references=yes)
+AM_CONDITIONAL(ENABLE_DOC_CROSS_REFERENCES, test x$enable_doc_cross_references != xno)
+
+
AC_CONFIG_FILES([
Makefile
src/Makefile
@@ -98,6 +112,9 @@ AC_CONFIG_FILES([
data/icons/Makefile
data/gnome-todo.pc
data/org.gnome.Todo.desktop.in
+ doc/Makefile
+ doc/reference/Makefile
+ doc/reference/version.xml
plugins/Makefile
po/Makefile.in
])
@@ -114,6 +131,7 @@ echo "
compiler: ${CC}
global flags: ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
release: ${ax_is_release}
+ documentation: ${enable_gtk_doc}
Plugins:
Score.................... ${enable_score_plugin}
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 00000000..034926c5
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = reference
+
+-include $(top_srcdir)/git.mk
diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am
new file mode 100644
index 00000000..8c25c5fa
--- /dev/null
+++ b/doc/reference/Makefile.am
@@ -0,0 +1,128 @@
+## Process this file with automake to produce Makefile.in
+
+# see /gtk-doc/examples/Makefile.am
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=gnome-todo
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+DOC_SOURCE_DIR=$(top_srcdir)/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=--rebuild-types
+
+# Extra options to supply to gtkdoc-mkdb.
+MKDB_OPTIONS=--sgml-mode --output-format=xml
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+if ENABLE_DOC_CROSS_REFERENCES
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS = \
+ --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib \
+ --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gmodule \
+ --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gobject \
+ --extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gio \
+ --extra-dir=$(GTK_PREFIX)/share/gtk-doc/html/gtk \
+ --extra-dir=$(GTK_PREFIX)/share/gtk-doc/html/gtksourceview-3.0
+endif
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+HFILE_GLOB = \
+ $(top_srcdir)/src/gtd*.h \
+ $(top_srcdir)/src/*/gtd-*.h \
+ $(NULL)
+CFILE_GLOB = \
+ $(top_srcdir)/src/gtd*.c \
+ $(top_srcdir)/src/*/gtd-*.c \
+ $(NULL)
+
+# Header files to ignore when scanning.
+IGNORE_HFILES = \
+ gtd-application.h \
+ gtd-arrow-frame.h \
+ gtd-edit-pane.h \
+ gtd-enum-types.h \
+ gtd-initial-setup-window.h \
+ gtd-list-selector.h \
+ gtd-list-selector-grid.h \
+ gtd-list-selector-grid-item.h \
+ gtd-list-selector-item.h \
+ gtd-list-selector-list.h \
+ gtd-list-selector-list-item.h \
+ gtd-list-selector-panel.h \
+ gtd-manager-protected.h \
+ gtd-notification-widget.h \
+ gtd-plugin-dialog.h \
+ gtd-plugin-dialog-row.h \
+ gtd-plugin-manager.h \
+ gtd-provider-dialog.h \
+ gtd-provider-popover.h \
+ gtd-provider-row.h \
+ gtd-provider-selector.h \
+ gtd-resources.h \
+ gtd-task-row.h \
+ gtd-types.h
+
+# Images to copy into HTML directory.
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files = \
+ version.xml
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+GTKDOC_CFLAGS = \
+ -I$(top_srcdir)/src \
+ -I$(top_builddir)/src \
+ $(GNOME_TODO_CFLAGS)
+
+GTKDOC_LIBS = \
+ $(GNOME_TODO_LIBS) \
+ $(top_builddir)/src/libgtd.la
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/gtk-doc.make
+
+# Other files to distribute
+EXTRA_DIST += \
+ version.xml.in
+
+
+if ENABLE_GTK_DOC
+
+TESTS_ENVIRONMENT = \
+ SRCDIR=$(abs_srcdir) \
+ BUILDDIR=$(abs_builddir) \
+ DOC_MODULE=$(DOC_MODULE) \
+ DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE)
+
+check-local: $(GTKDOC_CHECK)
+ @$(TESTS_ENVIRONMENT) ./$(GTKDOC_CHECK)
+
+endif
+
+-include $(top_srcdir)/git.mk
diff --git a/doc/reference/gnome-todo-docs.sgml b/doc/reference/gnome-todo-docs.sgml
new file mode 100644
index 00000000..c7fd1900
--- /dev/null
+++ b/doc/reference/gnome-todo-docs.sgml
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+ <!ENTITY % gtkdocentities SYSTEM "xml/gtkdocentities.ent">
+ %gtkdocentities;
+]>
+<book id="index">
+ <bookinfo>
+ <title>GNOME To Do - Reference Manual</title>
+ <releaseinfo>
+ Reference manual for GNOME To Do.
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location" url="http://[SERVER]/&package_name;/index.html">http://[SERVER]/&package_name;/</ulink>.
+ </releaseinfo>
+ </bookinfo>
+
+ <chapter>
+ <title>Objects</title>
+ <xi:include href="xml/gtd-activatable.xml"/>
+ <xi:include href="xml/gtd-enums.xml"/>
+ <xi:include href="xml/gtd-manager.xml"/>
+ <xi:include href="xml/gtd-notification.xml"/>
+ <xi:include href="xml/gtd-object.xml"/>
+ <xi:include href="xml/gtd-panel.xml"/>
+ <xi:include href="xml/gtd-provider.xml"/>
+ <xi:include href="xml/gtd-task.xml"/>
+ <xi:include href="xml/gtd-task-list.xml"/>
+ <xi:include href="xml/gtd-task-list-view.xml"/>
+ <xi:include href="xml/gtd-window.xml"/>
+
+ </chapter>
+ <chapter id="object-tree">
+ <title>Object Hierarchy</title>
+ <xi:include href="xml/tree_index.sgml"/>
+ </chapter>
+ <index id="api-index-full">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+</book>
diff --git a/doc/reference/gnome-todo-overrides.txt b/doc/reference/gnome-todo-overrides.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/doc/reference/gnome-todo-overrides.txt
diff --git a/doc/reference/gnome-todo-sections.txt b/doc/reference/gnome-todo-sections.txt
new file mode 100644
index 00000000..2f74916d
--- /dev/null
+++ b/doc/reference/gnome-todo-sections.txt
@@ -0,0 +1,198 @@
+<SECTION>
+<FILE>gtd-activatable</FILE>
+<TITLE>GtdActivatable</TITLE>
+GTD_TYPE_ACTIVATABLE
+GtdActivatableInterface
+gtd_activatable_activate
+gtd_activatable_deactivate
+gtd_activatable_get_header_widgets
+gtd_activatable_get_preferences_panel
+gtd_activatable_get_panels
+gtd_activatable_get_providers
+GtdActivatable
+</SECTION>
+
+<SECTION>
+<FILE>gtd-enums</FILE>
+<TITLE>Enums</TITLE>
+GtdWindowMode
+GtdListSelectorViewType
+</SECTION>
+
+<SECTION>
+<FILE>gtd-manager</FILE>
+<TITLE>GtdManager</TITLE>
+GTD_TYPE_MANAGER
+gtd_manager_new
+gtd_manager_get_default
+gtd_manager_get_task_lists
+gtd_manager_get_providers
+gtd_manager_get_panels
+gtd_manager_create_task_list
+gtd_manager_remove_task_list
+gtd_manager_save_task_list
+gtd_manager_create_task
+gtd_manager_remove_task
+gtd_manager_update_task
+gtd_manager_get_default_provider
+gtd_manager_set_default_provider
+gtd_manager_get_settings
+gtd_manager_get_is_first_run
+gtd_manager_set_is_first_run
+gtd_manager_emit_error_message
+GtdManager
+</SECTION>
+
+<SECTION>
+<FILE>gtd-notification</FILE>
+<TITLE>GtdNotification</TITLE>
+GTD_TYPE_NOTIFICATION
+GtdNotificationActionFunc
+gtd_notification_new
+gtd_notification_execute_primary_action
+gtd_notification_execute_secondary_action
+gtd_notification_start
+gtd_notification_stop
+gtd_notification_set_primary_action
+gtd_notification_set_secondary_action
+gtd_notification_get_text
+gtd_notification_set_text
+gtd_notification_get_timeout
+gtd_notification_set_timeout
+GtdNotification
+</SECTION>
+
+<SECTION>
+<FILE>gtd-object</FILE>
+<TITLE>GtdObject</TITLE>
+GTD_TYPE_OBJECT
+GtdObjectClass
+gtd_object_new
+gtd_object_get_uid
+gtd_object_set_uid
+gtd_object_get_ready
+gtd_object_set_ready
+GtdObject
+</SECTION>
+
+<SECTION>
+<FILE>gtd-panel</FILE>
+<TITLE>GtdPanel</TITLE>
+GTD_TYPE_PANEL
+GtdPanelInterface
+gtd_panel_get_panel_name
+gtd_panel_get_panel_title
+gtd_panel_get_header_widgets
+gtd_panel_get_menu
+GtdPanel
+</SECTION>
+
+<SECTION>
+<FILE>gtd-provider</FILE>
+<TITLE>GtdProvider</TITLE>
+GTD_TYPE_PROVIDER
+GtdProviderInterface
+gtd_provider_get_id
+gtd_provider_get_name
+gtd_provider_get_description
+gtd_provider_get_enabled
+gtd_provider_get_icon
+gtd_provider_get_edit_panel
+gtd_provider_create_task
+gtd_provider_update_task
+gtd_provider_remove_task
+gtd_provider_create_task_list
+gtd_provider_update_task_list
+gtd_provider_remove_task_list
+gtd_provider_get_task_lists
+gtd_provider_get_default_task_list
+GtdProvider
+</SECTION>
+
+<SECTION>
+<FILE>gtd-task</FILE>
+<TITLE>GtdTask</TITLE>
+GTD_TYPE_TASK
+GtdTaskClass
+gtd_task_new
+gtd_task_get_complete
+gtd_task_set_complete
+gtd_task_get_component
+gtd_task_get_creation_date
+gtd_task_get_description
+gtd_task_set_description
+gtd_task_get_due_date
+gtd_task_set_due_date
+gtd_task_get_list
+gtd_task_set_list
+gtd_task_get_priority
+gtd_task_set_priority
+gtd_task_get_title
+gtd_task_set_title
+gtd_task_abort
+gtd_task_save
+gtd_task_compare
+GtdTask
+</SECTION>
+
+<SECTION>
+<FILE>gtd-task-list</FILE>
+<TITLE>GtdTaskList</TITLE>
+GTD_TYPE_TASK_LIST
+GtdTaskListClass
+gtd_task_list_new
+gtd_task_list_get_color
+gtd_task_list_set_color
+gtd_task_list_is_removable
+gtd_task_list_set_is_removable
+gtd_task_list_get_name
+gtd_task_list_set_name
+gtd_task_list_get_provider
+gtd_task_list_set_provider
+gtd_task_list_get_tasks
+gtd_task_list_save_task
+gtd_task_list_remove_task
+gtd_task_list_contains
+GtdTaskList
+</SECTION>
+
+<SECTION>
+<FILE>gtd-task-list-view</FILE>
+<TITLE>GtdTaskListView</TITLE>
+GTD_TYPE_TASK_LIST_VIEW
+GtdTaskListViewHeaderFunc
+GtdTaskListViewSortFunc
+gtd_task_list_view_new
+gtd_task_list_view_get_list
+gtd_task_list_view_set_list
+gtd_task_list_view_get_task_list
+gtd_task_list_view_set_task_list
+gtd_task_list_view_get_show_list_name
+gtd_task_list_view_set_show_list_name
+gtd_task_list_view_get_show_completed
+gtd_task_list_view_set_show_completed
+gtd_task_list_view_set_header_func
+gtd_task_list_view_set_sort_func
+gtd_task_list_view_get_show_new_task_row
+gtd_task_list_view_set_show_new_task_row
+gtd_task_list_view_get_default_date
+gtd_task_list_view_set_default_date
+gtd_task_list_view_get_color
+gtd_task_list_view_set_color
+GtdTaskListView
+</SECTION>
+
+<SECTION>
+<FILE>gtd-window</FILE>
+<TITLE>GtdWindow</TITLE>
+GTD_TYPE_WINDOW
+gtd_window_new
+gtd_window_get_manager
+gtd_window_notify
+gtd_window_cancel_notification
+gtd_window_get_mode
+gtd_window_set_mode
+gtd_window_set_custom_title
+GtdWindow
+</SECTION>
+
diff --git a/doc/reference/gnome-todo.types b/doc/reference/gnome-todo.types
new file mode 100644
index 00000000..68ec5381
--- /dev/null
+++ b/doc/reference/gnome-todo.types
@@ -0,0 +1,10 @@
+gtd_activatable_get_type
+gtd_manager_get_type
+gtd_notification_get_type
+gtd_object_get_type
+gtd_panel_get_type
+gtd_provider_get_type
+gtd_task_get_type
+gtd_task_list_get_type
+gtd_task_list_view_get_type
+gtd_window_get_type
diff --git a/doc/reference/version.xml.in b/doc/reference/version.xml.in
new file mode 100644
index 00000000..d78bda93
--- /dev/null
+++ b/doc/reference/version.xml.in
@@ -0,0 +1 @@
+@VERSION@
diff --git a/src/Makefile.am b/src/Makefile.am
index 1cd7b9a6..a853ba94 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -154,6 +154,88 @@ EXTRA_DIST = \
#==================================
+# Private library for documentation
+#==================================
+if ENABLE_GTK_DOC
+
+noinst_LTLIBRARIES = libgtd.la
+
+libgtd_la_SOURCES = \
+ engine/gtd-manager.c \
+ engine/gtd-manager.h \
+ engine/gtd-manager-protected.h \
+ engine/gtd-plugin-manager.c \
+ engine/gtd-plugin-manager.h \
+ interfaces/gtd-activatable.c \
+ interfaces/gtd-activatable.h \
+ interfaces/gtd-panel.c \
+ interfaces/gtd-panel.h \
+ interfaces/gtd-provider.c \
+ interfaces/gtd-provider.h \
+ notification/gtd-notification.c \
+ notification/gtd-notification.h \
+ notification/gtd-notification-widget.c \
+ notification/gtd-notification-widget.h \
+ provider/gtd-provider-popover.c \
+ provider/gtd-provider-popover.h \
+ provider/gtd-provider-row.c \
+ provider/gtd-provider-row.h \
+ provider/gtd-provider-selector.c \
+ provider/gtd-provider-selector.h \
+ views/gtd-list-selector.c \
+ views/gtd-list-selector.h \
+ views/gtd-list-selector-grid.c \
+ views/gtd-list-selector-grid.h \
+ views/gtd-list-selector-grid-item.c \
+ views/gtd-list-selector-grid-item.h \
+ views/gtd-list-selector-item.c \
+ views/gtd-list-selector-item.h \
+ views/gtd-list-selector-list.c \
+ views/gtd-list-selector-list.h \
+ views/gtd-list-selector-list-item.c \
+ views/gtd-list-selector-list-item.h \
+ views/gtd-list-selector-panel.c \
+ views/gtd-list-selector-panel.h \
+ gtd-application.c \
+ gtd-application.h \
+ gtd-arrow-frame.c \
+ gtd-arrow-frame.h \
+ gtd-edit-pane.c \
+ gtd-edit-pane.h \
+ gtd-enum-types.c \
+ gtd-enum-types.h \
+ gtd-enums.h \
+ gtd-initial-setup-window.c \
+ gtd-initial-setup-window.h \
+ gtd-object.c \
+ gtd-object.h \
+ gtd-plugin-dialog.c \
+ gtd-plugin-dialog.h \
+ gtd-plugin-dialog-row.c \
+ gtd-plugin-dialog-row.h \
+ gtd-task.c \
+ gtd-task.h \
+ gtd-task-list.c \
+ gtd-task-list.h \
+ gtd-task-list-view.c \
+ gtd-task-list-view.h \
+ gtd-task-row.c \
+ gtd-task-row.h \
+ gtd-types.h \
+ gtd-window.c \
+ gtd-window.h
+
+libgtd_la_CFLAGS = \
+ $(GNOME_TODO_CFLAGS) \
+ $(GNOME_TODO_WARN_CFLAGS)
+
+libgtd_la_LDFLAGS = \
+ -Wl,--export-dynamic
+
+endif
+
+
+#==================================
# GObject introspection
#==================================
if HAVE_INTROSPECTION