From 1ba6a40472829cc66ba5d52696f09db89d51078c Mon Sep 17 00:00:00 2001 From: Pieter Hijma Date: Wed, 26 Mar 2025 17:08:57 +0100 Subject: [PATCH] [Doc] Add links between topics and relevant items The documentation has topics, for example topic App which contains namespace App or topic Document that contains class Document. This commit makes sure that the topic has a link to the relevant class or namespace, whereas the relevant class or namespace refers back to the topic for a more high-level overview. --- src/App/Document.h | 6 +++++- src/App/DocumentObject.h | 5 ++++- src/App/Expression.h | 11 +++++++---- src/App/Property.h | 17 +++++++++++------ src/App/core-app.dox | 2 ++ 5 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/App/Document.h b/src/App/Document.h index 369e29377c..dce5b1a553 100644 --- a/src/App/Document.h +++ b/src/App/Document.h @@ -57,7 +57,11 @@ class Transaction; class StringHasher; using StringHasherRef = Base::Reference; -/// The document class +/** + * @brief The document class + * @ingroup DocumentGroup + * @details For a more high-level discussion see the topic @ref DocumentGroup "Document". + */ class AppExport Document: public App::PropertyContainer { PROPERTY_HEADER_WITH_OVERRIDE(App::Document); diff --git a/src/App/DocumentObject.h b/src/App/DocumentObject.h index 860d3af357..bd62977774 100644 --- a/src/App/DocumentObject.h +++ b/src/App/DocumentObject.h @@ -101,7 +101,10 @@ public: }; -/** Base class of all Classes handled in the Document +/** + * @brief %Base class of all objects handled in the @ref App::Document "Document". + * @ingroup DocObject + * @details For a more high-level overview see topic @ref DocObject "Document Object". */ class AppExport DocumentObject: public App::TransactionalObject { diff --git a/src/App/Expression.h b/src/App/Expression.h index 7ff8352d0c..4455fb60f6 100644 --- a/src/App/Expression.h +++ b/src/App/Expression.h @@ -108,11 +108,14 @@ protected: int _changed{0}; }; -/** - * Base class for expressions. - * - */ +/** + * @brief %Base class for expressions. + * @ingroup Expression + * + * @details For a high-level overview of the %Expression framework see topic + * @ref Expression "Expression Framework". + */ class AppExport Expression : public Base::BaseClass { TYPESYSTEM_HEADER_WITH_OVERRIDE(); diff --git a/src/App/Property.h b/src/App/Property.h index 5448777649..86bc63f6f5 100644 --- a/src/App/Property.h +++ b/src/App/Property.h @@ -44,14 +44,19 @@ namespace App class PropertyContainer; class ObjectIdentifier; -/** Base class of all properties - * This is the father of all properties. Properties are objects which are used - * in the document tree to parametrize e.g. features and their graphical output. +/** + * @brief %Base class of all properties + * @ingroup PropFrame + * + * @details This is the father of all properties. Properties are objects which that used + * in the document tree to parameterize e.g. features and their graphical output. * They are also used to gain access from the scripting facility. - * /par + * @par * This abstract base class defines all methods shared by all - * possible properties. It is also possible to define user properties - * and use them in the framework... + * possible properties. It is also possible to define user properties + * and use them in the framework. + * + * For a more high-level overview see topic @ref PropFrame "Property Framework". */ class AppExport Property: public Base::Persistence { diff --git a/src/App/core-app.dox b/src/App/core-app.dox index a4fc82c12e..08df44bf6c 100644 --- a/src/App/core-app.dox +++ b/src/App/core-app.dox @@ -111,5 +111,7 @@ * - The DocumentObject classes * - The Expression classes * - The Property classes + * + * For a more high-level discussion see the topic @ref APP "App". */