X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/741085abe3acb3239562e9701da8e5438954ece3..7a36d9c7c1a077ba7e05c248bcf19c4c9bb1356f:/docs/tech/tn0003.txt diff --git a/docs/tech/tn0003.txt b/docs/tech/tn0003.txt index 569a3467a2..f81beb4074 100644 --- a/docs/tech/tn0003.txt +++ b/docs/tech/tn0003.txt @@ -10,7 +10,7 @@ documentation in the form of C++ comments and output in HTML, and XML (Doxygen itself can also output Latex, manpages, RTF, PDF etc). See http://www.doxygen.org for more info about Doxygen. -If you want to add documentation of a new class/function to the +If you want to add documentation of a new class/function to the existing manual in docs/doxygen, you need to create a new .h file, e.g. myclass.h, under the interface folder, which contains the public interface of the new class/function in C++ syntax. @@ -33,14 +33,22 @@ which are implementation details. Running Doxygen =============== -First, make sure you have a recent version of Doxygen installed in your system. +First, make sure you have a recent version of Doxygen installed in your system +(you'll need Doxygen >= 1.5.7). -For HTML: +On Unix: + 1) run wxWidgets/docs/doxygen/regen.sh [format-to-generate] + +On Windows: 1) cd wxWidgets/docs/doxygen - 2) run ./regen.sh [Unix] or regen.bat [Windows] + 2) run regen.bat [format-to-generate] + +If you don't specify which format to [re]generate, all output formats will +be enabled. Possible values for [format-to-generate] are: "html", "chm", "latex", +"xml" and "all". -[TODO: instructions for generation of other formats] +The output of Doxygen is all placed in the wxWidgets/docs/doxygen/out folder. Important Dos and Don'ts @@ -128,7 +136,6 @@ Start off with: /** @class wxMyClass - @wxheader{myclass.h} ...here goes the description... @@ -165,9 +172,39 @@ Start off with: manual pages using the @ref command */ -Note that everything *except* the @class, @wxheader, @library and @category +Note that everything *except* the @class, @library and @category commands are optionals. +Also note that if you use @section and @subsection in the class description +(at the beginning), you should use as the section's anchor name "xxxx_yyyy" +where "xxxx" is the class name without the initial "wx" in lowercase +and "yyyy" is a lowercase word which uniquely identifies that section. +E.g.: + +/** + @class wxMyClass + + This class does not exist really and is only used as an example + of best documentation practices. + + @section myclass_special Special functions of this class + + This section describes the functions whose usage is reserved for + wxWidgets internal mechanisms... etc etc... + + + @section myclass_custom Customizing wxMyClass + + What if you want to customize this powerful class? + First you should do this and that, etc etc... + + + @library{wxbase} + @category{misc} + + @see wxMyOtherClass +*/ + Documentation comment for a function @@ -196,7 +233,7 @@ Start off with: Note that the @return, @note, @remarks, @see commands are optional. -The @param command has an optional attribute specifying the direction of +The @param command has an optional attribute specifying the direction of the attribute. Possible values are "in" and "out". E.g. /** @@ -242,7 +279,7 @@ and are completely placed inside a single comment block in the form of: */ Note that there is a convention in the anchor link names. -Doxygen in fact requires that for each @page, @section, @subsection, etc tag, +Doxygen in fact requires that for each @page, @section, @subsection, etc tag, there is a corresponding link anchor. The following conventions are used in wxWidgets doxygen comments: