Orb/Doxygen/doc/features.doc
changeset 0 42188c7ea2d9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Orb/Doxygen/doc/features.doc	Thu Jan 21 17:29:01 2010 +0000
@@ -0,0 +1,97 @@
+/******************************************************************************
+ *
+ * 
+ *
+ * Copyright (C) 1997-2008 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 
+ * 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
+ * input used in their production; they are not affected by this license.
+ *
+ */
+/*! \page features Features
+
+\addindex features
+<UL>
+<li>Requires very little overhead from the writer of the documentation. 
+    Plain text will do, but for more fancy or structured output HTML tags 
+    and/or some of doxygen's special commands can be used.
+<li>Supports C/C++, Java, (Corba and Microsoft) Java, Python,
+    IDL, C#, Objective-C and to some extent D and PHP sources.
+<li>Supports documentation of files, namespaces, packages, classes, 
+    structs, unions, templates, variables, functions, typedefs, enums and 
+    defines. 
+<li>JavaDoc (1.1), Qt-Doc, and ECMA-334 (C# spec.) compatible.
+<li>Automatically generates class and collaboration diagrams in HTML (as clickable 
+    image maps) and \f$\mbox{\LaTeX}\f$ (as Encapsulated PostScript images).
+<li>Uses the dot tool of the Graphviz tool kit to generate
+    include dependency graphs, collaboration diagrams, call graphs, directory structure
+    graphs, and graphical class hierarchy graphs. 
+<li>Flexible comment placement: Allows you to put documentation in the 
+    header file (before the 
+    declaration of an entity), source file (before the definition of an entity) 
+    or in a separate file.
+<li>Generates a list of all members of a class (including any inherited
+    members) along with their protection level.
+<li>Outputs documentation in on-line format (HTML and UNIX man page) and 
+    off-line format (\f$\mbox{\LaTeX}\f$ and RTF) simultaneously 
+    (any of these can be disabled if desired). All formats are optimized for 
+    ease of reading. <br>
+    Furthermore, compressed HTML can be generated from HTML output using 
+    Microsoft's HTML Help Workshop (Windows only) and PDF can be generated 
+    from the \f$\mbox{\LaTeX}\f$ output.
+<li>Includes a full C preprocessor to allow proper parsing of conditional 
+    code fragments and to allow expansion of all or part of macros definitions.
+<li>Automatically detects public, protected and private sections, as well as
+    the Qt specific signal and slots sections. Extraction of private class 
+    members is optional.
+<li>Automatically generates references to documented classes, files, namespaces
+    and members. Documentation of global functions, globals variables, 
+    typedefs, defines and enumerations is also supported.
+<li>References to base/super classes and inherited/overridden members are 
+    generated automatically.
+<li>Includes a fast, rank based search engine to search for strings or words 
+    in the class and member documentation.
+<li>You can type normal HTML tags in your documentation. Doxygen will convert
+    them to their equivalent \f$\mbox{\LaTeX}\f$, RTF, and man-page 
+    counterparts automatically.
+<li>Allows references to documentation generated for other projects 
+    (or another part of the same project) in a location independent way.
+<li>Allows inclusion of source code examples that are automatically 
+    cross-referenced with the documentation.
+<li>Inclusion of undocumented classes is also supported, allowing to quickly
+    learn the structure and interfaces of a (large) piece of code without 
+    looking into the implementation details.
+<li>Allows automatic cross-referencing of (documented) entities with their
+    definition in the source code.
+<li>All source code fragments are syntax highlighted for ease of reading.
+<li>Allows inclusion of function/member/class definitions in the documentation.
+<li>All options are read from an easy to edit and (optionally) annotated 
+    configuration file.
+<li>Documentation and search engine can be transferred to another 
+    location or machine without regenerating the documentation.
+<li>Can cope with large projects easily.
+</UL>
+
+Although doxygen can now be used in any project written in a language that is 
+supported by doxygen, initially it was specifically designed to be used for projects 
+that make use of Qt Software's 
+<A HREF="http://www.trolltech.com/products/qt.html">Qt toolkit</A>. I have tried to 
+make doxygen `Qt-compatible'. That is: Doxygen can read the documentation contained in 
+the Qt source code and create a class browser that looks quite similar to the 
+one that is generated by Qt Software. Doxygen understands the C++ extensions 
+used by Qt such as signals and slots and many of the markup commands used in the Qt sources.
+
+Doxygen can also automatically generate links to existing documentation
+that was generated with Doxygen or with Qt's non-public class browser 
+generator. For a Qt based project this means that whenever you refer to 
+members or classes belonging to the Qt toolkit, a link will be generated to 
+the Qt documentation. This is done independent of where this documentation 
+is located! 
+
+*/