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

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 DString &key)
DString file () const
DString anchor () const
DString title () const
DString relPath () const
DString 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
DString m_key
DString m_file
DString m_anchor
DString m_title
DString 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 DString & key )

Definition at line 477 of file docnode.cpp.

477 :
479{
480}
DocCompoundNode(DocParser *parser, DocNodeVariant *parent)
Definition docnode.h:141
DocParser * parser()
Definition docnode.h:98
DocNodeVariant * parent()
Definition docnode.h:90
DocParserContext context
DString m_relPath
Definition docnode.h:637
DString key() const
Definition docnode.h:628
DString m_key
Definition docnode.h:633

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

Member Function Documentation

◆ anchor()

◆ file()

◆ key()

DString 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 482 of file docnode.cpp.

483{
484 RefList *refList = RefListManager::instance().find(m_key);
485 if (refList && refList->isEnabled())
486 {
487 RefItem *item = refList->find(m_id);
488 ASSERT(item!=nullptr);
489 if (item)
490 {
491 if (parser()->context.memberDef && parser()->context.memberDef->name().at(0)=='@')
492 {
493 m_file = "@"; // can't cross reference anonymous enum
494 m_anchor = "@";
495 }
496 else
497 {
498 m_file = refList->fileName();
499 m_anchor = item->anchor();
500 }
501 m_title = refList->sectionTitle();
502 //printf("DocXRefItem: file=%s anchor=%s title=%s\n",
503 // qPrint(m_file),qPrint(m_anchor),qPrint(m_title));
504
505 if (!item->text().empty())
506 {
507 DocParser::AutoSaveContext saveContext(*parser());
509 }
510 }
511 return true;
512 }
513 return false;
514}
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
Definition dstring.h:153
DocNodeList & children()
Definition docnode.h:143
DocNodeVariant * thisVariant()
Definition docnode.h:93
Token internalValidatingParseDoc(DocNodeVariant *parent, DocNodeList &children, const DString &doc)
DString m_title
Definition docnode.h:636
const T * find(const std::string &key) const
Definition linkedmap.h:47
DString anchor() const
Definition reflist.h:46
DString text() const
Definition reflist.h:45
DString sectionTitle() const
Definition reflist.h:104
DString fileName() const
Definition reflist.h:102
RefItem * find(int itemId)
Definition reflist.cpp:41
bool isEnabled() const
Definition reflist.cpp:47
static RefListManager & instance()
Definition reflist.h:121
#define ASSERT(x)
Definition dstring.h:29

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

◆ relPath()

DString 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

DString DocXRefItem::m_anchor
private

Definition at line 635 of file docnode.h.

Referenced by anchor(), and parse().

◆ m_file

DString 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

DString DocXRefItem::m_key
private

Definition at line 633 of file docnode.h.

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

◆ m_relPath

DString DocXRefItem::m_relPath
private

Definition at line 637 of file docnode.h.

Referenced by DocXRefItem(), and relPath().

◆ m_title

DString 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: