diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2021-10-15 10:50:10 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2021-10-15 10:50:10 +0900 |
commit | 738086af77ab085837d0044a33a5d954a3edc6f5 (patch) | |
tree | 3b965243967bdf1aab50ec3dfe74ebdaf75b6942 /doc | |
parent | 835421dad74e8989002b592f703a23d87f211df0 (diff) | |
download | doxygen-738086af77ab085837d0044a33a5d954a3edc6f5.tar.gz doxygen-738086af77ab085837d0044a33a5d954a3edc6f5.tar.bz2 doxygen-738086af77ab085837d0044a33a5d954a3edc6f5.zip |
Imported Upstream version 1.8.6upstream/1.8.6
Diffstat (limited to 'doc')
-rw-r--r-- | doc/Makefile.in | 4 | ||||
-rw-r--r-- | doc/changelog.doc | 135 | ||||
-rw-r--r-- | doc/commands.doc | 72 | ||||
-rw-r--r-- | doc/config.doc | 47 | ||||
-rw-r--r-- | doc/doxygen_manual.tex | 3 | ||||
-rw-r--r-- | doc/index.doc | 10 | ||||
-rw-r--r-- | doc/install.doc | 14 | ||||
-rw-r--r-- | doc/language.doc | 362 | ||||
-rw-r--r-- | doc/language.tpl | 167 | ||||
-rw-r--r-- | doc/maintainers.txt | 6 | ||||
-rw-r--r-- | doc/markdown.doc | 6 | ||||
-rw-r--r-- | doc/translator.py | 81 | ||||
-rw-r--r-- | doc/trouble.doc | 5 |
13 files changed, 615 insertions, 297 deletions
diff --git a/doc/Makefile.in b/doc/Makefile.in index cf1e461..5036116 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -31,9 +31,9 @@ clean: language: language.doc language.doc: $(wildcard ../src/translator*.h) maintainers.txt language.tpl translator.py - python translator.py + $(PYTHON) translator.py config.doc: ../src/config.xml ../src/configgen.py - python ../src/configgen.py -doc ../src/config.xml > config.doc + $(PYTHON) ../src/configgen.py -doc ../src/config.xml > config.doc FORCE: diff --git a/doc/changelog.doc b/doc/changelog.doc index 05f8202..9eaf192 100644 --- a/doc/changelog.doc +++ b/doc/changelog.doc @@ -2,6 +2,139 @@ \tableofcontents \section log_1_8 1.8 Series +\subsection log_1_8_6 Release 1.8.6 +\htmlonly +<b>(release date 24-12-2013)</b> +<a name="1.8.6"></a> +<h3>Bug fixes (ids refer to the <a href="http://bugzilla.gnome.org/buglist.cgi?product=doxygen&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&status_whiteboard=&status_whiteboard_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&newqueryname=&form_name=query&order=bugs.bug_id">bugzilla</a> database, lines with bug refer to commit is <a href="https://github.com/doxygen/doxygen/commits/master">GitHub</a>)</h3> +<ul> +<li> Bug 154880 - if "using namespace" used, call of a static member function in C++ is not recognized or recognized wrong +<li> Bug 647517 - make install prepends a slash to the installation path Removed superfluous / +<li> Bug 668424 - HTML links in RTF output are broken +<li> Bug 683897 - class list not sorted? +<li> Bug 692004 - show includes for free functions +<li> Bug 693537 - Create possibility to keep user comments in Doxyfile +<li> Bug 701949 - Latex: Hyperlinks for \secreflist / \refitem +<li> Bug 702265 - Generated Doxyfile differs from result of doxygen -u (partial fix) +<li> Bug 705910 - Indexing and searching cannot treat non ASCII identifiers +<li> Bug 706520 - Fortran: in body documentation lands on wrong place In some cases, in propriety code, with in body Fortran documentation doxygen crashed. I REOPENED Bug_706520 for this +<li> Bug 706804 - Fortran: Doxygen mixes up function-attributes with the return type test string should not be equal to "function" but should contain "function" +<li> Bug 706813 - RPM build via spec file fails +<li> Bug 706874 - Doxygen crash if missing new-line in a snippet +<li> Bug 706916 - C++ exception specifications are no longer parsed correctly +<li> Bug 707102 - update the Japanese translation +<li> Bug 707353 - Accept IDs using unicode(non ASCII) characters in python codes +<li> Bug 707389 - GENERATE_TREEVIEW=YES disables touch scrolling with Android 3.x +<li> Bug 707431 - Cannot @ref or @link C++ operator overloads +<li> Bug 707483 - Wrong page number and header in pdf output +<li> Bug 707554 - When I use @INCLUDE DoxyWizard is closed Current directory was not changed at the right time so the include files could not be found in the "current" directory (i.e. the directory where the Doxyfile resides too, as this directory is shown as the current directory in the doxywizard). This is also important when the doxywizard is started from a shortcut. +<li> Bug 707567 - Asterisks in comment wrongly displayed for @code +<li> Bug 707641 - `FILTER_SOURCE_FILES=YES` required to build CALL_GRAPHS https://bugzilla.gnome.org/show_bug.cgi?id=707641 +<li> Bug 707685 - Fortran: error message when missing last EOL In case the original buffer in either fixed or free format code does not contain an EOL as last character, add it. +<li> Bug 707713 - Add support for dia diagrams +<li> Bug 707825 - Const treatment +<li> Bug 707925 - False warning for Java "warning: missing ( in exception list on member" +<li> Bug 707985 - Strange output when : appended to an parameter description +<li> Bug 707995 - @copydoc not working for const member overloads +<li> Bug 708446 - Deprecated list breaks HTML tree with xhtml extension +<li> Bug 708455 - Enabling INLINE_SIMPLE_STRUCTS messes up Data Structures in tree +<li> Bug 708806 - Wrong path to graph_legend figure in graph_legend.html when CREATE_SUBDIRS = YES +<li> Bug 709052 - Templated and non-templated method mixup documentation +<li> Bug 709226 - Struct member fields not documented with INLINE_SIMPLE_STRUCTS +<li> Bug 709526 - C++ parsing problem with operators <<, <, >, >> inside templates +<li> Bug 709706 - Terminating C comments within markdown files breaks aliases +<li> Bug 709780 - Copying of files via \image tag can get confused by symlinks at the destination +<li> Bug 709803 - Generated hhc file contains an error for a section of a mainpage +<li> Bug 709845 - Fortran: problem with types with name starting with is +<li> Bug 709870 - Broken links on members HTML page when using BUILTIN_STL_SUPPORT +<li> Bug 709921 - position of linebreak in template argument list affects inheritance relation +<li> Bug 710917 - Segfault while parsing a C file +<li> Bug 710998 - latex_count=5 is not enough +<li> Bug 711004 - Vertical bars cannot be sent straight to makeindex +<li> Bug 711097 - Compiler warnings because char is unsigned on ARM/PPC: "comparison is always false" +<li> Bug 711378 - Nested Aliases fail when the nested alias has two or more arguments. +<li> Bug 711639 - [PATCH] #include does not work with absolute paths +<li> Bug 711723 - Comment /**/ confuses doxygen +<li> Bug 711787 - Long initialization line in C stops doxygen An extra "breakpoint" in the input string has been created in the form of a , (comma), so for initialization lines the line will be shorter and the , (comma) will be copied later on. +<li> Bug 712795 - segmentation fault in memberdef.cpp +<li> Bug 712819 - Some external namespaces appear in list despite having ALLEXTERNALS = NO +<li> Bug 715172 - Consistently document Fortran's equivalent function bodies +<li> Bug 719389 - HTML escaping incorrectly applied in source tooltips +<li> Bug 719422 - private java class is mentioned in inherited by list of super class +<li> Bug 719463 - Invalid null key and segmentation fault +<li> Bug 719489 - Label "abstract" instead of "pure virtual" for Java language +<li> Bug 719525 - Can't build because the definitions of ***YY_flex_debug are missing. +<li> Bug 719591 - expand_as_defined macro does not properly work +<li> Bug 719639 - @xrefitem with empty heading string +<li> Bug 720046 - Document inline objective-C blocks +<li> Bug 720092 - USE_MDFILE_AS_MAINPAGE doesn't work if full path is specified. +<li> Bug 720580 - inline source browser shows wrong code with muilti-line c++11's raw strings +<li> Add support for honoring svg image format preference in msc +<li> Added @parblock and @endparblock commands +<li> Added compile support for Mavericks +<li> Added fix to avoid errors with older compilers. +<li> Added generated files to gitignore +<li> Added missing docs tag +<li> Added missing pthread lib to doxyapp +<li> Added missing space after @parblock +<li> Added rudimentary support for Django like template system for output creation. +<li> Added the possibility to specify the -d option in the Visual studio GUI on windows for the lex rules +<li> Adjust internationalization part to current situation +<li> Alignment of @code and @verbatim section When having a code and a verbatim section the boxes are not alligned, this patch fixes this. Example code, aa.c; standard Doxyfile: /** \file +<li> Allow @ref to unlabeled markdown page by name, i.e. @ref mypage.md +<li> Allow links to other markdown pages of the form [link text](page.md) +<li> Avoid accessing uninitialized memory in fileToString +<li> Build problem with unistd.h and Cygwin The standard g++ compiler under windows (win32-g++) has unistd.gh file; Microsoft windows does not have it, therfore it is better to use the winbuild directory in case of windows adn no dependency otherwise +<li> Consistency in language part of the documentation Made documentation more inline with other parts of the documentation (regarding the way e.g. filenames are presented) Corrected some spelling errors Corrected the warning in the language.doc by placing ta reference to the files from which language.doc is generated Corrected the color for the languages that are still v1.4.6 (language name now also red in stead of a pink background, was confusing with languages that were 1.5 / 1.6 compatible) +<li> Corrected some inconsistencies in the comments +<li> Debug output for lexical analyzer +<li> Deleted generated files from source repository +<li> Doxygen didn't allow @ref to parameters of type reference to an array. +<li> Doxysearch under Cygwin should not have extension cgi.exe but just .cgi +<li> Esperanto not supported by htmlhelp compiler reverting for esperanto to default language (US English) +<li> Fixed a number of compiler warnings reported by newer clang compiler +<li> Fixed compilation issues in doxyapp +<li> Fixed compile warning +<li> Fixed compiler warning related to implicit size_t to int conversion +<li> Fixed constness warning +<li> Fixed invalid if statement found by cppcheck +<li> Fixed issue with Romanian translator preventing treeview from working +<li> Fixed regression autolinking C# template such as MyGenericClass<T>.g() +<li> Fixed regression in argument matching for the template example +<li> Fortran added keyword IMPURE +<li> French translator up-to-date. +<li> Internal documentation for debug possibilities Documentation regarding usage of -d option with [f]lex Initial documentation regarding the -d options with doxygen +<li> LaTeX: Fix ToC entries of index/bibliography +<li> Made lexer rule explicit +<li> Make Python detection in configure work with version older than 2.7 +<li> Minor layout tweaks and extra guard +<li> More fixes for the Windows build +<li> Patch regarding generating the rules file for the windows build regarding languages, some inconsistencies in the (windows) build system, corrections to some spelling. +<li> Regenerated language.doc +<li> Removed japanese characters in maintainers.txt as they break the build +<li> Removed redundant backslashes in regexp pattern +<li> Report details about fork() failure in logs. +<li> Russian translator updated, new Russian maintainer added. +<li> Small spelling correction to generate an rtf extensions file -> to generate a rtf extensions file +<li> Some texts can be independent of \htmlonly / \latexonly +<li> Space missing in error message. the word 'in' and the vale of filesOption were concatenated +<li> This patch contains changes regarding the build system so that the *nix and Windows systems use the same information (consistency). Some use names routine names have been changed (from .l files with -P option) to reflect the file name that generated the routines, this makes it easier to create a general procedure. A number of include / header files are files are generated from different file types (html, xml, js), due some limitations of the windows build system the generated file names had to be changed (the extension in the windows build system is only available including the '.' so e.g. the file jquery_fx.js generates now jquery_fx.js.h instead of jquery_fx_js.h) In the windows version the creation of .cpp files from .l files has been adjusted to correct for the YY_BUF_SIZE problems. Furthermore on windows (and also used on *nix) some commends have been replaced with python scripts so that on windows only python is need (besides flex and and bison). On *nix also perl is required for the generation using tmake. +<li> Updated Visual Studio project files to include new source files +<li> Usage of the -d opion corrected Giving an error when a wrong -d option is given. Made some error mesages more consistent. Corrected usage of the exit call, in case of an error: exit(1) otherwise exit(0). A closer look should be made on exitDoxygen as it does not contain any exit statements and it is unclear (to me) when it is used. +<li> VHDL-2008 and arrays on unconstrained elements +<li> consider currentFile when searching for global symbols +<li> doc/language.doc generated from the updated sources (bgcolored) +<li> doc/language.tpl -- UTF-8 reflected in the langhowto template +<li> doc/language.tpl -- trailing spaces removed +<li> doc/translator.py -- coloured status in HTML +<li> doxygen /** style creates spurious code blocks with markdown enabled +<li> doxygen version 1.8.5 throws many "Internal Inconsistency" errors when parsing .idl files +<li> doxygen.sty.h was not ignored and not included/generated properly +<li> testing dir was missing from 'make archive' +<li> usage: make -d print dev doxygen options +</ul> +\endhtmlonly + \subsection log_1_8_5 Release 1.8.5 \htmlonly <b>(release date 23-08-2013)</b> @@ -19,7 +152,7 @@ <ul> <li>Added SOURCE_TOOLTIPS option for advanced tooltip support while source browsing. </ul> -<h3>Bug fixes (ids refer to the <a href="http://bugzilla.gnome.org/buglist.cgi?product=doxygen&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=NEEDINFO&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=substring&long_desc=&long_desc_type=substring&bug_file_loc=&bug_file_loc_type=substring&status_whiteboard=&status_whiteboard_type=substring&keywords=&keywords_type=anywords&op_sys_details=&op_sys_details_type=substring&version_details=&version_details_type=substring&newqueryname=&form_name=query&order=bugs.bug_id">bugzilla</a> database)</h3> +<h3>Bug fixes</h3> <ul> <li> Bug 668007 - HTML commands - documentation of </dd> tag missing <li> Bug 676879 - parameter on doxywizard manual Added sentenc in respect to possible argument for doxywizard Added images to the LaTex / pdf version of the manual diff --git a/doc/commands.doc b/doc/commands.doc index 7054c11..d13c68b 100644 --- a/doc/commands.doc +++ b/doc/commands.doc @@ -65,6 +65,7 @@ documentation: \refitem cmddefgroup \\defgroup \refitem cmddeprecated \\deprecated \refitem cmddetails \\details +\refitem cmddiafile \\diafile \refitem cmddir \\dir \refitem cmddocbookonly \\docbookonly \refitem cmddontinclude \\dontinclude @@ -85,6 +86,7 @@ documentation: \refitem cmdendlink \\endlink \refitem cmdendmanonly \\endmanonly \refitem cmdendmsc \\endmsc +\refitem cmdendparblock \\endparblock \refitem cmdendrtfonly \\endrtfonly \refitem cmdendsecreflist \\endsecreflist \refitem cmdendverbatim \\endverbatim @@ -136,6 +138,7 @@ documentation: \refitem cmdpar \\par \refitem cmdparagraph \\paragraph \refitem cmdparam \\param +\refitem cmdparblock \\parblock \refitem cmdpost \\post \refitem cmdpre \\pre \refitem cmdprivate \\private @@ -227,7 +230,7 @@ Structural indicators any of the commands. The title is optional, so this command can also be used to add a number of - entities to an existing group using \@{ and \@} like this: + entities to an existing group using \c \@{ and \c \@} like this: \verbatim /*! \addtogroup mygrp @@ -1473,6 +1476,35 @@ void setPosition(double x,double y,double z,double t) \endverbatim <hr> +\section cmdparblock \\parblock + \addindex \\parblock + For commands that expect a single paragraph as argument + (such as \ref cmdpar "\\par", \ref cmdparam "\\param" and \ref cmdwarning "\\warning"), + the \ref cmdparblock "\\parblock" command allows to start a + description that covers multiple paragraphs, which then ends with + \ref cmdendparblock "\\endparblock". + + Example: +\verbatim +/** Example of a param command with a description consisting of two paragraphs + * \param p + * \parblock + * First paragraph of the param description. + * + * Second paragraph of the param description. + * \endparblock + * Rest of the comment block continues. + */ +\endverbatim + Note that the \\parblock command may also appear directly after + \\param's first argument. + +<hr> +\section cmdendparblock \\endparblock + \addindex \\endparblock + This ends a block of paragraphs started with \\ref cmdparblock "\\parblock". + +<hr> \section cmdtparam \\tparam <template-parameter-name> { description } \addindex \\tparam @@ -1708,6 +1740,26 @@ void setPosition(double x,double y,double z,double t) Note the use of escaped quotes for the second and third argument of the \c \\xrefitem command. + In case parameter "(heading)" is the empty string no heading is generated. This can be useful + when used in combination with the \ref cmdpage "\\page" command e.g. +\verbatim +/** @page my_errors My Errors + * @brief Errors page + * + * Errors page contents. + */ + +/** \error ERROR 101: in case a file can not be opened. + Check about file system read/write access. */ +#define MY_ERR_CANNOT_OPEN_FILE 101 + +/** \error ERROR 102: in case a file can not be closed. + Check about file system read/write access. */ +#define MY_ERR_CANNOT_CLOSE_FILE 102 +\endverbatim + with \c \\error defined as + \verbatim ALIASES += "error=\xrefitem my_errors \"\" \"\"" \endverbatim + <hr> \htmlonly <center> \endhtmlonly @@ -2487,6 +2539,24 @@ class Receiver \sa section \ref cmdmsc "\\msc". <hr> +\section cmddiafile \\diafile <file> ["caption"] + + \addindex \\diafile + Inserts an image made in dia from \<file\> into the documentation. + + The first argument specifies the file name of the image. + doxygen will look for files in the paths (or files) that you specified + after the \ref cfg_diafile_dirs "DIAFILE_DIRS" tag. + If the dia file is found it will be used as an input file dia. + The resulting image will be put into the correct output directory. + If the dia file name contains spaces you'll have to put quotes ("...") around it. + + The second argument is optional and can be used to specify the caption + that is displayed below the image. This argument has to be specified + between quotes even if it does not contain any spaces. The quotes are + stripped before the caption is displayed. + +<hr> \section cmde \\e <word> \addindex \\e diff --git a/doc/config.doc b/doc/config.doc index 99c4e83..9b27733 100644 --- a/doc/config.doc +++ b/doc/config.doc @@ -88,6 +88,8 @@ followed by the descriptions of the tags grouped by category. \refitem cfg_compact_rtf COMPACT_RTF \refitem cfg_cpp_cli_support CPP_CLI_SUPPORT \refitem cfg_create_subdirs CREATE_SUBDIRS +\refitem cfg_diafile_dirs DIAFILE_DIRS +\refitem cfg_dia_path DIA_PATH \refitem cfg_directory_graph DIRECTORY_GRAPH \refitem cfg_disable_index DISABLE_INDEX \refitem cfg_distribute_group_doc DISTRIBUTE_GROUP_DOC @@ -276,6 +278,7 @@ followed by the descriptions of the tags grouped by category. \refitem cfg_server_based_search SERVER_BASED_SEARCH \refitem cfg_short_names SHORT_NAMES \refitem cfg_show_files SHOW_FILES +\refitem cfg_show_grouped_memb_inc SHOW_GROUPED_MEMB_INC \refitem cfg_show_include_files SHOW_INCLUDE_FILES \refitem cfg_show_namespaces SHOW_NAMESPACES \refitem cfg_show_used_files SHOW_USED_FILES @@ -395,6 +398,7 @@ The default value is: <code>NO</code>. Possible values are: <code>Afrikaans</code>, <code>Arabic</code>, +<code>Armenian</code>, <code>Brazilian</code>, <code>Catalan</code>, <code>Chinese</code>, @@ -403,28 +407,31 @@ Possible values are: <code>Czech</code>, <code>Danish</code>, <code>Dutch</code>, -<code>English</code>, +<code>English</code> (United States), <code>Esperanto</code>, -<code>Farsi</code>, +<code>Farsi</code> (Persian), <code>Finnish</code>, <code>French</code>, <code>German</code>, <code>Greek</code>, <code>Hungarian</code>, +<code>Indonesian</code>, <code>Italian</code>, <code>Japanese</code>, -<code>Japanese-en</code>, +<code>Japanese-en</code> (Japanese with English messages), <code>Korean</code>, -<code>Korean-en</code>, +<code>Korean-en</code> (Korean with English messages), <code>Latvian</code>, -<code>Norwegian</code>, +<code>Lithuanian</code>, <code>Macedonian</code>, -<code>Persian</code>, +<code>Norwegian</code>, +<code>Persian</code> (Farsi), <code>Polish</code>, <code>Portuguese</code>, <code>Romanian</code>, <code>Russian</code>, <code>Serbian</code>, +<code>Serbian-Cyrillic</code>, <code>Slovak</code>, <code>Slovene</code>, <code>Spanish</code>, @@ -1020,6 +1027,16 @@ The default value is: <code>NO</code>. The default value is: <code>YES</code>. + \anchor cfg_show_grouped_memb_inc +<dt>\c SHOW_GROUPED_MEMB_INC <dd> + \addindex SHOW_GROUPED_MEMB_INC + If the SHOW_GROUPED_MEMB_INC tag is set to \c YES then Doxygen + will add for each grouped member an include statement to the documentation, + telling the reader which file to include in order to use the member. + + +The default value is: <code>NO</code>. + \anchor cfg_force_local_includes <dt>\c FORCE_LOCAL_INCLUDES <dd> \addindex FORCE_LOCAL_INCLUDES @@ -1056,7 +1073,8 @@ The default value is: <code>YES</code>. If the \c SORT_BRIEF_DOCS tag is set to \c YES then doxygen will sort the brief descriptions of file, namespace and class members alphabetically by member name. If set to \c NO the members will appear in - declaration order. + declaration order. Note that this will also influence the order of the + classes in the class list. The default value is: <code>NO</code>. @@ -3305,6 +3323,14 @@ The default value is: <code>YES</code>. specify the directory where the \c mscgen tool resides. If left empty the tool is assumed to be found in the default search path. + \anchor cfg_dia_path +<dt>\c DIA_PATH <dd> + \addindex DIA_PATH +You can include diagrams made with dia in doxygen documentation. Doxygen will then run +dia to produce the diagram and insert it in the documentation. The DIA_PATH tag allows +you to specify the directory where the dia binary resides. If left empty dia is assumed +to be found in the default search path. + \anchor cfg_hide_undoc_relations <dt>\c HIDE_UNDOC_RELATIONS <dd> \addindex HIDE_UNDOC_RELATIONS @@ -3591,6 +3617,13 @@ This tag requires that the tag \ref cfg_have_dot "HAVE_DOT" is set to \c YES. contain msc files that are included in the documentation (see the \ref cmdmscfile "\\mscfile" command). + \anchor cfg_diafile_dirs +<dt>\c DIAFILE_DIRS <dd> + \addindex DIAFILE_DIRS + The \c DIAFILE_DIRS tag can be used to specify one or more directories that + contain dia files that are included in the documentation (see the + \ref cmdmscfile "\\diafile" command). + \anchor cfg_dot_graph_max_nodes <dt>\c DOT_GRAPH_MAX_NODES <dd> \addindex DOT_GRAPH_MAX_NODES diff --git a/doc/doxygen_manual.tex b/doc/doxygen_manual.tex index 51c2e47..f62f017 100644 --- a/doc/doxygen_manual.tex +++ b/doc/doxygen_manual.tex @@ -73,12 +73,13 @@ Written by Dimitri van Heesch\\[2ex] \copyright 1997-\thisyear \end{center} \end{titlepage} +\pagenumbering{Roman} \clearemptydoublepage \tableofcontents \clearemptydoublepage \pagenumbering{arabic} -\include{index} \part{User Manual} +\chapter{Introduction}\label{intro}\hypertarget{intro}{}\input{index} \chapter{Installation}\label{install}\hypertarget{install}{}\input{install} \chapter{Getting Started}\label{starting}\hypertarget{starting}{}\input{starting} \chapter{Documenting the code}\label{docblocks}\hypertarget{docblocks}{}\input{docblocks} diff --git a/doc/index.doc b/doc/index.doc index 55dceff..298d413 100644 --- a/doc/index.doc +++ b/doc/index.doc @@ -137,22 +137,12 @@ input used in their production; they are not affected by this license. Doxygen supports a number of \ref output "output formats" where HTML is the most popular one. I've gathered -\htmlonly <a href="http://www.doxygen.org/results.html">some nice examples</a> -\endhtmlonly -\latexonly -some nice examples (see {\tt http://www.doxygen.org/results.html}) -\endlatexonly of real-life projects using doxygen. These are part of a larger -\htmlonly <a href="http://www.doxygen.org/projects.html">list of projects</a> that use doxygen. -\endhtmlonly -\latexonly -list of projects that use doxygen (see {\tt http://www.doxygen.org/projects.html}). -\endlatexonly If you know other projects, let <a href="mailto:dimitri@stack.nl?subject=New%20project%20using%20Doxygen">me</a> know and I'll add them. diff --git a/doc/install.doc b/doc/install.doc index a4fe2f7..94f1099 100644 --- a/doc/install.doc +++ b/doc/install.doc @@ -269,10 +269,12 @@ compile doxygen. Alternatively, you can compile doxygen <a href="http://en.wikipedia.org/wiki/Cygwin">Cygwin</a> or <a href="http://www.mingw.org/">MinGW</a>. -The next step is to install \c bison, \c flex, and \c tar -(see http://gnuwin32.sourceforge.net/packages.html). -This packages are needed during the -compilation process if you use a CVS snapshot of doxygen (the official source releases +The next step is to install modern versions of \c bison and \c flex +(see http://sourceforge.net/projects/winflexbison. After installation and adding them to +your `path` rename `win_flex.exe` to `flex.exe` and `win_bison.exe` to `bison.exe`) +Furthermore you have to install \c python (version 2, see http://www.python.org). +These packages are needed during the +compilation process if you use a GitHub snapshot of doxygen (the official source releases come with pre-generated sources). Download doxygen's source tarball and put it somewhere (e.g. use <code>c:\\tools</code>) @@ -282,7 +284,9 @@ Now start a new command shell and type cd c:\tools tar zxvf doxygen-x.y.z.src.tar.gz \endverbatim -to unpack the sources. +to unpack the sources (you can obtain \c tar from e.g. http://gnuwin32.sourceforge.net/packages.html). +Alternatively you can use an unpack program, like 7-Zip (see http://www.7-zip.org) +or use the build in unpack feature of modern Windows systems). Now your environment is setup to build \c doxygen. diff --git a/doc/language.doc b/doc/language.doc index 570bf4c..f923be3 100644 --- a/doc/language.doc +++ b/doc/language.doc @@ -1,15 +1,16 @@ /****************************************************************************** - * Do not edit this file. It was generated by the translator.py script. + * Do not edit this file. It was generated by the translator.py script. + * Instead edit language.tpl and maintainers.txt * * Copyright (C) 1997-2013 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its - * documentation under the terms of the GNU General Public License is hereby - * granted. No representations are made about the suitability of this software + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * - * Documents produced by Doxygen are derivative works derived from the + * Documents produced by doxygen are derivative works derived from the * input used in their production; they are not affected by this license. * */ @@ -20,16 +21,17 @@ Doxygen has built-in support for multiple languages. This means that the text fragments, generated by doxygen, can be produced in languages other than English (the default). The output language is chosen through the +configuration option \ref cfg_output_language "OUTPUT_LANGUAGE" in the configuration file (with default name and known as Doxyfile). -Currently (version 1.8.4), 40 languages +Currently (version 1.8.5), 40 languages are supported (sorted alphabetically): Afrikaans, Arabic, Armenian, Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto, Finnish, French, German, Greek, Hungarian, Indonesian, Italian, Japanese (+En), Korean (+En), Latvian, Lithuanian, Macedonian, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, -Serbian, SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, +Serbian, SerbianCyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian, and Vietnamese.. The table of information related to the supported languages follows. @@ -52,256 +54,256 @@ when the translator was updated. <!-- table content begin --> <tr bgcolor="#ffffff"> - <td>Afrikaans</td> + <td bgcolor="#ffffff">Afrikaans</td> <td>Johan Prinsloo</td> <td>johan at zippysnoek dot com</td> - <td>1.6.0</td> + <td bgcolor="#ffcccc">1.6.0</td> </tr> <tr bgcolor="#ffffff"> - <td>Arabic</td> + <td bgcolor="#ff5555">Arabic</td> <td>Moaz Reyad<br/>Muhammad Bashir Al-Noimi</td> <td><span style="color: brown">[resigned]</span><br/>mbnoimi at gmail dot com</td> - <td>1.4.6</td> + <td bgcolor="#ff5555">1.4.6</td> </tr> <tr bgcolor="#ffffff"> - <td>Armenian</td> + <td bgcolor="#ffffff">Armenian</td> <td>Armen Tangamyan</td> <td>armen dot tangamyan at anu dot edu dot au</td> - <td>1.8.0</td> + <td bgcolor="#ffffcc">1.8.0</td> </tr> <tr bgcolor="#ffffff"> - <td>Brazilian Portuguese</td> + <td bgcolor="#ffffff">Brazilian Portuguese</td> <td>Fabio "FJTC" Jun Takada Chino</td> <td>jun-chino at uol dot com dot br</td> - <td>1.8.0</td> + <td bgcolor="#ffffcc">1.8.0</td> </tr> <tr bgcolor="#ffffff"> - <td>Catalan</td> + <td bgcolor="#ffffff">Catalan</td> <td>Maximiliano Pin<br/>Albert Mora</td> <td>max dot pin at bitroit dot com<br/><span style="color: brown">[unreachable]</span></td> - <td>1.8.0</td> + <td bgcolor="#ffffcc">1.8.0</td> </tr> <tr bgcolor="#ffffff"> - <td>Chinese</td> + <td bgcolor="#ffffff">Chinese</td> <td>Lian Yang<br/>Li Daobing<br/>Wei Liu</td> <td>lian dot yang dot cn at gmail dot com<br/>lidaobing at gmail dot com<br/>liuwei at asiainfo dot com</td> - <td>1.8.2</td> + <td bgcolor="#ffffcc">1.8.2</td> </tr> <tr bgcolor="#ffffff"> - <td>Chinese Traditional</td> + <td bgcolor="#ffffff">Chinese Traditional</td> <td>Daniel YC Lin<br/>Gary Lee</td> <td>dlin dot tw at gmail dot com<br/>garywlee at gmail dot com</td> - <td>up-to-date</td> + <td bgcolor="#ffffff">almost up-to-date</td> </tr> <tr bgcolor="#ffffff"> - <td>Croatian</td> + <td bgcolor="#ffffff">Croatian</td> <td>Boris Bralo</td> <td>boris dot bralo at gmail dot com</td> - <td>1.8.2</td> + <td bgcolor="#ffffcc">1.8.2</td> </tr> <tr bgcolor="#ffffff"> - <td>Czech</td> + <td bgcolor="#ffffff">Czech</td> <td>Petr Přikryl</td> <td>prikryl at atlas dot cz</td> - <td>up-to-date</td> + <td bgcolor="#ccffcc">up-to-date</td> </tr> <tr bgcolor="#ffffff"> - <td>Danish</td> + <td bgcolor="#ffffff">Danish</td> <td>Poul-Erik Hansen<br/>Erik Søe Sørensen</td> <td>pouhan at gnotometrics dot dk<br/>eriksoe+doxygen at daimi dot au dot dk</td> - <td>1.8.0</td> + <td bgcolor="#ffffcc">1.8.0</td> </tr> <tr bgcolor="#ffffff"> - <td>Dutch</td> + <td bgcolor="#ffffff">Dutch</td> <td>Dimitri van Heesch</td> <td>dimitri at stack dot nl</td> - <td>up-to-date</td> + <td bgcolor="#ccffcc">up-to-date</td> </tr> <tr bgcolor="#ffffff"> - <td>English</td> + <td bgcolor="#ffffff">English</td> <td>Dimitri van Heesch</td> <td>dimitri at stack dot nl</td> - <td>up-to-date</td> + <td bgcolor="#ccffcc">up-to-date</td> </tr> <tr bgcolor="#ffffff"> - <td>Esperanto</td> + <td bgcolor="#ffffff">Esperanto</td> <td>Ander Martínez</td> <td>ander dot basaundi at gmail dot com</td> - <td>1.8.4</td> + <td bgcolor="#ffffcc">1.8.4</td> </tr> <tr bgcolor="#ffffff"> - <td>Finnish</td> + <td bgcolor="#ffffff">Finnish</td> <td>Antti Laine</td> <td>antti dot a dot laine at tut dot fi</td> - <td>1.6.0</td> + <td bgcolor="#ffcccc">1.6.0</td> </tr> <tr bgcolor="#ffffff"> - <td>French</td> + <td bgcolor="#ffffff">French</td> <td>David Martinet<br/>Xavier Outhier<br/>Benoît BROSSE</td> <td>contact at e-concept-applications dot fr<br/>xouthier at yahoo dot fr<br/>Benoit dot BROSSE at ingenico dot com</td> - <td>up-to-date</td> + <td bgcolor="#ccffcc">up-to-date</td> </tr> <tr bgcolor="#ffffff"> - <td>German</td> + <td bgcolor="#ffffff">German</td> <td>Peter Grotrian<br/>Jens Seidel</td> <td>Peter dot Grotrian at pdv-FS dot de<br/>jensseidel at users dot sf dot net</td> - <td>1.8.4</td> + <td bgcolor="#ffffcc">1.8.4</td> </tr> <tr bgcolor="#ffffff"> - <td>Greek</td> + <td bgcolor="#ffffff">Greek</td> <td>Paul Gessos</td> <td>gessos dot paul at yahoo dot gr</td> - <td>1.8.4</td> + <td bgcolor="#ffffcc">1.8.4</td> </tr> <tr bgcolor="#ffffff"> - <td>Hungarian</td> + <td bgcolor="#ff5555">Hungarian</td> <td>Ákos Kiss<br/>Földvári György</td> <td>akiss at users dot sourceforge dot net<br/><span style="color: brown">[unreachable]</span></td> - <td>1.4.6</td> + <td bgcolor="#ff5555">1.4.6</td> </tr> <tr bgcolor="#ffffff"> - <td>Indonesian</td> + <td bgcolor="#ffffff">Indonesian</td> <td>Hendy Irawan</td> <td>ceefour at gauldong dot net</td> - <td>1.8.0</td> + <td bgcolor="#ffffcc">1.8.0</td> </tr> <tr bgcolor="#ffffff"> - <td>Italian</td> + <td bgcolor="#ffffff">Italian</td> <td>Alessandro Falappa<br/>Ahmed Aldo Faisal</td> <td>alessandro at falappa dot net<br/>aaf23 at cam dot ac dot uk</td> - <td>1.8.2</td> + <td bgcolor="#ffffcc">1.8.2</td> </tr> <tr bgcolor="#ffffff"> - <td>Japanese</td> - <td>Hiroki Iseri<br/>Ryunosuke Satoh<br/>Kenji Nagamatsu<br/>Iwasa Kazmi</td> - <td>goyoki at gmail dot com<br/>sun594 at hotmail dot com<br/>naga at joyful dot club dot ne dot jp<br/><span style="color: brown">[unreachable]</span></td> - <td>1.6.0</td> + <td bgcolor="#ffffff">Japanese</td> + <td>Suzumizaki-Kimikata<br/>Hiroki Iseri<br/>Ryunosuke Satoh<br/>Kenji Nagamatsu<br/>Iwasa Kazmi</td> + <td>szmml at h12u.com<br/>goyoki at gmail dot com<br/>sun594 at hotmail dot com<br/><span style="color: brown">[unreachable]</span><br/><span style="color: brown">[unreachable]</span></td> + <td bgcolor="#ccffcc">up-to-date</td> </tr> <tr bgcolor="#ffffff"> - <td>JapaneseEn</td> + <td bgcolor="#ffffff">JapaneseEn</td> <td>see the Japanese language</td> <td> </td> - <td>English based</td> + <td bgcolor="#ccffcc">English based</td> </tr> <tr bgcolor="#ffffff"> - <td>Korean</td> + <td bgcolor="#ffffff">Korean</td> <td>Kim Taedong<br/>SooYoung Jung<br/>Richard Kim</td> <td>fly1004 at gmail dot com<br/>jung5000 at gmail dot com<br/><span style="color: brown">[unreachable]</span></td> - <td>up-to-date</td> + <td bgcolor="#ccffcc">up-to-date</td> </tr> <tr bgcolor="#ffffff"> - <td>KoreanEn</td> + <td bgcolor="#ffffff">KoreanEn</td> <td>see the Korean language</td> <td> </td> - <td>English based</td> + <td bgcolor="#ccffcc">English based</td> </tr> <tr bgcolor="#ffffff"> - <td>Latvian</td> + <td bgcolor="#ffffff">Latvian</td> <td>Lauris</td> <td>lauris at nix.lv</td> - <td>up-to-date</td> + <td bgcolor="#ffffcc">1.8.4</td> </tr> <tr bgcolor="#ffffff"> - <td>Lithuanian</td> + <td bgcolor="#ff5555">Lithuanian</td> <td>Tomas Simonaitis<br/>Mindaugas Radzius<br/>Aidas Berukstis<br/><span style="color: red; background-color: yellow">-- searching for the maintainer --</span></td> <td><span style="color: brown">[unreachable]</span><br/><span style="color: brown">[unreachable]</span><br/><span style="color: brown">[unreachable]</span><br/><span style="color: brown">[Please, try to help to find someone.]</span></td> - <td>1.4.6</td> + <td bgcolor="#ff5555">1.4.6</td> </tr> <tr bgcolor="#ffffff"> - <td>Macedonian</td> + <td bgcolor="#ffffff">Macedonian</td> <td>Slave Jovanovski</td> <td>slavejovanovski at yahoo dot com</td> - <td>1.6.0</td> + <td bgcolor="#ffcccc">1.6.0</td> </tr> <tr bgcolor="#ffffff"> - <td>Norwegian</td> + <td bgcolor="#ff5555">Norwegian</td> <td>Lars Erik Jordet</td> <td>lejordet at gmail dot com</td> - <td>1.4.6</td> + <td bgcolor="#ff5555">1.4.6</td> </tr> <tr bgcolor="#ffffff"> - <td>Persian</td> + <td bgcolor="#ffffff">Persian</td> <td>Ali Nadalizadeh</td> <td>nadalizadeh at gmail dot com</td> - <td>1.7.5</td> + <td bgcolor="#ffcccc">1.7.5</td> </tr> <tr bgcolor="#ffffff"> - <td>Polish</td> + <td bgcolor="#ffffff">Polish</td> <td>Piotr Kaminski<br/>Grzegorz Kowal<br/>Krzysztof Kral</td> <td><span style="color: brown">[unreachable]</span><br/><span style="color: brown">[unreachable]</span><br/>krzysztof dot kral at gmail dot com</td> - <td>1.8.2</td> + <td bgcolor="#ffffcc">1.8.2</td> </tr> <tr bgcolor="#ffffff"> - <td>Portuguese</td> + <td bgcolor="#ffffff">Portuguese</td> <td>Rui Godinho Lopes<br/>Fabio "FJTC" Jun Takada Chino</td> <td><span style="color: brown">[resigned]</span><br/>jun-chino at uol dot com dot br</td> - <td>1.8.0</td> + <td bgcolor="#ffffcc">1.8.0</td> </tr> <tr bgcolor="#ffffff"> - <td>Romanian</td> + <td bgcolor="#ffffff">Romanian</td> <td>Ionut Dumitrascu<br/>Alexandru Iosup</td> <td>reddumy at yahoo dot com<br/>aiosup at yahoo dot com</td> - <td>up-to-date</td> + <td bgcolor="#ffffff">almost up-to-date</td> </tr> <tr bgcolor="#ffffff"> - <td>Russian</td> - <td>Alexandr Chelpanov</td> - <td>cav at cryptopro dot ru</td> - <td>1.7.5</td> + <td bgcolor="#ffffff">Russian</td> + <td>Brilliantov Kirill Vladimirovich<br/>Alexandr Chelpanov</td> + <td>brilliantov at byterg dot ru<br/>cav at cryptopro dot ru</td> + <td bgcolor="#ffffff">almost up-to-date</td> </tr> <tr bgcolor="#ffffff"> - <td>Serbian</td> + <td bgcolor="#ffffff">Serbian</td> <td>Dejan Milosavljevic</td> <td><span style="color: brown">[unreachable]</span></td> - <td>1.6.0</td> + <td bgcolor="#ffcccc">1.6.0</td> </tr> <tr bgcolor="#ffffff"> - <td>SerbianCyrilic</td> + <td bgcolor="#ffffff">SerbianCyrillic</td> <td>Nedeljko Stefanovic</td> <td>stenedjo at yahoo dot com</td> - <td>1.6.0</td> + <td bgcolor="#ffcccc">1.6.0</td> </tr> <tr bgcolor="#ffffff"> - <td>Slovak</td> + <td bgcolor="#ffffff">Slovak</td> <td>Kali+Laco Švec<br/>Petr Přikryl</td> <td><span style="color: brown">[the Slovak language advisors]</span><br/>prikryl at atlas dot cz</td> - <td>up-to-date</td> + <td bgcolor="#ccffcc">up-to-date</td> </tr> <tr bgcolor="#ffffff"> - <td>Slovene</td> + <td bgcolor="#ff5555">Slovene</td> <td>Matjaž Ostroveršnik</td> <td>matjaz dot ostroversnik at ostri dot org</td> - <td>1.4.6</td> + <td bgcolor="#ff5555">1.4.6</td> </tr> <tr bgcolor="#ffffff"> - <td>Spanish</td> + <td bgcolor="#ffffff">Spanish</td> <td>Bartomeu<br/>Francisco Oltra Thennet<br/>David Vaquero</td> <td>bartomeu at loteria3cornella dot com<br/><span style="color: brown">[unreachable]</span><br/>david at grupoikusnet dot com</td> - <td>up-to-date</td> + <td bgcolor="#ccffcc">up-to-date</td> </tr> <tr bgcolor="#ffffff"> - <td>Swedish</td> + <td bgcolor="#ffffff">Swedish</td> <td>Mikael Hallin</td> <td>mikaelhallin at yahoo dot se</td> - <td>1.6.0</td> + <td bgcolor="#ffcccc">1.6.0</td> </tr> <tr bgcolor="#ffffff"> - <td>Turkish</td> + <td bgcolor="#ffffff">Turkish</td> <td>Emin Ilker Cetinbas</td> <td>niw3 at yahoo dot com</td> - <td>1.7.5</td> + <td bgcolor="#ffcccc">1.7.5</td> </tr> <tr bgcolor="#ffffff"> - <td>Ukrainian</td> + <td bgcolor="#ffffff">Ukrainian</td> <td>Olexij Tkatchenko<br/>Petro Yermolenko</td> <td><span style="color: brown">[resigned]</span><br/>python at i dot ua</td> - <td>1.8.4</td> + <td bgcolor="#ffffcc">1.8.4</td> </tr> <tr bgcolor="#ffffff"> - <td>Vietnamese</td> + <td bgcolor="#ffffff">Vietnamese</td> <td>Dang Minh Tuan</td> <td>tuanvietkey at gmail dot com</td> - <td>1.6.0</td> + <td bgcolor="#ffcccc">1.6.0</td> </tr> <!-- table content end --> </table> @@ -335,7 +337,7 @@ when the translator was updated. ~ & Li Daobing & {\tt\tiny lidaobing at gmail dot com} & ~ \\ ~ & Wei Liu & {\tt\tiny liuwei at asiainfo dot com} & ~ \\ \hline - Chinese Traditional & Daniel YC Lin & {\tt\tiny dlin dot tw at gmail dot com} & up-to-date \\ + Chinese Traditional & Daniel YC Lin & {\tt\tiny dlin dot tw at gmail dot com} & almost up-to-date \\ ~ & Gary Lee & {\tt\tiny garywlee at gmail dot com} & ~ \\ \hline Croatian & Boris Bralo & {\tt\tiny boris dot bralo at gmail dot com} & 1.8.2 \\ @@ -370,9 +372,10 @@ when the translator was updated. Italian & Alessandro Falappa & {\tt\tiny alessandro at falappa dot net} & 1.8.2 \\ ~ & Ahmed Aldo Faisal & {\tt\tiny aaf23 at cam dot ac dot uk} & ~ \\ \hline - Japanese & Hiroki Iseri & {\tt\tiny goyoki at gmail dot com} & 1.6.0 \\ + Japanese & Suzumizaki-Kimikata & {\tt\tiny szmml at h12u.com} & up-to-date \\ + ~ & Hiroki Iseri & {\tt\tiny goyoki at gmail dot com} & ~ \\ ~ & Ryunosuke Satoh & {\tt\tiny sun594 at hotmail dot com} & ~ \\ - ~ & Kenji Nagamatsu & {\tt\tiny naga at joyful dot club dot ne dot jp} & ~ \\ + ~ & Kenji Nagamatsu & {\tt\tiny [unreachable] naga at joyful dot club dot ne dot jp} & ~ \\ ~ & Iwasa Kazmi & {\tt\tiny [unreachable] iwasa at cosmo-system dot jp} & ~ \\ \hline JapaneseEn & see the Japanese language & {\tt\tiny ~} & English based \\ @@ -383,7 +386,7 @@ when the translator was updated. \hline KoreanEn & see the Korean language & {\tt\tiny ~} & English based \\ \hline - Latvian & Lauris & {\tt\tiny lauris at nix.lv} & up-to-date \\ + Latvian & Lauris & {\tt\tiny lauris at nix.lv} & 1.8.4 \\ \hline Lithuanian & Tomas Simonaitis & {\tt\tiny [unreachable] haden at homelan dot lt} & 1.4.6 \\ ~ & Mindaugas Radzius & {\tt\tiny [unreachable] mindaugasradzius at takas dot lt} & ~ \\ @@ -403,14 +406,15 @@ when the translator was updated. Portuguese & Rui Godinho Lopes & {\tt\tiny [resigned] rgl at ruilopes dot com} & 1.8.0 \\ ~ & Fabio "FJTC" Jun Takada Chino & {\tt\tiny jun-chino at uol dot com dot br} & ~ \\ \hline - Romanian & Ionut Dumitrascu & {\tt\tiny reddumy at yahoo dot com} & up-to-date \\ + Romanian & Ionut Dumitrascu & {\tt\tiny reddumy at yahoo dot com} & almost up-to-date \\ ~ & Alexandru Iosup & {\tt\tiny aiosup at yahoo dot com} & ~ \\ \hline - Russian & Alexandr Chelpanov & {\tt\tiny cav at cryptopro dot ru} & 1.7.5 \\ + Russian & Brilliantov Kirill Vladimirovich & {\tt\tiny brilliantov at byterg dot ru} & almost up-to-date \\ + ~ & Alexandr Chelpanov & {\tt\tiny cav at cryptopro dot ru} & ~ \\ \hline Serbian & Dejan Milosavljevic & {\tt\tiny [unreachable] dmilos at email dot com} & 1.6.0 \\ \hline - SerbianCyrilic & Nedeljko Stefanovic & {\tt\tiny stenedjo at yahoo dot com} & 1.6.0 \\ + SerbianCyrillic & Nedeljko Stefanovic & {\tt\tiny stenedjo at yahoo dot com} & 1.6.0 \\ \hline Slovak & Kali+Laco Švec & {\tt\tiny [the Slovak language advisors]} & up-to-date \\ ~ & Petr Přikryl & {\tt\tiny prikryl at atlas dot cz} & ~ \\ @@ -436,91 +440,99 @@ when the translator was updated. Most people on the list have indicated that they were also busy -doing other things, so if you want to help to speed things up please +doing other things, so if you want to help to speed things up please let them (or me) know. -If you want to add support for a language that is not yet listed +If you want to add support for a language that is not yet listed please read the next section. <h3>Adding a new language to doxygen</h3> -This short HOWTO explains how to add support for the new language to Doxygen: +This short HOWTO explains how to add support for the new language to doxygen: -Just follow these steps: +Just follow the following steps: <ol> <li>Tell me for which language you want to add support. If no one else - is already working on support for that language, you will be - assigned as the maintainer for the language. -<li>Create a copy of translator_en.h and name it - translator_\<your_2_letter_country_code\>.h - I'll use xx in the rest of this document. -<li>Add definition of the symbol for your language in the configure -at two places in the script: - <ol> - <li>After the <code>f_langs=</code> is statement, in lower case. - <li>In the string that following <code>\@allowed=</code> in upper case. - </ol> -The rerun the configure script such that is generates src/lang_cfg.h. -This file should now contain a \#define for your language code. -<li>Edit language.cpp: - Add a + is already working on support for that language, you will be + assigned as the maintainer for the language. +<li>Create a copy of `doxygen/src/translator_en.h` and name it + `doxygen/src/translator_<your_2_letter_country_code>.h` + I'll use `xx` in the rest of this document (and `XX` for the uppercase version). +<li>Edit `doxygen/src/language.cpp`: + Add the following code: \verbatim -#ifdef LANG_xx +#ifdef LANG_XX #include<translator_xx.h> #endif \endverbatim - Remember to use the same symbol LANG_xx that you added to \c lang_cfg.h. - I.e., the \c xx should be capital letters that identify your language. - On the other hand, the \c xx inside your \c translator_xx.h should use - lower case. + Remember to use the same symbol `LANG_XX` that was added to `doxygen/src/lang_cfg.h`. <p>Now, in <code>setTranslator()</code> add \verbatim -#ifdef LANG_xx +#ifdef LANG_XX else if (L_EQUAL("your_language_name")) { theTranslator = new TranslatorYourLanguage; } -#endif +#endif \endverbatim after the <code>if { ... }</code>. I.e., it must be placed after the code - for creating the English translator at the beginning, and before the - <code>else { ... }</code> part that creates the translator for the + for creating the English translator at the beginning, and before the + <code>else { ... }</code> part that creates the translator for the default language (English again). -<li>Edit libdoxygen.pro.in and add \c translator_xx.h to - the \c HEADERS line. -<li>Edit <code>translator_xx.h</code>: +<li>Edit <code>doxygen/src/translator_xx.h</code>: <ul> - <li>Rename <code>TRANSLATOR_EN_H</code> to <code>TRANSLATOR_XX_H</code> - twice (i.e. in the \c \#ifndef and \c \#define preprocessor commands at + <li>Use the UTF-8 capable editor and open the file using the UTF-8 mode. + <li>Rename <code>TRANSLATOR_EN_H</code> to <code>TRANSLATOR_XX_H</code> + twice (i.e. in the \c \#ifndef and \c \#define preprocessor commands at the beginning of the file). - <li>Rename TranslatorEnglish to TranslatorYourLanguage - <li>In the member <code>idLanguage()</code> change "english" into the + <li>Rename \c TranslatorEnglish to \c TranslatorYourLanguage + <li>In the member <code>idLanguage()</code> change "english" into the name of your language (use lower case characters only). Depending - on the language you may also wish to change the member functions - latexLanguageSupportCommand(), idLanguageCharset() and others - (you will recognize them when you start the work). - <li>Edit all the strings that are returned by the member functions that - start with tr. + on the language you may also wish to change the member functions + `latexLanguageSupportCommand()` and other (you will recognize them when + you start the work). + <li>Edit all the strings that are returned by the member functions that + start with \c tr. Try to match punctuation and capitals! To enter special characters (with accents) you can: <ul> - <li> Enter them directly if your keyboard supports that and you are - using a Latin-1 font. Doxygen will translate the - characters to proper \f$\mbox{\LaTeX}\f$ and leave the - HTML and man output for what it is (which is fine, if - idLanguageCharset() is set correctly). - <li> Use html codes like \ä for an a with an umlaut (i.e. ä). + <li> Enter them directly if your keyboard supports that. Recall that + the text is expected to be saved using the UTF-8 encoding. Doxygen + will translate the characters to proper \f$\mbox{\LaTeX}\f$ and + leaves the HTML and man output in UTF-8. + <li> Use HTML codes like \c \ä for an \c a with an \c umlaut (i.e. \c ä). See the HTML specification for the codes. </ul> </ul> -<li>Run configure and make again from the root of the distribution, - in order to regenerated the Makefiles. -<li>Now you can use <code>OUTPUT_LANGUAGE = your_language_name</code> +<li> + <ul> + <li>On *nix systems:<br> + <ul> + <li>Rerun the `configure` script from the root (i.e. in the \c doxygen directory) so + that it generates `doxygen/src/lang_cfg.h`. + This file should now contain a \c \#define for your language code.<br> + <li>Run \c make again from the root (i.e. in the \c doxygen + directory) of the distribution, in order to regenerate the `Makefile`s. + </ul> + <li> On Windows:<br> + <ul> + <li>stop Visual Stdio<br> + <li>open a command window<br> + <li>goto the directory `doxygen\src`<br> + <li>give the command `python languages.py > ..\winbuild\Languages.rules`<br> + <li>close the command window<br> + <li>start Visual Studio again<br> + <li>Your language should now be selectable in the `General` part of the `Settings` of the `Properties` + window of `lang_cfg.py`, by default Your language will be `on`. Rebuild `doxygen` (and `doxywizard`) now. + </ul> + </ul> +<li>Now you can use <code>OUTPUT_LANGUAGE = your_language_name</code> in the config file to generate output in your language. <li>Send <code>translator_xx.h</code> to me so I can add it to doxygen. Send also your name and e-mail address to be included in the - \c maintainers.txt list. + \c maintainers.txt list. You can also clone the doxygen repository + at GitHub and make a Pull Request later. </ol> @@ -536,7 +548,7 @@ until all language maintainers have translated the new sentences and sent the results would not be very practical. The following text describes the usage of translator adapters to solve the problem. -<b>The role of Translator Adapters.</b> +<b>The role of Translator Adapters.</b> Whenever the \c Translator class interface changes in the new release, the new class \c TranslatorAdapter_x_y_z is added to the \c translator_adapter.h file (here x, y, and z are numbers that @@ -552,7 +564,7 @@ TranslatorAdapter_x_y_z class may use the obsolete method to get the result which is as close as possible to the older result in the target language. If it is not possible, the result (the default translation) is obtained using the English translator, which is (by -definition) always up-to-date. +definition) always up-to-date. <b>For example,</b> when the new \c trFile() method with parameters (to determine the capitalization of the first letter and @@ -582,7 +594,7 @@ of the translator adapter classes: The \c trFiles() is not present in the \c TranslatorEnglish class, because it was removed as obsolete. However, it was used until now -and its call was replaced by +and its call was replaced by \verbatim trFile(true, false) @@ -596,7 +608,7 @@ from the abstract \c Translator class. On the other hand, the old translator for a different language does not implement the new \c trFile() method. Because of that it is derived from another base class -- \c TranslatorAdapter_x_y_z. The \c TranslatorAdapter_x_y_z -class have to implement the new, required \c trFile() method. +class has to implement the new, required \c trFile() method. However, the translator adapter would not be compiled if the \c trFiles() method was not implemented. This is the reason for implementing the old method in the translator adapter class (using @@ -616,9 +628,9 @@ users. Here the maintainer of the language translator should implement at least that one particular method. <b>What says the base class of a language translator?</b> -If the language translator class inherits from any adapter class the -maintenance is needed. In such case, the language translator is not -considered up-to-date. On the other hand, if the language +If the language translator class inherits from any adapter class then +maintenance is needed. In such case, the language translator is +considered not up-to-date. On the other hand, if the language translator derives directly from the abstract class \c Translator, the language translator is up-to-date. @@ -637,7 +649,7 @@ TranslatorAdapterBase class that derives directly from the abstract \c Translator class. It adds only the private English-translator member for easy implementation of the default translation inside the adapter classes, and it also enforces implementation of one method -for noticing the user that the language translation is not up-to-date +for notifying the user that the language translation is not up-to-date (because of that some sentences in the generated files may appear in English). @@ -648,16 +660,16 @@ translator adapter classes. <b>To simplify the maintenance of the language translator classes</b> for the supported languages, the \c translator.py Python -script was developed (located in \c doxygen/doc directory). +script was developed (located in \c doxygen/doc directory). It extracts the important information about obsolete and -new methods from the source files for each of the languages. +new methods from the source files for each of the languages. The information is stored in the translator report ASCII file -(\c translator_report.txt). +(\c translator_report.txt). \htmlonly If you compiled this documentation from sources and if you have also doxygen sources available the link <a href="../doc/translator_report.txt" -><code>doxygen/doc/translator_report.txt</code></a> should be valid.\endhtmlonly +><code>doxygen/doc/translator_report.txt</code></a> should be valid.\endhtmlonly Looking at the base class of the language translator, the script guesses also the status of the translator -- see the last column of @@ -668,7 +680,7 @@ Of course, you are not forced to use the results of the script. You can find the same information by looking at the adapter class and its base classes. -<b>How should I update my language translator?</b> Firstly, you +<b>How should I update my language translator?</b> First, you should be the language maintainer, or you should let him/her know about the changes. The following text was written for the language maintainers as the primary audience. @@ -680,7 +692,7 @@ expected, you can always decide use some suitable translator adapter to finish the changes later and still make your translator working. <b>The most radical way of updating the language translator</b> is -to make your translator class derive directly +to make your translator class derive directly from the abstract class \c Translator and provide translations for the methods that are required to be implemented -- the compiler will tell you if you forgot to implement some of them. If you are in @@ -693,14 +705,16 @@ because the adapter classes do implement also the obsolete methods In other words, the up-to-date language translators do not need the \c TranslatorAdapter_x_y_z classes at all, and you do not need to implement anything else than the methods required by the Translator -class (i.e. the pure virtual methods of the \c Translator -- they +class (i.e. the pure virtual methods of the \c Translator -- they end with <code>=0;</code>). If everything compiles fine, try to run \c translator.py, and have a look at the translator report (ASCII file) at the \c doxygen/doc -directory. Even if your translator is marked as up-to-date, there -still may be some remarks related to your source code. Namely, the -obsolete methods--that are not used at all--may be listed in the +directory. Your translator is marked as up-to-date only if the script +does not detect anything special. If the translator uses the \c Translator +base class, there still may be some remarks related to your source code. +In the case, the translator is marked as <em>almost up-to-date</em>. +Namely, the obsolete methods--that are not used at all--may be listed in the section for your language. Simply, remove their code (and run the \c translator.py again). Also, you will be informed when you forgot to change the base class of your translator class to some newer adapter @@ -720,7 +734,7 @@ comment that uses the same version numbers as your translator adapter class. (For example, your translator class have to use the \c TranslatorAdapter_1_2_4, if it does not implement the methods below the comment <code>new since 1.2.4</code>. When you implement them, -your class should use newer translator adapter. +your class should use a newer translator adapter. Run the \c translator.py script occasionally and give it your \c xx identification (from \c translator_xx.h) to create the translator @@ -728,8 +742,8 @@ report shorter (also produced faster) -- it will contain only the information related to your translator. Once you reach the state when the base class should be changed to some newer adapter, you will see the note in the translator report. - -Warning: Don't forget to compile Doxygen to discover, whether it is + +Warning: Don't forget to compile doxygen to discover, whether it is compilable. The \c translator.py does not check if everything is correct with respect to the compiler. Because of that, it may lie sometimes about the necessary base class. @@ -742,8 +756,8 @@ TranslatorEnglish class, which is by definition always up-to-date. When doing so, all the missing methods will be replaced by the English translation. This means that not-implemented methods will always return the English result. Such translators are marked using -word \c obsolete. You should read it <b>really obsolete</b>. No -guess about the last update can be done. +the word \c obsolete. You should read it <b>really obsolete</b>. No +guess about the last update can be done. Often, it is possible to construct better result from the obsolete methods. Because of that, the translator adapter classes should be diff --git a/doc/language.tpl b/doc/language.tpl index 80b81da..25c498f 100644 --- a/doc/language.tpl +++ b/doc/language.tpl @@ -3,17 +3,17 @@ ATTENTION! This is the template for generating language.doc. If you want to change the language.doc, make the changes here and inside maintainers.txt. /****************************************************************************** - * %(editnote)s + * %(editnote)s * * Copyright (C) 1997-2013 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its - * documentation under the terms of the GNU General Public License is hereby - * granted. No representations are made about the suitability of this software + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * - * Documents produced by Doxygen are derivative works derived from the + * Documents produced by doxygen are derivative works derived from the * input used in their production; they are not affected by this license. * */ @@ -24,9 +24,10 @@ change the language.doc, make the changes here and inside maintainers.txt. Doxygen has built-in support for multiple languages. This means that the text fragments, generated by doxygen, can be produced in languages other than English (the default). The output language is chosen through the +configuration option \ref cfg_output_language "OUTPUT_LANGUAGE" in the configuration file (with default name and known as Doxyfile). -Currently (version %(doxVersion)s), %(numLangStr)s languages +Currently (version %(doxVersion)s), %(numLangStr)s languages are supported (sorted alphabetically): %(supportedLangReadableStr)s. @@ -38,91 +39,99 @@ when the translator was updated. %(informationTable)s Most people on the list have indicated that they were also busy -doing other things, so if you want to help to speed things up please +doing other things, so if you want to help to speed things up please let them (or me) know. -If you want to add support for a language that is not yet listed +If you want to add support for a language that is not yet listed please read the next section. <h3>Adding a new language to doxygen</h3> -This short HOWTO explains how to add support for the new language to Doxygen: +This short HOWTO explains how to add support for the new language to doxygen: -Just follow these steps: +Just follow the following steps: <ol> <li>Tell me for which language you want to add support. If no one else - is already working on support for that language, you will be - assigned as the maintainer for the language. -<li>Create a copy of translator_en.h and name it - translator_\<your_2_letter_country_code\>.h - I'll use xx in the rest of this document. -<li>Add definition of the symbol for your language in the configure -at two places in the script: - <ol> - <li>After the <code>f_langs=</code> is statement, in lower case. - <li>In the string that following <code>\@allowed=</code> in upper case. - </ol> -The rerun the configure script such that is generates src/lang_cfg.h. -This file should now contain a \#define for your language code. -<li>Edit language.cpp: - Add a + is already working on support for that language, you will be + assigned as the maintainer for the language. +<li>Create a copy of `doxygen/src/translator_en.h` and name it + `doxygen/src/translator_<your_2_letter_country_code>.h` + I'll use `xx` in the rest of this document (and `XX` for the uppercase version). +<li>Edit `doxygen/src/language.cpp`: + Add the following code: \verbatim -#ifdef LANG_xx +#ifdef LANG_XX #include<translator_xx.h> #endif \endverbatim - Remember to use the same symbol LANG_xx that you added to \c lang_cfg.h. - I.e., the \c xx should be capital letters that identify your language. - On the other hand, the \c xx inside your \c translator_xx.h should use - lower case. + Remember to use the same symbol `LANG_XX` that was added to `doxygen/src/lang_cfg.h`. <p>Now, in <code>setTranslator()</code> add \verbatim -#ifdef LANG_xx +#ifdef LANG_XX else if (L_EQUAL("your_language_name")) { theTranslator = new TranslatorYourLanguage; } -#endif +#endif \endverbatim after the <code>if { ... }</code>. I.e., it must be placed after the code - for creating the English translator at the beginning, and before the - <code>else { ... }</code> part that creates the translator for the + for creating the English translator at the beginning, and before the + <code>else { ... }</code> part that creates the translator for the default language (English again). -<li>Edit libdoxygen.pro.in and add \c translator_xx.h to - the \c HEADERS line. -<li>Edit <code>translator_xx.h</code>: +<li>Edit <code>doxygen/src/translator_xx.h</code>: <ul> - <li>Rename <code>TRANSLATOR_EN_H</code> to <code>TRANSLATOR_XX_H</code> - twice (i.e. in the \c \#ifndef and \c \#define preprocessor commands at + <li>Use the UTF-8 capable editor and open the file using the UTF-8 mode. + <li>Rename <code>TRANSLATOR_EN_H</code> to <code>TRANSLATOR_XX_H</code> + twice (i.e. in the \c \#ifndef and \c \#define preprocessor commands at the beginning of the file). - <li>Rename TranslatorEnglish to TranslatorYourLanguage - <li>In the member <code>idLanguage()</code> change "english" into the + <li>Rename \c TranslatorEnglish to \c TranslatorYourLanguage + <li>In the member <code>idLanguage()</code> change "english" into the name of your language (use lower case characters only). Depending - on the language you may also wish to change the member functions - latexLanguageSupportCommand(), idLanguageCharset() and others - (you will recognize them when you start the work). - <li>Edit all the strings that are returned by the member functions that - start with tr. + on the language you may also wish to change the member functions + `latexLanguageSupportCommand()` and other (you will recognize them when + you start the work). + <li>Edit all the strings that are returned by the member functions that + start with \c tr. Try to match punctuation and capitals! To enter special characters (with accents) you can: <ul> - <li> Enter them directly if your keyboard supports that and you are - using a Latin-1 font. Doxygen will translate the - characters to proper \f$\mbox{\LaTeX}\f$ and leave the - HTML and man output for what it is (which is fine, if - idLanguageCharset() is set correctly). - <li> Use html codes like \ä for an a with an umlaut (i.e. ä). + <li> Enter them directly if your keyboard supports that. Recall that + the text is expected to be saved using the UTF-8 encoding. Doxygen + will translate the characters to proper \f$\mbox{\LaTeX}\f$ and + leaves the HTML and man output in UTF-8. + <li> Use HTML codes like \c \ä for an \c a with an \c umlaut (i.e. \c ä). See the HTML specification for the codes. </ul> </ul> -<li>Run configure and make again from the root of the distribution, - in order to regenerated the Makefiles. -<li>Now you can use <code>OUTPUT_LANGUAGE = your_language_name</code> +<li> + <ul> + <li>On *nix systems:<br> + <ul> + <li>Rerun the `configure` script from the root (i.e. in the \c doxygen directory) so + that it generates `doxygen/src/lang_cfg.h`. + This file should now contain a \c \#define for your language code.<br> + <li>Run \c make again from the root (i.e. in the \c doxygen + directory) of the distribution, in order to regenerate the `Makefile`s. + </ul> + <li> On Windows:<br> + <ul> + <li>stop Visual Stdio<br> + <li>open a command window<br> + <li>goto the directory `doxygen\src`<br> + <li>give the command `python languages.py > ..\winbuild\Languages.rules`<br> + <li>close the command window<br> + <li>start Visual Studio again<br> + <li>Your language should now be selectable in the `General` part of the `Settings` of the `Properties` + window of `lang_cfg.py`, by default Your language will be `on`. Rebuild `doxygen` (and `doxywizard`) now. + </ul> + </ul> +<li>Now you can use <code>OUTPUT_LANGUAGE = your_language_name</code> in the config file to generate output in your language. <li>Send <code>translator_xx.h</code> to me so I can add it to doxygen. Send also your name and e-mail address to be included in the - \c maintainers.txt list. + \c maintainers.txt list. You can also clone the doxygen repository + at GitHub and make a Pull Request later. </ol> @@ -138,7 +147,7 @@ until all language maintainers have translated the new sentences and sent the results would not be very practical. The following text describes the usage of translator adapters to solve the problem. -<b>The role of Translator Adapters.</b> +<b>The role of Translator Adapters.</b> Whenever the \c Translator class interface changes in the new release, the new class \c TranslatorAdapter_x_y_z is added to the \c translator_adapter.h file (here x, y, and z are numbers that @@ -154,7 +163,7 @@ TranslatorAdapter_x_y_z class may use the obsolete method to get the result which is as close as possible to the older result in the target language. If it is not possible, the result (the default translation) is obtained using the English translator, which is (by -definition) always up-to-date. +definition) always up-to-date. <b>For example,</b> when the new \c trFile() method with parameters (to determine the capitalization of the first letter and @@ -184,7 +193,7 @@ of the translator adapter classes: The \c trFiles() is not present in the \c TranslatorEnglish class, because it was removed as obsolete. However, it was used until now -and its call was replaced by +and its call was replaced by \verbatim trFile(true, false) @@ -198,7 +207,7 @@ from the abstract \c Translator class. On the other hand, the old translator for a different language does not implement the new \c trFile() method. Because of that it is derived from another base class -- \c TranslatorAdapter_x_y_z. The \c TranslatorAdapter_x_y_z -class have to implement the new, required \c trFile() method. +class has to implement the new, required \c trFile() method. However, the translator adapter would not be compiled if the \c trFiles() method was not implemented. This is the reason for implementing the old method in the translator adapter class (using @@ -218,9 +227,9 @@ users. Here the maintainer of the language translator should implement at least that one particular method. <b>What says the base class of a language translator?</b> -If the language translator class inherits from any adapter class the -maintenance is needed. In such case, the language translator is not -considered up-to-date. On the other hand, if the language +If the language translator class inherits from any adapter class then +maintenance is needed. In such case, the language translator is +considered not up-to-date. On the other hand, if the language translator derives directly from the abstract class \c Translator, the language translator is up-to-date. @@ -239,7 +248,7 @@ TranslatorAdapterBase class that derives directly from the abstract \c Translator class. It adds only the private English-translator member for easy implementation of the default translation inside the adapter classes, and it also enforces implementation of one method -for noticing the user that the language translation is not up-to-date +for notifying the user that the language translation is not up-to-date (because of that some sentences in the generated files may appear in English). @@ -250,15 +259,15 @@ translator adapter classes. <b>To simplify the maintenance of the language translator classes</b> for the supported languages, the \c translator.py Python -script was developed (located in \c doxygen/doc directory). +script was developed (located in \c doxygen/doc directory). It extracts the important information about obsolete and -new methods from the source files for each of the languages. +new methods from the source files for each of the languages. The information is stored in the translator report ASCII file -(\c %(translatorReportFileName)s). +(\c %(translatorReportFileName)s). \htmlonly If you compiled this documentation from sources and if you have also doxygen sources available the -link %(translatorReportLink)s should be valid.\endhtmlonly +link %(translatorReportLink)s should be valid.\endhtmlonly Looking at the base class of the language translator, the script guesses also the status of the translator -- see the last column of @@ -269,7 +278,7 @@ Of course, you are not forced to use the results of the script. You can find the same information by looking at the adapter class and its base classes. -<b>How should I update my language translator?</b> Firstly, you +<b>How should I update my language translator?</b> First, you should be the language maintainer, or you should let him/her know about the changes. The following text was written for the language maintainers as the primary audience. @@ -281,7 +290,7 @@ expected, you can always decide use some suitable translator adapter to finish the changes later and still make your translator working. <b>The most radical way of updating the language translator</b> is -to make your translator class derive directly +to make your translator class derive directly from the abstract class \c Translator and provide translations for the methods that are required to be implemented -- the compiler will tell you if you forgot to implement some of them. If you are in @@ -294,14 +303,16 @@ because the adapter classes do implement also the obsolete methods In other words, the up-to-date language translators do not need the \c TranslatorAdapter_x_y_z classes at all, and you do not need to implement anything else than the methods required by the Translator -class (i.e. the pure virtual methods of the \c Translator -- they +class (i.e. the pure virtual methods of the \c Translator -- they end with <code>=0;</code>). If everything compiles fine, try to run \c translator.py, and have a look at the translator report (ASCII file) at the \c doxygen/doc -directory. Even if your translator is marked as up-to-date, there -still may be some remarks related to your source code. Namely, the -obsolete methods--that are not used at all--may be listed in the +directory. Your translator is marked as up-to-date only if the script +does not detect anything special. If the translator uses the \c Translator +base class, there still may be some remarks related to your source code. +In the case, the translator is marked as <em>almost up-to-date</em>. +Namely, the obsolete methods--that are not used at all--may be listed in the section for your language. Simply, remove their code (and run the \c translator.py again). Also, you will be informed when you forgot to change the base class of your translator class to some newer adapter @@ -321,7 +332,7 @@ comment that uses the same version numbers as your translator adapter class. (For example, your translator class have to use the \c TranslatorAdapter_1_2_4, if it does not implement the methods below the comment <code>new since 1.2.4</code>. When you implement them, -your class should use newer translator adapter. +your class should use a newer translator adapter. Run the \c translator.py script occasionally and give it your \c xx identification (from \c translator_xx.h) to create the translator @@ -329,8 +340,8 @@ report shorter (also produced faster) -- it will contain only the information related to your translator. Once you reach the state when the base class should be changed to some newer adapter, you will see the note in the translator report. - -Warning: Don't forget to compile Doxygen to discover, whether it is + +Warning: Don't forget to compile doxygen to discover, whether it is compilable. The \c translator.py does not check if everything is correct with respect to the compiler. Because of that, it may lie sometimes about the necessary base class. @@ -343,8 +354,8 @@ TranslatorEnglish class, which is by definition always up-to-date. When doing so, all the missing methods will be replaced by the English translation. This means that not-implemented methods will always return the English result. Such translators are marked using -word \c obsolete. You should read it <b>really obsolete</b>. No -guess about the last update can be done. +the word \c obsolete. You should read it <b>really obsolete</b>. No +guess about the last update can be done. Often, it is possible to construct better result from the obsolete methods. Because of that, the translator adapter classes should be diff --git a/doc/maintainers.txt b/doc/maintainers.txt index e09218e..1c76647 100644 --- a/doc/maintainers.txt +++ b/doc/maintainers.txt @@ -85,9 +85,10 @@ Alessandro Falappa: alessandro at falappa dot net Ahmed Aldo Faisal: aaf23 at cam dot ac dot uk TranslatorJapanese +Suzumizaki-Kimikata: szmml at h12u.com Hiroki Iseri: goyoki at gmail dot com Ryunosuke Satoh: sun594 at hotmail dot com -Kenji Nagamatsu: naga at joyful dot club dot ne dot jp +Kenji Nagamatsu: [unreachable] naga at joyful dot club dot ne dot jp Iwasa Kazmi: [unreachable] iwasa at cosmo-system dot jp TranslatorKorean @@ -127,12 +128,13 @@ Ionut Dumitrascu: reddumy at yahoo dot com Alexandru Iosup: aiosup at yahoo dot com TranslatorRussian +Brilliantov Kirill Vladimirovich: brilliantov at byterg dot ru Alexandr Chelpanov: cav at cryptopro dot ru TranslatorSerbian Dejan Milosavljevic: [unreachable] dmilos at email dot com -TranslatorSerbianCyrilic +TranslatorSerbianCyrillic Nedeljko Stefanovic: stenedjo at yahoo dot com TranslatorSlovak diff --git a/doc/markdown.doc b/doc/markdown.doc index afd1add..90caebe 100644 --- a/doc/markdown.doc +++ b/doc/markdown.doc @@ -445,6 +445,12 @@ when processed by doxygen: Documentation that will appear on the main page +If a page has a label you can link to it using \ref cmdref "\@ref" as +is shown above. To refer to a markdown page without +such label you can simple use the file name of the page, e.g. + + See [the other page](other.md) for more info. + \subsection md_html_blocks Treatment of HTML blocks Markdown is quite strict in the way it processes block-level HTML: diff --git a/doc/translator.py b/doc/translator.py index 2abce71..2e2a200 100644 --- a/doc/translator.py +++ b/doc/translator.py @@ -62,6 +62,8 @@ was prefixed by backslash (was LaTeX related error). 2013/02/19 - Better diagnostics when translator_xx.h is too crippled. 2013/06/25 - TranslatorDecoder checks removed after removing the class. + 2013/09/04 - Coloured status in langhowto. *ALMOST up-to-date* category + of translators introduced. """ from __future__ import generators @@ -1123,7 +1125,7 @@ class Transl: if not self.missingMethods: self.note = 'Change the base class to Translator.' self.status = '' - self.readableStatus = 'up-to-date' + self.readableStatus = 'almost up-to-date' elif self.baseClassId != 'TranslatorEnglish': # The translator uses some of the adapters. # Look at the missing methods and check what adapter @@ -1161,7 +1163,7 @@ class Transl: if self.note != '': self.note += '\n\t\t' if self.txtMAX_DOT_GRAPH_HEIGHT_flag: - self.note += 'The MAX_DOT_GRAPH_HEIGHT found in trLegendDocs()' + self.note += 'The MAX_DOT_GRAPH_HEIGHT found in trLegendDocs()' # If everything seems OK, but there are obsolete methods, set # the note to clean-up source. This note will be used only when @@ -1169,6 +1171,11 @@ class Transl: if not self.note and self.status == '' and self.obsoleteMethods: self.note = 'Remove the obsolete methods (never used).' + # If there is at least some note but the status suggests it is + # otherwise up-to-date, mark is as ALMOST up-to-date. + if self.note and self.status == '': + self.readableStatus = 'almost up-to-date' + def report(self, fout): """Returns the report part for the source as a multiline string. @@ -1522,6 +1529,24 @@ class TrManager: return lst + def getBgcolorByReadableStatus(self, readableStatus): + if readableStatus == 'up-to-date': + color = '#ccffcc' # green + elif readableStatus.startswith('almost'): + color = '#ffffff' # white + elif readableStatus.startswith('English'): + color = '#ccffcc' # green + elif readableStatus.startswith('1.8'): + color = '#ffffcc' # yellow + elif readableStatus.startswith('1.7'): + color = '#ffcccc' # pink + elif readableStatus.startswith('1.6'): + color = '#ffcccc' # pink + else: + color = '#ff5555' # red + return color + + def generateTranslatorReport(self): """Generates the translator report.""" @@ -1558,13 +1583,12 @@ class TrManager: # in the translator report. fmail = open('mailto.txt', 'w') - # Write the list of up-to-date translator classes. + # Write the list of "up-to-date" translator classes. if self.upToDateIdLst: s = '''The following translator classes are up-to-date (sorted alphabetically). This means that they derive from the - Translator class and they implement all %d of the required - methods. Anyway, there still may be some details listed even - for them:''' + Translator class, they implement all %d of the required + methods, and even minor problems were not spotted by the script:''' s = s % len(self.requiredMethodsDic) f.write('-' * 70 + '\n') f.write(fill(s) + '\n\n') @@ -1572,19 +1596,35 @@ class TrManager: mailtoLst = [] for x in self.upToDateIdLst: obj = self.__translDic[x] - f.write(' ' + obj.classId) - if obj.note: - f.write(' -- ' + obj.note) - f.write('\n') - mailtoLst.extend(self.__emails(obj.classId)) + if obj.note is None: + f.write(' ' + obj.classId + '\n') + mailtoLst.extend(self.__emails(obj.classId)) fmail.write('up-to-date\n') fmail.write('; '.join(mailtoLst)) + + # Write separately the list of "ALMOST up-to-date" translator classes. + s = '''The following translator classes are ALMOST up-to-date (sorted + alphabetically). This means that they derive from the + Translator class, but there still may be some minor problems + listed for them:''' + f.write('\n' + ('-' * 70) + '\n') + f.write(fill(s) + '\n\n') + mailtoLst = [] + for x in self.upToDateIdLst: + obj = self.__translDic[x] + if obj.note is not None: + f.write(' ' + obj.classId + '\t-- ' + obj.note + '\n') + mailtoLst.extend(self.__emails(obj.classId)) + + fmail.write('\n\nalmost up-to-date\n') + fmail.write('; '.join(mailtoLst)) + # Write the list of the adapter based classes. The very obsolete # translators that derive from TranslatorEnglish are included. if self.adaptIdLst: - s = '''The following translator classes need some maintenance + s = '''The following translator classes need maintenance (the most obsolete at the end). The other info shows the estimation of Doxygen version when the class was last updated and number of methods that must be implemented to @@ -1789,7 +1829,7 @@ class TrManager: # document template. tplDic = {} - s = u'Do not edit this file. It was generated by the %s script.' % self.script_name + s = u'Do not edit this file. It was generated by the %s script.\n * Instead edit %s and %s' % (self.script_name, self.languageTplFileName, self.maintainersFileName) tplDic['editnote'] = s tplDic['doxVersion'] = self.doxVersion @@ -1828,14 +1868,22 @@ class TrManager: htmlTableTpl = dedent(htmlTableTpl) htmlTrTpl = u'\n <tr bgcolor="#ffffff">%s\n </tr>' htmlTdTpl = u'\n <td>%s</td>' + htmlTdStatusColorTpl = u'\n <td bgcolor="%s">%s</td>' # Loop through transl objects in the order of sorted readable names # and add generate the content of the HTML table. trlst = [] for name, obj in self.langLst: # Fill the table data elements for one row. The first element - # contains the readable name of the language. - lst = [ htmlTdTpl % obj.langReadable ] + # contains the readable name of the language. Only the oldest + # translator are colour marked in the language columnt. Less + # "heavy" color is used (when compared with the Status column). + if obj.readableStatus.startswith('1.4'): + bkcolor = self.getBgcolorByReadableStatus('1.4') + else: + bkcolor = '#ffffff' + + lst = [ htmlTdStatusColorTpl % (bkcolor, obj.langReadable) ] # The next two elements contain the list of maintainers # and the list of their mangled e-mails. For English-based @@ -1882,7 +1930,8 @@ class TrManager: lst.append(htmlTdTpl % ee) # The last element contains the readable form of the status. - lst.append(htmlTdTpl % obj.readableStatus) + bgcolor = self.getBgcolorByReadableStatus(obj.readableStatus) + lst.append(htmlTdStatusColorTpl % (bgcolor, obj.readableStatus)) # Join the table data to one table row. trlst.append(htmlTrTpl % (''.join(lst))) diff --git a/doc/trouble.doc b/doc/trouble.doc index 3a89922..c71e63d 100644 --- a/doc/trouble.doc +++ b/doc/trouble.doc @@ -22,6 +22,11 @@ read \ref unix_problems "this section" first. <li>Doxygen is <em>not</em> a real compiler, it is only a lexical scanner. This means that it can and will not detect errors in your source code. +<li>Doxygen has a build in preprocessor, but this works slightly different than + the C preprocessor. Doxygen assumes a header file is properly guarded against + multiple inclusion, and that each include file is standalone (i.e. it could be placed + at the top of a source file without causing compiler errors). As long as this is + true (and this is a good design practice) you should not encounter problems. <li>Since it is impossible to test all possible code fragments, it is very well possible, that some valid piece of C/C++ code is not handled properly. If you find such a piece, please send it to me, so I can |