Doxygen
Loading...
Searching...
No Matches
DocXRefItem Class Reference

Node representing an item of a cross-referenced list. More...

#include <src/docnode.h>

Inheritance diagram for DocXRefItem:
Collaboration diagram for DocXRefItem:

Public Member Functions

 DocXRefItem (DocParser *parser, DocNodeVariant *parent, int id, const QCString &key)
QCString file () const
QCString anchor () const
QCString title () const
QCString relPath () const
QCString key () const
bool parse ()
Public Member Functions inherited from DocCompoundNode
 DocCompoundNode (DocParser *parser, DocNodeVariant *parent)
DocNodeListchildren ()
const DocNodeListchildren () const
Public Member Functions inherited from DocNode
 DocNode (DocParser *parser, DocNodeVariant *parent)
 ~DocNode ()=default
DocNodeVariantparent ()
const DocNodeVariantparent () const
DocNodeVariantthisVariant ()
const DocNodeVariantthisVariant () const
void setThisVariant (DocNodeVariant *thisVariant)
DocParserparser ()
const DocParserparser () const
void setParent (DocNodeVariant *parent)
bool isPreformatted () const

Private Attributes

int m_id = 0
QCString m_key
QCString m_file
QCString m_anchor
QCString m_title
QCString m_relPath

Additional Inherited Members

Protected Types inherited from DocNode
enum  RefType { Unknown , Anchor , Section , Table }
Protected Member Functions inherited from DocNode
void setInsidePreformatted (bool p)

Detailed Description

Node representing an item of a cross-referenced list.

Definition at line 615 of file docnode.h.

Constructor & Destructor Documentation

◆ DocXRefItem()

DocXRefItem::DocXRefItem ( DocParser * parser,
DocNodeVariant * parent,
int id,
const QCString & key )

Definition at line 473 of file docnode.cpp.

473 :
474 DocCompoundNode(parser,parent), m_id(id), m_key(key), m_relPath(parser->context.relPath)
475{
476}
DocCompoundNode(DocParser *parser, DocNodeVariant *parent)
Definition docnode.h:140
DocParser * parser()
Definition docnode.h:97
DocNodeVariant * parent()
Definition docnode.h:89
QCString key() const
Definition docnode.h:623
QCString m_key
Definition docnode.h:628
QCString m_relPath
Definition docnode.h:632

References DocCompoundNode::DocCompoundNode(), key(), m_id, m_key, m_relPath, DocNode::parent(), DocNode::parser(), and relPath().

Member Function Documentation

◆ anchor()

◆ file()

◆ key()

QCString DocXRefItem::key ( ) const
inline

Definition at line 623 of file docnode.h.

623{ return m_key; }

References m_key.

Referenced by DocXRefItem(), and HtmlDocVisitor::operator()().

◆ parse()

bool DocXRefItem::parse ( )

Definition at line 478 of file docnode.cpp.

479{
480 RefList *refList = RefListManager::instance().find(m_key);
481 if (refList && refList->isEnabled())
482 {
483 RefItem *item = refList->find(m_id);
484 ASSERT(item!=nullptr);
485 if (item)
486 {
487 if (parser()->context.memberDef && parser()->context.memberDef->name().at(0)=='@')
488 {
489 m_file = "@"; // can't cross reference anonymous enum
490 m_anchor = "@";
491 }
492 else
493 {
494 m_file = refList->fileName();
495 m_anchor = item->anchor();
496 }
497 m_title = refList->sectionTitle();
498 //printf("DocXRefItem: file=%s anchor=%s title=%s\n",
499 // qPrint(m_file),qPrint(m_anchor),qPrint(m_title));
500
501 if (!item->text().isEmpty())
502 {
503 parser()->pushContext();
505 parser()->popContext();
506 }
507 }
508 return TRUE;
509 }
510 return FALSE;
511}
DocNodeList & children()
Definition docnode.h:142
DocNodeVariant * thisVariant()
Definition docnode.h:92
Token internalValidatingParseDoc(DocNodeVariant *parent, DocNodeList &children, const QCString &doc)
void popContext()
Definition docparser.cpp:74
void pushContext()
Definition docparser.cpp:60
QCString m_title
Definition docnode.h:631
const T * find(const std::string &key) const
Definition linkedmap.h:47
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:150
QCString text() const
Definition reflist.h:45
QCString anchor() const
Definition reflist.h:46
QCString sectionTitle() const
Definition reflist.h:104
QCString fileName() const
Definition reflist.h:102
RefItem * find(int itemId)
Definition reflist.cpp:40
bool isEnabled() const
Definition reflist.cpp:46
static RefListManager & instance()
Definition reflist.h:121
#define TRUE
Definition qcstring.h:37
#define FALSE
Definition qcstring.h:34
#define ASSERT(x)
Definition qcstring.h:39

References RefItem::anchor(), ASSERT, DocCompoundNode::children(), FALSE, RefList::fileName(), LinkedMap< T, Hash, KeyEqual, Map >::find(), RefList::find(), RefListManager::instance(), DocParser::internalValidatingParseDoc(), QCString::isEmpty(), RefList::isEnabled(), m_anchor, m_file, m_id, m_key, m_title, DocNode::parser(), DocParser::popContext(), DocParser::pushContext(), RefList::sectionTitle(), RefItem::text(), DocNode::thisVariant(), and TRUE.

◆ relPath()

QCString DocXRefItem::relPath ( ) const
inline

Definition at line 622 of file docnode.h.

622{ return m_relPath; }

References m_relPath.

Referenced by DocXRefItem(), and HtmlDocVisitor::operator()().

◆ title()

Member Data Documentation

◆ m_anchor

QCString DocXRefItem::m_anchor
private

Definition at line 630 of file docnode.h.

Referenced by anchor(), and parse().

◆ m_file

QCString DocXRefItem::m_file
private

Definition at line 629 of file docnode.h.

Referenced by file(), and parse().

◆ m_id

int DocXRefItem::m_id = 0
private

Definition at line 627 of file docnode.h.

Referenced by DocXRefItem(), and parse().

◆ m_key

QCString DocXRefItem::m_key
private

Definition at line 628 of file docnode.h.

Referenced by DocXRefItem(), key(), and parse().

◆ m_relPath

QCString DocXRefItem::m_relPath
private

Definition at line 632 of file docnode.h.

Referenced by DocXRefItem(), and relPath().

◆ m_title

QCString DocXRefItem::m_title
private

Definition at line 631 of file docnode.h.

Referenced by parse(), and title().


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