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 ,
  Requirement
}
Protected Member Functions inherited from DocNode
void setInsidePreformatted (bool p)

Detailed Description

Node representing an item of a cross-referenced list.

Definition at line 620 of file docnode.h.

Constructor & Destructor Documentation

◆ DocXRefItem()

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

Definition at line 475 of file docnode.cpp.

475 :
476 DocCompoundNode(parser,parent), m_id(id), m_key(key), m_relPath(parser->context.relPath)
477{
478}
DocCompoundNode(DocParser *parser, DocNodeVariant *parent)
Definition docnode.h:141
DocParser * parser()
Definition docnode.h:98
DocNodeVariant * parent()
Definition docnode.h:90
QCString key() const
Definition docnode.h:628
QCString m_key
Definition docnode.h:633
QCString m_relPath
Definition docnode.h:637

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 628 of file docnode.h.

628{ return m_key; }

References m_key.

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

◆ parse()

bool DocXRefItem::parse ( )

Definition at line 480 of file docnode.cpp.

481{
482 RefList *refList = RefListManager::instance().find(m_key);
483 if (refList && refList->isEnabled())
484 {
485 RefItem *item = refList->find(m_id);
486 ASSERT(item!=nullptr);
487 if (item)
488 {
489 if (parser()->context.memberDef && parser()->context.memberDef->name().at(0)=='@')
490 {
491 m_file = "@"; // can't cross reference anonymous enum
492 m_anchor = "@";
493 }
494 else
495 {
496 m_file = refList->fileName();
497 m_anchor = item->anchor();
498 }
499 m_title = refList->sectionTitle();
500 //printf("DocXRefItem: file=%s anchor=%s title=%s\n",
501 // qPrint(m_file),qPrint(m_anchor),qPrint(m_title));
502
503 if (!item->text().isEmpty())
504 {
505 parser()->pushContext();
507 parser()->popContext();
508 }
509 }
510 return TRUE;
511 }
512 return FALSE;
513}
DocNodeList & children()
Definition docnode.h:143
DocNodeVariant * thisVariant()
Definition docnode.h:93
Token internalValidatingParseDoc(DocNodeVariant *parent, DocNodeList &children, const QCString &doc)
void popContext()
Definition docparser.cpp:75
void pushContext()
Definition docparser.cpp:60
QCString m_title
Definition docnode.h:636
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:163
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 627 of file docnode.h.

627{ 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 635 of file docnode.h.

Referenced by anchor(), and parse().

◆ m_file

QCString DocXRefItem::m_file
private

Definition at line 634 of file docnode.h.

Referenced by file(), and parse().

◆ m_id

int DocXRefItem::m_id = 0
private

Definition at line 632 of file docnode.h.

Referenced by DocXRefItem(), and parse().

◆ m_key

QCString DocXRefItem::m_key
private

Definition at line 633 of file docnode.h.

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

◆ m_relPath

QCString DocXRefItem::m_relPath
private

Definition at line 637 of file docnode.h.

Referenced by DocXRefItem(), and relPath().

◆ m_title

QCString DocXRefItem::m_title
private

Definition at line 636 of file docnode.h.

Referenced by parse(), and title().


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