summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorcon <qtc-commiter@nokia.com>2008-12-02 12:01:29 +0100
committercon <qtc-commiter@nokia.com>2008-12-02 12:01:29 +0100
commit05c35356abc31549c5db6eba31fb608c0365c2a0 (patch)
treebe044530104267afaff13f8943889cb97f8c8bad /doc
downloadqt-creator-05c35356abc31549c5db6eba31fb608c0365c2a0.tar.gz
Initial import
Diffstat (limited to 'doc')
-rw-r--r--doc/classic.css102
-rw-r--r--doc/doc.pri25
-rw-r--r--doc/doc.pro1
-rw-r--r--doc/doxygen/Doxyfile1306
-rw-r--r--doc/example/textfinder/input.txt2
-rw-r--r--doc/example/textfinder/main.cpp43
-rw-r--r--doc/example/textfinder/textfinder.cpp75
-rw-r--r--doc/example/textfinder/textfinder.h64
-rw-r--r--doc/example/textfinder/textfinder.pro12
-rw-r--r--doc/example/textfinder/textfinder.qrc5
-rw-r--r--doc/example/textfinder/textfinder.ui78
-rw-r--r--doc/qt-logo.pngbin0 -> 1471 bytes
-rw-r--r--doc/qtcreator-add-resource-wizard.pngbin0 -> 42694 bytes
-rw-r--r--doc/qtcreator-add-resource.pngbin0 -> 29745 bytes
-rw-r--r--doc/qtcreator-application-output.pngbin0 -> 34584 bytes
-rw-r--r--doc/qtcreator-breakdown.pngbin0 -> 124959 bytes
-rw-r--r--doc/qtcreator-buildenvironment.pngbin0 -> 98411 bytes
-rw-r--r--doc/qtcreator-buildsettings.pngbin0 -> 72994 bytes
-rw-r--r--doc/qtcreator-buildsettingstab.pngbin0 -> 73430 bytes
-rw-r--r--doc/qtcreator-buildsteps.pngbin0 -> 81336 bytes
-rw-r--r--doc/qtcreator-class-info.pngbin0 -> 35255 bytes
-rw-r--r--doc/qtcreator-compile-pane.pngbin0 -> 87656 bytes
-rw-r--r--doc/qtcreator-context-sensitive-help.pngbin0 -> 214415 bytes
-rw-r--r--doc/qtcreator-debug-mode.pngbin0 -> 1285 bytes
-rw-r--r--doc/qtcreator-debugging-buttons.pngbin0 -> 8007 bytes
-rw-r--r--doc/qtcreator-formedit.pngbin0 -> 216164 bytes
-rw-r--r--doc/qtcreator-intro-and-location.pngbin0 -> 32434 bytes
-rw-r--r--doc/qtcreator-navigate-customfilter.pngbin0 -> 53542 bytes
-rw-r--r--doc/qtcreator-navigate-popup.pngbin0 -> 88751 bytes
-rw-r--r--doc/qtcreator-new-project.pngbin0 -> 14065 bytes
-rw-r--r--doc/qtcreator-run.pngbin0 -> 1293 bytes
-rw-r--r--doc/qtcreator-search-pane.pngbin0 -> 52779 bytes
-rw-r--r--doc/qtcreator-select-modules.pngbin0 -> 45128 bytes
-rw-r--r--doc/qtcreator-setting-breakpoint1.pngbin0 -> 15311 bytes
-rw-r--r--doc/qtcreator-setting-breakpoint2.pngbin0 -> 15315 bytes
-rw-r--r--doc/qtcreator-task-list.pngbin0 -> 22442 bytes
-rw-r--r--doc/qtcreator-textfinder-screenshot.pngbin0 -> 44173 bytes
-rw-r--r--doc/qtcreator-textfinder-ui.pngbin0 -> 7595 bytes
-rw-r--r--doc/qtcreator-watcher.pngbin0 -> 29080 bytes
-rw-r--r--doc/qtcreator.pngbin0 -> 73608 bytes
-rw-r--r--doc/qtcreator.qchbin0 -> 1649664 bytes
-rw-r--r--doc/qtcreator.qdoc1153
-rw-r--r--doc/qtcreator.qdocconf205
-rw-r--r--doc/runframework.diabin0 -> 5362 bytes
-rw-r--r--doc/trolltech-logo.pngbin0 -> 1512 bytes
-rw-r--r--doc/workbench.qdoc98
-rw-r--r--doc/workbench.qtdocconf147
47 files changed, 3316 insertions, 0 deletions
diff --git a/doc/classic.css b/doc/classic.css
new file mode 100644
index 0000000000..400ee71168
--- /dev/null
+++ b/doc/classic.css
@@ -0,0 +1,102 @@
+h3.fn,span.fn
+{
+ margin-left: 1cm;
+ text-indent: -1cm;
+}
+
+a:link
+{
+ color: #004faf;
+ text-decoration: none
+}
+
+a:visited
+{
+ color: #672967;
+ text-decoration: none
+}
+
+td.postheader
+{
+ font-family: sans-serif
+}
+
+tr.address
+{
+ font-family: sans-serif
+}
+
+body
+{
+ background: #ffffff;
+ color: black
+}
+
+table tr.odd {
+ background: #f0f0f0;
+ color: black;
+}
+
+table tr.even {
+ background: #e4e4e4;
+ color: black;
+}
+
+table.annotated th {
+ padding: 3px;
+ text-align: left
+}
+
+table.annotated td {
+ padding: 3px;
+}
+
+table tr pre
+{
+ padding-top: none;
+ padding-bottom: none;
+ padding-left: none;
+ padding-right: none;
+ border: none;
+ background: none
+}
+
+tr.qt-style
+{
+ background: #a2c511;
+ color: black
+}
+
+body pre
+{
+ padding: 0.2em;
+ border: #e7e7e7 1px solid;
+ background: #f1f1f1;
+ color: black
+}
+
+span.preprocessor, span.preprocessor a
+{
+ color: darkblue;
+}
+
+span.comment
+{
+ color: darkred;
+ font-style: italic
+}
+
+span.string,span.char
+{
+ color: darkgreen;
+}
+
+.subtitle
+{
+ font-size: 0.8em
+}
+
+.small-subtitle
+{
+ font-size: 0.65em
+}
diff --git a/doc/doc.pri b/doc/doc.pri
new file mode 100644
index 0000000000..5d58a28c3e
--- /dev/null
+++ b/doc/doc.pri
@@ -0,0 +1,25 @@
+# Generate docs. Does not work for shadow builds and never will.
+# (adding a "docs" make target).
+
+unix {
+ QDOC = SRCDIR=$$PWD OUTDIR=$$OUT_PWD/html $$(QTDIR)/tools/qdoc3/qdoc3
+ HELPGENERATOR = qhelpgenerator
+} else {
+ QDOC = $$(QTDIR)\tools\qdoc3\release\qdoc3.exe
+ HELPGENERATOR = qhelpgenerator
+}
+
+QHP_FILE = $$OUT_PWD/html/qtcreator.qhp
+QCH_FILE = $$OUT_PWD/qtcreator.qch
+
+html_docs.commands =$$QDOC $$PWD/qtcreator.qdocconf
+html_docs.depends += $$PWD/qtcreator.qdoc $$PWD/qtcreator.qdocconf
+html_docs.files = $$QHP_FILE
+
+qch_docs.commands = $$HELPGENERATOR -o $$QCH_FILE $$QHP_FILE
+qch_docs.depends += html_docs
+qch_docs.files = $$QCH_FILE
+
+docs.depends = qch_docs
+
+QMAKE_EXTRA_TARGETS += html_docs qch_docs docs
diff --git a/doc/doc.pro b/doc/doc.pro
new file mode 100644
index 0000000000..8337190b22
--- /dev/null
+++ b/doc/doc.pro
@@ -0,0 +1 @@
+include(doc.pri)
diff --git a/doc/doxygen/Doxyfile b/doc/doxygen/Doxyfile
new file mode 100644
index 0000000000..c984e71e42
--- /dev/null
+++ b/doc/doxygen/Doxyfile
@@ -0,0 +1,1306 @@
+# Doxyfile 1.5.3
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file that
+# follow. The default is UTF-8 which is also the encoding used for all text before
+# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into
+# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of
+# possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME = QWorkbench
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER = 1
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY = .
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS = YES
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian,
+# Italian, Japanese, Japanese-en (Japanese with English messages), Korean,
+# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian,
+# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF = "The $name class " \
+ "The $name widget " \
+ "The $name file " \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the DETAILS_AT_TOP tag is set to YES then Doxygen
+# will output the detailed description near the top, like JavaDoc.
+# If set to NO, the detailed description appears after the member
+# documentation.
+
+DETAILS_AT_TOP = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for Java.
+# For instance, namespaces will be presented as packages, qualified scopes
+# will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA = NO
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to
+# include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING = YES
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE = YES
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC = YES
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be extracted
+# and appear in the documentation as a namespace called 'anonymous_namespace{file}',
+# where file will be replaced with the base name of the file that contains the anonymous
+# namespace. By default anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES = NO
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from the
+# version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED = YES
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT = "$file:$line: $text "
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT = ../../src
+
+# This tag can be used to specify the character encoding of the source files that
+# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default
+# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding.
+# See http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
+
+FILE_PATTERNS = *.cpp *.h
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS = moc_* \
+ ui_* \
+ Ui_*
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the output.
+# The symbol name can be a fully qualified name, a word, or if the wildcard * is used,
+# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS = *
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output. If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO. If you have enabled CALL_GRAPH or CALLER_GRAPH
+# then you must also enable this option. If you don't then doxygen will produce
+# a warning and turn it on anyway
+
+SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES (the default)
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES (the default)
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code. Otherwise they will link to the documentstion.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP = NO
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
+# probably better off using the HTML help feature.
+
+GENERATE_TREEVIEW = NO
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH = 250
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader. This is useful
+# if you want to understand what is going on. On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED =
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to
+# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to
+# specify the directory where the mscgen tool resides. If left empty the tool is assumed to
+# be found in the default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS = NO
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK = YES
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = NO
+
+# If the CALL_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will
+# generate a call dependency graph for every global function or class method.
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command.
+
+CALL_GRAPH = NO
+
+# If the CALLER_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will
+# generate a caller dependency graph for every global function or class method.
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable caller graphs for selected
+# functions only using the \callergraph command.
+
+CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS =
+
+# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the number
+# of direct children of the root node in a graph is already larger than
+# MAX_DOT_GRAPH_NOTES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH = 1000
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, which results in a white background.
+# Warning: Depending on the platform used, enabling this option may lead to
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+# read).
+
+DOT_TRANSPARENT = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS = YES
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE = YES
diff --git a/doc/example/textfinder/input.txt b/doc/example/textfinder/input.txt
new file mode 100644
index 0000000000..044545418a
--- /dev/null
+++ b/doc/example/textfinder/input.txt
@@ -0,0 +1,2 @@
+These forms are processed at run-time to produce dynamically-generated user interfaces. In order to generate a form at run-time, a resource file containing a .ui file is needed. Applications that use the form handling classes need to be configured to be built against the QtUiTools module. This is done by including the following declaration in a qmake project file to ensure that the application is compiled and linked appropriately. A form loader object, provided by the QUiLoader class, is used to construct the user interface. This user interface
+can be retrieved from any QIODevice; for example, a QFile object can be used to obtain a form stored in a project's resources. The QUiLoader::load() function takes the user interface description contained in the file and constructs the form widget. \ No newline at end of file
diff --git a/doc/example/textfinder/main.cpp b/doc/example/textfinder/main.cpp
new file mode 100644
index 0000000000..7f8c63d951
--- /dev/null
+++ b/doc/example/textfinder/main.cpp
@@ -0,0 +1,43 @@
+/***************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+**
+** Non-Open Source Usage
+**
+** Licensees may use this file in accordance with the Qt Beta Version
+** License Agreement, Agreement version 2.2 provided with the Software or,
+** alternatively, in accordance with the terms contained in a written
+** agreement between you and Nokia.
+**
+** GNU General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the packaging
+** of this file. Please review the following information to ensure GNU
+** General Public Licensing requirements will be met:
+**
+** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt GPL Exception version
+** 1.2, included in the file GPL_EXCEPTION.txt in this package.
+**
+***************************************************************************/
+#include <QtGui/QApplication>
+#include "textfinder.h"
+
+int main(int argc, char *argv[])
+{
+ Q_INIT_RESOURCE(textfinder);
+ QApplication a(argc, argv);
+ TextFinder w;
+ w.show();
+ return a.exec();
+}
diff --git a/doc/example/textfinder/textfinder.cpp b/doc/example/textfinder/textfinder.cpp
new file mode 100644
index 0000000000..a524f1c869
--- /dev/null
+++ b/doc/example/textfinder/textfinder.cpp
@@ -0,0 +1,75 @@
+/***************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+**
+** Non-Open Source Usage
+**
+** Licensees may use this file in accordance with the Qt Beta Version
+** License Agreement, Agreement version 2.2 provided with the Software or,
+** alternatively, in accordance with the terms contained in a written
+** agreement between you and Nokia.
+**
+** GNU General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the packaging
+** of this file. Please review the following information to ensure GNU
+** General Public Licensing requirements will be met:
+**
+** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt GPL Exception version
+** 1.2, included in the file GPL_EXCEPTION.txt in this package.
+**
+***************************************************************************/
+#include <QtGui/QMessageBox>
+#include <QtCore/QFile>
+#include <QtCore/QTextStream>
+#include "textfinder.h"
+
+TextFinder::TextFinder(QWidget *parent, Qt::WFlags flags)
+ : QWidget(parent, flags)
+{
+ ui.setupUi(this);
+ loadTextFile();
+ isFirstTime = true;
+}
+
+TextFinder::~TextFinder()
+{
+}
+
+void TextFinder::loadTextFile()
+{
+ QFile inputFile(":/input.txt");
+ inputFile.open(QIODevice::ReadOnly);
+
+ QTextStream in(&inputFile);
+ QString line = in.readAll();
+ inputFile.close();
+
+ ui.textEdit->setPlainText(line);
+ QTextCursor cursor = ui.textEdit->textCursor();
+ cursor.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor, 1);
+}
+
+void TextFinder::on_findButton_clicked()
+{
+ QString searchString = ui.lineEdit->text();
+ QTextDocument *document = ui.textEdit->document();
+
+ bool found = false;
+
+ ui.textEdit->find(searchString, QTextDocument::FindWholeWords);
+ QTextCursor cursor = ui.textEdit->textCursor();
+ if (!cursor.isNull())
+ found = true;
+}
diff --git a/doc/example/textfinder/textfinder.h b/doc/example/textfinder/textfinder.h
new file mode 100644
index 0000000000..2563a2016a
--- /dev/null
+++ b/doc/example/textfinder/textfinder.h
@@ -0,0 +1,64 @@
+/***************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+**
+** Non-Open Source Usage
+**
+** Licensees may use this file in accordance with the Qt Beta Version
+** License Agreement, Agreement version 2.2 provided with the Software or,
+** alternatively, in accordance with the terms contained in a written
+** agreement between you and Nokia.
+**
+** GNU General Public License Usage
+**
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the packaging
+** of this file. Please review the following information to ensure GNU
+** General Public Licensing requirements will be met:
+**
+** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt GPL Exception version
+** 1.2, included in the file GPL_EXCEPTION.txt in this package.
+**
+***************************************************************************/
+#ifndef TEXTFINDER_H
+#define TEXTFINDER_H
+
+#include <QtGui/QWidget>
+#include "ui_textfinder.h"
+
+class QPushButton;
+class QTextEdit;
+class QLineEdit;
+
+class TextFinder : public QWidget
+{
+ Q_OBJECT
+
+public:
+ TextFinder(QWidget *parent = 0, Qt::WFlags flags = 0);
+ ~TextFinder();
+
+private slots:
+ void on_findButton_clicked();
+
+private:
+ Ui::Form ui;
+ void loadTextFile();
+
+ QPushButton *ui_findButton;
+ QTextEdit *ui_textEdit;
+ QLineEdit *ui_lineEdit;
+ bool isFirstTime;
+};
+
+#endif // TEXTFINDER_H
diff --git a/doc/example/textfinder/textfinder.pro b/doc/example/textfinder/textfinder.pro
new file mode 100644
index 0000000000..4dd25ca402
--- /dev/null
+++ b/doc/example/textfinder/textfinder.pro
@@ -0,0 +1,12 @@
+TARGET = TextFinder
+TEMPLATE = app
+
+
+SOURCES += main.cpp\
+ textfinder.cpp
+
+HEADERS += textfinder.h
+
+FORMS += textfinder.ui
+
+RESOURCES += textfinder.qrc
diff --git a/doc/example/textfinder/textfinder.qrc b/doc/example/textfinder/textfinder.qrc
new file mode 100644
index 0000000000..03cc512f4d
--- /dev/null
+++ b/doc/example/textfinder/textfinder.qrc
@@ -0,0 +1,5 @@
+ <!DOCTYPE RCC><RCC version="1.0">
+ <qresource>
+ <file>input.txt</file>
+ </qresource>
+ </RCC> \ No newline at end of file
diff --git a/doc/example/textfinder/textfinder.ui b/doc/example/textfinder/textfinder.ui
new file mode 100644
index 0000000000..1cb72c5747
--- /dev/null
+++ b/doc/example/textfinder/textfinder.ui
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>378</width>
+ <height>158</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Find Text</string>
+ </property>
+ <layout class="QVBoxLayout">
+ <item>
+ <layout class="QGridLayout">
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="lineEdit"/>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="searchLabel">
+ <property name="text">
+ <string>&amp;Keyword:</string>
+ </property>
+ <property name="buddy">
+ <cstring>lineEdit</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="findButton">
+ <property name="text">
+ <string>&amp;Find</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QTextEdit" name="textEdit"/>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>16</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>lineEdit</sender>
+ <signal>returnPressed()</signal>
+ <receiver>findButton</receiver>
+ <slot>animateClick()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>261</x>
+ <y>17</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>320</x>
+ <y>17</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/doc/qt-logo.png b/doc/qt-logo.png
new file mode 100644
index 0000000000..3e2e480b32
--- /dev/null
+++ b/doc/qt-logo.png
Binary files differ
diff --git a/doc/qtcreator-add-resource-wizard.png b/doc/qtcreator-add-resource-wizard.png
new file mode 100644
index 0000000000..92c21e5b54
--- /dev/null
+++ b/doc/qtcreator-add-resource-wizard.png
Binary files differ
diff --git a/doc/qtcreator-add-resource.png b/doc/qtcreator-add-resource.png
new file mode 100644
index 0000000000..8a068987f1
--- /dev/null
+++ b/doc/qtcreator-add-resource.png
Binary files differ
diff --git a/doc/qtcreator-application-output.png b/doc/qtcreator-application-output.png
new file mode 100644
index 0000000000..c574835114
--- /dev/null
+++ b/doc/qtcreator-application-output.png
Binary files differ
diff --git a/doc/qtcreator-breakdown.png b/doc/qtcreator-breakdown.png
new file mode 100644
index 0000000000..9b9f070695
--- /dev/null
+++ b/doc/qtcreator-breakdown.png
Binary files differ
diff --git a/doc/qtcreator-buildenvironment.png b/doc/qtcreator-buildenvironment.png
new file mode 100644
index 0000000000..fb9af43b0e
--- /dev/null
+++ b/doc/qtcreator-buildenvironment.png
Binary files differ
diff --git a/doc/qtcreator-buildsettings.png b/doc/qtcreator-buildsettings.png
new file mode 100644
index 0000000000..37e5214ef9
--- /dev/null
+++ b/doc/qtcreator-buildsettings.png
Binary files differ
diff --git a/doc/qtcreator-buildsettingstab.png b/doc/qtcreator-buildsettingstab.png
new file mode 100644
index 0000000000..c6768cda63
--- /dev/null
+++ b/doc/qtcreator-buildsettingstab.png
Binary files differ
diff --git a/doc/qtcreator-buildsteps.png b/doc/qtcreator-buildsteps.png
new file mode 100644
index 0000000000..7e23662faf
--- /dev/null
+++ b/doc/qtcreator-buildsteps.png
Binary files differ
diff --git a/doc/qtcreator-class-info.png b/doc/qtcreator-class-info.png
new file mode 100644
index 0000000000..757eb12856
--- /dev/null
+++ b/doc/qtcreator-class-info.png
Binary files differ
diff --git a/doc/qtcreator-compile-pane.png b/doc/qtcreator-compile-pane.png
new file mode 100644
index 0000000000..52ef37916a
--- /dev/null
+++ b/doc/qtcreator-compile-pane.png
Binary files differ
diff --git a/doc/qtcreator-context-sensitive-help.png b/doc/qtcreator-context-sensitive-help.png
new file mode 100644
index 0000000000..77fd2ffa5e
--- /dev/null
+++ b/doc/qtcreator-context-sensitive-help.png
Binary files differ
diff --git a/doc/qtcreator-debug-mode.png b/doc/qtcreator-debug-mode.png
new file mode 100644
index 0000000000..0499f88191
--- /dev/null
+++ b/doc/qtcreator-debug-mode.png
Binary files differ
diff --git a/doc/qtcreator-debugging-buttons.png b/doc/qtcreator-debugging-buttons.png
new file mode 100644
index 0000000000..f2f41f002d
--- /dev/null
+++ b/doc/qtcreator-debugging-buttons.png
Binary files differ
diff --git a/doc/qtcreator-formedit.png b/doc/qtcreator-formedit.png
new file mode 100644
index 0000000000..9627317e60
--- /dev/null
+++ b/doc/qtcreator-formedit.png
Binary files differ
diff --git a/doc/qtcreator-intro-and-location.png b/doc/qtcreator-intro-and-location.png
new file mode 100644
index 0000000000..e0d8c9f150
--- /dev/null
+++ b/doc/qtcreator-intro-and-location.png
Binary files differ
diff --git a/doc/qtcreator-navigate-customfilter.png b/doc/qtcreator-navigate-customfilter.png
new file mode 100644
index 0000000000..15f2ec87a3
--- /dev/null
+++ b/doc/qtcreator-navigate-customfilter.png
Binary files differ
diff --git a/doc/qtcreator-navigate-popup.png b/doc/qtcreator-navigate-popup.png
new file mode 100644
index 0000000000..175b0a41b4
--- /dev/null
+++ b/doc/qtcreator-navigate-popup.png
Binary files differ
diff --git a/doc/qtcreator-new-project.png b/doc/qtcreator-new-project.png
new file mode 100644
index 0000000000..6f7832e5cb
--- /dev/null
+++ b/doc/qtcreator-new-project.png
Binary files differ
diff --git a/doc/qtcreator-run.png b/doc/qtcreator-run.png
new file mode 100644
index 0000000000..845bd48e2e
--- /dev/null
+++ b/doc/qtcreator-run.png
Binary files differ
diff --git a/doc/qtcreator-search-pane.png b/doc/qtcreator-search-pane.png
new file mode 100644
index 0000000000..d630da337b
--- /dev/null
+++ b/doc/qtcreator-search-pane.png
Binary files differ
diff --git a/doc/qtcreator-select-modules.png b/doc/qtcreator-select-modules.png
new file mode 100644
index 0000000000..b5b2ead006
--- /dev/null
+++ b/doc/qtcreator-select-modules.png
Binary files differ
diff --git a/doc/qtcreator-setting-breakpoint1.png b/doc/qtcreator-setting-breakpoint1.png
new file mode 100644
index 0000000000..5a4a5d99ae
--- /dev/null
+++ b/doc/qtcreator-setting-breakpoint1.png
Binary files differ
diff --git a/doc/qtcreator-setting-breakpoint2.png b/doc/qtcreator-setting-breakpoint2.png
new file mode 100644
index 0000000000..668c46b8a6
--- /dev/null
+++ b/doc/qtcreator-setting-breakpoint2.png
Binary files differ
diff --git a/doc/qtcreator-task-list.png b/doc/qtcreator-task-list.png
new file mode 100644
index 0000000000..221d599939
--- /dev/null
+++ b/doc/qtcreator-task-list.png
Binary files differ
diff --git a/doc/qtcreator-textfinder-screenshot.png b/doc/qtcreator-textfinder-screenshot.png
new file mode 100644
index 0000000000..07f2c566ee
--- /dev/null
+++ b/doc/qtcreator-textfinder-screenshot.png
Binary files differ
diff --git a/doc/qtcreator-textfinder-ui.png b/doc/qtcreator-textfinder-ui.png
new file mode 100644
index 0000000000..2d6be91296
--- /dev/null
+++ b/doc/qtcreator-textfinder-ui.png
Binary files differ
diff --git a/doc/qtcreator-watcher.png b/doc/qtcreator-watcher.png
new file mode 100644
index 0000000000..8495e1c678
--- /dev/null
+++ b/doc/qtcreator-watcher.png
Binary files differ
diff --git a/doc/qtcreator.png b/doc/qtcreator.png
new file mode 100644
index 0000000000..93cc70137d
--- /dev/null
+++ b/doc/qtcreator.png
Binary files differ
diff --git a/doc/qtcreator.qch b/doc/qtcreator.qch
new file mode 100644
index 0000000000..00473f3458
--- /dev/null
+++ b/doc/qtcreator.qch
Binary files differ
diff --git a/doc/qtcreator.qdoc b/doc/qtcreator.qdoc
new file mode 100644
index 0000000000..d589d533ba
--- /dev/null
+++ b/doc/qtcreator.qdoc
@@ -0,0 +1,1153 @@
+/*!
+ \contentspage{index.html}{Qt Creator}
+ \page index.html
+ \nextpage qtcreator-quick-tour.html
+
+ \title Qt Creator Manual
+
+ \section1 Version 0.9 - Technical Preview
+
+ The goal of Qt Creator is to provide a cross-platform, complete Integrated
+ Development Environment (IDE) to develop Qt projects. It is available for
+ the Linux, Mac OS X and Windows platforms.
+
+ \note Qt Creator is currently released as a Technical Preview. It is
+ possible to edit source code, compile, run and debug applications; other
+ features are still under development. Please send bug reports and
+ suggestions to qt-creator@trolltech.com. To subscribe, send a
+ message with the word \e subscribe to qt-creator-request@trolltech.com.
+ For more information on Qt mailing lists, visit http://lists.trolltech.com
+
+ \table
+ \row
+ \o \inlineimage qtcreator.png
+ \o Qt Creator includes a wide range of useful features. Among them are:
+ \list 1
+ \o \bold{Qt4 Project Generating Wizard}: This wizard allows the user
+ to generate a project for a console application, a GUI application,
+ or a C++ library.
+ \o \bold{Qt Help Integration}: Qt's entire documentation can be
+ accessed easily by clicking on the \gui{Help} button.
+ \o \bold{Qt Designer Integration}: User interface forms can be designed
+ within Qt Creator. Simply double-click on a \c{.ui} file within the
+ \gui{Project Explorer} to launch the integration.
+ \o \bold{Navigation tools}: Powerful navigation tools let the user
+ navigate around files and classes with minimal keystrokes.
+ \o \bold{Support for qmake's .pro file format}: The project's \c{.pro}
+ file is used as a project description file.
+ \o \bold{Debugging Interface to GDB}: Applications can be debugged
+ within Qt Creator using a graphical frontend to the GNU symbolic
+ debugger.
+ \endlist
+ \endtable
+
+ To learn more about the Qt Creator, click on one of the links below:
+
+ \list
+ \o \l{A Quick Tour Around Qt Creator}
+ \o \l{Creating a Project in Qt Creator}
+ \o \l{Build Settings}
+ \o \l{Writing a Simple Program with Qt Creator}
+ \o \l{Quick Navigation}
+ \o \l{Debugging with Qt Creator}
+ \o \l{Tips and Tricks}
+ \o \l{Glossary}
+ \o \l{Known Issues for Version 0.9 (Technical Preview)}
+ \endlist
+
+*/
+
+/*!
+ \contentspage index.html
+ \page creator-quick-tour.html
+ \nextpage creator-build-settings.html
+
+ \title A Quick Tour Around Qt Creator
+
+ The labeled screenshot below shows some of the components of Qt Creator,
+ in \gui Edit mode.
+
+ \image qtcreator-breakdown.png
+
+ \seection1 The Mode Selectors
+
+ When working in Qt Creator, you can be in one of five modes: \bold Project,
+ \bold Edit, \bold Debug, \bold Help, and \bold Output.
+
+ Mode selectors allow you to quickly switch between tasks: Editing,
+ browsing the Qt manual, setting up the build environment, etc. You can
+ activate a mode by either clicking on its mode selector, or using the
+ \l{keyboard-shortcuts}{corresponding shortcut}. Certain actions also
+ trigger a mode change, e.g., \gui{Debug}/\gui{Start Debugging} will switch
+ to the \gui Debug mode.
+
+
+ \list
+
+ \o \gui{Welcome Mode} - Displays a welcome screen allowing you to quickly
+ load recent sessions or individual projects. This is the first mode
+ displayed if Qt Creator is run without command line switches.
+
+ \o \gui{Edit Mode} - You can edit both project and source files here. An
+ optional sidebar on the left provides different views to navigate between
+ files.
+
+ \o \gui{Debug Mode} - Provides various ways to inspect the state of the
+ program while debugging. See \l{qtcreator-debugging}{Debugging With Qt
+ Creator} for a hands-on description of the mode.
+
+ \o \gui{Build & Run Mode} - Lets you configure how projects can be built
+ and executed. Under the list of projects, there are tabs to configure the
+ build and run settings.
+
+ \o \gui{Help Mode} - Shows any documentation registered by Qt Assistant,
+ such as the Qt library and Qt Creator documentation.
+
+ \o \gui{Output Mode} - Lets you examine various logs in detail, for example
+ the task list, the compiler and application output. Some of these logs can
+ also be viewed in the output panes.
+
+ \endlist
+
+
+ \section1 The Output Panes
+
+ The task pane in Qt Creator can display one out of four different panes:
+ Task List, Search Results, Application Output, and Compile Output. These
+ panes are available in all modes.
+
+ \section2 Task List
+
+ The Task List provides a list of important tasks such as error messages
+ that need to be fixed. It filters out irrelevant output from the compiler
+ and collects them in the form of tasks.
+
+ \image qtcreator-task-list.png
+
+ \section2 Search Results
+
+ The Search Results pane displays the results for global searches such as
+ searching within a current document, files on disk, or all projects.
+ In the screenshot below, we searched for all occurrences of \c{textfinder}
+ within the "/TextFinder" folder.
+
+ \image qtcreator-search-pane.png
+
+ \section2 Application Output
+
+ This pane displays the status of the program when it is executed, as
+ well as debug output, for example, output from qDebug().
+
+ \image qtcreator-application-output.png
+
+ \section2 Compile Output
+
+ The Compile Output provides all the output from the compiler. In other
+ words, it is a more verbose version of the Task List.
+
+ \image qtcreator-compile-pane.png
+
+ \section1 Qt Help Integration
+
+ Qt Creator comes fully integrated with all of Qt's documentation and
+ examples via the Qt Help plugin. To view the documentation, you can switch
+ to the \gui{Help} mode. To obtain context sensitive help, move your text
+ cursor to a Qt class or function and press \key{F1}. The documentation
+ will be displayed within a panel on the right, as shown in the screenshot
+ below.
+
+ External Documentation provided by the user can be used to augment or
+ replace the documentation shipped with Qt Creator and Qt.
+
+ \image qtcreator-context-sensitive-help.png
+
+
+ \section1 Qt Designer Integration
+
+ Qt Creator is fully integrated with Qt Designer to help you design user
+ interface forms just like you would with the standalone version. The Qt
+ Designer integration also includes project management and code completion.
+
+ \image qtcreator-formedit.png
+
+
+ \section1 Keyboard Navigation
+
+ Even though Qt Creator can be used with a mouse, it also caters to the
+ needs of developers who are more comfortable with the keyboard. A wide
+ range of \l{keyboard-shortcuts}{keyboard} and \l{Quick Navigation}
+ {navigation} shortcuts are available to help speed up the process of
+ developing your application.
+*/
+
+/*!
+ \contentspage index.html
+ \previouspage creator-quick-tour.html
+ \page creator-build-settings.html
+ \nextpage creator-creating-project.html
+
+ \title Build Settings
+
+ \table
+ \row
+ \i \bold{Warning:} Qt Creator currently supports qmake only.
+ Makefile and CMake support is not yet available.
+ \endtable
+
+ To modify the build settings of your project, switch to the
+ \gui{Build & Run} mode using the mouse or by pressing \key{Ctrl+4}.
+
+ \image qtcreator-buildsettings.png
+
+ Action items to create, clone, or delete build configurations can be found
+ on the right of the dialog. You can have as many build configurations
+ as you need. By default Qt Creator creates a \bold{debug} and
+ \bold{release} build configuration. Both these configurations use the
+ \l{glossary-default-qt}{Default Qt Version}.
+
+ In the tree on the left, a list of build configurations and their settings
+ are displayed. The screenshot below shows the \bold{debug} and
+ \bold{release} configurations and their corresponding settings:
+ \bold{Build Environment} and \bold{Build Steps}.
+
+ \image qtcreator-buildsettingstab.png
+
+ When you select a build configuration in the tree, a configuration page for
+ general build settings will be displayed. Here you can specify which
+ \l{glossary-project-qt}{Qt version} to use to build your project, whether
+ to \l{glossary-shadow-build}{shadow build} the project, and if a special
+ debugging helper is linked into the project or not.
+
+ The debugging helper enables the gdb integration to show the contents of
+ Qt data types. Enabling this option means that an additional file will be
+ compiled and linked to your project.
+
+ \image qtcreator-buildenvironment.png
+
+ In the \bold{Build Environment} page you can specify the environment used
+ for building. By default the environment in which Qt Creator was started
+ is used and modified to include the Qt version. Depending on the selected
+ Qt version, Qt Creator will automatically add the necessary environment
+ variables.
+
+ \image qtcreator-buildsteps.png
+
+ The build system of Qt Creator is built on top of \c qmake and \c make. The
+ settings for \c qmake and \c make can be changed in the
+ \bold{Build Settings} page. Qt Creator will run the make command using the
+ correct Qt version.
+
+ \note The default qmake arguments \c{-after SOURCES*=gdbmacros.cpp
+ -after QT*=network} are due to the debugging helper described above. If the
+ debugging helper seems to break your build or your application, you can
+ turn it off. You will still be able to debug applications, but the contents
+ of Qt data types will not be displayed properly.
+
+
+ \section1 Qt Version Management
+
+ Qt Creator allows you to use multiple versions of Qt installed on your hard
+ disk and switch between them easily.
+
+ Qt Creator automatically detects if \c qmake is in the environment variable
+ \c PATH. This \l{glossary-system-qt}{version of Qt} is referred to as
+ \bold{System Qt}. If you intend to use only one version of Qt - it is
+ already in your path and correctly set up for command line usage - you do
+ not need to manually configure your Qt version.
+
+ Otherwise, you can add your Qt version in
+ \gui{Tools -> Options... -> Qt Versions}. If you are on the Windows
+ platform and use MinGW to compile Qt, you need to tell Qt Creator where
+ MinGW is installed. This is done by setting the \gui{MinGW Directory}
+ under \gui{Tools -> Options... -> Qt4 -> Qt Versions -> MinGw Directory}.
+ If your Qt version is compiled with Microsoft Visual C++'s compiler, Qt
+ Creator will automatically set the correct environment variables for
+ compilation.
+
+ \note By default projects are compiled with the
+ \l{glossary-default-qt}{default Qt version}. You can override this in the
+ \gui{Build Configuration}.
+*/
+
+/*!
+ \contentspage index.html
+ \previouspage creator-quick-tour.html
+ \page creator-creating-project.html
+ \nextpage creator-writing-program.html
+
+ \title Creating a Project in Qt Creator
+
+ \table
+ \row
+ \i \inlineimage qtcreator-new-project.png
+ \i \bold{Creating a New Project}
+
+ To create a new project, select \gui{New Project} from the \gui{File} menu.
+ You can create one of the following three projects:
+
+ \list
+ \o Qt4 Console Application
+ \o Qt4 Gui Application
+ \o C++ Library
+ \endlist
+
+ In this example, we select a \e{Qt4 Gui Application} and click \gui{OK}.
+
+ \row
+ \i \inlineimage qtcreator-intro-and-location.png
+ \i \bold{Setting The Project Name and Location}
+
+ Next, we set the project's name and its path. Click on the \gui{...}
+ button to browse and select your path.
+
+ Ideally, the path should not contain spaces or special characters.
+
+ \row
+ \i \inlineimage qtcreator-select-modules.png
+ \i \bold{Selecting The Necessary Qt Modules}
+
+ Click on the check boxes of each Qt Module you would like to include in
+ your project.
+
+ Since we started a Qt4 Gui Application, the Core and Gui modules are
+ set, but you are free to add more.
+
+ \row
+ \i \inlineimage qtcreator-class-info.png
+ \i \bold{Specifying Class Information}
+
+ Lastly, specify the name of the class you would like to create. The
+ \e{Header file}, \e{Source file} and \e{Form file} fields will update
+ themselves according to your choice of class name.
+
+ You also have to select the base class for your class, either a
+ QWidget, QDialog or QMainWindow, from the drop down box. Click
+ \gui{Done} and your project will be generated.
+
+ \endtable
+*/
+
+/*!
+ \contentspage index.html
+ \previouspage creator-creating-project.html
+ \page creator-writing-program.html
+ \nextpage creator-navigation.html
+
+ \title Writing a Simple Program with Qt Creator
+
+ \table
+ \row
+ \o \note This tutorial assumes that the user has experience writing
+ basic Qt applications, designing user interfaces with Qt Designer
+ and and using the Qt Resource System.
+ \endtable
+
+
+ In this example, we will describe the steps involve in using Qt Creator
+ to create a small Qt program, Text Finder. Inspired by the QtUiTools'
+ \l{http://doc.trolltech.com/uitools-textfinder.html}{Text Finder}
+ example, we will write a similar but simplified version of it, as shown
+ below.
+
+ \image qtcreator-textfinder-screenshot.png
+
+ \section1 Setting Up Your Environment
+
+ Once you have installed Qt Creator, it will automatically detect if Qt's
+ location is in your \c PATH variable. If Qt's location is not in your
+ \c PATH, you can set it in one of the following ways, depending on your
+ platform:
+
+ \list
+ \o On Windows and Linux: in the \gui{Tools} menu, under \gui{Options}.
+ \o On Mac OS X: in \gui{Preferences}, under \gui{Qt4}.
+ \endlist
+
+ \note If Qt was compiled with Visual Studio, all environment variables set
+ in Visual Studio will be added to Qt Creator as well.
+
+ \section1 Setting Up The Project
+
+ We begin with a Qt4 Gui Application project generated by Qt Creator. The
+ \l{Creating a Project in Qt Creator} document describes this process in
+ detail. Remember to select QWidget as the Text Finder's base class.
+
+ Once your project is generated, you will have the following files:
+
+ \list
+ \o \c{textfinder.h}
+ \o \c{textfinder.cpp}
+ \o \c{main.cpp}
+ \o \c{textfinder.ui}
+ \o \c{textfinder.pro}
+ \endlist
+
+ The \c{.h} and \c{.cpp} files come with the necessary boiler plate code;
+ the \c{.pro} file is also complete.
+
+ \section1 Filling In The Missing Pieces
+
+ We will begin by designing the user interface and then move on to filling
+ in the missing code. Finally, we will add the find functionality.
+
+ \section2 Designing the User Interface
+
+ To begin designing the user interface, double-click on the
+ \c{textfinder.ui} file in your \gui{Project Explorer}. This will launch the
+ integrated Qt Designer.
+
+ \image qtcreator-textfinder-ui.png
+
+ Design the form above using a QLabel, QLineEdit, QPushButton and a
+ QTextEdit. We recommend that you use a QGridLayout to lay out the QLabel,
+ QLineEdit and QPushButton. The QTextEdit can then be added to a
+ QVBoxLayout, along with the QGridLayout. If you are new to designing forms
+ with \QD, you can take a look at the
+ \l{http://doc.trolltech.com/designer-manual.html}{Designer Manual}.
+
+ \section2 The Header File
+
+ The \c{textfinder.h} file already has the necessary includes, a
+ constructor, a destructor, and the \c{Ui} object. We need to add a private
+ slot, \c{on_findButton_clicked()}, to carry out our find operation. We
+ also need a private function, \c{loadTextFile()}, to read and display the
+ contents of our input text file in the QTextEdit. This is done with the
+ following code:
+
+ \code
+ private slots:
+ void on_findButton_clicked();
+
+ private:
+ Ui::Form ui;
+ void loadTextFile();
+ \endcode
+
+ \note The \c{Ui::Form} object is already provided.
+
+ \section2 The Source File
+
+ Now that our header file is complete we move on to our source file,
+ \c{textfinder.cpp}. We begin by filling in the functionality to load a
+ text file. The code snippet below describes this:
+
+ \code
+ void TextFinder::loadTextFile()
+ {
+ QFile inputFile(":/input.txt");
+ inputFile.open(QIODevice::ReadOnly);
+
+ QTextStream in(&inputFile);
+ QString line = in.readAll();
+ inputFile.close();
+
+ ui.textEdit->setPlainText(line);
+ QTextCursor cursor = ui.textEdit->textCursor();
+ }
+ \endcode
+
+ Basically, we load a text file using QFile, read it with QTextStream, and
+ then display it on \c{textEdit} with \l{QTextEdit::}{setPlainText()}.
+
+ For the \c{on_findButton_clicked()} slot, we extract the search string and
+ use the \l{QTextEdit::}{find()} function to look for the search string
+ within the text file. The code snippet below further describes it:
+
+ \code
+ void TextFinder::on_findButton_clicked()
+ {
+ QString searchString = ui.lineEdit->text();
+ ui.textEdit->find(searchString, QTextDocument::FindWholeWords);
+ }
+ \endcode
+
+ Once we have both these functions complete, we call \c{loadTextFile()} in
+ our constructor.
+
+ \code
+ TextFinder::TextFinder(QWidget *parent, Qt::WFlags flags)
+ : QWidget(parent, flags)
+ {
+ ui.setupUi(this);
+ loadTextFile();
+ }
+ \endcode
+
+ The \c{on_findButton_clicked()} slot will be called automatically due to
+ this line of code:
+
+ \code
+ QMetaObject::connectSlotsByName(Form);
+ \endcode
+
+ in the uic generated \c{ui_textfinder.h} file.
+
+ \section2 The Resource File
+
+ We require a resource file (\c{.qrc}) within which we will embed the input
+ text file. This can be any \c{.txt} file with a paragraph of text. To add
+ a resource file, right click on \gui{Resource Files} in the
+ \gui{Project Explorer} and select \gui{Add New File...}. You will see the
+ wizard dialog displayed below.
+
+ \image qtcreator-add-resource-wizard.png
+
+ Enter "textfinder" in the \gui{Name} field and use the given \gui{Path}.
+ Then, click \gui{Done}.
+
+ Your resource file will now be displayed with the Resource Editor. Click
+ on the \gui{Add} drop down box and select \gui{Add Prefix}. The prefix we
+ require is just a slash (\c{/}). Click \gui{Add} again but this time,
+ select \gui{Add File}. Locate the text file you are going to use, we use
+ \c{input.txt}.
+
+ \image qtcreator-add-resource.png
+
+ The screenshot above shows what you can expect to see once you have added
+ the resource file successfully.
+
+ \section1 Compiling and Running Your Program
+
+ Now that you have all the necessary files, you can compile your program by
+ clicking on the
+ \inlineimage qtcreator-run.png
+ button.
+
+*/
+
+/*!
+ \contentspage index.html
+ \previouspage creator-writing-program.html
+ \page creator-navigation.html
+ \nextpage creator-debugging.html
+
+ \title Quick Navigation
+
+ With Qt Creator, navigating to different locations in your project or on
+ your disk, such as files, classes and methods, is trivial using the input
+ field at the bottom left of the application window.
+
+ ### SCREENSHOT
+
+ To open for example the file \c{main.cpp} of your project, click into the
+ input field (or use \key{Ctrl+K} to get there), type the file name, and
+ finally press the \key{Return} key. The file will open in the editor.
+ You can also type only a part of a file name, and use the wildcard
+ characters \c{*} and \c{?} which match \c{any number of any characters} and
+ \c{any single character}, respectively - you will get a list of all matching
+ files to choose from.
+
+ As mentioned above, files are not the only type of locations you can
+ jump to. The different types of locations are organized in what we
+ call \c{filters}. There are filters for jumping to
+ \list
+ \o files mentioned in your \c{.pro} files, such as source and header,
+ resource and \c{.ui} files,
+ \o a specific line in your current text document,
+ \o class and method definitions in your project or anywhere referenced
+ from your project,
+ \o help topics, including the Qt API reference documentation,
+ \o files anywhere on your hard disk (by browsing through the file system),
+ \o any open document,
+ \o files from a subdirectory structure you define.
+ \endlist
+ Some of these filters are not used by default if you just start typing in the
+ input field, but require you to type a "prefix" in front, that is
+ assigned to that filter. The prefix is usually a single character,
+ followed by a space. As an example, to jump to the definition of the class
+ \c{QDataStream} type \key{Ctrl+K}, \key{:}, \key{Space}, and the class name.
+ You find a full list of filters and their prefixes below.
+
+ \image qtcreator-navigate-popup.png
+
+ You can add filters that provide quick navigation to files in a
+ subdirectory structure that you define. This way you have quick access to
+ files that are not directly mentioned in your project, but still relate to it.
+ Click on the little magnifier glass in the input field and choose
+ \gui{Configure...} from the menu that appears. This opens the preferences
+ dialog for navigation filters. Click the \gui{Add} button to create a new
+ filter. Give it a name, choose directories, set (a comma separated list of)
+ file patterns, and give it a prefix string. After closing the preferences
+ dialog the directories you specified are searched for files that match the
+ file patterns, and the information is cached. From now on you can jump to
+ these files by just typing part of the file name into the navigation input
+ field. You can force an update of the cached information about the files via
+ the \gui{Refresh} menu item in the magnifier menu.
+
+ \image qtcreator-navigate-customfilter.png
+
+ The following table gives an overview on the currently available filters:
+
+ \table
+ \header
+ \o Function
+ \o Key Combination
+ \row
+ \o Go to a Line in the Current Document
+ \o Ctrl + K, l, Space, and the line number
+ \row
+ \o Go to a Function Definitions
+ \o Ctrl + K, :, Space, and the function name
+ \row
+ \o Go to a Help Topic
+ \o Ctrl + K, ?, Space, and the topic
+ \row
+ \o Go to an Already Opened Document
+ \o Ctrl + K, o, Space, and the document name.
+ \row
+ \o Go to a File in the File System (browsing the file system)
+ \o Ctrl + K, f, Space, and the file name.
+ \row
+ \o Go to a File in any Loaded Project
+ \o Ctrl + K, a, Space, and the function name.
+ \row
+ \o Go to a File in the Current Project
+ \o Ctrl + K, p, Space, and the function name.
+ \endtable
+*/
+
+
+/*!
+ \contentspage index.html
+ \previouspage creator-navigation.html
+ \page creator-debugging.html
+ \nextpage creator-tips.html
+
+ \title Debugging With Qt Creator
+
+ \table
+ \row
+ \i \note Qt Creator's debugger integration currently does not
+ support debugging applications created with the Microsoft Visual
+ Studio Compiler.
+ \endtable
+
+ Qt Creator does not have its own debugger. Instead, it provides a graphical
+ frontend to the GNU Symbolic Debugger (gdb). This frontend allows you to
+ step through a program line-by-line or instruction-by-instruction,
+ interrupt running programs, set breakpoints, examine the contents of the
+ call stack, local and global variables, etc.
+
+
+ Within Qt Creator, the raw information provided by gdb is displayed in a
+ clear and concise manner, simplifying the process of debugging.
+
+ In addition to generic IDE functionality: stack view, views for locals and
+ watchers, registers, etc, Qt Creator comes with additional features to make
+ debugging Qt-based applications easy. The debugger frontend knows about the
+ internal layout of several Qt classes such as QString, the QTL containers,
+ and most importantly QObject (and classes derived from it). Therefore, it
+ is able to present Qt's data clearly.
+
+
+ \section1 Interacting with the Debugger
+
+ In \gui Debug mode, several dock widgets are used to interact with the
+ program you are debugging. The frequently used dock widgets are visible by
+ default; the rarely used ones are hidden. To change the default settings,
+ select \gui Debug and then select \gui View.
+
+ ####SCREENSHOT
+
+ Here, you can lock or unlock the location of your views as well as display
+ or hide them. Among the views you can display are \gui Breakpoints,
+ \gui Disassembler, \gui Modules, \gui Registers, \gui Gdb, \gui Stack, and
+ \gui Thread. The position of your dock widgets will be saved for future
+ sessions.
+
+
+ \section2 Breakpoints
+
+ Breakpoints are shown in the \gui{Breakpoints} view which is enabled by
+ by default. This view is also accessible when the debugger and the program
+ being debugged is not running.
+
+ A breakpoint represents a position or sets of positions in the code that,
+ when executed, stops the program being debugged and passing the control to
+ the user. The user is then free to examine the state of the interrupted
+ program, or continue execution line-by-line or continuously.
+
+ Typically, breakpoints are associated with a source code file and line, or
+ the start of a function -- both allowed in Qt Creator.
+
+ Also, the interruption of a program by a breakpoint can be restricted with
+ certain conditions.
+
+ You can set a breakpoint:
+
+ \list
+ \o At a particular line you want the program to stop -- click on the
+ left margin or press \key F9 (\key F8 for Mac Os X).
+ \o At the name of a function that you want the program to stop -- enter
+ the function's name in \gui{Set Breakpoint at Function...} under the
+ \gui Debug menu.
+ \endlist
+
+ You can remove a breakpoint:
+
+ \list
+ \o By clicking on the breakpoint marker in the text editor.
+ \o By selecting the breakpoint in the breakpoint view and pressing
+ \key{Delete}.
+ \o By selecting \gui{Delete Breakpoint} from the breakpoint's context
+ menu in the \gui Breakpoints view.
+ \endlist
+
+ Breakpoints can be set and deleted before the program has actually started
+ running or while it is running under the debugger's control. Also,
+ breakpoints are saved together with a session.
+
+
+ \section2 Running
+
+ To start a program under the debugger's control, select the \gui{Debug}
+ menu and \gui{Start Debugging}, or simply press \key{F5}. Qt Creator then
+ checks whether the compiled program is up-to-date, rebuilding it if
+ necessary. The debugger then takes over and starts the program.
+
+ \note Starting a program in the debugger will take considerable amount of
+ time, typically in the range of several seconds to minutes if complex
+ features (like QtWebKit) are used.
+
+ Once the program starts running, it behaves as usual; performance-wise as
+ well. The user can interrupt a running program by selecting
+ \gui {Interrupt} from the \gui{Debug} menu. The program is automatically
+ interrupted as soon as a breakpoint is hit.
+
+ \omit (and, if set, its associated conditions are met). \endomit
+
+ Once the program stops, Qt Creator:
+
+ \list
+ \o Retrieves data representing the call stack at the program's current
+ position.
+ \o Retrieves the contents of local variables.
+ \o Examines \gui Watchers.
+ \o Updates the \gui Registers, \gui Modules, and \gui Disassembler
+ views.
+ \endlist
+
+
+ You can use the debugger views to examine the data in more detail.
+
+ To finish debugging, Press \key{Shift+F5}. A line of code can be executed
+ as a whole with \key F10; to execute a function or a sub-function, use
+ \key F11. Alternatively, you can continue running the program with \key F5.
+
+ ###REWORD
+ There is also the possibility to continue execution until the current
+ function finishes, or, for advanced use, to jump to an arbitrary
+ possition in the current function.
+
+
+ \section2 Stack
+
+ When the program being debugged is stopped, Qt Creator displays the nested
+ function calls leading to the current position as a \e call stack trace.
+ This stack trace is built up from \e call stack frames, each representing a
+ particular function. For each function, Qt Creator will try to retrieve the
+ file name and line number of the corresponding source files. This data is
+ shown in the \gui Stack view.
+
+ Since the call stack leading to the current position may originate or go
+ through code for which no debug information is available, not all stack
+ frames will have corresponding source locations. These frames will be
+ greyed out in the \gui Stack view.
+
+ ###SCREENSHOT
+
+
+ If you click on a frame with a known source location, the text editor will
+ jump to the corresponding location and update the \gui{Locals and Watchers}
+ view, making it seem like the program stopped before entering the function.
+
+
+ \section2 Threads
+
+
+ The \gui Thread view displays the state of the program being debugged one
+ thread at a time. If a multi-threaded program is stopped, the \gui Thread
+ view or the combobox named \gui Thread in the debugger's status bar can
+ be used to switch from one thread to another. The \gui Stack view will
+ adjust itself accordingly.
+
+
+ \section2 Locals and Watchers
+
+ Whenever a program stops under the control of the debugger, it retrieves
+ information about the topmost stack frame and displays it in the
+ \gui{Locals and Watchers} view. This typically includes information about
+ parameters of the function in that frame as well as the local variables.
+
+ Compound variables of struct or class type will be displayed as
+ "expandable" in the view. C lick on the "+" to expand the entry and show
+ all members. Together with the display of value and type, the user can
+ examine and traverse the low-level layout of an object's data.
+
+
+ \table
+ \row
+ \i \bold{Note:}
+ \i Gdb, and therefore Qt Creator's debugger works for optimized builds
+ on Linux and Mac OS X. However, optimization may lead to re-ordering of
+ instructions or sometimes even complete removal of some local variables.
+ In this case, the \gui{Locals and Watchers} view may show unexpected data.
+ \endtable
+
+ \note
+
+ \bold{Note:} The debug information provided by gcc does not include
+ enough information about the time at which a variable is initialized.
+ Qt Creator therefore can not tell whether the contents of a local
+ variable contains "real data", or "initial noise". If an QObject
+ appears uninitialized, its value will be reported as "out of scope".
+ Not all uninitialized objects can be recognized as such, though.
+
+ The \gui{Locals and Watchers View} also gives accesst to the most powerful
+ feature of the Qt Creator Debugger: The comprehensive display of data
+ of objects of some of Qt's basic classes.
+
+ To start using that feature, select \gui{Debug} and \gui{Use Custom
+ Display for Qt Objects}. The \gui{Locals and Watchers View} will
+ be re-organized to give a more high-level view of the objects
+ in question. So instead of displaying a pointer to some private
+ data structure in case of QObject, a list of children, signals
+ and slots will be shown.
+
+ Similarily, instead of showing a bunch of pointers and ints,
+ a QHash or QMap will display its contents in an orderly fashion,
+ a QFileInfo will expose e.g. access data, and the otherwise
+ "opaque" QVariant gives access to the "real" contents.
+
+ The \gui{Locals and Watchers View} can be used to change the
+ contents of variables of simple data types like int or float
+ while the program is stopped. To do so, click into the 'Value'
+ column, modify the value there, and hit \key{Return}.
+
+
+
+ \section2 Modules
+
+ The \gui{Modules View} is hidden by default and only useful in
+ connection with the experimental feature of delayed debug
+ information loading. This feature is accessible by selecting
+ \gui{Debug} and \gui{Fast Debugger Start}. When using the
+ feature, debug information coming from the Qt library itself
+ are not loaded on application startup, thereby reducing the
+ startup times for some applications. The \gui{Modules View}
+ can then be used to load this information manually if needed.
+ Note that the debugger may fail to set some breakpoints in
+ this scenarios.
+
+ \section2 Disassembler View and Registers View
+
+ Both the \gui{Disassembler View} and \gui{Registers View} are hidden
+ by default. The former shows the disassembled code of the current
+ function, the latter the current state of the CPU registers.
+ Both views are mainly useful in connection with the low-level
+ \gui{Step single instruction} and \gui{Step over single instruction}
+ commands
+
+
+
+ \section1 A short walk through the debugger frontend
+
+ In our \l{Writing a Simple Program with Qt Creator}{TextFinder}
+ example, we read a text file into a QString and then display it with a
+ QTextEdit. Suppose, you would like to look at this QString, \c{line},
+ and see what data it actually stores. Follow the steps described below
+ to place a break point and view the QString object's data.
+
+ \table
+ \row
+ \i \inlineimage qtcreator-setting-breakpoint1.png
+ \i \bold{Setting a Breakpoint}
+
+ First, we set a breakpoint on the line where we invoke
+ \l{QTextEdit::}{setPlainText()} by clicking between the line number and
+ the window border. Then, select \gui{Start Debugging} from the
+ \gui{Debug} menu or press \key{F5}.
+ \endtable
+
+ Breakpoints are visible in the \gui{Breakpoints} view, shown below, in
+ \gui{Debug} mode. If you wish to remove a breakpoint, simply right
+ click on it and select \gui{Delete breakpoint} from the context menu.
+
+ \image qtcreator-setting-breakpoint2.png
+
+ To view the contents of \c{line}, take a look at the \gui{Locals and
+ Watchers} view.
+
+ \image qtcreator-watcher.png
+
+ Suppose we modify our \c{on_findButton_clicked()} function to move back
+ to the start of the document and continue searching once the cursor
+ hits the end of the document. Adding this functionality can be done
+ with the code snippet below:
+
+ \code
+ void TextFinder::on_findButton_clicked()
+ {
+ QString searchString = ui.lineEdit->text();
+
+ QTextDocument *document = ui.textEdit->document();
+ QTextCursor cursor = ui.textEdit->textCursor();
+ cursor = document->find(searchString, cursor,
+ QTextDocument::FindWholeWords);
+ ui.textEdit->setTextCursor(cursor);
+
+ bool found = cursor.isNull();
+
+ if (!found && previouslyFound == true) {
+ int ret = QMessageBox::question(this, tr("End of Document"),
+ tr("I have reached the end of the document. Would you like "
+ "me to start searching from the beginning of the document?"),
+ QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
+
+ if (ret == QMessageBox::Yes) {
+ cursor = document->find(searchString,
+ QTextDocument::FindWholeWords);
+ ui.textEdit->setTextCursor(cursor);
+ } else
+ return;
+ }
+ previouslyFound = found;
+ }
+ \endcode
+
+ However, if you compile and run this code, the application will not
+ work correctly due to a logic error. To locate this logic error, you
+ can step through the code using the following buttons:
+
+ \image qtcreator-debugging-buttons.png
+*/
+
+
+/*!
+ \contentspage index.html
+ \previouspage creator-debugging.html
+ \page creator-tips.html
+ \nextpage creator-glossary.html
+
+ \title Tips and Tricks
+
+ \bold{Quick mode switch}
+
+ You can quickly switch between modes by pressing \key{Ctrl+1},
+ \key{Ctrl+2}, etc.
+
+ \bold{Other keyboard shortcuts}
+
+ There are a lot of other \l{keyboard-shortcuts}{keyboard shortcuts}.
+
+ \bold{Command line}
+
+ You can start Qt Creator from a command prompt with an already
+ existing session or \c{.pro} file by giving the name as argument on the
+ command line.
+
+ \bold{Sidebar}
+
+ You can hide/unhide the sidebar in the edit and debug mode
+ by clicking on the corresponding icon on the left bottom.
+ Keyboard shortcut is \key{Alt+0}.
+
+ \bold{Display signals and slots}
+
+ If you have an instance of a class derived from QObject and
+ want to find all other objects connected to one of its
+ slots by Qt's signals-and-slots mechanism, enable
+ \gui{Debug} and \gui{Use Custom Display for Qt Objects}.
+ In the \gui{Locals and Watchers View}, expand the object's
+ entry and open the wanted slot in the "slots" subitem. The
+ objects connect to this slot are exposed as children of
+ this slot. The same works with signals.
+
+ \bold{Low level display}
+
+ If the special debugging of Qt objects fails due to data
+ corruption within the debugged objects, you can switch the
+ special debugging off in the \gui{Debug} menu. This will make
+ the low-level structures visible again.
+*/
+
+/*!
+ \contentspage index.html
+ \previouspage creator-tips.html
+ \page creator-glossary.html
+ \nextpage creator-known-issues.html
+
+ \title Glossary
+
+ \bold{System Qt}
+
+ \target glossary-system-qt
+ The version of Qt installed on your system.
+ This is the one whose \c qmake command is found in the \c PATH.
+
+ \bold{Default Qt}
+
+ \target glossary-default-qt
+ The version of Qt configured in \gui{Tools
+ -> Options -> Qt 4 -> Default Qt Version}. This is the version
+ used by new projects. It defaults to the System Qt.
+
+ \bold{Project Qt}
+
+ \target glossary-project-qt
+ The version of Qt configured in \gui{Build&Run
+ -> Build Settings -> Build Configurations}. This is the version
+ actually used by the project. It defaults to the Default Qt.
+
+ \bold{Shadow Build}
+
+ \target glossary-shadow-build
+ Shadow building means building the project not in the source directory,
+ but in a seperate \bold{build directory}. This has the benefit of keeping
+ the source directory clean. It is also considered "best practice" if
+ you need many build configurations for a single set of sources.
+
+*/
+
+/*!
+ \contentspage index.html
+ \previouspage creator-glossary.html
+ \page creator-keyboard-shortcuts.html
+
+ \title Keyboard Shortcuts
+
+ Qt Creator provides various keyboard shortcuts to aid in the development
+ process. These shortcuts are listed in the table below:
+
+ \table
+ \header
+ \o Function
+ \o Key Combination
+ \row
+ \o Activate Build & Run Mode
+ \o Ctrl + 4
+ \row
+ \o Activate Debug Mode
+ \o Ctrl + 3
+ \row
+ \o Activate Edit Mode
+ \o Ctrl + 2
+ \row
+ \o Activate Help Mode
+ \o Ctrl + 5
+ \row
+ \o Activate Output Mode
+ \o Ctrl + 6
+ \row
+ \o Activate Welcome Mode
+ \o Ctrl + 1
+ \row
+ \o Find
+ \o Ctrl + F
+ \row
+ \o Find Next
+ \o F3
+ \row
+ \o Go back to Code Editor (May require more than one press)
+ \o Esc
+ \row
+ \o Go to a Line
+ \o Ctrl + L
+ \row
+ \o Start Debugging
+ \o F5
+ \row
+ \o Stop Debugging
+ \o Shift + F5
+ \row
+ \o Toggle Application Output
+ \o Alt + 3
+ \row
+ \o Toggle Code Declaration and Definition
+ \o F2
+ \row
+ \o Toggle Header File and Source File
+ \o F4
+ \row
+ \o Toggle Side Bar
+ \o Alt + 0
+ \row
+ \o Toggle Task List
+ \o Alt + 1
+ \row
+ \o Toggle Search Results
+ \o Alt + 2
+ \row
+ \o Toggle Compile Output
+ \o Alt + 4
+ \row
+ \o Select Welcome Mode
+ \o Ctrl + 1
+ \row
+ \o Select Edit Mode
+ \o Ctrl + 2
+ \row
+ \o Select Debug Mode
+ \o Ctrl + 3
+ \row
+ \o Select Build & Run Mode
+ \o Ctrl + 4
+ \row
+ \o Select Help Mode
+ \o Ctrl + 5
+ \row
+ \o Select Output Mode
+ \o Ctrl + 6
+ \endtable
+*/
+
+/*!
+ \contentspage index.html
+ \previouspage creator-keyboard-shortcuts.html
+ \page creator-known-issues.html
+
+ \title Known Issues of Version 0.9 (Technical Preview)
+
+ There are some known issues with the Technical Preview.
+ The development team is aware of those, there is no need to report them as bug.
+
+ \list
+ \o The central editor sometimes loses it "changed" status marker.
+
+ \o There is a kernel bug essentially making debugging unreliable
+ on 2.6.24 kernels for i386 (which is, unfortunately, the default
+ on Ubuntu 8.04).
+ See \l{https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/230315/}
+ for details.
+ The only solution for this problem is to boot another kernel.
+
+ \o gdb sometimes takes very long to load debugging symbol,
+ especially from big libraries like libQtWebKit. Starting debugging
+ can take up to several minutes without visible progress.
+
+ \o Paths or file names containing spaces or special characters like colons,
+ dollar signs, hash marks etc. may create difficulties.
+ Some of the tools Qt Creator uses in the background to do the "real
+ work" have restrictions on the characters that are allowed in file
+ and directory names. To be on the safe side, it is strongly
+ recommended to create projects and project items only with names
+ consisting of plain characters, numbers, underscores, and hyphens.
+
+ \o \c .pro files are reformatted if files are added/removed.
+ Whitespace is not preserved.
+
+ \o No IDE support for adding files to include (\c .pri) files.
+
+ \o No IDE support for adding/removing sub-projects.
+ Project hierarchies (SUBDIRS template) have to be created by hand.
+
+ \o The file system sidebar does not update automatically.
+ As a workaround you can switch to another directory and then back.
+
+ \o The resource system of the embedded version of Qt Designer
+ does not interact with the project management.
+
+ \o Loading KDE4 designer plugins breaks the style, due to a bug in KDE.
+ \endlist
+*/
+
diff --git a/doc/qtcreator.qdocconf b/doc/qtcreator.qdocconf
new file mode 100644
index 0000000000..4cc07d2dc7
--- /dev/null
+++ b/doc/qtcreator.qdocconf
@@ -0,0 +1,205 @@
+# Run qdoc from the directory that contains this file.
+
+project = qtcreator
+description = "Qt Creator Manual"
+
+headerdirs =
+sourcedirs =
+sourcedirs = $SRCDIR
+imagedirs = $SRCDIR
+outputdir = $OUTDIR
+
+extraimages.HTML = qt-logo \
+ trolltech-logo
+
+sources.fileextensions = "qtcreator.qdoc"
+
+
+qhp.projects = QtCreator
+qhp.QtCreator.file = qtcreator.qhp
+qhp.QtCreator.namespace = com.nokia.qtcreator.09
+qhp.QtCreator.virtualFolder = doc
+qhp.QtCreator.indexTitle = Qt Creator
+qhp.QtCreator.indexRoot =
+qhp.QtCreator.extraFiles = classic.css \
+ images/qt-logo.png
+qhp.QtCreator.filterAttributes = qtcreator 0.9
+qhp.QtCreator.customFilters.QtCreator.name = Qt Creator 0.9
+qhp.QtCreator.customFilters.QtCreator.filterAttributes = qtcreator 0.9
+
+# macros.qdocconf
+
+macro.aring.HTML = "&aring;"
+macro.Auml.HTML = "&Auml;"
+macro.author = "\\bold{Author:}"
+macro.br.HTML = "<br />"
+macro.BR.HTML = "<br />"
+macro.aacute.HTML = "&aacute;"
+macro.eacute.HTML = "&eacute;"
+macro.iacute.HTML = "&iacute;"
+macro.gui = "\\bold"
+macro.hr.HTML = "<hr />"
+macro.key = "\\bold"
+macro.menu = "\\bold"
+macro.note = "\\bold{Note:}"
+macro.oslash.HTML = "&oslash;"
+macro.ouml.HTML = "&ouml;"
+macro.QA = "\\e{Qt Assistant}"
+macro.QD = "\\e{Qt Designer}"
+macro.QL = "\\e{Qt Linguist}"
+macro.param = "\\e"
+macro.raisedaster.HTML = "<sup>*</sup>"
+macro.reg.HTML = "<sup>&reg;</sup>"
+macro.return = "Returns"
+macro.starslash = "\\c{*/}"
+macro.uuml.HTML = "&uuml;"
+macro.mdash.HTML = "&mdash;"
+
+# compat.qdocconf
+
+alias.i = e
+alias.include = input
+
+macro.0 = "\\\\0"
+macro.b = "\\\\b"
+macro.n = "\\\\n"
+macro.r = "\\\\r"
+macro.i = "\\o"
+macro.i11 = "\\o{1,1}"
+macro.i12 = "\\o{1,2}"
+macro.i13 = "\\o{1,3}"
+macro.i14 = "\\o{1,4}"
+macro.i15 = "\\o{1,5}"
+macro.i16 = "\\o{1,6}"
+macro.i17 = "\\o{1,7}"
+macro.i18 = "\\o{1,8}"
+macro.i19 = "\\o{1,9}"
+macro.i21 = "\\o{2,1}"
+macro.i31 = "\\o{3,1}"
+macro.i41 = "\\o{4,1}"
+macro.i51 = "\\o{5,1}"
+macro.i61 = "\\o{6,1}"
+macro.i71 = "\\o{7,1}"
+macro.i81 = "\\o{8,1}"
+macro.i91 = "\\o{9,1}"
+macro.img = "\\image"
+macro.endquote = "\\endquotation"
+
+spurious = "Missing comma in .*" \
+ "Missing pattern .*"
+
+# Doxygen compatibility commands
+
+macro.see = "\\sa"
+macro.function = "\\fn"
+
+# qt-cpp-ignore.qdocconf
+
+Cpp.ignoretokens = QAXFACTORY_EXPORT \
+ QDESIGNER_COMPONENTS_LIBRARY \
+ QDESIGNER_EXTENSION_LIBRARY \
+ QDESIGNER_SDK_LIBRARY \
+ QDESIGNER_SHARED_LIBRARY \
+ QDESIGNER_UILIB_LIBRARY \
+ QM_EXPORT_CANVAS \
+ QM_EXPORT_DNS \
+ QM_EXPORT_DOM \
+ QM_EXPORT_FTP \
+ QM_EXPORT_HTTP \
+ QM_EXPORT_ICONVIEW \
+ QM_EXPORT_NETWORK \
+ QM_EXPORT_OPENGL \
+ QM_EXPORT_SQL \
+ QM_EXPORT_TABLE \
+ QM_EXPORT_WORKSPACE \
+ QM_EXPORT_XML \
+ QT_ASCII_CAST_WARN \
+ QT_ASCII_CAST_WARN_CONSTRUCTOR \
+ QT_BEGIN_HEADER \
+ QT_DESIGNER_STATIC \
+ QT_END_HEADER \
+ QT_FASTCALL \
+ QT_WIDGET_PLUGIN_EXPORT \
+ Q_COMPAT_EXPORT \
+ Q_CORE_EXPORT \
+ Q_EXPLICIT \
+ Q_EXPORT \
+ Q_EXPORT_CODECS_CN \
+ Q_EXPORT_CODECS_JP \
+ Q_EXPORT_CODECS_KR \
+ Q_EXPORT_PLUGIN \
+ Q_GFX_INLINE \
+ Q_GUI_EXPORT \
+ Q_GUI_EXPORT_INLINE \
+ Q_GUI_EXPORT_STYLE_CDE \
+ Q_GUI_EXPORT_STYLE_COMPACT \
+ Q_GUI_EXPORT_STYLE_MAC \
+ Q_GUI_EXPORT_STYLE_MOTIF \
+ Q_GUI_EXPORT_STYLE_MOTIFPLUS \
+ Q_GUI_EXPORT_STYLE_PLATINUM \
+ Q_GUI_EXPORT_STYLE_POCKETPC \
+ Q_GUI_EXPORT_STYLE_SGI \
+ Q_GUI_EXPORT_STYLE_WINDOWS \
+ Q_GUI_EXPORT_STYLE_WINDOWSXP \
+ QHELP_EXPORT \
+ Q_INLINE_TEMPLATE \
+ Q_INTERNAL_WIN_NO_THROW \
+ Q_NETWORK_EXPORT \
+ Q_OPENGL_EXPORT \
+ Q_OUTOFLINE_TEMPLATE \
+ Q_SQL_EXPORT \
+ Q_SVG_EXPORT \
+ Q_SCRIPT_EXPORT \
+ Q_TESTLIB_EXPORT \
+ Q_TYPENAME \
+ Q_XML_EXPORT \
+ Q_XMLSTREAM_EXPORT \
+ Q_XMLPATTERNS_EXPORT \
+ QDBUS_EXPORT \
+ QT_BEGIN_NAMESPACE \
+ QT_BEGIN_INCLUDE_NAMESPACE \
+ QT_END_NAMESPACE \
+ QT_END_INCLUDE_NAMESPACE \
+ PHONON_EXPORT \
+ EXTENSIONSYSTEM_EXPORT
+Cpp.ignoredirectives = Q_DECLARE_HANDLE \
+ Q_DECLARE_INTERFACE \
+ Q_DECLARE_METATYPE \
+ Q_DECLARE_OPERATORS_FOR_FLAGS \
+ Q_DECLARE_PRIVATE \
+ Q_DECLARE_PUBLIC \
+ Q_DECLARE_SHARED \
+ Q_DECLARE_TR_FUNCTIONS \
+ Q_DECLARE_TYPEINFO \
+ Q_DISABLE_COPY \
+ QT_FORWARD_DECLARE_CLASS \
+ Q_DUMMY_COMPARISON_OPERATOR \
+ Q_ENUMS \
+ Q_FLAGS \
+ Q_INTERFACES \
+ __attribute__ \
+ K_DECLARE_PRIVATE \
+ PHONON_OBJECT \
+ PHONON_HEIR
+
+
+
+HTML.stylesheets = classic.css
+HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n" \
+ "<tr>\n" \
+ "<td align=\"left\" valign=\"top\" width=\"32\">" \
+ "<img src=\"images/qt-logo.png\" align=\"left\" width=\"32\" height=\"32\" border=\"0\" />" \
+ "</td>\n" \
+ "<td width=\"1\">&nbsp;&nbsp;</td>" \
+ "<td class=\"postheader\" valign=\"center\">" \
+ "<a href=\"qtcreator-manual.html\">" \
+ "<font color=\"#004faf\">Home</font></a>" \
+ "</td>\n" \
+ "<td align=\"right\" valign=\"top\" width=\"230\"></td></tr></table><br>"
+
+HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
+ "<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
+ "<td width=\"30%\" align=\"left\">Copyright &copy; 2008 Nokia</td>\n" \
+ "<td width=\"40%\" align=\"center\">&nbsp;</td>\n" \
+ "<td width=\"30%\" align=\"right\"><div align=\"right\">Qt Creator 0.9</div></td>\n" \
+ "</tr></table></div></address>"
diff --git a/doc/runframework.dia b/doc/runframework.dia
new file mode 100644
index 0000000000..5ecb76d917
--- /dev/null
+++ b/doc/runframework.dia
Binary files differ
diff --git a/doc/trolltech-logo.png b/doc/trolltech-logo.png
new file mode 100644
index 0000000000..19e3789d50
--- /dev/null
+++ b/doc/trolltech-logo.png
Binary files differ
diff --git a/doc/workbench.qdoc b/doc/workbench.qdoc
new file mode 100644
index 0000000000..033b1ae7d4
--- /dev/null
+++ b/doc/workbench.qdoc
@@ -0,0 +1,98 @@
+/*!
+ \page index.html
+ \title Workbench
+
+ Workbench is Trolltech's crossplatform IDE. The core of Workbench is
+ basically only a \l{Plugin Loader Framework}{plugin loader} comparable to
+ Eclipse. All major functionality is then added via plugins. The plugins
+ necessary for a full IDE will be provided by Trolltech, possible addons or
+ replacements of existing plugins can be provided by anyone. This means that
+ there will be a place where plugins can be shared.
+
+ The main features of Workbench are:
+
+ \list
+ \o Fast since it's written in C++
+ \o Easy and fast to use (the entire IDE can be controlled via short cuts)
+ \o Highly extensible
+ \o Integrated C++ language support, i.e. code completion, class browser, ...
+ \o Integrated debugger framework and outstanding support for gdb
+ \o Integrated Qt Designer
+ \o Qtopia Integration
+ \endlist
+
+ \section1 Plugins
+
+ As already mentioned, Workbench is basically only a plugin loader framework
+ which gets its IDE functionality through plugins. The most important plugin
+ is the QWorkbench plugin which provides all the basic functionality needed
+ later to integrate e.g. editors or tool windows.
+
+ \table
+ \header
+ \o Plugin Name
+ \o Description
+
+ \row
+ \o \l{QWorkbench Plugin} {QWorkbench}
+ \o The core plugin. Provides the main window and managers for editors,
+ actions, tool windows and files, just to mention the most important ones.
+
+ \endtable
+
+*/
+
+/*!
+ \page classes.html
+ \title Workbench Classes and Namespaces
+
+ \section1 Classes
+
+ \generatelist classes
+
+ \section1 Namespaces
+
+ \generatelist{namespaces}
+*/
+
+/*!
+ \page interfaces.html
+ \title Interfaces
+ \generatelist mainclasses
+
+*/
+
+/*!
+ \page functions.html
+ \title Member Function Index
+ \generatelist functionindex
+*/
+
+/*!
+ \group pluginloader
+
+ \title Plugin Loader Framework
+*/
+
+/*!
+ \group qwb
+
+ \title QWorkbench Plugin
+*/
+
+/*!
+ \namespace Trolltech
+*/
+
+/*!
+ \namespace Trolltech::QWorkbench
+*/
+
+/*!
+ \namespace Trolltech::QWorkbench::Internal
+ \brief Classes that manage and control internal features of the workbench environment.
+*/
+
+/*!
+ \namespace ExtensionSystem
+*/
diff --git a/doc/workbench.qtdocconf b/doc/workbench.qtdocconf
new file mode 100644
index 0000000000..7a82c2aac6
--- /dev/null
+++ b/doc/workbench.qtdocconf
@@ -0,0 +1,147 @@
+project = Workbench
+description = Workbench SDK Documentation
+
+language = Cpp
+
+headerdirs = . \
+ ../src/libs/extensionsystem \
+ ../src/plugins/core \
+ ../src/plugins/core/actionmanager
+
+sourcedirs = . \
+ ../src/libs/extensionsystem \
+ ../src/plugins/core \
+ ../src/plugins/core/actionmanager
+
+headers.fileextesnions = "*.h"
+sources.fileextensions = "*.cpp *.qdoc"
+
+imagedirs = .
+
+indexes = $QTDIR/doc/html/qt.index
+
+outputdir = ./html
+base = file:./html
+versionsym = 1.0.0
+defines = Q_QDOC \
+ QT_.*_SUPPORT \
+ QT_.*_LIB \
+ QT_COMPAT \
+ QT_KEYPAD_NAVIGATION \
+ QT3_SUPPORT \
+ Q_WS_.* \
+ Q_OS_.* \
+ Q_BYTE_ORDER \
+ __cplusplus
+
+codeindent = 1
+extraimages.HTML = qt-logo \
+ trolltech-logo
+
+macro.br.HTML = "<br />"
+macro.QD = "\\e{Qt Designer}"
+macro.QA = "\\e{Qt Assistant}"
+macro.eacute.HTML = "&eacute;"
+macro.aring.HTML = "&aring;"
+macro.oslash.HTML = "&oslash;"
+macro.ouml.HTML = "&ouml;"
+macro.Auml.HTML = "&Auml;"
+macro.uuml.HTML = "&uuml;"
+macro.starslash = "\\c{*/}"
+
+Cpp.ignoretokens = QAXFACTORY_EXPORT \
+ QDESIGNER_COMPONENTS_LIBRARY \
+ QDESIGNER_EXTENSION_LIBRARY \
+ QDESIGNER_SDK_LIBRARY \
+ QDESIGNER_SHARED_LIBRARY \
+ QDESIGNER_UILIB_LIBRARY \
+ QM_EXPORT_CANVAS \
+ QM_EXPORT_DNS \
+ QM_EXPORT_DOM \
+ QM_EXPORT_FTP \
+ QM_EXPORT_HTTP \
+ QM_EXPORT_ICONVIEW \
+ QM_EXPORT_NETWORK \
+ QM_EXPORT_OPENGL \
+ QM_EXPORT_SQL \
+ QM_EXPORT_TABLE \
+ QM_EXPORT_WORKSPACE \
+ QM_EXPORT_XML \
+ QT_ASCII_CAST_WARN \
+ QT_BEGIN_HEADER \
+ QT_DESIGNER_STATIC \
+ QT_END_HEADER \
+ QT_WIDGET_PLUGIN_EXPORT \
+ Q_COMPAT_EXPORT \
+ Q_CORE_EXPORT \
+ Q_EXPLICIT \
+ Q_EXPORT \
+ Q_EXPORT_CODECS_CN \
+ Q_EXPORT_CODECS_JP \
+ Q_EXPORT_CODECS_KR \
+ Q_EXPORT_PLUGIN \
+ Q_GFX_INLINE \
+ Q_GUI_EXPORT \
+ Q_GUI_EXPORT_INLINE \
+ Q_GUI_EXPORT_STYLE_CDE \
+ Q_GUI_EXPORT_STYLE_COMPACT \
+ Q_GUI_EXPORT_STYLE_MAC \
+ Q_GUI_EXPORT_STYLE_MOTIF \
+ Q_GUI_EXPORT_STYLE_MOTIFPLUS \
+ Q_GUI_EXPORT_STYLE_PLATINUM \
+ Q_GUI_EXPORT_STYLE_POCKETPC \
+ Q_GUI_EXPORT_STYLE_SGI \
+ Q_GUI_EXPORT_STYLE_WINDOWS \
+ Q_GUI_EXPORT_STYLE_WINDOWSXP \
+ Q_INLINE_TEMPLATE \
+ Q_NETWORK_EXPORT \
+ Q_OPENGL_EXPORT \
+ Q_OUTOFLINE_TEMPLATE \
+ Q_SQL_EXPORT \
+ Q_SVG_EXPORT \
+ Q_SCRIPT_EXPORT \
+ Q_TESTLIB_EXPORT \
+ Q_TYPENAME \
+ Q_XML_EXPORT \
+ QDBUS_EXPORT
+Cpp.ignoredirectives = Q_DECLARE_HANDLE \
+ Q_DECLARE_INTERFACE \
+ Q_DECLARE_METATYPE \
+ Q_DECLARE_OPERATORS_FOR_FLAGS \
+ Q_DECLARE_PRIVATE \
+ Q_DECLARE_PUBLIC \
+ Q_DECLARE_SHARED \
+ Q_DECLARE_TR_FUNCTIONS \
+ Q_DECLARE_TYPEINFO \
+ Q_DISABLE_COPY \
+ Q_DUMMY_COMPARISON_OPERATOR \
+ Q_ENUMS \
+ Q_FLAGS \
+ Q_INTERFACES \
+ __attribute__
+
+HTML.stylesheets = classic.css
+HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n" \
+ "<tr>\n" \
+ "<td align=\"left\" valign=\"top\" width=\"32\">" \
+ "<a href=\"http://www.trolltech.com/products/qt\"><img src=\"images/qt-logo.png\" align=\"left\" width=\"32\" height=\"32\" border=\"0\" /></a>" \
+ "</td>\n" \
+ "<td width=\"1\">&nbsp;&nbsp;</td>" \
+ "<td class=\"postheader\" valign=\"center\">" \
+ "<a href=\"index.html\">" \
+ "<font color=\"#004faf\">Home</font></a>&nbsp;&middot;" \
+ " <a href=\"classes.html\">" \
+ "<font color=\"#004faf\">All&nbsp;Classes</font></a>&nbsp;&middot;" \
+ " <a href=\"interfaces.html\">" \
+ "<font color=\"#004faf\">All&nbsp;Interfaces</font></a>&nbsp;&middot;" \
+ " <a href=\"functions.html\">" \
+ "<font color=\"#004faf\">Functions</font></a>" \
+ "</td>\n" \
+ "<td align=\"right\" valign=\"top\" width=\"230\"><a href=\"http://www.trolltech.com\"><img src=\"images/trolltech-logo.png\" align=\"right\" width=\"203\" height=\"32\" border=\"0\" /></a></td></tr></table>"
+
+HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
+ "<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
+ "<td width=\"30%\">Copyright &copy; \$THISYEAR\$ <a href=\"trolltech.html\">Trolltech</a></td>\n" \
+ "<td width=\"40%\" align=\"center\"><a href=\"trademarks.html\">Trademarks</a></td>\n" \
+ "<td width=\"30%\" align=\"right\"><div align=\"right\">Qt \\version</div></td>\n" \
+ "</tr></table></div></address>"