Solutions: Add a common Solutions page

Add also The Tasking solution page. Add some hints into README.md file.

Change-Id: I4e355c95977d668fbc2f7bd286f9446e4e4b1f69
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
Jarek Kobus
2023-06-14 16:08:24 +02:00
parent be6e31d119
commit 6f6f6d3f97
4 changed files with 68 additions and 16 deletions

View File

@@ -1,4 +1,4 @@
// Copyright (C) 2020 The Qt Company Ltd. // Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*! /*!
@@ -109,12 +109,29 @@
\endomit \endomit
\endtable \endtable
\section1 Solutions
\QC uses object libraries that are independent of any \QC-specific code, and
are threfore ready to be a part of Qt.
\table
\header
\li Solution Name
\li Description
\row
\li \l{Tasking Solution}{Tasking}
\li Enables you to build extensible, declarative task tree structures
that contain possibly asynchronous tasks.
\endtable
\section1 Reference \section1 Reference
\list \list
\li \l {Qt Creator C++ Classes} \li \l {Qt Creator C++ Classes}
\li \l {Qt Creator Namespaces} \li \l {Qt Creator Namespaces}
\li \l {Qt Creator Functions} \li \l {Qt Creator Functions}
\li \l {Solutions}
\endlist \endlist
*/ */

View File

@@ -0,0 +1,12 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
/*!
\page solutions-index.html
\title Solutions
\brief A collection of reusable object libraries.
This topic lists the available solutions:
\annotatedlist solutions-modules
*/

View File

@@ -46,3 +46,23 @@ integrated into Qt when they:
- Have full docs. - Have full docs.
- Have auto tests. - Have auto tests.
- Have at least one example (however, autotests often play this role, too). - Have at least one example (however, autotests often play this role, too).
## Documentation
The common Solutions doc (doc/qtcreatordev/src/solutions-index.qdoc)
lists all the solutions added to the solutions-modules group.
In order to gather all the available solutions in this common page,
define the module and refer to it like:
/*!
\module TaskingSolution
\title The Tasking Solution
\ingroup solutions-modules
\brief (... add a brief description here...)
*/
The \ingroup will put the item above to the common Solutions page.
Don't add more \ingroup references from class docs, add \inmodule instead.

View File

@@ -42,11 +42,25 @@ private:
Guard &m_guard; Guard &m_guard;
}; };
/*!
\module TaskingSolution
\title Tasking Solution
\ingroup solutions-modules
\brief Contains a general purpose Tasking solution.
The Tasking solution depends on Qt only, and doesn't depend on any \QC specific code.
*/
/*!
\namespace Tasking
\inmodule TaskingSolution
\brief The Tasking namespace encloses all classes and global functions of the Tasking solution.
*/
/*! /*!
\class Tasking::GroupItem \class Tasking::GroupItem
\inheaderfile solutions/tasking/tasktree.h \inheaderfile solutions/tasking/tasktree.h
\inmodule QtCreator \inmodule TaskingSolution
\ingroup mainclasses
\brief The GroupItem class represents the basic element for composing nested tree structures. \brief The GroupItem class represents the basic element for composing nested tree structures.
*/ */
@@ -1104,22 +1118,11 @@ void TaskNode::invokeEndHandler(bool success)
m_container.m_constData.m_taskTreePrivate->advanceProgress(1); m_container.m_constData.m_taskTreePrivate->advanceProgress(1);
} }
/*!
\namespace Tasking
\inmodule QtCreator
\brief The Tasking namespace contains a general purpose TaskTree solution.
The Tasking namespace depends on Qt only, and doesn't depend on any \QC
specific code.
*/
/*! /*!
\class Tasking::TaskTree \class Tasking::TaskTree
\inheaderfile solutions/tasking/tasktree.h \inheaderfile solutions/tasking/tasktree.h
\inmodule QtCreator \inmodule TaskingSolution
\ingroup mainclasses \brief The TaskTree class runs an async task tree structure defined in a declarative way.
\brief The TaskTree class runs an async task tree structure defined in a
declarative way.
Use the Tasking namespace to build extensible, declarative task tree Use the Tasking namespace to build extensible, declarative task tree
structures that contain possibly asynchronous tasks, such as Process, structures that contain possibly asynchronous tasks, such as Process,