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
DocBookGenerator Class Reference

#include <docbookgenerator.h>

Inheritance diagram for DocBookGenerator:
Collaboration diagram for DocBookGenerator:

Public Member Functions

 DocBookGenerator (FileResolver &file_resolver)
void initializeGenerator () override
 Initializes the DocBook output generator's data structures from the configuration (Config).
QString format () override
Public Member Functions inherited from XmlGenerator
 XmlGenerator (FileResolver &file_resolver)
Public Member Functions inherited from Generator
qreal snippets_4_to_11 (int z, quint32 *begin, quint32 *end, const quint32 *seedBuffer, size_t len)
 Generator (Moc *moc, ClassDef *classDef, const QList< QByteArray > &metaTypes, const QHash< QByteArray, QByteArray > &knownQObjectClasses, const QHash< QByteArray, QByteArray > &knownGadgets, FILE *outfile=nullptr, bool requireCompleteTypes=false)
void generateCode ()
qsizetype registeredStringsCount ()
 Generator (FileResolver &file_resolver)
 Constructs the generator base class.
virtual ~Generator ()
 Destroys the generator after removing it from the list of output generators.
virtual bool canHandleFormat (const QString &format)
virtual void generateDocs ()
 Traverses the database recursively to generate all the documentation.
virtual void initializeFormat ()
 Reads format-specific variables from config, sets output (sub)directories, creates them on the filesystem and copies the template-specific files.
virtual void terminateGenerator ()
virtual QString typeString (const Node *node)
QString fullDocumentLocation (const Node *node)
 Returns the full document location.
QString linkForExampleFile (const QString &path, const QString &fileExt=QString())
 Constructs an href link from an example file name, which is a path to the example file.
virtual QString fileBase (const Node *node) const
qreal snippets_4_to_11 (int z, quint32 *begin, quint32 *end, const quint32 *seedBuffer, size_t len)
Public Member Functions inherited from QRandomGenerator
 QRandomGenerator (quint32 seedValue=1)
 Initializes this QRandomGenerator object with the value seedValue as the seed.
template<qsizetype N>
 QRandomGenerator (const quint32(&seedBuffer)[N])
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Initializes this QRandomGenerator object with the values found in the array seedBuffer as the seed.
 QRandomGenerator (const quint32 *seedBuffer, qsizetype len)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Initializes this QRandomGenerator object with len values found in the array seedBuffer as the seed.
Q_CORE_EXPORT QRandomGenerator (std::seed_seq &sseq) noexcept
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Initializes this QRandomGenerator object with the seed sequence sseq as the seed.
Q_CORE_EXPORT QRandomGenerator (const quint32 *begin, const quint32 *end)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Initializes this QRandomGenerator object with the values found in the range from begin to end as the seed.
Q_CORE_EXPORT QRandomGenerator (const QRandomGenerator &other)
 Creates a copy of the generator state in the other object.
Q_CORE_EXPORT QRandomGeneratoroperator= (const QRandomGenerator &other)
 ~QRandomGenerator ()=default
quint32 generate ()
 Generates a 32-bit random quantity and returns it.
quint64 generate64 ()
 Generates a 64-bit random quantity and returns it.
double generateDouble ()
 Generates one random qreal in the canonical range [0, 1) (that is, inclusive of zero and exclusive of 1).
double bounded (double highest)
 Generates one random double in the range between 0 (inclusive) and highest (exclusive).
quint32 bounded (quint32 highest)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Generates one random 32-bit quantity in the range between 0 (inclusive) and highest (exclusive).
quint32 bounded (quint32 lowest, quint32 highest)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Generates one random 32-bit quantity in the range between lowest (inclusive) and highest (exclusive).
int bounded (int highest)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Generates one random 32-bit quantity in the range between 0 (inclusive) and highest (exclusive).
int bounded (int lowest, int highest)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Generates one random 32-bit quantity in the range between lowest (inclusive) and highest (exclusive), both of which may be negative, but highest must be greater than lowest.
quint64 bounded (quint64 highest)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Generates one random 64-bit quantity in the range between 0 (inclusive) and highest (exclusive).
quint64 bounded (quint64 lowest, quint64 highest)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Generates one random 64-bit quantity in the range between lowest (inclusive) and highest (exclusive).
qint64 bounded (qint64 highest)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Generates one random 64-bit quantity in the range between 0 (inclusive) and highest (exclusive).
qint64 bounded (qint64 lowest, qint64 highest)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Generates one random 64-bit quantity in the range between lowest (inclusive) and highest (exclusive), both of which may be negative, but highest must be greater than lowest.
qint64 bounded (int lowest, qint64 highest)
qint64 bounded (qint64 lowest, int highest)
quint64 bounded (unsigned lowest, quint64 highest)
quint64 bounded (quint64 lowest, unsigned highest)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This function exists to help with overload resolution when the types of the parameters don't exactly match.
template<typename UInt, IfValidUInt< UInt > = true>
void fillRange (UInt *buffer, qsizetype count)
 Generates count 32- or 64-bit quantities (depending on the type UInt) and stores them in the buffer pointed by buffer.
template<typename UInt, size_t N, IfValidUInt< UInt > = true>
void fillRange (UInt(&buffer)[N])
 Generates N 32- or 64-bit quantities (depending on the type UInt) and stores them in the buffer array.
template<typename ForwardIterator>
void generate (ForwardIterator begin, ForwardIterator end)
 Generates 32-bit quantities and stores them in the range between begin and end.
void generate (quint32 *begin, quint32 *end)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
result_type operator() ()
 Generates a 32-bit random quantity and returns it.
void seed (quint32 s=1)
 Reseeds this object using the value seed as the seed.
void seed (std::seed_seq &sseq) noexcept
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Reseeds this object using the seed sequence seed as the seed.
Q_CORE_EXPORT void discard (unsigned long long z)
 Discards the next z entries from the sequence.

Protected Member Functions

QString fileExtension () const override
 Returns "xml" for this subclass of Generator.
void generateDocumentation (Node *node) override
 Recursive writing of DocBook files from the root node.
void generateCppReferencePage (Node *node)
 Generate a reference page for the C++ class, namespace, or header file documented in node.
void generatePageNode (PageNode *pn)
 Generate the DocBook page for an entity that doesn't map to any underlying parsable C++ or QML element.
void generateQmlTypePage (QmlTypeNode *qcn)
 Generate the DocBook page for a QML type.
void generateCollectionNode (CollectionNode *cn)
 Generate the HTML page for a group, module, or QML module.
void generateGenericCollectionPage (CollectionNode *cn)
 Generate the HTML page for a generic collection.
void generateProxyPage (Aggregate *aggregate)
void generateList (const Node *relative, const QString &selector, Qt::SortOrder sortOrder=Qt::AscendingOrder)
void generateHeader (const QString &title, const QString &subtitle, const Node *node)
 Generate the DocBook header for the file, including the abstract.
void closeTextSections ()
void generateFooter ()
void generateDocBookSynopsis (const Node *node)
 Generate the metadata for the given node in DocBook.
void generateRequisites (const Aggregate *inner)
 Lists the required imports and includes.
void generateQmlRequisites (const QmlTypeNode *qcn)
 Lists the required imports and includes.
void generateSortedNames (const ClassNode *cn, const QList< RelatedClass > &rc)
void generateSortedQmlNames (const Node *base, const QStringList &knownTypes, const NodeList &subs)
bool generateStatus (const Node *node)
void generateGroupReferenceText (const Node *node)
 Return a string representing a text that exposes information about the groups that the node is part of.
bool generateThreadSafeness (const Node *node)
 Generates text that explains how threadsafe and/or reentrant node is.
bool generateSince (const Node *node)
void generateAddendum (const Node *node, Generator::Addendum type, CodeMarker *marker, AdmonitionPrefix prefix) override
 Generates an addendum note of type type for node.
void generateBody (const Node *node)
 Generate the body of the documentation from the qdoc comment found with the entity represented by the node.
bool generateText (const Text &text, const Node *relative) override
 Generate the documentation for relative.
qsizetype generateAtom (const Atom *atom, const Node *relative, CodeMarker *) override
 Generate DocBook from an instance of Atom.
virtual void generateCppReferencePage (Aggregate *, CodeMarker *)
virtual void generatePageNode (PageNode *, CodeMarker *)
virtual void generateQmlTypePage (QmlTypeNode *, CodeMarker *)
virtual void generateCollectionNode (CollectionNode *, CodeMarker *)
virtual void generateGenericCollectionPage (CollectionNode *, CodeMarker *)
virtual void generateProxyPage (Aggregate *, CodeMarker *)
virtual void generateBody (const Node *node, CodeMarker *marker)
 Generate the body of the documentation from the qdoc comment found with the entity represented by the node.
Protected Member Functions inherited from XmlGenerator
QString registerRef (const QString &ref, bool xmlCompliant=false)
 Registers an anchor reference and returns a unique and cleaned copy of the reference (the one that should be used in the output).
QString refForNode (const Node *node)
 Generates a clean and unique reference for the given node.
QString linkForNode (const Node *node, const Node *relative)
 Construct the link string for the node and return it.
QString getLink (const Atom *atom, const Node *relative, const Node **node)
 This function is called for links, i.e.
QString getAutoLink (const Atom *atom, const Node *relative, const Node **node, Genus=Genus::DontCare)
 This function is called for autolinks, i.e.
std::pair< QString, QStringanchorForNode (const Node *node)
Protected Member Functions inherited from Generator
void beginSubPage (const Node *node, const QString &fileName)
 Creates the file named fileName in the output directory.
void endSubPage ()
 Flush the text stream associated with the subpage, and then pop it off the text stream stack and delete it.
virtual void generateAlsoList (const Node *node, CodeMarker *marker)
virtual bool generateText (const Text &text, const Node *relative, CodeMarker *marker)
 Generate the documentation for relative.
virtual int skipAtoms (const Atom *atom, Atom::AtomType type) const
void initializeTextOutput ()
 Resets the variables used during text output.
QString fileName (const Node *node, const QString &extension=QString()) const
 If the node has a URL, return the URL as the file name.
QMap< QString, QString > & formattingLeftMap ()
QMap< QString, QString > & formattingRightMap ()
const AtomgenerateAtomList (const Atom *atom, const Node *relative, CodeMarker *marker, bool generate, int &numGeneratedAtoms)
void generateEnumValuesForQmlReference (const Node *node, CodeMarker *marker)
void generateRequiredLinks (const Node *node, CodeMarker *marker)
 Generates either a link to the project folder for example node, or a list of links files/images if 'url.examples config' variable is not defined.
void generateLinkToExample (const ExampleNode *en, CodeMarker *marker, const QString &exampleUrl)
 Generates an external link to the project folder for example node.
void generateSince (const Node *node, CodeMarker *marker)
void generateNoexceptNote (const Node *node, CodeMarker *marker)
void generateStatus (const Node *node, CodeMarker *marker)
virtual void generateAddendum (const Node *node, Addendum type, CodeMarker *marker)
void generateThreadSafeness (const Node *node, CodeMarker *marker)
 Generates text that explains how threadsafe and/or reentrant node is.
bool generateComparisonCategory (const Node *node, CodeMarker *marker=nullptr)
bool generateComparisonList (const Node *node)
 Generates a list of types that compare to node with the comparison category that applies for the relationship, followed by (an optional) descriptive text.
QString generateOverloadSnippet (const FunctionNode *func)
 Generates a contextual code snippet for connecting to an overloaded signal or slot.
QString generateObjectName (const QString &className)
 Generates an appropriate object name for code snippets based on the class name.
QString indent (int level, const QString &markedCode)
QTextStreamout ()
QString outFileName ()
bool parseArg (const QString &src, const QString &tag, int *pos, int n, QStringView *contents, QStringView *par1=nullptr)
void unknownAtom (const Atom *atom)
int appendSortedQmlNames (Text &text, const Node *base, const QStringList &knownTypes, const QList< Node * > &subs)
void appendFullName (Text &text, const Node *apparentNode, const Node *relative, const Node *actualNode=nullptr)
void appendFullName (Text &text, const Node *apparentNode, const QString &fullName, const Node *actualNode)
int appendSortedNames (Text &text, const ClassNode *classe, const QList< RelatedClass > &classes)
void appendSignature (Text &text, const Node *node)
 Append the signature for the function named in node to text, so that is a link to the documentation for that function.
void signatureList (const QList< Node * > &nodes, const Node *relative, CodeMarker *marker)
 Generate a bullet list of function signatures.
void addImageToCopy (const ExampleNode *en, const ResolvedFile &resolved_file)
Protected Member Functions inherited from QRandomGenerator
 QRandomGenerator (System)

Private Member Functions

void generateAlsoList (const Node *node) override
void generateExampleFilePage (const Node *en, ResolvedFile resolved_file, CodeMarker *=nullptr) override
 Generate a file with the contents of a C++ or QML source file.

Additional Inherited Members

Public Types inherited from Generator
enum  ListType { Generic , Obsolete }
enum  Addendum {
  Invokable , PrivateSignal , QmlSignalHandler , AssociatedProperties ,
  BindableProperty , OverloadNote
}
enum class  AdmonitionPrefix : unsigned char { None , Note }
Public Types inherited from QRandomGenerator
typedef quint32 result_type
 A typedef to the type that operator() returns.
Static Public Member Functions inherited from Generator
static QString exampleFileTitle (const ExampleNode *relative, const QString &fileName)
 Helper function to construct a title for a file or image page included in an example.
static GeneratorcurrentGenerator ()
static GeneratorgeneratorForFormat (const QString &format)
static void initialize ()
static const QStringoutputDir ()
static const QStringoutputSubdir ()
static void terminate ()
static const QStringListoutputFileNames ()
static bool noLinkErrors ()
static bool autolinkErrors ()
static QString defaultModuleName ()
static void resetUseOutputSubdirs ()
static bool useOutputSubdirs ()
static void setQmlTypeContext (QmlTypeNode *t)
static QmlTypeNodeqmlTypeContext ()
static QString cleanRef (const QString &ref, bool xmlCompliant=false)
 Clean the given ref to be used as an HTML anchor or an xml:id.
static QString plainCode (const QString &markedCode)
static Qt::SortOrder sortOrder (const QString &str)
static void addNodeLink (Text &text, const QString &nodeRef, const QString &linkText)
 Adds a formatted link to the specified text stream.
static void addNodeLink (Text &text, const INode *node, const QString &linkText=QString())
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.This convenience overload automatically obtains the node reference string using stringForNode().
Static Public Member Functions inherited from QRandomGenerator
static constexpr result_type min ()
 Returns the minimum value that QRandomGenerator may ever generate.
static constexpr result_type max ()
 Returns the maximum value that QRandomGenerator may ever generate.
static Q_DECL_CONST_FUNCTION QRandomGeneratorsystem ()
 \threadsafe
static Q_DECL_CONST_FUNCTION QRandomGeneratorglobal ()
 \threadsafe
static QRandomGenerator securelySeeded ()
 Returns a new QRandomGenerator object that was securely seeded with QRandomGenerator::system().
Protected Types inherited from QRandomGenerator
enum  System
Static Protected Member Functions inherited from XmlGenerator
static bool hasBrief (const Node *node)
 Do not display.
static bool isThreeColumnEnumValueTable (const Atom *atom)
 Determines whether the list atom should be shown with three columns (constant-value-description).
static bool isOneColumnValueTable (const Atom *atom)
 Determines whether the list atom should be shown with just one column (value).
static int hOffset (const Node *node)
 Header offset depending on the type of the node.
static void rewritePropertyBrief (const Atom *atom, const Node *relative)
 Rewrites the brief of this node depending on its first word.
static NodeType typeFromString (const Atom *atom)
 Returns the type of this atom as an enumeration.
static void setImageFileName (const Node *relative, const QString &fileName)
 For images shown in examples, set the image file to the one it will have once the documentation is generated.
static std::pair< QString, int > getAtomListValue (const Atom *atom)
 Handles the differences in lists between list tags and since tags, and returns the content of the list entry atom (first member of the pair).
static std::pair< QString, QStringgetTableWidthAttr (const Atom *atom)
 Parses the table attributes from the given atom.
static QString targetType (const Node *node)
 Returns a string describing the node type.
Static Protected Member Functions inherited from Generator
static QFileopenSubPageFile (const PageNode *node, const QString &fileName)
 Creates the file named fileName in the output directory and returns a QFile pointing to this file.
static bool matchAhead (const Atom *atom, Atom::AtomType expectedAtomType)
static QString outputPrefix (const Node *node)
static QString outputSuffix (const Node *node)
static void supplementAlsoList (const Node *node, QList< Text > &alsoList)
static QString trimmedTrailing (const QString &string, const QString &prefix, const QString &suffix)
 Trims trailing whitespace off the string and returns the trimmed string.
static QString formatSince (const Node *node)
static bool hasExceptions (const Node *node, QList< Node * > &reentrant, QList< Node * > &threadsafe, QList< Node * > &nonreentrant)
static bool comparePaths (const QString &a, const QString &b)
static bool appendTrademark (const Atom *atom)
 Returns true if a trademark symbol should be appended to the output as determined by atom.
static std::optional< std::pair< QString, QString > > cmakeRequisite (const CollectionNode *cn)
 Generate the CMake requisite for the node cn, i.e.
Protected Attributes inherited from XmlGenerator
QHash< QString, QStringrefMap
const Nodem_linkNode { nullptr }
Protected Attributes inherited from Generator
QString naturalLanguage
QString tagFile_
QStack< QTextStream * > outStreamStack
FileResolverfile_resolver
QDocDatabasem_qdb { nullptr }
bool m_inLink { false }
bool m_inContents { false }
bool m_inSectionHeading { false }
bool m_inTableHeader { false }
bool m_threeColumnEnumValueTable { true }
bool m_quoting { false }
int m_numTableRows { 0 }
QString m_link {}
QString m_sectionNumber {}
Static Protected Attributes inherited from XmlGenerator
static const QRegularExpression m_funcLeftParen

Detailed Description

Definition at line 22 of file docbookgenerator.h.

Constructor & Destructor Documentation

◆ DocBookGenerator()

DocBookGenerator::DocBookGenerator ( FileResolver & file_resolver)
explicit

Definition at line 48 of file docbookgenerator.cpp.

References XmlGenerator::XmlGenerator().

Referenced by processQdocconfFile().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ closeTextSections()

void DocBookGenerator::closeTextSections ( )
protected

Definition at line 1942 of file docbookgenerator.cpp.

Referenced by generateFooter(), and generateText().

Here is the caller graph for this function:

◆ fileExtension()

QString DocBookGenerator::fileExtension ( ) const
nodiscardoverrideprotectedvirtual

Returns "xml" for this subclass of Generator.

Implements Generator.

Definition at line 173 of file docbookgenerator.cpp.

◆ format()

QString DocBookGenerator::format ( )
overridevirtual

Implements Generator.

Definition at line 165 of file docbookgenerator.cpp.

◆ generateAddendum()

void DocBookGenerator::generateAddendum ( const Node * node,
Generator::Addendum type,
CodeMarker * marker,
AdmonitionPrefix prefix )
overrideprotectedvirtual

Generates an addendum note of type type for node.

marker is unused in this generator.

Reimplemented from Generator.

Definition at line 4005 of file docbookgenerator.cpp.

References Generator::AssociatedProperties, Atom::AutoLink, PropertyNode::Bindable, Generator::BindableProperty, Node< _Tp >::doc(), PropertyNode::Getter, Node< _Tp >::isClassNode(), Node< _Tp >::isFunction(), Node< _Tp >::isNamespace(), FunctionNode::isSignal(), FunctionNode::isSlot(), Atom::Link, Node< _Tp >::nodeNameLessThan(), Generator::None, Generator::Note, PropertyNode::Notifier, Generator::OverloadNote, Node< _Tp >::parent(), Generator::QmlSignalHandler, PropertyNode::Resetter, and PropertyNode::Setter.

Referenced by generateBody().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateAlsoList()

void DocBookGenerator::generateAlsoList ( const Node * node)
overrideprivatevirtual

Reimplemented from Generator.

Definition at line 2951 of file docbookgenerator.cpp.

References Node< _Tp >::doc().

Referenced by generateCollectionNode(), generateCppReferencePage(), generatePageNode(), generateProxyPage(), and generateQmlTypePage().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateAtom()

qsizetype DocBookGenerator::generateAtom ( const Atom * atom,
const Node * relative,
CodeMarker *  )
overrideprotectedvirtual

Generate DocBook from an instance of Atom.

Reimplemented from Generator.

Definition at line 206 of file docbookgenerator.cpp.

References Atom::AnnotatedList, Atom::AutoLink, Atom::BaseName, Atom::BR, Atom::BriefLeft, Atom::BriefRight, Atom::CaptionLeft, Atom::CaptionRight, Atom::CodeQuoteArgument, Atom::CodeQuoteCommand, Atom::ComparesLeft, Atom::ComparesRight, Atom::DetailsLeft, Atom::DetailsRight, Atom::DivLeft, Atom::DivRight, Node< _Tp >::doc(), Generator::file_resolver, Atom::FormatElse, Atom::FormatEndif, Atom::FormatIf, Atom::FormattingLeft, Atom::FormattingRight, Atom::GeneratedList, QDocDatabase::getAttributions(), QDocDatabase::getClassesWithObsoleteMembers(), QDocDatabase::getCppClasses(), QDocDatabase::getExamples(), QDocDatabase::getFunctionIndex(), QDocDatabase::getLegaleseTexts(), CollectionNode::getMembers(), QDocDatabase::getNamespaces(), QDocDatabase::getObsoleteClasses(), QDocDatabase::getObsoleteQmlTypes(), QDocDatabase::getQmlTypes(), QDocDatabase::getQmlTypesWithObsoleteMembers(), QDocDatabase::getQmlValueTypes(), Group, XmlGenerator::hasBrief(), XmlGenerator::hOffset(), Atom::HR, Atom::Image, Atom::ImageText, Atom::ImportantLeft, Atom::InlineImage, Node< _Tp >::isClassNode(), Node< _Tp >::isDeprecated(), Node< _Tp >::isEnumType(), XmlGenerator::isOneColumnValueTable(), XmlGenerator::isThreeColumnEnumValueTable(), Atom::Keyword, Atom::LegaleseLeft, Atom::LegaleseRight, Atom::LineBreak, Atom::Link, Atom::LinkNode, Atom::ListItemLeft, Atom::ListItemNumber, Atom::ListItemRight, Atom::ListLeft, Atom::ListTagLeft, Atom::ListTagRight, Doc::location(), Node< _Tp >::location(), Generator::m_inContents, Generator::m_inLink, Generator::m_inSectionHeading, Generator::m_inTableHeader, Generator::m_qdb, Generator::m_threeColumnEnumValueTable, Generator::matchAhead(), CollectionNode::members(), Module, Atom::NavAutoLink, Atom::NavLink, Atom::next(), Atom::Nop, Atom::NoteLeft, Atom::ParaRight, Node< _Tp >::parent(), QDocDatabase::qdocDB(), QmlModule, QmlType, QmlValueType, Atom::RawString, XmlGenerator::rewritePropertyBrief(), Text::sectionHeading(), Atom::SectionHeadingLeft, Atom::SectionHeadingRight, Atom::SectionLeft, Atom::SectionRight, Atom::SinceList, Atom::SinceTagRight, Generator::skipAtoms(), Atom::SnippetCommand, Atom::SnippetIdentifier, Atom::SnippetLocation, Atom::String, Atom::TableHeaderLeft, Atom::TableHeaderRight, Atom::TableItemLeft, Atom::TableLeft, Atom::TableOfContentsLeft, Atom::TableOfContentsRight, Atom::TableRowLeft, Atom::TableRowRight, Atom::Target, Atom::type(), XmlGenerator::typeFromString(), Generator::unknownAtom(), and Atom::WarningLeft.

Here is the call graph for this function:

◆ generateBody() [1/2]

◆ generateBody() [2/2]

void Generator::generateBody ( const Node * node,
CodeMarker * marker )
protectedvirtual

Generate the body of the documentation from the qdoc comment found with the entity represented by the node.

Reimplemented from Generator.

Definition at line 98 of file generator.cpp.

◆ generateCollectionNode() [1/2]

virtual void Generator::generateCollectionNode ( CollectionNode * ,
CodeMarker *  )
inlineprotectedvirtual

Reimplemented from Generator.

Definition at line 103 of file generator.h.

◆ generateCollectionNode() [2/2]

void DocBookGenerator::generateCollectionNode ( CollectionNode * cn)
protected

Generate the HTML page for a group, module, or QML module.

Definition at line 4805 of file docbookgenerator.cpp.

References Node< _Tp >::doc(), generateAlsoList(), generateDocBookSynopsis(), generateFooter(), generateSince(), generateStatus(), Node< _Tp >::genus(), CollectionNode::getMembers(), Node< _Tp >::isClassNode(), Node< _Tp >::isGroup(), Node< _Tp >::isModule(), Node< _Tp >::isQmlModule(), Namespace, and PageNode::noAutoList().

Referenced by generateDocumentation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateCppReferencePage() [1/2]

virtual void Generator::generateCppReferencePage ( Aggregate * ,
CodeMarker *  )
inlineprotectedvirtual

Reimplemented from Generator.

Definition at line 99 of file generator.h.

◆ generateCppReferencePage() [2/2]

void DocBookGenerator::generateCppReferencePage ( Node * node)
protected

Generate a reference page for the C++ class, namespace, or header file documented in node.

Definition at line 3051 of file docbookgenerator.cpp.

References Sections::Sections(), Node< _Tp >::doc(), generateAlsoList(), generateDocBookSynopsis(), generateRequisites(), generateStatus(), Node< _Tp >::isAggregate(), Node< _Tp >::isClass(), Node< _Tp >::isHeader(), Node< _Tp >::isNamespace(), Sections::stdCppClassDetailsSections(), and Sections::stdDetailsSections().

Here is the call graph for this function:

◆ generateDocBookSynopsis()

void DocBookGenerator::generateDocBookSynopsis ( const Node * node)
protected

Generate the metadata for the given node in DocBook.

Definition at line 3148 of file docbookgenerator.cpp.

References Node< _Tp >::access(), Parameters::at(), Class, QmlTypeNode::classNode(), Parameters::count(), Node< _Tp >::createContext(), Node< _Tp >::doc(), EnumNode::flagsType(), FunctionNode::hasAssociatedProperties(), Node< _Tp >::Internal, Node< _Tp >::isAggregate(), EnumNode::isAnonymous(), QmlPropertyNode::isAttached(), FunctionNode::isCCtor(), Node< _Tp >::isClass(), Node< _Tp >::isCollectionNode(), FunctionNode::isCtor(), FunctionNode::isDefault(), QmlPropertyNode::isDefault(), FunctionNode::isDtor(), Parameters::isEmpty(), Node< _Tp >::isEnumType(), FunctionNode::isFinal(), Node< _Tp >::isFunction(), Node< _Tp >::isGroup(), InclusionFilter::isIncluded(), FunctionNode::isMacro(), FunctionNode::isMCtor(), Node< _Tp >::isModule(), Node< _Tp >::isNamespace(), FunctionNode::isOverload(), FunctionNode::isOverride(), Node< _Tp >::isPageNode(), Node< _Tp >::isProperty(), FunctionNode::isPureVirtual(), Node< _Tp >::isQmlModule(), ClassNode::isQmlNativeType(), Node< _Tp >::isQmlProperty(), Node< _Tp >::isQmlType(), QmlPropertyNode::isReadOnly(), QmlPropertyNode::isReadOnly(), QmlPropertyNode::isRequired(), Node< _Tp >::isSharedCommentNode(), VariableNode::isStatic(), Node< _Tp >::isTypedef(), Node< _Tp >::isVariable(), Atom::LinkNode, Doc::location(), Generator::m_qdb, Module, Namespace, Node< _Tp >::nodeNameLessThan(), Node< _Tp >::nodeType(), FunctionNode::parameters(), Private, Protected, QmlTypeNode::qmlBaseNode(), Node< _Tp >::SignatureReturnType, Node< _Tp >::status(), QmlTypeNode::subclasses(), and Node< _Tp >::threadSafeness().

Referenced by generateCollectionNode(), generateCppReferencePage(), and generateGenericCollectionPage().

Here is the caller graph for this function:

◆ generateDocumentation()

◆ generateExampleFilePage()

void DocBookGenerator::generateExampleFilePage ( const Node * en,
ResolvedFile resolved_file,
CodeMarker * = nullptr )
overrideprivatevirtual

Generate a file with the contents of a C++ or QML source file.

Reimplemented from Generator.

Definition at line 2887 of file docbookgenerator.cpp.

References CodeMarker::atomType(), Node< _Tp >::doc(), generateText(), Node< _Tp >::isExample(), Node< _Tp >::location(), and Doc::quoteFromFile().

Here is the call graph for this function:

◆ generateFooter()

void DocBookGenerator::generateFooter ( )
protected

Definition at line 1950 of file docbookgenerator.cpp.

References closeTextSections().

Referenced by generateCollectionNode(), generateGenericCollectionPage(), generatePageNode(), generateProxyPage(), and generateQmlTypePage().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateGenericCollectionPage() [1/2]

virtual void Generator::generateGenericCollectionPage ( CollectionNode * ,
CodeMarker *  )
inlineprotectedvirtual

Reimplemented from Generator.

Definition at line 104 of file generator.h.

◆ generateGenericCollectionPage() [2/2]

void DocBookGenerator::generateGenericCollectionPage ( CollectionNode * cn)
protected

Generate the HTML page for a generic collection.

This is usually a collection of C++ elements that are related to an element in a different module.

Definition at line 4879 of file docbookgenerator.cpp.

References generateDocBookSynopsis(), generateFooter(), and CollectionNode::members().

Referenced by generateDocumentation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateGroupReferenceText()

void DocBookGenerator::generateGroupReferenceText ( const Node * node)
protected

Return a string representing a text that exposes information about the groups that the node is part of.

Definition at line 2523 of file docbookgenerator.cpp.

References QDocDatabase::groups(), Node< _Tp >::isAggregate(), Generator::m_qdb, and QDocDatabase::mergeCollections().

Referenced by generateQmlRequisites(), and generateRequisites().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateHeader()

void DocBookGenerator::generateHeader ( const QString & title,
const QString & subTitle,
const Node * node )
protected

Generate the DocBook header for the file, including the abstract.

Equivalent to calling generateTitle and generateBrief in HTML.

Definition at line 1770 of file docbookgenerator.cpp.

References Doc::briefText(), Node< _Tp >::doc(), NamespaceNode::docNode(), Generator::generateComparisonCategory(), Generator::generateComparisonList(), generateSince(), generateStatus(), generateText(), generateThreadSafeness(), Node< _Tp >::hasDoc(), Text::isEmpty(), Node< _Tp >::isNamespace(), Text::lastAtom(), Generator::m_qdb, Text::operator=(), Atom::String, and NamespaceNode::tree().

Here is the call graph for this function:

◆ generateList()

void DocBookGenerator::generateList ( const Node * relative,
const QString & selector,
Qt::SortOrder sortOrder = Qt::AscendingOrder )
protected

Definition at line 1312 of file docbookgenerator.cpp.

References Group, Generator::m_qdb, QDocDatabase::mergeCollections(), QDocDatabase::mergeCollections(), Module, NoType, and QmlModule.

Here is the call graph for this function:

◆ generatePageNode() [1/2]

virtual void Generator::generatePageNode ( PageNode * ,
CodeMarker *  )
inlineprotectedvirtual

Reimplemented from Generator.

Definition at line 102 of file generator.h.

◆ generatePageNode() [2/2]

void DocBookGenerator::generatePageNode ( PageNode * pn)
protected

Generate the DocBook page for an entity that doesn't map to any underlying parsable C++ or QML element.

Definition at line 4467 of file docbookgenerator.cpp.

References generateAlsoList(), and generateFooter().

Referenced by generateDocumentation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateProxyPage() [1/2]

virtual void Generator::generateProxyPage ( Aggregate * ,
CodeMarker *  )
inlineprotectedvirtual

Reimplemented from Generator.

Definition at line 100 of file generator.h.

◆ generateProxyPage() [2/2]

void DocBookGenerator::generateProxyPage ( Aggregate * aggregate)
protected

Definition at line 4747 of file docbookgenerator.cpp.

References Sections::Sections(), Node< _Tp >::doc(), generateAlsoList(), generateFooter(), Node< _Tp >::isProxyNode(), and Sections::stdDetailsSections().

Referenced by generateDocumentation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateQmlRequisites()

void DocBookGenerator::generateQmlRequisites ( const QmlTypeNode * qcn)
protected

Lists the required imports and includes.

Definition at line 2320 of file docbookgenerator.cpp.

References QmlTypeNode::classNode(), Node< _Tp >::createContext(), generateGroupReferenceText(), Node< _Tp >::Internal, InclusionFilter::isIncluded(), ClassNode::isQmlNativeType(), QmlTypeNode::logicalModule(), QmlTypeNode::qmlBaseNode(), Node< _Tp >::status(), and QmlTypeNode::subclasses().

Referenced by generateQmlTypePage().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateQmlTypePage() [1/2]

virtual void Generator::generateQmlTypePage ( QmlTypeNode * ,
CodeMarker *  )
inlineprotectedvirtual

Reimplemented from Generator.

Definition at line 101 of file generator.h.

◆ generateQmlTypePage() [2/2]

void DocBookGenerator::generateQmlTypePage ( QmlTypeNode * qcn)
protected

Generate the DocBook page for a QML type.

\qcn is the QML type.

Definition at line 4484 of file docbookgenerator.cpp.

References generateAlsoList(), generateFooter(), generateQmlRequisites(), generateStatus(), Node< _Tp >::isQmlBasicType(), QmlTypeNode::isSingleton(), and Generator::setQmlTypeContext().

Referenced by generateDocumentation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateRequisites()

void DocBookGenerator::generateRequisites ( const Aggregate * inner)
protected

Lists the required imports and includes.

Definition at line 2195 of file docbookgenerator.cpp.

References Class, generateGroupReferenceText(), Node< _Tp >::Internal, Node< _Tp >::isClassNode(), Node< _Tp >::isNamespace(), ClassNode::isQmlNativeType(), Generator::m_qdb, Module, Node< _Tp >::nodeNameLessThan(), Node< _Tp >::nodeType(), and Node< _Tp >::status().

Referenced by generateCppReferencePage().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateSince()

bool DocBookGenerator::generateSince ( const Node * node)
protected

Definition at line 1750 of file docbookgenerator.cpp.

Referenced by generateCollectionNode(), and generateHeader().

Here is the caller graph for this function:

◆ generateSortedNames()

void DocBookGenerator::generateSortedNames ( const ClassNode * cn,
const QList< RelatedClass > & rc )
protected

Definition at line 2139 of file docbookgenerator.cpp.

References Node< _Tp >::access(), Node< _Tp >::doc(), Node< _Tp >::Internal, Public, and Node< _Tp >::status().

Here is the call graph for this function:

◆ generateSortedQmlNames()

void DocBookGenerator::generateSortedQmlNames ( const Node * base,
const QStringList & knownTypes,
const NodeList & subs )
protected

Definition at line 2163 of file docbookgenerator.cpp.

◆ generateStatus()

bool DocBookGenerator::generateStatus ( const Node * node)
protected

Definition at line 2424 of file docbookgenerator.cpp.

References Node< _Tp >::Active, Node< _Tp >::Internal, Node< _Tp >::isAggregate(), Node< _Tp >::isModule(), Node< _Tp >::isQmlModule(), and Node< _Tp >::status().

Referenced by generateCollectionNode(), generateCppReferencePage(), generateHeader(), and generateQmlTypePage().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateText()

bool DocBookGenerator::generateText ( const Text & text,
const Node * relative )
overrideprotectedvirtual

Generate the documentation for relative.

i.e. relative is the node that represents the entity where a qdoc comment was found, and text represents the qdoc comment.

Reimplemented from Generator.

Definition at line 183 of file docbookgenerator.cpp.

References closeTextSections(), Text::firstAtom(), Generator::generateAtomList(), and Generator::initializeTextOutput().

Referenced by generateBody(), generateExampleFilePage(), and generateHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateThreadSafeness()

bool DocBookGenerator::generateThreadSafeness ( const Node * node)
protected

Generates text that explains how threadsafe and/or reentrant node is.

Definition at line 2557 of file docbookgenerator.cpp.

References Node< _Tp >::isAggregate(), Atom::Link, Node< _Tp >::NonReentrant, Node< _Tp >::Reentrant, Node< _Tp >::ThreadSafe, and Node< _Tp >::threadSafeness().

Referenced by generateHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initializeGenerator()

void DocBookGenerator::initializeGenerator ( )
overridevirtual

Initializes the DocBook output generator's data structures from the configuration (Config).

Reimplemented from Generator.

Definition at line 142 of file docbookgenerator.cpp.

References Generator::initializeGenerator().

Here is the call graph for this function:

The documentation for this class was generated from the following files: