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

Node representing a mermaid file. More...

#include <src/docnode.h>

Inheritance diagram for DocMermaidFile:
Collaboration diagram for DocMermaidFile:

Public Member Functions

 DocMermaidFile (DocParser *parser, DocNodeVariant *parent, const QCString &name, const QCString &context, const QCString &srcFile, int srcLine)
bool parse ()
Public Member Functions inherited from DocDiagramFileBase
 DocDiagramFileBase (DocParser *parser, DocNodeVariant *parent, const QCString &name, const QCString &context, const QCString &srcFile, int srcLine)
QCString name () const
QCString file () const
QCString relPath () const
bool hasCaption () const
QCString width () const
QCString height () const
QCString context () const
QCString srcFile () const
int srcLine () const
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

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)
Protected Attributes inherited from DocDiagramFileBase
std::unique_ptr< Privatep

Detailed Description

Node representing a mermaid file.

Definition at line 748 of file docnode.h.

Constructor & Destructor Documentation

◆ DocMermaidFile()

DocMermaidFile::DocMermaidFile ( DocParser * parser,
DocNodeVariant * parent,
const QCString & name,
const QCString & context,
const QCString & srcFile,
int srcLine )

Definition at line 1285 of file docnode.cpp.

1286 :
1288{
1289 p->relPath = parser->context.relPath;
1290}
QCString srcFile() const
Definition docnode.h:691
std::unique_ptr< Private > p
Definition docnode.h:708
int srcLine() const
Definition docnode.h:692
DocDiagramFileBase(DocParser *parser, DocNodeVariant *parent, const QCString &name, const QCString &context, const QCString &srcFile, int srcLine)
Definition docnode.h:681
QCString context() const
Definition docnode.h:690
QCString name() const
Definition docnode.h:684
DocParser * parser()
Definition docnode.h:98
DocNodeVariant * parent()
Definition docnode.h:90

References DocDiagramFileBase::context(), DocDiagramFileBase::DocDiagramFileBase(), DocDiagramFileBase::name(), DocDiagramFileBase::p, parent(), DocNode::parser(), DocDiagramFileBase::srcFile(), and DocDiagramFileBase::srcLine().

Member Function Documentation

◆ parse()

bool DocMermaidFile::parse ( )

Definition at line 1292 of file docnode.cpp.

1293{
1294 bool ok = false;
1296
1297 bool ambig = false;
1298 FileDef *fd = findFileDef(Doxygen::mermaidFileNameLinkedMap,p->name,ambig);
1299 if (fd==nullptr && !p->name.endsWith(".mmd")) // try with .mmd extension as well
1300 {
1301 fd = findFileDef(Doxygen::mermaidFileNameLinkedMap,p->name+".mmd",ambig);
1302 }
1303 if (fd)
1304 {
1305 p->file = fd->absFilePath();
1306 ok = true;
1307 if (ambig)
1308 {
1309 warn_doc_error(parser()->context.fileName,parser()->tokenizer.getLineNr(),"included mermaid file name '{}' is ambiguous.\n"
1310 "Possible candidates:\n{}",p->name,
1312 );
1313 }
1314 }
1315 else
1316 {
1317 warn_doc_error(parser()->context.fileName,parser()->tokenizer.getLineNr(),"included mermaid file '{}' is not found "
1318 "in any of the paths specified via MERMAIDFILE_DIRS!",p->name);
1319 }
1320 return ok;
1321}
DocNodeList & children()
Definition docnode.h:143
DocNodeVariant * thisVariant()
Definition docnode.h:93
void defaultHandleTitleAndSize(const CommandType cmd, DocNodeVariant *parent, DocNodeList &children, QCString &width, QCString &height)
static FileNameLinkedMap * mermaidFileNameLinkedMap
Definition doxygen.h:110
virtual QCString absFilePath() const =0
#define warn_doc_error(file, line, fmt,...)
Definition message.h:112
QCString showFileDefMatches(const FileNameLinkedMap *fnMap, const QCString &n)
Definition util.cpp:3039
FileDef * findFileDef(const FileNameLinkedMap *fnMap, const QCString &n, bool &ambig)
Definition util.cpp:2904

References FileDef::absFilePath(), DocCompoundNode::children(), CMD_MERMAIDFILE, DocDiagramFileBase::context(), DocParser::defaultHandleTitleAndSize(), findFileDef(), Doxygen::mermaidFileNameLinkedMap, DocDiagramFileBase::p, DocNode::parser(), showFileDefMatches(), DocNode::thisVariant(), and warn_doc_error.


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