summaryrefslogtreecommitdiffstats
path: root/src/corelib/doc
diff options
context:
space:
mode:
authorJerome Pasion <jerome.pasion@digia.com>2012-11-02 14:41:27 +0100
committerJerome Pasion <jerome.pasion@digia.com>2012-11-02 14:41:27 +0100
commitc808dd27459e030fde0577feb8ba06e3bd465526 (patch)
tree4bf898dc4a88e2b03c9716f940638a2e01c6c0ce /src/corelib/doc
parentd9d8845d507a6bdbc9c9f24c0d9d86dca513461d (diff)
parent300534fc214f2547a63594ce0891e9a54c8f33ca (diff)
Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtbase into newdocs
Diffstat (limited to 'src/corelib/doc')
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_tools_qregularexpression.cpp124
-rw-r--r--src/corelib/doc/snippets/qprocess/qprocess-simpleexecution.cpp2
-rw-r--r--src/corelib/doc/src/animation.qdoc8
-rw-r--r--src/corelib/doc/src/containers.qdoc30
-rw-r--r--src/corelib/doc/src/datastreamformat.qdoc4
-rw-r--r--src/corelib/doc/src/eventsandfilters.qdoc7
-rw-r--r--src/corelib/doc/src/implicit-sharing.qdoc6
-rw-r--r--src/corelib/doc/src/io.qdoc8
-rw-r--r--src/corelib/doc/src/json.qdoc3
-rw-r--r--src/corelib/doc/src/plugins-howto.qdoc8
-rw-r--r--src/corelib/doc/src/qtcore-index.qdoc119
-rw-r--r--src/corelib/doc/src/qtcore.qdoc7
-rw-r--r--src/corelib/doc/src/statemachine.qdoc7
-rw-r--r--src/corelib/doc/src/threads.qdoc28
14 files changed, 270 insertions, 91 deletions
diff --git a/src/corelib/doc/snippets/code/src_corelib_tools_qregularexpression.cpp b/src/corelib/doc/snippets/code/src_corelib_tools_qregularexpression.cpp
index 6538c7178d..f1479a8ed7 100644
--- a/src/corelib/doc/snippets/code/src_corelib_tools_qregularexpression.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_tools_qregularexpression.cpp
@@ -38,17 +38,28 @@
**
****************************************************************************/
+#include <QString>
+#include <QStringList>
+#include <QRegularExpression>
+#include <QRegularExpressionMatch>
+#include <QRegularExpressionMatchIterator>
+
+int main() {
+
+{
//! [0]
QRegularExpression re("a pattern");
//! [0]
+}
-
+{
//! [1]
QRegularExpression re;
re.setPattern("another pattern");
//! [1]
+}
-
+{
//! [2]
// matches two digits followed by a space and a word
QRegularExpression re("\\d\\d \\w+");
@@ -56,27 +67,31 @@ QRegularExpression re("\\d\\d \\w+");
// matches a backslash
QRegularExpression re2("\\\\");
//! [2]
+}
-
+{
//! [3]
QRegularExpression re("a third pattern");
QString pattern = re.pattern(); // pattern == "a third pattern"
//! [3]
+}
-
+{
//! [4]
// matches "Qt rocks", but also "QT rocks", "QT ROCKS", "qT rOcKs", etc.
QRegularExpression re("Qt rocks", QRegularExpression::CaseInsensitiveOption);
//! [4]
+}
-
+{
//! [5]
QRegularExpression re("^\\d+$");
re.setPatternOptions(QRegularExpression::MultilineOption);
// re matches any line in the subject string that contains only digits (but at least one)
//! [5]
+}
-
+{
//! [6]
QRegularExpression re = QRegularExpression("^two.*words$", QRegularExpression::MultilineOption
| QRegularExpression::DotMatchesEverythingOption);
@@ -84,16 +99,18 @@ QRegularExpression re = QRegularExpression("^two.*words$", QRegularExpression::M
QRegularExpression::PatternOptions options = re.patternOptions();
// options == QRegularExpression::MultilineOption | QRegularExpression::DotMatchesEverythingOption
//! [6]
+}
-
+{
//! [7]
// match two digits followed by a space and a word
QRegularExpression re("\\d\\d \\w+");
QRegularExpressionMatch match = re.match("abc123 def");
bool hasMatch = match.hasMatch(); // true
//! [7]
+}
-
+{
//! [8]
QRegularExpression re("\\d\\d \\w+");
QRegularExpressionMatch match = re.match("abc123 def");
@@ -102,8 +119,9 @@ if (match.hasMatch()) {
// ...
}
//! [8]
+}
-
+{
//! [9]
QRegularExpression re("\\d\\d \\w+");
QRegularExpressionMatch match = re.match("12 abc 45 def", 1);
@@ -112,31 +130,34 @@ if (match.hasMatch()) {
// ...
}
//! [9]
+}
-
+{
//! [10]
QRegularExpression re("^(\\d\\d)/(\\d\\d)/(\\d\\d\\d\\d)$");
QRegularExpressionMatch match = re.match("08/12/1985");
if (match.hasMatch()) {
- QString day = re.captured(1); // day == "08"
- QString month = re.captured(2); // month == "12"
- QString year = re.captured(3); // year == "1985"
+ QString day = match.captured(1); // day == "08"
+ QString month = match.captured(2); // month == "12"
+ QString year = match.captured(3); // year == "1985"
// ...
}
//! [10]
+}
-
+{
//! [11]
QRegularExpression re("abc(\\d+)def");
QRegularExpressionMatch match = re.match("XYZabc123defXYZ");
if (match.hasMatch()) {
- int startOffset = re.capturedStart(1); // startOffset == 6
- int endOffset = re.capturedEnd(1); // endOffset == 9
+ int startOffset = match.capturedStart(1); // startOffset == 6
+ int endOffset = match.capturedEnd(1); // endOffset == 9
// ...
}
//! [11]
+}
-
+{
//! [12]
QRegularExpression re("^(?<date>\\d\\d)/(?<month>\\d\\d)/(?<year>\\d\\d\\d\\d)$");
QRegularExpressionMatch match = re.match("08/12/1985");
@@ -146,14 +167,14 @@ if (match.hasMatch()) {
QString year = match.captured("year"); // year == 1985
}
//! [12]
+}
-
+{
//! [13]
QRegularExpression re("(\\w+)");
QRegularExpressionMatchIterator i = re.globalMatch("the quick fox");
//! [13]
-
//! [14]
QStringList words;
while (i.hasNext()) {
@@ -163,72 +184,86 @@ while (i.hasNext()) {
}
// words contains "the", "quick", "fox"
//! [14]
+}
-
+{
//! [15]
QString pattern("^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d\\d?, \\d\\d\\d\\d$");
QRegularExpression re(pattern);
QString input("Jan 21,");
-QRegularExpressionMatch match = re.match(input, 0, QRegularExpressionMatch::PartialPreferCompleteMatch);
+QRegularExpressionMatch match = re.match(input, 0, QRegularExpression::PartialPreferCompleteMatch);
bool hasMatch = match.hasMatch(); // false
bool hasPartialMatch = match.hasPartialMatch(); // true
//! [15]
+}
-
+{
+QString pattern("^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \\d\\d?, \\d\\d\\d\\d$");
+QRegularExpression re(pattern);
//! [16]
QString input("Dec 8, 1985");
-QRegularExpressionMatch match = re.match(input, 0, QRegularExpressionMatch::PartialPreferCompleteMatch);
+QRegularExpressionMatch match = re.match(input, 0, QRegularExpression::PartialPreferCompleteMatch);
bool hasMatch = match.hasMatch(); // true
bool hasPartialMatch = match.hasPartialMatch(); // false
//! [16]
+}
-
+{
//! [17]
QRegularExpression re("abc\\w+X|def");
-QRegularExpressionMatch match = re.match("abcdef", 0, QRegularExpressionMatch::PartialPreferCompleteMatch);
+QRegularExpressionMatch match = re.match("abcdef", 0, QRegularExpression::PartialPreferCompleteMatch);
bool hasMatch = match.hasMatch(); // true
bool hasPartialMatch = match.hasPartialMatch(); // false
QString captured = match.captured(0); // captured == "def"
//! [17]
+}
-
+{
//! [18]
QRegularExpression re("abc\\w+X|defY");
-QRegularExpressionMatch match = re.match("abcdef", 0, QRegularExpressionMatch::PartialPreferCompleteMatch);
+QRegularExpressionMatch match = re.match("abcdef", 0, QRegularExpression::PartialPreferCompleteMatch);
bool hasMatch = match.hasMatch(); // false
bool hasPartialMatch = match.hasPartialMatch(); // true
QString captured = match.captured(0); // captured == "abcdef"
//! [18]
+}
-
+{
//! [19]
QRegularExpression re("abc|ab");
-QRegularExpressionMatch match = re.match("ab", 0, QRegularExpressionMatch::PartialPreferFirstMatch);
+QRegularExpressionMatch match = re.match("ab", 0, QRegularExpression::PartialPreferFirstMatch);
bool hasMatch = match.hasMatch(); // false
bool hasPartialMatch = match.hasPartialMatch(); // true
//! [19]
+}
-
+{
//! [20]
QRegularExpression re("abc(def)?");
-QRegularExpressionMatch match = re.match("abc", 0, QRegularExpressionMatch::PartialPreferFirstMatch);
+QRegularExpressionMatch match = re.match("abc", 0, QRegularExpression::PartialPreferFirstMatch);
bool hasMatch = match.hasMatch(); // false
bool hasPartialMatch = match.hasPartialMatch(); // true
//! [20]
+}
+{
//! [21]
QRegularExpression re("(abc)*");
-QRegularExpressionMatch match = re.match("abc", 0, QRegularExpressionMatch::PartialPreferFirstMatch);
+QRegularExpressionMatch match = re.match("abc", 0, QRegularExpression::PartialPreferFirstMatch);
bool hasMatch = match.hasMatch(); // false
bool hasPartialMatch = match.hasPartialMatch(); // true
//! [21]
+}
+{
//! [22]
QRegularExpression invalidRe("(unmatched|parenthesis");
bool isValid = invalidRe.isValid(); // false
//! [22]
+}
+{
//! [23]
QRegularExpression invalidRe("(unmatched|parenthesis");
if (!invalidRe.isValid()) {
@@ -237,44 +272,62 @@ if (!invalidRe.isValid()) {
// ...
}
//! [23]
+}
+{
//! [24]
QRegularExpression re("^this pattern must match exactly$");
//! [24]
+}
+{
//! [25]
QString p("a .*|pattern");
QRegularExpression re("\\A(?:" + p + ")\\z"); // re matches exactly the pattern string p
//! [25]
+}
+{
//! [26]
QString escaped = QRegularExpression::escape("a(x) = f(x) + g(x)");
// escaped == "a\\(x\\)\\ \\=\\ f\\(x\\)\\ \\+\\ g\\(x\\)"
//! [26]
+}
+{
+QString name;
+QString nickname;
//! [27]
QString pattern = "(" + QRegularExpression::escape(name) +
"|" + QRegularExpression::escape(nickname) + ")";
QRegularExpression re(pattern);
//! [27]
+}
+{
+QString string;
+QRegularExpression re;
//! [28]
-QRegularExpressionMatch match = re.match(...);
+QRegularExpressionMatch match = re.match(string);
for (int i = 0; i <= match.lastCapturedIndex(); ++i) {
QString captured = match.captured(i);
// ...
}
//! [28]
+}
+{
//! [29]
-QRegularExpression("(\\d\\d) (?<name>\\w+)");
+QRegularExpression re("(\\d\\d) (?<name>\\w+)");
QRegularExpressionMatch match = re.match("23 Jordan");
if (match.hasMatch()) {
QString number = match.captured(1); // first == "23"
QString name = match.captured("name"); // name == "Jordan"
}
//! [29]
+}
+{
//! [30]
// extracts the words
QRegularExpression re("(\\w+)");
@@ -285,5 +338,6 @@ while (i.hasNext()) {
// ...
}
//! [30]
+}
-
+}
diff --git a/src/corelib/doc/snippets/qprocess/qprocess-simpleexecution.cpp b/src/corelib/doc/snippets/qprocess/qprocess-simpleexecution.cpp
index e7c1c36e9d..8181cb04dd 100644
--- a/src/corelib/doc/snippets/qprocess/qprocess-simpleexecution.cpp
+++ b/src/corelib/doc/snippets/qprocess/qprocess-simpleexecution.cpp
@@ -56,7 +56,7 @@ int main(int argc, char *argv[])
//! [2]
QStringList arguments;
- arguments << "-style" << "motif";
+ arguments << "-style" << "fusion";
QProcess *myProcess = new QProcess(parent);
myProcess->start(program, arguments);
diff --git a/src/corelib/doc/src/animation.qdoc b/src/corelib/doc/src/animation.qdoc
index c76845c93c..7724d533d6 100644
--- a/src/corelib/doc/src/animation.qdoc
+++ b/src/corelib/doc/src/animation.qdoc
@@ -28,6 +28,11 @@
/*!
\group animation
\title Animation Framework
+
+ This page lists classes belonging to \l{Qt Core}'s
+ \l{The Animation Framework}{animation framework}.
+
+ \annotatedlist animation
*/
/*!
@@ -102,7 +107,7 @@
the framework, please look up their class descriptions.
\section1 Classes in the Animation Framework
-
+
These classes provide a framework for creating both simple and complex
animations.
@@ -361,4 +366,3 @@
framework for animations, see the states example (it lives in the
\c{examples/animation/states} directory).
*/
-
diff --git a/src/corelib/doc/src/containers.qdoc b/src/corelib/doc/src/containers.qdoc
index 24c5629ae2..262add419c 100644
--- a/src/corelib/doc/src/containers.qdoc
+++ b/src/corelib/doc/src/containers.qdoc
@@ -26,22 +26,6 @@
****************************************************************************/
/*!
- \group tools
- \title Non-GUI Classes
- \ingroup groups
-
- \brief Collection classes such as list, queue, stack and string, along
- with other classes that can be used without needing QApplication.
-
- The non-GUI classes are general-purpose collection and string classes
- that may be used independently of the GUI classes.
-
- In particular, these classes do not depend on QApplication at all,
- and so can be used in non-GUI programs.
-
-*/
-
-/*!
\page containers.html
\title Container Classes
\ingroup technology-apis
@@ -394,13 +378,13 @@
QMapIterator, which is somewhat different because it iterates on
(key, value) pairs.
- Like QListIterator, QMapIterator provides
- \l{QMapIterator::toFront()}{toFront()},
- \l{QMapIterator::toBack()}{toBack()},
- \l{QMapIterator::hasNext()}{hasNext()},
- \l{QMapIterator::next()}{next()},
- \l{QMapIterator::peekNext()}{peekNext()},
- \l{QMapIterator::hasPrevious()}{hasPrevious()},
+ Like QListIterator, QMapIterator provides
+ \l{QMapIterator::toFront()}{toFront()},
+ \l{QMapIterator::toBack()}{toBack()},
+ \l{QMapIterator::hasNext()}{hasNext()},
+ \l{QMapIterator::next()}{next()},
+ \l{QMapIterator::peekNext()}{peekNext()},
+ \l{QMapIterator::hasPrevious()}{hasPrevious()},
\l{QMapIterator::previous()}{previous()}, and
\l{QMapIterator::peekPrevious()}{peekPrevious()}. The key and
value components are extracted by calling key() and value() on
diff --git a/src/corelib/doc/src/datastreamformat.qdoc b/src/corelib/doc/src/datastreamformat.qdoc
index 8c3b592276..e2c3f9bae1 100644
--- a/src/corelib/doc/src/datastreamformat.qdoc
+++ b/src/corelib/doc/src/datastreamformat.qdoc
@@ -33,7 +33,7 @@
The \l QDataStream allows you to serialize some of the Qt data types.
The table below lists the data types that QDataStream can serialize
and how they are represented. The format described below is
- \l{QDataStream::setVersion()}{version 12}.
+ \l{QDataStream::setVersion()}{version 13}.
It is always best to cast integers to a Qt integer type, such as
qint16 or quint32, when reading and writing. This ensures that
@@ -129,7 +129,7 @@
\li \list
\li Date (QDate)
\li Time (QTime)
- \li 0 for Qt::LocalTime, 1 for Qt::UTC (quint8)
+ \li The \l{Qt::TimeSpec}{time spec} (quint8)
\endlist
\row \li QEasingCurve
\li \list
diff --git a/src/corelib/doc/src/eventsandfilters.qdoc b/src/corelib/doc/src/eventsandfilters.qdoc
index 5fe444538d..e4605afb0b 100644
--- a/src/corelib/doc/src/eventsandfilters.qdoc
+++ b/src/corelib/doc/src/eventsandfilters.qdoc
@@ -32,10 +32,11 @@
\brief Classes used to create and handle events.
- These classes are used to create and handle events.
+ These \l{Qt Core} classes are used to create and handle events.
- For more information see the \link object.html Object model\endlink
- and \link signalsandslots.html Signals and Slots\endlink.
+ For more information see the \l{The Event System}{Event System} page.
+
+ \annotatedlist events
*/
/*!
diff --git a/src/corelib/doc/src/implicit-sharing.qdoc b/src/corelib/doc/src/implicit-sharing.qdoc
index 7b29998951..2038d43230 100644
--- a/src/corelib/doc/src/implicit-sharing.qdoc
+++ b/src/corelib/doc/src/implicit-sharing.qdoc
@@ -31,6 +31,12 @@
/*!
\group shared
\title Implicitly Shared Classes
+
+ These \l{Qt Core} classes provides a safe and efficient way of sharing and
+ manipulating data by \l{Implicit Sharing}{implicitly sharing} data.
+
+ \annotatedlist shared
+
*/
/*!
diff --git a/src/corelib/doc/src/io.qdoc b/src/corelib/doc/src/io.qdoc
index cd967844c0..7aff227931 100644
--- a/src/corelib/doc/src/io.qdoc
+++ b/src/corelib/doc/src/io.qdoc
@@ -33,7 +33,9 @@
\brief Classes providing file input and output along with directory and
network handling.
- These classes are used to handle input and output to and from external
- devices, processes, files etc. as well as manipulating files and directories.
-*/
+ These \l{Qt Core} classes are used to handle input and output to and from
+ external devices, processes, files etc. as well as manipulating files and
+ directories.
+ \annotatedlist io
+*/
diff --git a/src/corelib/doc/src/json.qdoc b/src/corelib/doc/src/json.qdoc
index 25496dd759..9e6e190dcb 100644
--- a/src/corelib/doc/src/json.qdoc
+++ b/src/corelib/doc/src/json.qdoc
@@ -108,5 +108,6 @@
\annotatedlist json
- All JSON classes are value based, implicitly shared classes.
+ All JSON classes are value based,
+ \l{Implicit Sharing}{implicitly shared classes}.
*/
diff --git a/src/corelib/doc/src/plugins-howto.qdoc b/src/corelib/doc/src/plugins-howto.qdoc
index f0031ee26b..bc387aeed9 100644
--- a/src/corelib/doc/src/plugins-howto.qdoc
+++ b/src/corelib/doc/src/plugins-howto.qdoc
@@ -32,12 +32,14 @@
\brief Plugin related classes.
- These classes deal with shared libraries, (e.g. .so and DLL files),
- and with Qt plugins.
+ These \l{Qt Core} classes deal with shared libraries, (e.g. .so and DLL
+ files), and with Qt plugins.
- See the \link plugins-howto.html plugins documentation\endlink.
+ See the \l{How to Create Qt Plugins} page for more information..
See also the \l{ActiveQt framework} for Windows.
+
+ \annotatedlist plugins
*/
/*!
diff --git a/src/corelib/doc/src/qtcore-index.qdoc b/src/corelib/doc/src/qtcore-index.qdoc
new file mode 100644
index 0000000000..f876a362c7
--- /dev/null
+++ b/src/corelib/doc/src/qtcore-index.qdoc
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** 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 Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/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: http://www.gnu.org/copyleft/fdl.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qtcore-index.html
+ \title Qt Core
+
+ \brief The Qt Core module is part of Qt's essential modules.
+
+ \section1 Getting Started
+ All other Qt modules rely on this module. To include the
+ definitions of the module's classes, use the following directive:
+
+ \snippet code/doc_src_qtcore.cpp 0
+
+ \section1 Core Functionalities
+
+ Qt adds these features to C++:
+
+ \list
+ \li a very powerful mechanism for seamless object communication called
+ signals and slots
+ \li queryable and designable object properties
+ \li hierarchical and queryable object trees that organize
+ \li object ownership in a natural way with guarded pointers (QPointer)
+ \li a dynamic cast that works across library boundaries
+ \endlist
+
+ The following pages provide more information about Qt's core features:
+ \list
+ \li \l{The Meta-Object System}
+ \li \l{The Property System}
+ \li \l{Object Model}
+ \li \l{Object Trees & Ownership}
+ \li \l{Signals & Slots}
+ \endlist
+
+ \section1 Threading and Concurrent Programming
+
+ Qt provides thread support in the form of platform-independent \l{Threading
+ Classes}{threading classes}, a thread-safe way of posting events, and
+ signal-slot connections across threads. Multithreaded programming is also a
+ useful paradigm for performing time-consuming operations without freezing
+ the user interface of an application.
+
+ The \l{Thread Support in Qt} page contains information on implementing
+ threads in applications. Additional concurrent classes are provided by the
+ \l{Qt Concurrent} module.
+
+ \section1 Input/Output, Resources, and Containers
+
+ Qt provides a resource system for organizing application files and assets,
+ a set of containers, and classes for receiving input and printing output.
+ \list
+ \li \l{Container Classes}
+ \li \l{Serializing Qt Data Types}
+ \li \l{Implicit Sharing}
+ \endlist
+
+ In addition, Qt Core provides a platform-independent mechanism for storing
+ binary files in the application's executable.
+
+ \list
+ \li \l{The Qt Resource System}
+ \endlist
+
+ \section1 Additional Frameworks
+ Qt Core also provides some of Qt's key frameworks.
+
+ \list
+ \li \l{The Animation Framework}
+ \li \l{JSON Support in Qt}
+ \li \l{The State Machine Framework}
+ \li \l{How to Create Qt Plugins}
+ \li \l{The Event System}
+ \endlist
+
+ \section1 Related Information
+ \section1 Reference
+ These are links to the API reference materials.
+ \list
+ \li \l{Qt Core C++ Classes}{C++ classes}
+ \list
+ \li \l{Animation Framework}{Animation Classes}
+ \li \l{Threading Classes}
+ \li \l{Container Classes}
+ \li \l{Plugin Classes}
+ \li \l{Implicitly Shared Classes}
+ \li \l{State Machine Classes}
+ \li \l{Input/Output and Networking}{Input/Output Classes}
+ \li \l{Event Classes}
+ \endlist
+ \endlist
+
+*/
diff --git a/src/corelib/doc/src/qtcore.qdoc b/src/corelib/doc/src/qtcore.qdoc
index 0d06bb7998..4b4814d5b7 100644
--- a/src/corelib/doc/src/qtcore.qdoc
+++ b/src/corelib/doc/src/qtcore.qdoc
@@ -27,16 +27,13 @@
/*!
\module QtCore
- \title QtCore Module
+ \title Qt Core C++ Classes
\ingroup modules
- \keyword QtCore
-
- \brief The QtCore module contains core non-GUI functionality.
+ \brief Provides core non-GUI functionality.
All other Qt modules rely on this module. To include the
definitions of the module's classes, use the following directive:
\snippet code/doc_src_qtcore.cpp 0
*/
-
diff --git a/src/corelib/doc/src/statemachine.qdoc b/src/corelib/doc/src/statemachine.qdoc
index dd4f992288..1a5c216e04 100644
--- a/src/corelib/doc/src/statemachine.qdoc
+++ b/src/corelib/doc/src/statemachine.qdoc
@@ -28,6 +28,11 @@
/*!
\group statemachine
\title State Machine Classes
+
+ These \l{Qt Core} classes are part of the \l{The State Machine Framework}{
+ State Machine Framework}.
+
+ \annotatedlist statemachine
*/
/*!
@@ -69,7 +74,7 @@
\section1 Classes in the State Machine Framework
These classes are provided by qt for creating event-driven state machines.
-
+
\annotatedlist statemachine
\section1 A Simple State Machine
diff --git a/src/corelib/doc/src/threads.qdoc b/src/corelib/doc/src/threads.qdoc
index 0f752bc726..64d33e3b34 100644
--- a/src/corelib/doc/src/threads.qdoc
+++ b/src/corelib/doc/src/threads.qdoc
@@ -28,6 +28,10 @@
/*!
\group thread
\title Threading Classes
+
+ These \l{Qt Core} classes provide threading support to applications.
+ The \l{Thread Support in Qt} page covers how to use these classes.
+ \annotatedlist thread
*/
/*!
@@ -111,13 +115,13 @@
/*!
\page threads-starting.html
\title Starting Threads with QThread
-
+
\contentspage Thread Support in Qt
\nextpage Synchronizing Threads
A QThread instance represents a thread and provides the means to
\l{QThread::start()}{start()} a thread, which will then execute the
- reimplementation of QThread::run(). The \c run() implementation is for a
+ reimplementation of QThread::run(). The \c run() implementation is for a
thread what the \c main() entry point is for the application. All code
executed in a call stack that starts in the \c run() function is executed
by the new thread, and the thread finishes when the function returns.
@@ -141,12 +145,12 @@
Then, create an instance of the thread object and call
QThread::start(). Note that you must create the QApplication (or
QCoreApplication) object before you can create a QThread.
-
- The function will return immediately and the
+
+ The function will return immediately and the
main thread will continue. The code that appears in the
\l{QThread::run()}{run()} reimplementation will then be executed
in a separate thread.
-
+
Creating threads is explained in more detail in the QThread
documentation.
@@ -160,7 +164,7 @@
/*!
\page threads-synchronizing.html
\title Synchronizing Threads
-
+
\previouspage Starting Threads with QThread
\contentspage Thread Support in Qt
\nextpage Reentrancy and Thread-Safety
@@ -227,7 +231,7 @@
\list
\li A \e thread-safe function can be called simultaneously from
- multiple threads, even when the invocations use shared data,
+ multiple threads, even when the invocations use shared data,
because all references to the shared data are serialized.
\li A \e reentrant function can also be called simultaneously from
multiple threads, but only if each invocation uses its own data.
@@ -577,8 +581,8 @@
\endlist
- Qt Concurrent supports several STL-compatible container and iterator types,
- but works best with Qt containers that have random-access iterators, such as
+ Qt Concurrent supports several STL-compatible container and iterator types,
+ but works best with Qt containers that have random-access iterators, such as
QList or QVector. The map and filter functions accept both containers and begin/end iterators.
STL Iterator support overview:
@@ -609,14 +613,14 @@
\li QList, QVector, std::vector
\li Supported and Recommended
\endtable
-
+
Random access iterators can be faster in cases where Qt Concurrent is iterating
over a large number of lightweight items, since they allow skipping to any point
in the container. In addition, using random access iterators allows Qt Concurrent
to provide progress information trough QFuture::progressValue() and QFutureWatcher::
progressValueChanged().
- The non in-place modifying functions such as mapped() and filtered() makes a
+ The non in-place modifying functions such as mapped() and filtered() makes a
copy of the container when called. If you are using STL containers this copy operation
might take some time, in this case we recommend specifying the begin and end iterators
for the container instead.
@@ -643,7 +647,7 @@
QPainter can be used in a thread to paint onto QImage, QPrinter, and
QPicture paint devices. Painting onto QPixmaps and QWidgets is \e not
- supported. On Mac OS X the automatic progress dialog will not be
+ supported. On Mac OS X the automatic progress dialog will not be
displayed if you are printing from outside the GUI thread.
Any number of threads can paint at any given time, however only