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

480 :
482{
483}
DocCompoundNode(DocParser *parser, DocNodeVariant *parent)
Definition docnode.h:141
DocParser * parser()
Definition docnode.h:97
DocNodeVariant * parent()
Definition docnode.h:89
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 485 of file docnode.cpp.

486{
487 RefList *refList = RefListManager::instance().find(m_key);
488 if (refList && refList->isEnabled())
489 {
490 RefItem *item = refList->find(m_id);
491 ASSERT(item!=nullptr);
492 if (item)
493 {
494 if (parser()->context.memberDef && parser()->context.memberDef->name().at(0)=='@')
495 {
496 m_file = "@"; // can't cross reference anonymous enum
497 m_anchor = "@";
498 }
499 else
500 {
501 m_file = refList->fileName();
502 m_anchor = item->anchor();
503 }
504 m_title = refList->sectionTitle();
505 //printf("DocXRefItem: file=%s anchor=%s title=%s\n",
506 // qPrint(m_file),qPrint(m_anchor),qPrint(m_title));
507
508 if (!item->text().empty())
509 {
510 DocParser::AutoSaveContext saveContext(*parser());
512 }
513 }
514 return true;
515 }
516 return false;
517}
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
Definition dstring.h:148
DocNodeList & children()
Definition docnode.h:143
DocNodeVariant * thisVariant()
Definition docnode.h:92
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:47
DString text() const
Definition reflist.h:46
DString sectionTitle() const
Definition reflist.h:105
DString fileName() const
Definition reflist.h:103
RefItem * find(int itemId)
Definition reflist.cpp:45
bool isEnabled() const
Definition reflist.cpp:51
static RefListManager & instance()
Definition reflist.h:122
#define ASSERT(x)
Definition message.h:142

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: