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
/*!
@@ -109,12 +109,29 @@
\endomit
\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
\list
\li \l {Qt Creator C++ Classes}
\li \l {Qt Creator Namespaces}
\li \l {Qt Creator Functions}
\li \l {Solutions}
\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 auto tests.
- 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;
};
/*!
\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
\inheaderfile solutions/tasking/tasktree.h
\inmodule QtCreator
\ingroup mainclasses
\inmodule TaskingSolution
\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);
}
/*!
\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
\inheaderfile solutions/tasking/tasktree.h
\inmodule QtCreator
\ingroup mainclasses
\brief The TaskTree class runs an async task tree structure defined in a
declarative way.
\inmodule TaskingSolution
\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
structures that contain possibly asynchronous tasks, such as Process,