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

This class constructs and maintains a tree of instances of the subclasses of Node. More...

#include <tree.h>

+ Collaboration diagram for Tree:

Public Member Functions

NodefindNodeByNameAndType (const QStringList &path, bool(Node::*isMatch)() const) const
 Find the node with the specified path name that is of the specified type and subtype.
 
const QStringcamelCaseModuleName () const
 
const QStringphysicalModuleName () const
 
const QStringindexFileName () const
 
const QStringindexTitle () const
 
void setIndexTitle (const QString &t)
 
NodeListproxies ()
 
void appendProxy (ProxyNode *t)
 
void addToDontDocumentMap (QString &arg)
 Add the class and struct names in arg to the {don't document} map.
 
void markDontDocumentNodes ()
 The {don't document} map has been loaded with the names of classes and structs in the current module that are not documented and should not be documented.
 

Static Public Member Functions

static QString refForAtom (const Atom *atom)
 Returns a canonical title for the atom, if the atom is a SectionLeft, SectionHeadingLeft, Keyword, or Target.
 

Friends

class QDocForest
 
class QDocDatabase
 

Detailed Description

This class constructs and maintains a tree of instances of the subclasses of Node.

This class is now private. Only class QDocDatabase has access. Please don't change this. If you must access class Tree, do it though the pointer to the singleton QDocDatabase.

Tree is being converted to a forest. A static member provides a map of Tree *values with the module names as the keys. There is one Tree in the map for each index file read, and there is one tree that is not in the map for the module whose documentation is being generated.

Definition at line 55 of file tree.h.

Member Function Documentation

◆ addToDontDocumentMap()

void Tree::addToDontDocumentMap ( QString & arg)

Add the class and struct names in arg to the {don't document} map.

Definition at line 1364 of file tree.cpp.

◆ appendProxy()

void Tree::appendProxy ( ProxyNode * t)
inline

Definition at line 77 of file tree.h.

◆ camelCaseModuleName()

const QString & Tree::camelCaseModuleName ( ) const
inlinenodiscard

Definition at line 71 of file tree.h.

Referenced by HtmlGenerator::generateCppReferencePage(), and CppCodeParser::processTopicCommand().

+ Here is the caller graph for this function:

◆ findNodeByNameAndType()

Node * Tree::findNodeByNameAndType ( const QStringList & path,
bool(Node::* isMatch )() const ) const
nodiscard

Find the node with the specified path name that is of the specified type and subtype.

Begin the search at the start node. If the start node is 0, begin the search at the tree root. subtype is not used unless type is {Page}.

Definition at line 410 of file tree.cpp.

◆ indexFileName()

const QString & Tree::indexFileName ( ) const
inlinenodiscard

Definition at line 73 of file tree.h.

◆ indexTitle()

const QString & Tree::indexTitle ( ) const
inlinenodiscard

Definition at line 74 of file tree.h.

◆ markDontDocumentNodes()

void Tree::markDontDocumentNodes ( )

The {don't document} map has been loaded with the names of classes and structs in the current module that are not documented and should not be documented.

Now traverse the map, and for each class or struct name, find the class node that represents that class or struct and mark it with the \C DontDocument status.

This results in a map of the class and struct nodes in the module that are in the public API but are not meant to be used by anyone. They are only used internally, but for one reason or another, they must have public visibility.

Definition at line 1391 of file tree.cpp.

References Node< _Tp >::DontDocument, and Node< _Tp >::setStatus().

Referenced by QDocDatabase::resolveStuff().

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

◆ physicalModuleName()

const QString & Tree::physicalModuleName ( ) const
inlinenodiscard

Definition at line 72 of file tree.h.

◆ proxies()

NodeList & Tree::proxies ( )
inline

Definition at line 76 of file tree.h.

Referenced by QDocDatabase::resolveProxies().

+ Here is the caller graph for this function:

◆ refForAtom()

QString Tree::refForAtom ( const Atom * atom)
static

Returns a canonical title for the atom, if the atom is a SectionLeft, SectionHeadingLeft, Keyword, or Target.

If a target or a keyword is immediately followed by a section, the former adopts the title (ref) of the latter.

Definition at line 991 of file tree.cpp.

References Atom::next(), Text::sectionHeading(), Atom::SectionHeadingLeft, Atom::SectionLeft, Atom::Target, and Atom::type().

+ Here is the call graph for this function:

◆ setIndexTitle()

void Tree::setIndexTitle ( const QString & t)
inline

Definition at line 75 of file tree.h.

Friends And Related Symbol Documentation

◆ QDocDatabase

friend class QDocDatabase
friend

Definition at line 58 of file tree.h.

◆ QDocForest

friend class QDocForest
friend

Definition at line 57 of file tree.h.


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