summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/README.md36
-rw-r--r--doc/qtcreatordev/config/qtcreator-developer.qdocconf26
-rw-r--r--doc/qtcreatordev/images/qtcreator-context-menu.png (renamed from doc/qtcreator/images/qtcreator-context-menu.png)bin22680 -> 22680 bytes
-rw-r--r--doc/qtcreatordev/images/qtcreator-dialog.png (renamed from doc/qtcreator/images/qtcreator-dialog.png)bin70107 -> 70107 bytes
-rw-r--r--doc/qtcreatordev/images/qtcreator-error-message.png (renamed from doc/qtcreator/images/qtcreator-error-message.png)bin9051 -> 9051 bytes
-rw-r--r--doc/qtcreatordev/images/qtcreator-menu-item.png (renamed from doc/qtcreator/images/qtcreator-menu-item.png)bin25308 -> 25308 bytes
-rw-r--r--doc/qtcreatordev/images/qtcreator-menu.png (renamed from doc/qtcreator/images/qtcreator-menu.png)bin3611 -> 3611 bytes
-rw-r--r--doc/qtcreatordev/images/qtcreator-sidebar-menu.png (renamed from doc/qtcreator/images/qtcreator-sidebar-menu.png)bin26127 -> 26127 bytes
-rw-r--r--doc/qtcreatordev/images/qtcreator-tooltip-long.png (renamed from doc/qtcreator/images/qtcreator-tooltip-long.png)bin3876 -> 3876 bytes
-rw-r--r--doc/qtcreatordev/images/qtcreator-tooltip.png (renamed from doc/qtcreator/images/qtcreator-tooltip.png)bin3863 -> 3863 bytes
-rw-r--r--doc/qtcreatordev/src/coding-style.qdoc6
-rw-r--r--doc/qtcreatordev/src/common-extension-tasks.qdoc (renamed from doc/qtcreatordev/src/qtcreator-api.qdoc)138
-rw-r--r--doc/qtcreatordev/src/external-tool-spec.qdoc6
-rw-r--r--doc/qtcreatordev/src/first-plugin.qdoc12
-rw-r--r--doc/qtcreatordev/src/plugin-lifecycle.qdoc6
-rw-r--r--doc/qtcreatordev/src/pluginmanager.qdoc32
-rw-r--r--doc/qtcreatordev/src/qtcreator-dev.qdoc7
-rw-r--r--doc/qtcreatordev/src/qtcreator-module.qdoc174
18 files changed, 251 insertions, 192 deletions
diff --git a/doc/README.md b/doc/README.md
new file mode 100644
index 0000000000..49f54c2a27
--- /dev/null
+++ b/doc/README.md
@@ -0,0 +1,36 @@
+# Documentation Projects in This Repository
+
+The qtcreator repository contains the sources for building the following
+documents:
+
+- Qt Creator Manual
+- Extending Qt Creator Manual
+- Qt Design Studio Manual
+
+The sources for each project are stored in the following subfolders of
+the doc folder:
+
+- qtcreator
+- qtcreatordev
+- qtdesignstudio
+
+The Qt Design Studio Manual is based on the Qt Creator Manual, with
+additional topics. For more information, see the `README` file in the
+qtdesignstudio subfolder.
+
+The Extending Qt Creator Manual has its own sources. In addition, it
+pulls in API reference documentation from the Qt Creator source files.
+
+# QDoc Warnings
+
+All the documents are built when you enter `make docs` on Linux or
+macOS or `nmake docs` on Windows. At the time of this writing, this
+leads to QDoc warnings being generated, because the Qt Creator Manual
+requires QDoc from Qt 5.14 or later (it links to new modules), whereas
+the Extending Qt Creator Manual requires QDoc from Qt 5.10 or earlier,
+because the doc configuration is not supported when using the Clang
+parser.
+
+To hide the doc errors and make doc builds faster, enter an option
+to write the doc errors to the log. For example, on Windows enter
+`nmake docs 2> log.txt`.
diff --git a/doc/qtcreatordev/config/qtcreator-developer.qdocconf b/doc/qtcreatordev/config/qtcreator-developer.qdocconf
index 48877cd9a6..63903e0dcd 100644
--- a/doc/qtcreatordev/config/qtcreator-developer.qdocconf
+++ b/doc/qtcreatordev/config/qtcreator-developer.qdocconf
@@ -6,30 +6,12 @@ language = Cpp
headerdirs = . \
../src \
../../../src/libs/aggregation \
- ../../../src/libs/cplusplus \
- ../../../src/libs/extensionsystem \
- ../../../src/libs/utils \
- ../../../src/libs/qmljs \
- ../../../src/libs/qtcreatorcdbext \
- ../../../src/plugins/coreplugin \
- ../../../src/plugins/debugger \
- ../../../src/plugins/vcsbase \
- ../../../src/plugins/projectexplorer \
- ../../../src/plugins/texteditor
+ ../../../src/libs/extensionsystem
sourcedirs = . \
../src \
../../../src/libs/aggregation \
- ../../../src/libs/cplusplus \
- ../../../src/libs/extensionsystem \
- ../../../src/libs/utils \
- ../../../src/libs/qmljs \
- ../../../src/libs/qtcreatorcdbext \
- ../../../src/plugins/coreplugin \
- ../../../src/plugins/debugger \
- ../../../src/plugins/vcsbase \
- ../../../src/plugins/projectexplorer\
- ../../../src/plugins/texteditor
+ ../../../src/libs/extensionsystem
# -- Uncomment following option to generate complete documentation
# instead of public API documentation only.
@@ -39,7 +21,8 @@ headers.fileextensions = "*.h"
sources.fileextensions = "*.cpp *.qdoc"
imagedirs = ../images \
- ../../config/images
+ ../../config/images \
+ ../../qtcreator/images
exampledirs = ../examples
depends += qtwidgets \
@@ -55,7 +38,6 @@ depends += qtwidgets \
qtlinguist \
qtsensors \
qtuitools \
- qtwebkit \
qtxml \
qttestlib
diff --git a/doc/qtcreator/images/qtcreator-context-menu.png b/doc/qtcreatordev/images/qtcreator-context-menu.png
index bef70d44b9..bef70d44b9 100644
--- a/doc/qtcreator/images/qtcreator-context-menu.png
+++ b/doc/qtcreatordev/images/qtcreator-context-menu.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-dialog.png b/doc/qtcreatordev/images/qtcreator-dialog.png
index cd3ee182a8..cd3ee182a8 100644
--- a/doc/qtcreator/images/qtcreator-dialog.png
+++ b/doc/qtcreatordev/images/qtcreator-dialog.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-error-message.png b/doc/qtcreatordev/images/qtcreator-error-message.png
index 14d262e1b7..14d262e1b7 100644
--- a/doc/qtcreator/images/qtcreator-error-message.png
+++ b/doc/qtcreatordev/images/qtcreator-error-message.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-menu-item.png b/doc/qtcreatordev/images/qtcreator-menu-item.png
index ecc80ba78b..ecc80ba78b 100644
--- a/doc/qtcreator/images/qtcreator-menu-item.png
+++ b/doc/qtcreatordev/images/qtcreator-menu-item.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-menu.png b/doc/qtcreatordev/images/qtcreator-menu.png
index e797d33a4c..e797d33a4c 100644
--- a/doc/qtcreator/images/qtcreator-menu.png
+++ b/doc/qtcreatordev/images/qtcreator-menu.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-sidebar-menu.png b/doc/qtcreatordev/images/qtcreator-sidebar-menu.png
index a8b9928155..a8b9928155 100644
--- a/doc/qtcreator/images/qtcreator-sidebar-menu.png
+++ b/doc/qtcreatordev/images/qtcreator-sidebar-menu.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-tooltip-long.png b/doc/qtcreatordev/images/qtcreator-tooltip-long.png
index cb8e238e21..cb8e238e21 100644
--- a/doc/qtcreator/images/qtcreator-tooltip-long.png
+++ b/doc/qtcreatordev/images/qtcreator-tooltip-long.png
Binary files differ
diff --git a/doc/qtcreator/images/qtcreator-tooltip.png b/doc/qtcreatordev/images/qtcreator-tooltip.png
index 56309cfd83..56309cfd83 100644
--- a/doc/qtcreator/images/qtcreator-tooltip.png
+++ b/doc/qtcreatordev/images/qtcreator-tooltip.png
Binary files differ
diff --git a/doc/qtcreatordev/src/coding-style.qdoc b/doc/qtcreatordev/src/coding-style.qdoc
index 3275dca8d4..5e8dc6e136 100644
--- a/doc/qtcreatordev/src/coding-style.qdoc
+++ b/doc/qtcreatordev/src/coding-style.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -123,7 +123,7 @@
For more information on binary compatibility, see
\l{http://techbase.kde.org/Policies/Binary_Compatibility_Issues_With_C++}{Binary Compatibility Issues With C++}.
- From the viewpoint of \l{Plugin Specifications} this means that
+ From the viewpoint of \l{Plugin Meta Data}{plugin metadata} this means that:
\list
\li \QC plugins in patch releases will have the minor release as \c {compatVersion}. For
example the plugins from version 3.1.2 will have \c {compatVersion="3.1.0"}.
@@ -695,7 +695,7 @@
You can add objects to the global object pool via
\l{ExtensionSystem::PluginManager::addObject()}, and retrieve objects
of a specific type again via
- \l{ExtensionSystem::PluginManager::getObjects()}. This should mostly
+ \l{ExtensionSystem::PluginManager::getObject()}. This should mostly
be used for implementations of \l{Plugin Extension Points}.
\note Do not put a singleton into the pool, and do not retrieve
diff --git a/doc/qtcreatordev/src/qtcreator-api.qdoc b/doc/qtcreatordev/src/common-extension-tasks.qdoc
index bfa1918cfc..1cf6c90c76 100644
--- a/doc/qtcreatordev/src/qtcreator-api.qdoc
+++ b/doc/qtcreatordev/src/common-extension-tasks.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -24,135 +24,6 @@
****************************************************************************/
/*!
- \page qtcreator-api.html
-
- \title Qt Creator API Reference
-
- The core of \QC is basically only a \l{ExtensionSystem}{plugin loader}. All
- functionality is implemented in plugins. The basis of \QC is implemented in
- the \l{Core}{Core} Plugin. The plugin manager provides simple means for
- plugin cooperation that allow plugins to provide hooks for other plugin's
- extensions.
-
- \section1 Libraries
-
- \section2 Core Libraries
-
- There are a few core libraries used by many parts of Qt Creator.
-
- \table
- \header
- \li Library Name
- \li Description
-
- \row
- \li \l{Aggregation}
- \li Adds functionality for "glueing" QObjects of different types
- together, so you can "cast" between them.
-
- \row
- \li \l{ExtensionSystem}
- \li Implements the plugin loader framework. Provides a base class
- for plugins and basic mechanisms for plugin interaction like an
- object pool.
-
- \row
- \li \l{Utils}
- \li General utility library.
-
- \row
- \li \l{QmlJS}
- \li QML and JavaScript language support library.
-
- \endtable
-
- \section2 Additional libraries
-
- \table
- \header
- \li Library Name
- \li Description
-
- \row
- \li \l{qtcreatorcdbext}
- \li Windows CDB debugger extension
- \endtable
-
- \section1 Plugins
-
- As already mentioned, \QC is basically only a plugin loader framework
- which gets its IDE functionality through plugins. The most important plugin
- is the \c Core plugin which provides all the basic functionality needed
- later to integrate e.g. editors or mode windows.
-
- \table
- \header
- \li Plugin Name
- \li Description
-
- \row
- \li \l{Core}
- \li The core plugin. Provides the main window and managers for
- editors, actions, mode windows and files, just to mention the
- most important ones.
-
- This plugin also contains classes necessary to hook into the
- \l{Locator} as well as support for searching text in arbitrary
- widgets.
-
- \row
- \li \l{ProjectExplorer}
- \li The project explorer plugin. Provides base classes for project
- handling.
-
- \row
- \li \l{Debugger}
- \li Debugging functionality.
-
- \row
- \li \l{VcsBase}
- \li Base classes for version control support.
-
- \row
- \li \l{TextEditor}
- \li This is where everything starts if you want to create a text
- editor. Besides the base editor itself, this plugin contains
- APIs for supporting functionality like \l{Snippets}{snippets},
- highlighting, \l{CodeAssist}{code assist}, indentation and
- style, and others.
- \endtable
-*/
-
-/*!
- \page classes.html
- \title Qt Creator Classes
-
- \generatelist classes
-*/
-
-/*!
- \page namespaces.html
- \title Qt Creator Namespaces
-
- \generatelist namespaces
-*/
-
-/*!
- \page mainclasses.html
- \title Qt Creator Main Classes
-
- \generatelist mainclasses
-
-*/
-
-/*!
- \page functions.html
- \title Qt Creator Functions
-
- \generatelist functionindex
-*/
-
-/*!
\page common_extension_tasks.html
\title Common Extension Tasks
@@ -223,6 +94,7 @@
search. You can add support for widgets under your control.
\li \l{Core::IFindSupport}, \l{Find::BaseTextFind}
+ \omit
\row
\li Add a completely new project type.
\li
@@ -232,6 +104,7 @@
\li Add a new type of build step.
\li
\li
+ \endomit
\row
\li Add a new filter to the locator.
@@ -248,10 +121,5 @@
that support it).
\li \l{Core::ProgressManager}, \l{Core::FutureProgress}
- \row
- \li
- \li
- \li
-
\endtable
*/
diff --git a/doc/qtcreatordev/src/external-tool-spec.qdoc b/doc/qtcreatordev/src/external-tool-spec.qdoc
index 0f5d3ac1cc..62c02162db 100644
--- a/doc/qtcreatordev/src/external-tool-spec.qdoc
+++ b/doc/qtcreatordev/src/external-tool-spec.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -143,7 +143,9 @@
\endtable
The \c executable tag allows the following subtags. You must specify at least
- one \c path. All subtags can contain special \l{Qt Creator Variables}.
+ one \c path. All subtags can contain special
+ \l{https://doc.qt.io/qtcreator/creator-build-settings.html#using-qt-creator-variables}
+ {Qt Creator variables}.
\table
\header
diff --git a/doc/qtcreatordev/src/first-plugin.qdoc b/doc/qtcreatordev/src/first-plugin.qdoc
index c56b3c9c56..4493ece0f1 100644
--- a/doc/qtcreatordev/src/first-plugin.qdoc
+++ b/doc/qtcreatordev/src/first-plugin.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -67,7 +67,7 @@
\image firstplugin-kitselection.png "Choose the kit to build and run your project with"
- \li Select the \l{glossary-buildandrun-kit}{kit} to build and run your
+ \li Select the kit to build and run your
project with. For a \QC plugin this needs to be a kit with
\uicontrol Desktop device type, and a Qt version that is compatible
with the Qt version that your \QC was built with (in the best case
@@ -316,7 +316,7 @@
The base class defines basic functions that are called during the life cycle
of a plugin, which are here implemented for your new plugin. These functions
- and their roles are described in detail in \l{The Plugin Life Cycle}.
+ and their roles are described in detail in \l{Plugin Life Cycle}.
\snippet exampleplugin/exampleplugin.h slot
@@ -347,14 +347,12 @@
action manager provides a central place where the user can assign and change
keyboard shortcuts, and manages cases where for example a menu item should
be directed to different plugins under different circumstances, as well as a
- few other things. This is described in more detail in
- \l{Menus and Menu Items}.
+ few other things.
\snippet exampleplugin/exampleplugin.cpp add menu
Here a new menu item is created, the created command added to it, and the
- menu added to the \uicontrol Tools menu in the menu bar. Again, this is
- covered in more detail in \l{Menus and Menu Items}.
+ menu added to the \uicontrol Tools menu in the menu bar.
\snippet exampleplugin/exampleplugin.cpp slot implementation
diff --git a/doc/qtcreatordev/src/plugin-lifecycle.qdoc b/doc/qtcreatordev/src/plugin-lifecycle.qdoc
index fa6aef6575..7e82664fc2 100644
--- a/doc/qtcreatordev/src/plugin-lifecycle.qdoc
+++ b/doc/qtcreatordev/src/plugin-lifecycle.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -57,7 +57,7 @@
\li Verifies that the dependencies of each plugin
exist and are compatible. For more information about plugin dependencies,
- see \l{Plugin Specifications}.
+ see \l{Plugin Meta Data}.
\li Sets the plugins to \c Resolved state.
@@ -117,7 +117,7 @@
that could unnecessarily delay showing the \QC UI if done during startup.
After all delayed initializations are done the \l{ExtensionSystem::PluginManager}{PluginManager}
- sends the \l{ExtensionSystem::PluginManager::initializationDone()}{initializationDone()} signal.
+ sends the \c initializationDone() signal.
Before shutdown, the \c Core plugin \l{Core::ICore} sends the
\l{Core::ICore::coreAboutToClose()}{coreAboutToClose()} signal. After that, the
diff --git a/doc/qtcreatordev/src/pluginmanager.qdoc b/doc/qtcreatordev/src/pluginmanager.qdoc
index 03ec4d190e..d36268e41f 100644
--- a/doc/qtcreatordev/src/pluginmanager.qdoc
+++ b/doc/qtcreatordev/src/pluginmanager.qdoc
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
@@ -32,8 +32,7 @@
There are occasions though, where using the plugin manager API is necessary.
Plugins need to access the plugin manager's object pool to extend
some aspects of \QC, for example to add pages to the options dialog. They
- can also utilize the object pool to provide extension points for other plugins
- (see \l{Extending and Providing Interfaces}).
+ can also utilize the object pool to provide extension points for other plugins.
\section1 Plugin Manager
@@ -65,13 +64,13 @@
\li Unregisters an object from the object pool.
Also available through ExtensionSystem::IPlugin::removeObject().
\row
- \li getObjects<T>()
- \li Returns all objects of type T that are registered in the object pool.
- This respects \l{Aggregations}.
+ \li allObjects()
+ \li Returns an unfiltered list of all objects that are registered
+ in the object pool.
\row
\li getObject<T>()
\li Returns one object of type T that is registered in the object pool.
- This respects \l{Aggregations}.
+ This respects \l{Aggregation}.
\row
\li getObjectByName(const QString &name)
\li Returns one object with the given object name that is registered in the object pool.
@@ -100,24 +99,25 @@
prerequisites.
All objects of a specified type can be retrieved from the object pool
- via the \l{ExtensionSystem::PluginManager::getObjects()}{getObjects()} and
- \l{ExtensionSystem::PluginManager::getObject()}{getObject()} functions.
- They are aware of Aggregation::Aggregate, so these functions use the Aggregation::query()
- functions instead of qobject_cast to determine the matching objects.
+ via the \l{ExtensionSystem::PluginManager::getObject()}{getObject()} function.
+ It is aware of Aggregation::Aggregate, and uses the Aggregation::query()
+ function instead of \c qobject_cast to determine the matching objects.
+
+ An unfiltered list of all objects that are registered in the object pool
+ can be retrieved via the \l{ExtensionSystem::PluginManager::allObjects()}
+ {allObjects()} function.
It is also possible to retrieve an object with a specific object name with
\l{ExtensionSystem::PluginManager::getObjectByName()}{getObjectByName()}
(see QObject::objectName()).
Whenever the state of the object pool changes, a corresponding
- \l{ExtensionSystem::PluginManager::objectAdded()}{objectAdded()} or
- \l{ExtensionSystem::PluginManager::aboutToRemoveObject()}{aboutToRemoveObject()} signal is
- emitted by the plugin manager.
+ \c objectAdded() or \c aboutToRemoveObject() signal is emitted
+ by the plugin manager.
A common use case for the object pool is that a plugin (or the application) provides
an \e{extension point} for other plugins, which is a class that can
be implemented and added to the object pool to be retrieved by the providing plugin.
It is also possible to use the object pool to provide access to an object without actually
- linking against the providing plugin library. See \l{Extending and Providing Interfaces}
- for details.
+ linking against the providing plugin library.
*/
diff --git a/doc/qtcreatordev/src/qtcreator-dev.qdoc b/doc/qtcreatordev/src/qtcreator-dev.qdoc
index d9e06f7c58..7c5f7891cd 100644
--- a/doc/qtcreatordev/src/qtcreator-dev.qdoc
+++ b/doc/qtcreatordev/src/qtcreator-dev.qdoc
@@ -52,8 +52,7 @@
be plain text) that you regularly want to insert into a bigger body of code,
but do not want to type each time. For example, \c while and \c for loops,
\c if-else and \c try-catch constructs, and class skeletons. Snippets are
- triggered in the same way as normal code completion (see
- \l{Code Assist}{Providing Code Assist}).
+ triggered in the same way as normal code completion.
\QC contains a set of preconfigured snippets groups to which you can add
your own snippets.
@@ -140,8 +139,8 @@
\li \l{Qt Creator Coding Rules}
\omit
\li Text Editors
- \endomit
\li \l{CodeAssist}{Providing Code Assist}
+ \endomit
\endlist
\section2 Other Custom Editors
@@ -242,7 +241,7 @@
\section1 All Topics
\list
- \li \l{Developing Qt Creator Plugins}
+ \li Developing Qt Creator Plugins
\list
\li \l{Creating Plugins}
\omit
diff --git a/doc/qtcreatordev/src/qtcreator-module.qdoc b/doc/qtcreatordev/src/qtcreator-module.qdoc
new file mode 100644
index 0000000000..4d57ca4a57
--- /dev/null
+++ b/doc/qtcreatordev/src/qtcreator-module.qdoc
@@ -0,0 +1,174 @@
+/****************************************************************************
+**
+** Copyright (C) 2020 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Creator documentation.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+**
+****************************************************************************/
+
+/*!
+ \page qtcreator-api.html
+
+ \title Qt Creator API Reference
+
+ The core of \QC is basically only a \l{ExtensionSystem}{plugin loader}. All
+ functionality is implemented in plugins. The basis of \QC is implemented in
+ the Core plugin. The plugin manager provides simple means for
+ plugin cooperation that allow plugins to provide hooks for other plugin's
+ extensions.
+
+ \section1 Libraries
+
+ \section2 Core Libraries
+
+ There are a few core libraries used by many parts of Qt Creator.
+
+ \table
+ \header
+ \li Library Name
+ \li Description
+
+ \row
+ \li \l{Aggregation}
+ \li Adds functionality for \e glueing QObjects of different types
+ together, so you can \e cast between them.
+
+ \row
+ \li \l{ExtensionSystem}
+ \li Implements the plugin loader framework. Provides a base class
+ for plugins and basic mechanisms for plugin interaction like an
+ object pool.
+
+ \omit
+ \row
+ \li \l{Utils}
+ \li General utility library.
+
+ \row
+ \li \l{QmlJS}
+ \li QML and JavaScript language support library.
+
+ \endtable
+
+ \section2 Additional libraries
+
+ \table
+ \header
+ \li Library Name
+ \li Description
+
+ \row
+ \li \l{qtcreatorcdbext}
+ \li Windows CDB debugger extension
+ \endtable
+
+ \section1 Plugins
+
+ As already mentioned, \QC is basically only a plugin loader framework
+ which gets its IDE functionality through plugins. The most important plugin
+ is the Core plugin which provides all the basic functionality needed
+ later to integrate e.g. editors or mode windows.
+
+ \table
+ \header
+ \li Plugin Name
+ \li Description
+
+ \row
+ \li \l{Core}
+ \li The core plugin. Provides the main window and managers for
+ editors, actions, mode windows and files, just to mention the
+ most important ones.
+
+ This plugin also contains classes necessary to hook into the
+ \l{Locator} as well as support for searching text in arbitrary
+ widgets.
+
+ \row
+ \li \l{ProjectExplorer}
+ \li The project explorer plugin. Provides base classes for project
+ handling.
+
+ \row
+ \li \l{Debugger}
+ \li Debugging functionality.
+
+ \row
+ \li \l{VcsBase}
+ \li Base classes for version control support.
+
+ \row
+ \li \l{TextEditor}
+ \li This is where everything starts if you want to create a text
+ editor. Besides the base editor itself, this plugin contains
+ APIs for supporting functionality like \l{Snippets}{snippets},
+ highlighting, \l{CodeAssist}{code assist}, indentation and
+ style, and others.
+ \endomit
+ \endtable
+
+ \section1 Reference
+
+ \list
+ \li \l {Qt Creator C++ Classes}
+ \li \l {Qt Creator Namespaces}
+ \li \l {Qt Creator Functions}
+ \endlist
+*/
+
+/*!
+ \module QtCreator
+ \title Qt Creator C++ Classes
+
+ This topic lists the documented Qt Creator C++ classes. For information
+ about the classes that have not been documented, please inspect the source
+ code.
+*/
+
+/*!
+ \page namespaces.html
+ \title Qt Creator Namespaces
+
+ This topic lists the documented Qt Creator namespaces. For information
+ about the namespaces that have not been documented, please inspect the
+ source code.
+
+ \generatelist namespaces
+*/
+
+/*!
+ \page mainclasses.html
+ \title Qt Creator Main Classes
+
+ This topic lists the most important Qt Creator C++ classes.
+
+ \generatelist mainclasses
+*/
+
+/*!
+ \page functions.html
+ \title Qt Creator Functions
+
+ This topic lists the documented Qt Creator functions. For information
+ about the functions that have not been documented, please inspect the
+ source code.
+
+ \generatelist functionindex
+*/