]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - Doxygen_files/reference1.html
transfer from internal tree r5311 branches/1.4-gpl
[xonotic/netradiant.git] / Doxygen_files / reference1.html
diff --git a/Doxygen_files/reference1.html b/Doxygen_files/reference1.html
new file mode 100644 (file)
index 0000000..51cff17
--- /dev/null
@@ -0,0 +1,333 @@
+<div align="center">\r
+<table width="95%" cellpadding="0" cellspacing="0" border="0">\r
+<tr><td>\r
+<a href="../html/index.html">GtkRadiant Doxygen Documentation</a>\r
+\r
+<a name="top"></a>\r
+<h1>Doxygen Quick Reference</h1>\r
+<hr>\r
+<p align="left">\r
+\r
+<h2>Index</h2>\r
+       <ol>\r
+               <li><a href="#cs">Commenting styles</a></li>\r
+               <li><a href="#qts">Qt Style C++ Class Example</a></li>\r
+               <li><a href="#jds">JavaDoc Style C++ Class Example</a></li>\r
+               <li><a href="#spt">Special Tags</a></li>\r
+               <li><a href="#stt">Structural Tags</a></li>\r
+       </ol>\r
+</p>\r
+\r
+<hr>\r
+<a name="cs"></a>\r
+<h2>1. Commenting Styles</h2>\r
+There are two different <i>styles</i> of commenting that doxygen recognises.\r
+<p align="left">\r
+Qt Style:<br>\r
+<code>\r
+/*!<br>\r
+  .... text ....<br>\r
+*/<br>\r
+<br>\r
+</code>\r
+Qt Style Single line<br>\r
+<code>\r
+//! .... one line of text ....<br>\r
+</code>\r
+</p>\r
+\r
+<p align="left">\r
+JavaDoc Style:<br>\r
+<code>\r
+/**<br>\r
+  * .... text ....<br>\r
+  */<br>\r
+</code>\r
+<br>\r
+JavaDoc Style Single line<br>\r
+<code>\r
+/// .... one line of text ....<br>\r
+</code>\r
+</p>\r
+\r
+<p>\r
+       Doxygen only allows one brief and one detailed description for each declaration/definition.\r
+       If there is a brief description before a declaration, and one before the a definition, only\r
+       the one before the <i>declaration</i> will be used. If the same situation occurs for a detailed\r
+       description the one before the <i>definition</i> is preferred and the one before the declaration will\r
+       be ignored.<br>\r
+       A useful method is to have the brief documentation with the declaration in the header file,\r
+       and the detailed documentation with the definition in the source file.\r
+       <p>\r
+               <i>Note: Standard C/C++ comments are ignored by doxygen, but will be included in the code listing\r
+               for that file.  </i>\r
+       </p>\r
+</p>\r
+<p align="right"><a href="#top">top</a> </p>\r
+<hr>\r
+\r
+<a name="qts"></a>\r
+<h2>2. Qt Style C++ Class Example</h2>\r
+<p>\r
+       Here is an example of a C++ class using Qt Style documentation.<br>\r
+       The IEpair class from include/iepairs.h is used here. The html result of using these comments \r
+       can be found <a href="../example/index.html">here</a>.<br>\r
+       <p>\r
+               <i>Note: The resulting html was generated from a single file. If it were generated as part of\r
+               the whole documentation, many of the function names and variables would be hyperlinks to\r
+               their definitions.</i><br>\r
+       </p>\r
+       <pre>\r
+//! Virtual class to allow plugin operations on entity pairs\r
+/*!\r
+  \todo Write more complete documentation for this class so that it's use\r
+  is clear\r
+                       \r
+  An interface to entity keys and key pairs that allows plugins to;\r
+  read and write entity keys and key values, get a key value as a\r
+  vec3_t\r
+*/\r
+class IEpair\r
+{\r
+  public:\r
+    //! Increment the number of references to this object\r
+    virtual void IncRef () = 0;\r
+                               \r
+    //! Decrement the reference count\r
+    virtual void DecRef () = 0;\r
+                               \r
+    //! Get a vector from a key\r
+    virtual void GetVectorForKey( char* key, vec3_t vec ) = 0;\r
+                               \r
+    //! Get a float from a key\r
+    virtual float FloatForKey( char *key ) = 0;\r
+                               \r
+    //! Get a string (char *) from a key\r
+    virtual char* ValueForKey( char *key ) = 0;\r
+                               \r
+    //! Set a key value to char *value\r
+    /*!\r
+      \param key The (char *) containing the keyname\r
+      \param value The (char *) to set the key value to\r
+    */\r
+    virtual void SetKeyValue( char *key, char *value ) = 0;\r
+                               \r
+    //! Get a vec3_t for the entities origin\r
+    virtual void GetEntityOrigin( vec3_t vec ) = 0;\r
+                               \r
+    //! Compute the rotated bounds of the BBox based on "angle" and "angles" keys\r
+    virtual void CalculateRotatedBounds( vec3_t mins, vec3_t maxs ) = 0;\r
+};\r
+</pre>\r
+</p>\r
+<p>\r
+       <p align="right"><a href="#top">top</a> </p>\r
+       <a name="jds"></a>\r
+       <h2>3. JavaDoc Style C++ Class Example</h2>\r
+\r
+       The same class documented using JavaDoc Style comments\r
+<pre>\r
+/// Virtual class to allow plugin operations on entity pairs\r
+/**\r
+  * @todo Write more complete documentation for this class so that it's use\r
+  * is clear\r
+  *    \r
+  * An interface to entity keys and key pairs that allows plugins to;\r
+  * read and write entity keys and key values, get a key value as a\r
+  * vec3_t\r
+  */\r
+class IEpair\r
+{\r
+  public:\r
+    /// Increment the number of references to this object\r
+    virtual void IncRef () = 0;\r
+                               \r
+    /// Decrement the reference count\r
+    virtual void DecRef () = 0;\r
+                               \r
+    /// Get a vector from a key\r
+    virtual void GetVectorForKey( char* key, vec3_t vec ) = 0;\r
+                               \r
+    /// Get a float from a key\r
+    virtual float FloatForKey( char *key ) = 0;\r
+                               \r
+    /// Get a string (char *) from a key\r
+    virtual char* ValueForKey( char *key ) = 0;\r
+                               \r
+    /** Set a key value to char *value\r
+      * @param key The (char *) containing the keyname\r
+      * @param value The (char *) to set the key value to\r
+      */\r
+    virtual void SetKeyValue( char *key, char *value ) = 0;\r
+                               \r
+    //! Get a vec3_t for the entities origin\r
+    virtual void GetEntityOrigin( vec3_t vec ) = 0;\r
+                               \r
+    //! Compute the rotated bounds of the BBox based on "angle" and "angles" keys\r
+    virtual void CalculateRotatedBounds( vec3_t mins, vec3_t maxs ) = 0;\r
+};\r
+</pre>\r
+</p>\r
+<p align="right"><a href="#top">top</a> </p>\r
+<hr>\r
+\r
+<a name="spt"></a>\r
+<h2>4. Special Tags</h2>\r
+<p>\r
+       Special tags using the Qt style begin with a " \ ", or using JavaDoc style a " @ " (the two should not be mixed).<br>\r
+       <br>\r
+       <b>Common special tags</b><br>\r
+       <center>\r
+       <table width="90%" cellpadding="4" cellspacing="2" border="0" valign="top">\r
+       <tr><td width="10%" bgcolor="#DDDDDD" align="right">\r
+               <b>author</b>\r
+       </td><td bgcolor="#DDDDDD">\r
+               <i>The author or a list of comma separated authors/contributers</i>\r
+       </td></tr><tr><td bgcolor="#CCCCCC" align="right">\r
+               <b>see</b> \r
+       </td><td bgcolor="#CCCCCC">\r
+               <i>A reference to another class, class member, function, etc...</i>\r
+       </td></tr><tr><td bgcolor="#DDDDDD" align="right">\r
+               <b>param</b> \r
+       </td><td bgcolor="#DDDDDD">\r
+               <i>A description of a specific function argument or parameter</i>\r
+       </td></tr><tr><td bgcolor="#CCCCCC" align="right">\r
+               <b>return</b>\r
+       </td><td bgcolor="#CCCCCC">\r
+               <i>A description of the value returned from a function/method</i>\r
+       </td></tr><tr><td bgcolor="#DDDDDD" align="right">\r
+               <b>bug</b>\r
+       </td><td bgcolor="#DDDDDD">\r
+               <i>Starts a paragraph where one or more bugs may be listed.</i>\r
+       </td></tr><tr><td bgcolor="#CCCCCC" align="right">\r
+               <b>note</b>\r
+       </td><td bgcolor="#CCCCCC">\r
+               <i>Starts a paragraph where a note may be entered.</i>\r
+       </td></tr><tr><td bgcolor="#DDDDDD" align="right">\r
+               <b>todo</b>\r
+       </td><td bgcolor="#DDDDDD">\r
+               <i>Starts a paragraph where a TODO item is described.</i><br>\r
+               Note: All TODO items are collated into a separate todo list, each linking to each other\r
+       </td></tr><tr><td bgcolor="#CCCCCC" align="right">\r
+               <b>version</b>\r
+       </td><td bgcolor="#CCCCCC">\r
+               <i>Starts a paragraph where one or more version strings may be entered.</i>\r
+       </td></tr><tr><td bgcolor="#DDDDDD" align="right">\r
+               <b>warning</b>\r
+       </td><td bgcolor="#DDDDDD">\r
+               <i>Starts a paragraph where one or more warning messages may be entered.</i>\r
+       </td></tr><tr><td bgcolor="#DDDDDD" align="right">\r
+               <b>brief</b>\r
+       </td><td bgcolor="#DDDDDD">\r
+               <i>A single line comment in place of the //! or /// comment.</i>\r
+       </td>\r
+       </tr>   \r
+</table>\r
+</center>\r
+<br>\r
+<p align="right"><a href="#top">top</a></p>\r
+<hr>\r
+<a name="stt"></a>\r
+<h2>5. Structural Tags</h2>\r
+<p>\r
+These are used to document a named object, and are not required to be located near that\r
+object definition or declaration. This allows the documentation for an object to be located\r
+anywhere in the doxygen input files. The exception to this rule however, is that these\r
+documentation blocks cannot be within the body of a function or within C style comment blocks.\r
+All structural commands are preceded by either a " \ " or a " @ ", depending on the \r
+documentation style, and require one or more parameters to specify the name of the object\r
+the description is referring to.<br>\r
+</p>\r
+<p>\r
+An example of the \file structural tag:\r
+<pre>\r
+/*! \file iepairs.h\r
+    \brief One line documentation for this file\r
+    \author Author(s)\r
+    Long description of this file\r
+*/\r
+</pre>\r
+</p>\r
+\r
+<b>Common Structural Tags</b><br><br>\r
+<center>\r
+<table width="90%" cellpadding="4" cellspacing="2" border="0" valign="top">\r
+       <tr><td width="10%" bgcolor="#DDDDDD" align="right">\r
+               <b>class</b>\r
+       </td><td bgcolor="#DDDDDD">\r
+               <i>Documents a class<br>\r
+               eg:<code><br>\r
+               /*! \class IEpair<br>\r
+               \brief Short description of the IEpair class<br>\r
+                               <br>            \r
+               Detailed description of the IEpair class<br>\r
+               */<br>\r
+               </code>\r
+               </i>    \r
+       </td></tr><tr><td bgcolor="#CCCCCC" align="right">\r
+               <b>def</b>\r
+       </td><td bgcolor="#CCCCCC">\r
+               <i>Describes a #define<br>\r
+               eg:<code><br>\r
+               /*! \def MAX_VALUE The name of the define<br>\r
+               \brief Description of MAX_VALUE<br>\r
+               */<br>\r
+               </code>\r
+               </i>\r
+       </td></tr><tr><td bgcolor="#DDDDDD" align="right">\r
+               <b>file</b>\r
+       </td><td bgcolor="#DDDDDD">\r
+               <i>Describes a file<br>\r
+               eg:<code><br>\r
+               /*! \file iepairs.h The name of the file<br>\r
+                   \brief Description of the file iepairs.h<br>\r
+                               <br>\r
+                               Details<br>\r
+               */<br>\r
+               </code>\r
+               </i>\r
+       </td></tr><tr><td bgcolor="#CCCCCC" align="right">\r
+               <b>struct</b>\r
+       </td><td bgcolor="#CCCCCC">\r
+               <i>Documents a struct<br>\r
+               eg:<code><br>\r
+               /*! \struct BTListList_t the name of the struct<br>\r
+                 \brief Description of BTListList_t<br>\r
+                       <br>\r
+               Details<br>\r
+               */<br>\r
+               </code>\r
+               </i>\r
+       </td></tr><tr><td bgcolor="#DDDDDD" align="right">\r
+               <b>var</b>\r
+       </td><td bgcolor="#DDDDDD">\r
+               <i>Documents a typedef, variable or enum value<br>\r
+               eg:<code><br>\r
+               /*! \var typedef unsigned int UINT32<br>\r
+                 \brief Short description<br>\r
+               */<br>\r
+               </code>\r
+               </i>\r
+       </td></tr><tr><td bgcolor="#CCCCCC" align="right">\r
+               <b>fn</b>\r
+       </td><td bgcolor="#CCCCCC">\r
+               <i>Documents a function</i>\r
+               eg:<code><br>\r
+               /*! \fn virtual void IEpair::DecRef() = 0;<br>\r
+                 \brief Short description of this function<br>\r
+                               <br>\r
+                   Detailed description of this function<br>\r
+               */<br>\r
+               </code>\r
+               </i>\r
+       </td>\r
+       </tr>\r
+</table>\r
+</center>\r
+\r
+<br>   \r
+<p align="right"><a href="#top">top</a> </p>\r
+<hr>\r
+</td></tr>\r
+</table>\r
+</div>\r