2002-11-27 Benoit Gr�goire <bock@step.polymtl.ca>

* Makefile.am configure.in src/doc/Makefile.am
	src/doc/doxygen.cfg src/doc/doxygen_main_page.c: Added doxygen documentation support, and integrated it into the build system.  There is a new target, make doc, that can be used to build the documentation if you have doxygen installed. Any file in the src tree will be included in the documentation if it follows doxygen conventions.  The doc created in src/doc/html.  Doxygen is now required for make dist.
	* src/import-export/:  Enable doxygen documentation.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@7564 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Benoit Grégoire
2002-11-27 22:49:10 +00:00
parent eba5c4f0fc
commit a9f1f75243
20 changed files with 370 additions and 47 deletions
+5
View File
@@ -1,3 +1,8 @@
2002-11-27 Benoit Grégoire <bock@step.polymtl.ca>
* Makefile.am configure.in src/doc/Makefile.am
src/doc/doxygen.cfg src/doc/doxygen_main_page.c: Added doxygen documentation support, and integrated it into the build system. There is a new target, make doc, that can be used to build the documentation if you have doxygen installed. Any file in the src tree will be included in the documentation if it follows doxygen conventions. The doc created in src/doc/html. Doxygen is now required for make dist.
* src/import-export/: Enable doxygen documentation.
2002-11-27 Christian Stimming <stimming@tuhh.de>
* accounts/pt_BR/*: Added Brazilian Portugese account templates by
+4
View File
@@ -102,3 +102,7 @@ endif
.PHONY: TAGS
ACLOCAL_AMFLAGS = -I m4
.PHONY: doc
doc:
$(MAKE) -C src/doc doc
+43 -1
View File
@@ -588,6 +588,48 @@ AC_ARG_WITH( perl-includes,
PERLINCL="$with_perl_includes" )
AC_SUBST(PERLINCL)
# check for doxygen, mostly stolen from http://log4cpp.sourceforge.net/
# ----------------------------------------------------------------------------
AC_DEFUN(BB_ENABLE_DOXYGEN,
[
AC_ARG_ENABLE(doxygen, [ --enable-doxygen enable documentation generation with doxygen (auto)])
AC_ARG_ENABLE(dot, [ --enable-dot use 'dot' to generate graphs in doxygen (auto)])
AC_ARG_ENABLE(html-docs, [ --enable-html-docs enable HTML generation with doxygen (yes)], [], [ enable_html_docs=yes])
AC_ARG_ENABLE(latex-docs, [ --enable-latex-docs enable LaTeX documentation generation with doxygen (no)], [], [ enable_latex_docs=no])
if test "x$enable_doxygen" = xno; then
enable_doc=no
else
AC_PATH_PROG(DOXYGEN, doxygen, , $PATH)
if test x$DOXYGEN = x; then
if test "x$enable_doxygen" = xyes; then
AC_MSG_ERROR([could not find doxygen])
fi
enable_doc=no
else
enable_doc=yes
AC_PATH_PROG(DOT, dot, , $PATH)
fi
fi
AM_CONDITIONAL(DOC, test x$enable_doc = xyes)
if test x$DOT = x; then
if test "x$enable_dot" = xyes; then
AC_MSG_ERROR([could not find dot])
fi
enable_dot=no
else
enable_dot=yes
fi
AM_CONDITIONAL(ENABLE_DOXYGEN, test x$enable_doc = xtrue)
AC_SUBST(enable_dot)
AC_SUBST(enable_html_docs)
AC_SUBST(enable_latex_docs)
])
# check for doxygen
# ----------------------------------------------------------------------------
BB_ENABLE_DOXYGEN
### --------------------------------------------------------------------------
### Libraries
@@ -1096,4 +1138,4 @@ AC_OUTPUT( m4/Makefile intl/Makefile
gnucash-config
,
dnl # commands go here, but we don't have any right now
)
)
+35 -1
View File
@@ -10,4 +10,38 @@ EXTRA_DIST = \
finderv.html \
finutil.html \
plugin.txt \
tax.txt
tax.txt \
doxygen.cfg
docdir = ${GNC_DOC_INSTALL_DIR}
all:
doc: doxygen.cfg
echo "doc: " && pwd && echo "distdir: " && echo $(distdir)
rm -rf html/ refman.pdf
$(DOXYGEN) doxygen.cfg
# $(MAKE) -C latex/
# mv latex/refman.pdf ./refman.pdf
dist-hook:
echo "dist-hook: " && pwd
cd $(srcdir) && pwd && rm -rf html refman.pdf && $(DOXYGEN) doxygen.cfg
cp -rp $(srcdir)/html ${distdir}
clean-local:
echo "clean-local: " && pwd
rm -rf latex/
rm -f *~
rm -f doxygen.log
maintainer-clean-local: clean-local
echo "maintainer-clean-local: " && pwd
rm -rf html refman.pdf
install-data-hook:
mkdir -p $(srcdir)/html #Workaround to allow libofx-cvs user to install without doc.
cp -rp $(srcdir)/html ${docdir}
uninstall-hook:
rm -rf ${docdir}/html
+192
View File
@@ -0,0 +1,192 @@
# Doxyfile 1.2.17
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = GnuCash
PROJECT_NUMBER =
OUTPUT_DIRECTORY =
OUTPUT_LANGUAGE = English
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
INTERNAL_DOCS = NO
STRIP_CODE_COMMENTS = YES
CASE_SENSE_NAMES = YES
SHORT_NAMES = NO
HIDE_SCOPE_NAMES = NO
VERBATIM_HEADERS = NO
SHOW_INCLUDE_FILES = YES
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = YES
INHERIT_DOCS = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
GENERATE_TODOLIST = NO
GENERATE_TESTLIST = NO
GENERATE_BUGLIST = NO
GENERATE_DEPRECATEDLIST= YES
ALIASES =
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_FORMAT =
WARN_LOGFILE = doxygen.log
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ../
FILE_PATTERNS =
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = YES
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT =
HTML_FILE_EXTENSION =
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT =
LATEX_CMD_NAME =
MAKEINDEX_CMD_NAME =
COMPACT_LATEX = NO
PAPER_TYPE = letter
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT =
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT =
MAN_EXTENSION =
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_SCHEMA =
XML_DTD =
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED =
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH =
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
GRAPHICAL_HIERARCHY = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
CGI_NAME =
CGI_URL =
DOC_URL =
DOC_ABSPATH =
BIN_ABSPATH =
EXT_DOC_PATHS =
+33
View File
@@ -0,0 +1,33 @@
/*! \mainpage GnuCash design and developer's manual
\section intro Introduction
This is the new GnuCash developper and design manual for GnuCash. Previous documentation will slowly be integrated into this, and eventually it should always be up to date since it is generated directly from the source files using Doxygen.
\section hacking Hacking on this documentation
I will eventually post a style guide for documenting, and document one of the files "by the book". Until then, feel free to start documenting or playing with doxygen configuration.
\subsection config Editing Doxygen configuration
To edit the doxygen configuration, you can use:
*
cd src/doc
*
doxywizard doxygen.cfg &
\subsection reference Doxygen reference documentation
The Doxygen web site (http://www.stack.nl/~dimitri/doxygen/) has a complete user manual. For the impatient, here are the most interesting sections:
- How to write documentation blocks for files, functions, variables, etc.: http://www.stack.nl/~dimitri/doxygen/docblocks.html.
Do not forget to add a file documentation block (@file) at the top of your file,
otherwise, your documentation will not appear in the html.
- List of the special commands you can use within your documentation blocks: http://www.stack.nl/~dimitri/doxygen/commands.html
\section contact Contacts
\subsection web Web Site
News about GnuCash as well as the latest version can always be found at http://www.gnucash.org/
\subsection email Email
If you have any suggestions concerning this documentation, do not hesitate to send suggestions to gnucash-devel (see http://www.gnucash.org/en/lists.phtml for details)
Benoit Grégoire mailto:bock@step.polymtl.ca
*/
+3 -1
View File
@@ -22,7 +22,9 @@
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
* Boston, MA 02111-1307, USA gnu@gnu.org *
\********************************************************************/
/**@file
* \brief Account matching and account picking functionnality
*/
#define _GNU_SOURCE
#include "config.h"
+3 -1
View File
@@ -22,7 +22,9 @@
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
* Boston, MA 02111-1307, USA gnu@gnu.org *
\********************************************************************/
/**@file
* \brief Account matching and account picking functionnality
*/
#ifndef ACCOUNT_MATCHER_H
#define ACCOUNT_MATCHER_H
+3 -1
View File
@@ -22,7 +22,9 @@
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
* Boston, MA 02111-1307, USA gnu@gnu.org *
\********************************************************************/
/**@file
* \brief Generic Commodity matching functionnality
*/
#define _GNU_SOURCE
#include "config.h"
+3 -1
View File
@@ -22,7 +22,9 @@
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
* Boston, MA 02111-1307, USA gnu@gnu.org *
\********************************************************************/
/**@file
* \brief Generic Commodity matching functionnality
*/
#ifndef COMMODITY_MATCHER_H
#define COMMODITY_MATCHER_H
+5 -3
View File
@@ -22,7 +22,9 @@
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
* Boston, MA 02111-1307, USA gnu@gnu.org *
\********************************************************************/
/**@file
* \brief Transaction duplicate matching functionnality
*/
#define _GNU_SOURCE
#include "config.h"
@@ -1050,8 +1052,8 @@ static void split_find_match (GNCImportTransInfo * trans_info,
/* ATM fees are sometimes added directly in the transaction.
So you withdraw 100$ and get charged 101,25$ in the same
transaction */
prob = prob+1;
DEBUG("heuristics: probability + 1 (amount)");
prob = prob+2;
DEBUG("heuristics: probability + 2 (amount)");
}
else
{
+4 -1
View File
@@ -22,7 +22,10 @@
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
* Boston, MA 02111-1307, USA gnu@gnu.org *
\********************************************************************/
/**@file
* \brief Transaction duplicate matching functionnality
*/
#ifndef TRANSACTION_MATCHER_H
#define TRANSACTION_MATCHER_H
+3 -1
View File
@@ -20,7 +20,9 @@
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
* Boston, MA 02111-1307, USA gnu@gnu.org *
\********************************************************************/
/**@file
* \brief Transaction matcher main window
*/
#include "config.h"
#include <gnome.h>
+3 -1
View File
@@ -20,7 +20,9 @@
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
* Boston, MA 02111-1307, USA gnu@gnu.org *
\********************************************************************/
/**@file
* \brief Transaction matcher main window
*/
#ifndef GNC_GEN_TRANSACTION_H
#define GNC_GEN_TRANSACTION_H
+6 -8
View File
@@ -1,13 +1,11 @@
/*
* gnc-import-match-map.c:
* an import mapper service that stores Account Maps for the
* generic importer. This allows importers to map various
* "strings" to Gnucash accounts in a generic manner.
*
* Created by: Derek Atkins <derek@ihtfp.com>
/**@file
* \brief Generic import mapper service, maps strings->accounts
*
An import mapper service that stores Account Maps for the
generic importer. This allows importers to map various
"strings" to Gnucash accounts in a generic manner.
\author Derek Atkins <derek@ihtfp.com>
*/
#include "gnc-import-match-map.h"
#include "kvp_frame.h"
+6 -8
View File
@@ -1,13 +1,11 @@
/*
* gnc-import-match-map.h:
* an import mapper service that stores Account Maps for the
* generic importer. This allows importers to map various
* "strings" to Gnucash accounts in a generic manner.
*
* Created by: Derek Atkins <derek@ihtfp.com>
/**@file
\brief Generic import mapper service, maps strings->accounts
*
An import mapper service that stores Account Maps for the
generic importer. This allows importers to map various
"strings" to Gnucash accounts in a generic manner.
\author Derek Atkins <derek@ihtfp.com>
*/
#ifndef GNC_IMPORT_MATCH_MAP_H
#define GNC_IMPORT_MATCH_MAP_H
+4 -7
View File
@@ -1,10 +1,7 @@
/*********************************************************************
* gncmod-generic-import.c
* module definition/initialization for the generic import
* infrastructure
*
* Copyright (c) 2002 Benoit Grégoire bock@step.polymtl.ca
*********************************************************************/
/**@file
\brief module definition/initialization for the generic import infrastructure
\author Copyright (c) 2002 Benoit Grégoire bock@step.polymtl.ca
*/
#include <glib.h>
#include <guile/gh.h>
+6 -3
View File
@@ -20,7 +20,10 @@
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
* Boston, MA 02111-1307, USA gnu@gnu.org *
\********************************************************************/
/**@file
\brief Ofx import module code
\author Copyright (c) 2002 Benoit Grégoire bock@step.polymtl.ca
*/
#define _GNU_SOURCE
#include "config.h"
@@ -506,7 +509,7 @@ int ofx_proc_transaction_cb(struct OfxTransactionData data)
}
}
//gnc_import_add_trans(transaction);
/* Previous importer GUI: gnc_import_add_trans(transaction); */
/* CS: Use new importer GUI. */
if (gnc_ofx_importer_gui)
@@ -544,7 +547,7 @@ int ofx_proc_account_cb(struct OfxAccountData data)
gnc_commodity * default_commodity;
GNCAccountType default_type=NO_TYPE;
gchar * account_description;
gchar * account_type_name;
gchar * account_type_name = NULL;
if(data.account_id_valid==true){
//printf("ofx_proc_account() Now calling gnc_import_select_account()\n");
+5 -2
View File
@@ -20,11 +20,14 @@
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
* Boston, MA 02111-1307, USA gnu@gnu.org *
\********************************************************************/
/**@file
\brief Ofx import module
\author Copyright (c) 2002 Benoit Grégoire bock@step.polymtl.ca
*/
#ifndef OFX_IMPORT_H
#define OFX_IMPORT_H
/* The gnc_file_ofx_import() routine will pop up a standard file
/** The gnc_file_ofx_import() routine will pop up a standard file
* selection dialogue asking the user to pick a OFX/QFX file. If one
* is selected the the OFX file is opened and read. It's contents
* are merged into the existing session (if any). The current
+4 -7
View File
@@ -1,10 +1,7 @@
/*********************************************************************
* gncmod-ofx-import.c
* module definition/initialization for ofx importer
*
* Copyright (c) 2002 Benoit Grégoire bock@step.polymtl.ca
*********************************************************************/
/**@file
\brief module definition/initialization for the ofx importer
\author Copyright (c) 2002 Benoit Grégoire bock@step.polymtl.ca
*/
#include <glib.h>
#include <guile/gh.h>