Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
document.h
Go to the documentation of this file.
1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
4#ifndef QDOC_IR_DOCUMENT_H
5#define QDOC_IR_DOCUMENT_H
6
7#include "contentblock.h"
8#include "member.h"
10
11#include "qdoc/access.h"
12#include "qdoc/genustypes.h"
13#include "qdoc/status.h"
14
15#include <QJsonObject>
16#include <QList>
17#include <QString>
18#include <QStringList>
19
20#include <optional>
21
23
24namespace IR {
25
55
84
86{
90 Access access { Access::Public };
91 };
92
97
102
108
113
120
125
135 bool suppressInheritance { false };
136
139
140 bool isInnerClass { false };
141 bool isNamespace { false };
142 bool isHeader { false };
143
144 bool isPartialNamespace { false };
147
150
153
156
158
159 bool hasObsoleteMembers { false };
161
162 [[nodiscard]] QJsonObject toJson() const;
163};
164
199
201{
202 // Classification
204 Genus genus { Genus::DontCare };
206 Access access { Access::Public };
207
208 // Identity
209 QString title; // Page title
210 QString fullTitle; // Full qualified title
211 QString url; // Page URL: canonical absolute when the
212 // 'url' qdocconf is set; output filename
213 // (relative) otherwise.
214 QString since; // Version introduced (e.g., "6.8")
215 QString deprecatedSince; // Version deprecated (e.g., "6.5")
216 QString typeNoun; // Noun for the deprecation status sentence
217 // (e.g., "class"), empty when no sentence applies
218 QString deprecatedSinceQualified; // Module-qualified deprecation version
219 // for QML nodes, empty when no sentence applies
220 QString brief; // Brief description
221
222 // Content
225
226 // Members (for aggregate pages)
229
230 // QML type metadata (populated only for QML type pages)
232
233 // Collection metadata (populated for module, QML module, and group pages)
235
236 // C++ reference metadata (populated for class, namespace, and header pages)
238
239 // Navigation metadata (populated for all pages with navigation config)
241
242 // Members sub-page URL (set when a members listing page is generated)
244
245 QJsonObject toJson() const;
246};
247
248} // namespace IR
249
250QT_END_NAMESPACE
251
252#endif // QDOC_IR_DOCUMENT_H
Assembles IR Documents from pre-extracted metadata.
Definition builder.h:15
Builder()=default
Document buildPageIR(PageMetadata pm) const
Definition builder.cpp:196
Status
Specifies the status of the QQmlIncubator.
NodeType
Definition genustypes.h:165
Definition builder.cpp:14
static QList< ContentBlock > buildThreadSafetyAdmonition(const CppReferenceData::ThreadSafetyInfo &ts, const QString &typeWord)
Definition builder.cpp:107
static InlineContent makeResolvedLink(const QString &name, const QString &href)
Definition builder.cpp:74
LinkState
LinkOrigin
static void appendExceptionList(QList< InlineContent > &inlines, const QString &prefix, const QString &topicName, const QList< CppReferenceData::ThreadSafetyExceptionEntry > &exceptions)
Definition builder.cpp:84
BlockType
static InlineContent makeTopicLink(const QString &topicName)
Definition builder.cpp:54
static InlineContent makeTextInline(const QString &text)
Definition builder.cpp:35
static void gatherBodyTocEntries(const QList< ContentBlock > &blocks, QList< NavigationInfo::TocEntry > &out)
Definition builder.cpp:16
InlineType
Combined button and popup list for selecting options.
@ Active
Definition status.h:14
QString cmakeComponent
Definition document.h:62
QString logicalModuleVersion
Definition document.h:59
QList< MemberEntry > members
Definition document.h:80
QJsonObject toJson() const
Converts the CollectionInfo to a QJsonObject for template rendering.
Definition document.cpp:127
QString qtVariable
Definition document.h:60
QList< MemberEntry > classes
Definition document.h:79
QString cmakePackage
Definition document.h:61
QString logicalModuleName
Definition document.h:58
QList< MemberEntry > namespaces
Definition document.h:78
QString cmakeTargetItem
Definition document.h:63
Represents a structural block element in documentation.
QList< ThreadSafetyExceptionEntry > reentrantExceptions
Definition document.h:116
QList< ThreadSafetyExceptionEntry > nonReentrantExceptions
Definition document.h:118
QList< ThreadSafetyExceptionEntry > threadSafeExceptions
Definition document.h:117
QList< QString > referencedConcepts
Definition document.h:138
QList< SignatureSpan > templateDeclSpans
Definition document.h:137
std::optional< ThreadSafetyInfo > threadSafety
Definition document.h:154
QList< ContentBlock > threadSafetyAdmonition
Definition document.h:155
QList< ComparisonEntry > comparisonEntries
Definition document.h:152
QString cmakeTargetLinkLibraries
Definition document.h:128
QList< DerivedClassEntry > derivedClasses
Definition document.h:134
QStringList ancestorNames
Definition document.h:149
QString fullNamespaceModuleName
Definition document.h:146
QString cmakeFindPackage
Definition document.h:127
std::optional< QmlNativeTypeLink > qmlNativeType
Definition document.h:132
QString obsoleteMembersUrl
Definition document.h:160
QString fullNamespaceHref
Definition document.h:145
QList< GroupEntry > groups
Definition document.h:157
QString selfComparisonCategory
Definition document.h:151
QList< BaseClassEntry > baseClasses
Definition document.h:133
QJsonObject toJson() const
Converts CppReferenceInfo to a QJsonObject for template rendering.
Definition document.cpp:168
Intermediate representation for a documentation topic.
Definition document.h:201
QList< ContentBlock > body
Definition document.h:223
QString fullTitle
Definition document.h:210
QString membersPageUrl
Definition document.h:243
QList< SectionIR > summarySections
Definition document.h:227
std::optional< QmlTypeInfo > qmlTypeInfo
Definition document.h:231
QString deprecatedSinceQualified
Definition document.h:218
QString url
Definition document.h:211
QList< SectionIR > detailSections
Definition document.h:228
std::optional< NavigationInfo > navigationInfo
Definition document.h:240
Access access
Definition document.h:206
QString title
Definition document.h:209
QString brief
Definition document.h:220
std::optional< CppReferenceInfo > cppReferenceInfo
Definition document.h:237
QString typeNoun
Definition document.h:216
Status status
Definition document.h:205
QJsonObject contentJson
Definition document.h:224
NodeType nodeType
Definition document.h:203
QString deprecatedSince
Definition document.h:215
std::optional< CollectionInfo > collectionInfo
Definition document.h:234
QJsonObject toJson() const
Converts the Document to a QJsonObject for template rendering.
Definition document.cpp:390
QString since
Definition document.h:214
Genus genus
Definition document.h:204
LinkData(LinkOrigin o, LinkState s, std::optional< SourceLocation > loc=std::nullopt)
Represents inline content within a documentation block.
std::optional< LinkEntry > nextLink
Definition document.h:192
QList< TocEntry > tocEntries
Definition document.h:194
QList< BreadcrumbEntry > breadcrumbs
Definition document.h:190
std::optional< LinkEntry > startLink
Definition document.h:193
std::optional< LinkEntry > previousLink
Definition document.h:191
QJsonObject toJson() const
Converts NavigationInfo to a QJsonObject for template rendering.
Definition document.cpp:325
QString obsoleteMembersUrl
Definition document.h:32
std::optional< InheritsInfo > inherits
Definition document.h:39
QJsonObject toJson() const
\variable IR::Document::typeNoun
Definition document.cpp:62
std::optional< NativeTypeInfo > nativeType
Definition document.h:51
QList< InheritedByEntry > inheritedBy
Definition document.h:45
bool hasObsoleteMembers
Definition document.h:31
QString importStatement
Definition document.h:28