]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/tech/tn0003.txt
don't defer showing if _NET_FRAME_EXTENTS handler is not connected
[wxWidgets.git] / docs / tech / tn0003.txt
index 4428be7db0d86c833870902dc0ae0818cccca25a..0f399147d4736f8a801a6f4790c0253f7c11952d 100644 (file)
@@ -21,7 +21,8 @@ You may also want to write a separate topic file,
 e.g. docs/doxygen/overviews/myclass.h, and add the entry to
 docs/doxygen/mainpages/topics.h.
 
-If applicable, also add an entry to docs/doxygen/mainpages/categories.h.
+If applicable, also add an entry to one of the docs/doxygen/mainpages/cat_*.h
+files.
 
 You can generate a first raw version of myclass.h simply taking its
 "real" header and removing all the private and protected sections and
@@ -49,6 +50,7 @@ DO:
 
 - Doxygen supports both commands in the form \command and @command;
   all wxWidgets documentation uses the @command form.
+  Follow strictly this rule.
 
 - strive to use dedicated Doxygen commands for e.g. notes, lists,
   sections, etc. The "Special commands" page:
@@ -75,6 +77,9 @@ DO:
 
          @  $  \  &  <  >  #  %
 
+  unless they appear inside a @code or @verbatim section
+  (you can also use HTML-style escaping, e.g. &amp; rather than @ escaping)
+
 - when using a Doxygen alias like @itemdef{}, you need to escape the
   comma characters which appear on the first argument, otherwise Doxygen
   will interpret them as the marker of the end of the first argument and
@@ -88,6 +93,15 @@ DO:
   second argument can have up to 10 commas unescaped (see the Doxyfile for the
   trick used to implement this).
 
+- for linking use one of:
+     => the @ref command to refer to topic overviews;
+     => the () suffix to refer to function members of the same class you're
+        documenting or to refer to global functions or macros;
+     => the classname:: operator to refer to functions of classes different
+        from the one you're documenting;
+     => the :: prefix to refer to global variables (e.g. ::wxEmptyString).
+  Class names are auto-linked by Doxygen without the need of any explicit command.
+
 DON'T:
 
 - use jargon, such as 'gonna', or omit the definite article.
@@ -96,6 +110,15 @@ DON'T:
 
 - use non-alphanumeric characters in link anchors.
 
+- use Doxygen @b @c @e commands when referring to more than a single word;
+  in that case you need to use the <b>...</b>, <tt>...</tt>, <em>...</em>
+  HTML-style tags instead
+
+- use HTML style tags for creation of tables or lists.
+  Use wx aliases instead like @beginTable, @row2col, @row3col, @endTable and
+  @beginDefList, @itemdef, @endDefList, etc.
+  See the Doxyfile.inc for more info.
+
 
 Documentation comment for a class
 =================================
@@ -103,44 +126,47 @@ Documentation comment for a class
 Start off with:
 
 /**
- * @class wxMyClass
- * @headerfile wx/myclass.h
- *
- * ...here goes the description... 
- *
- * @beginEventTable
- * @event{EVT_SOME_EVENT(id, func)}:
- *        Description for EVT_SOME_EVENT.
- * @endEventTable
- *
- * @beginStyleTable
- * @style{wxSOME_STYLE}:
- *        Description for wxSOME_STYLE.
- * ...
- * @endStyleTable
- *
- * @beginExtraStyleTable
- * @style{wxSOME_EXTRA_STYLE}:
- *        Description for wxSOME_EXTRA_STYLE.
- * ...
- * @endExtraStyleTable
- *
- * @library{wxbase}
- * @stdobjects
- * ...here goes the list of predefined instances...
- *
- * @seealso
- * ...here goes the see-also list...
- * you can make references to topic overviews or other
- * manual pages using the @ref command
- */
+    @class wxMyClass
+    @wxheader{myclass.h}
+
+    ...here goes the description...
 
-Note that the events, styles and extra-styles tables as
-well as @stdobjects and @seealso lists are optional.
+    @beginEventTable
+    @event{EVT_SOME_EVENT(id, func)}:
+            Description for EVT_SOME_EVENT.
+    @endEventTable
+
+    @beginStyleTable
+    @style{wxSOME_STYLE}:
+            Description for wxSOME_STYLE.
+    ...
+    @endStyleTable
+
+    @beginExtraStyleTable
+    @style{wxSOME_EXTRA_STYLE}:
+            Description for wxSOME_EXTRA_STYLE.
+    ...
+    @endExtraStyleTable
+
+    @library{wxbase}
+    @category{cat_shortcut}
+
+    @nativeimpl{wxgtk, wxmsw, ...}
+    @onlyfor{wxgtk, wxmsw, ...}
+
+    @appearance{button.png}
+
+    @stdobjects
+    ...here goes the list of predefined instances...
+
+    @see ...here goes the see-also list...
+         you can make references to topic overviews or other
+         manual pages using the @ref command
+*/
+
+Note that everything *except* the @class, @wxheader, @library and @category
+commands are optionals.
 
-Also note that you shouldn't use the Doxygen builtin @sa command
-for the see-also list but rather the wxWidgets' alias @seealso
-in this case.
 
 
 Documentation comment for a function
@@ -149,28 +175,25 @@ Documentation comment for a function
 Start off with:
 
 /**
- * ...here goes the description of the function....
- *
- * @param param1
- * ...here goes the description for the first parameter of this function
- * @param param2
- * ...here goes the description for the second parameter of this function
- * ...
- *
- * @return
- * ...here goes the description of what the function returns...
- *
- * @note ...here go any eventual notes about this function...
- *
- * @remarks ...here go any eventual remarks about this function...
- *
- * @sa ...here goes the see-also list...
- */
+    ...here goes the description of the function....
 
-Note that the @return, @note, @remarks, @sa commands are optional.
+    @param param1
+        ...here goes the description for the first parameter of this function
+    @param param2
+        ...here goes the description for the second parameter of this function
+        ...
+
+    @return
+    ...here goes the description of what the function returns...
+
+    @note ...here go any eventual notes about this function...
+
+    @remarks ...here go any eventual remarks about this function...
+
+    @see ...here goes the see-also list...
+ */
 
-Also note that unlike for class' description, you should use the doxygen
-builtin @sa command here for see-also lists.
+Note that the @return, @note, @remarks, @see commands are optional.
 
 The @param command has an optional attribute specifying the direction of 
 the attribute. Possible values are "in" and "out". E.g.