/**
\class DoxygenPart
Integrates Doxygen - http://www.doxygen.org into KDevelop.
It allows you to call the Doxygen executable from a KDevelop menu.
It integrates a GUI into the "KDevelop Project Configuration dialog" to
configure Doxygen (it reads and writes Doxygen Compatible configuration files).

<b>To update to a newer doxygen version:</b>

  -# Merge over the config.h and config.cpp files from the addon/doxywizard/
    directory in the doxygen sources.
    You'll need:
    - GNU bison v1.34 or better
    - GNU flex v2.5.4 or better
    - Kompare from KDEsdk
    .
    You'll have to issue:
        <code>\verbatim$ ./configure --with-doxywizard && make\endverbatim</code>
    to get the config.h and config.cpp files on this directory.
    You should also copy config.l if you'd like to do some debugging.
    <br>
    -# To do the merge on config.cpp you should use:
          <code>\verbatim$ kompare doxygen-location/addon/doxywizard/config.cpp kdevelop-location/parts/doxygen/config.cpp\endverbatim</code>
      - Be careful because doxygen uses the deprecated QList class while KDevelop
      uses the new QPtrList so you should not merge certain lines of code!!!
      - Be careful because doxygen uses the deprecated QRegExp::match() method while
      KDevelop uses the new QRegExp::search() and QRegExp::matchedLength() mehtods
      instead so you should not merge certain lines of code!!!
      - Be careful because KDevlop uses the QFile::encodeName() function and the
      original doxygen code doesn't. So do NOT delete the QFile::encodeName() calls.
      .
    <br>
    -# To do the merge on config.h you should use:
          <code>\verbatim$ kompare doxygen-location/addon/doxywizard/config.h kdevelop-location/parts/doxygen/config.h\endverbatim</code>
      - Again, be careful because doxygen uses the deprecated QList class while KDevelop
      uses the new QPtrList so you should not merge certain lines of code!!!
      .
    <br>
    .
  -# Copy over the file lang_cfg.h from the src/ directory in the doxygen sources.
  -# Add the new i18n strings to messages.cpp.
    To do so, run KDevelop and go to Project-> Project Options... -> Doxygen.
    Take a look at KDevelop' console output, it will warn you about the missing
    messages. Add them to messages.cpp file.
  -# Update version.cpp
  -# Add anything else you needed to do, to get it to compile, to the parts/doxygen/README.dox file.

Everything else we can customize for our look & feel.

\authors <a href="mailto:dimitri AT stack.nl">Dimitri van Heesch</a>

\maintainer <a href="mailto:bernd AT kdevelop.org">Bernd Gehrmann</a>
\maintainer <a href="mailto:a.lucas at tu-bs dot de">Amilcar Lucas</a>


\feature Call Doxygen executable from a KDevelop menu.
\feature Configure Doxygen inside KDevelop.
\feature Create a configuration file with correct ProjectName, Author, Version and
    location of source files whenever a new KDevelop project is created.
\feature Automaticaly generate a Doxygen search database whenever the "search engine" option in Doxygen configuration is activated and you "Run Doxygen".


\requirement You need to install the <a href="http://www.doxygen.org">Doxygen</a> binaries in your machine. This part supports
all versions up to the version stated on the version.cpp file. As usual it is
recomended to use the latest version or at least >= 1.3.4.
\requirement It is recomended that you also install <a href="http://www.graphviz.org">dot</a> >= 1.8.7 (tool to generate graphical
dependencies).


\bug doesn't resize the configuration GUI properly.


\faq <b>Do I need to install Doxygen?</b>
     Yes
*/
