]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/tech/tn0003.txt
fix errors/inconsistencies pointed out by ifacecheck
[wxWidgets.git] / docs / tech / tn0003.txt
index 569a3467a2feba3dd177457ff9154ea7c01009dd..7feee05b54e856871a90f38626455e729b3eaf05 100644 (file)
@@ -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 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: