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

Node representing a msc file. More...

#include <src/docnode.h>

Inheritance diagram for DocMscFile:
Collaboration diagram for DocMscFile:

Public Member Functions

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

Definition at line 721 of file docnode.h.

Constructor & Destructor Documentation

◆ DocMscFile()

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

Definition at line 1163 of file docnode.cpp.

1164 :
1166{
1167 p->relPath = parser->context.relPath;
1168}
DString name() const
Definition docnode.h:684
DocDiagramFileBase(DocParser *parser, DocNodeVariant *parent, const DString &name, const DString &context, const DString &srcFile, int srcLine)
Definition docnode.h:681
DString srcFile() const
Definition docnode.h:691
std::unique_ptr< Private > p
Definition docnode.h:708
DString context() const
Definition docnode.h:690
int srcLine() const
Definition docnode.h:692
DocParser * parser()
Definition docnode.h:98
DocNodeVariant * parent()
Definition docnode.h:90
DocParserContext context

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

Member Function Documentation

◆ parse()

bool DocMscFile::parse ( )

Definition at line 1170 of file docnode.cpp.

1171{
1172 bool ok = false;
1174
1175 bool ambig = false;
1176 FileDef *fd = findFileDef(Doxygen::mscFileNameLinkedMap,p->name,ambig);
1177 if (fd==nullptr && !p->name.endsWith(".msc")) // try with .msc extension as well
1178 {
1179 fd = findFileDef(Doxygen::mscFileNameLinkedMap,p->name+".msc",ambig);
1180 }
1181 if (fd)
1182 {
1183 p->file = fd->absFilePath();
1184 ok = true;
1185 if (ambig)
1186 {
1187 warn_doc_error(parser()->context.fileName,parser()->tokenizer.getLineNr(),"included msc file name '{}' is ambiguous.\n"
1188 "Possible candidates:\n{}",qPrint(p->name),
1190 );
1191 }
1192 }
1193 else
1194 {
1195 warn_doc_error(parser()->context.fileName,parser()->tokenizer.getLineNr(),"included msc file '{}' is not found "
1196 "in any of the paths specified via MSCFILE_DIRS!",p->name);
1197 }
1198 return ok;
1199}
DocNodeList & children()
Definition docnode.h:143
DocNodeVariant * thisVariant()
Definition docnode.h:93
void defaultHandleTitleAndSize(const CommandType cmd, DocNodeVariant *parent, DocNodeList &children, DString &width, DString &height)
static FileNameLinkedMap * mscFileNameLinkedMap
Definition doxygen.h:107
virtual DString absFilePath() const =0
const char * qPrint(const char *s)
Definition dstring.h:769
#define warn_doc_error(file, line, fmt,...)
Definition message.h:112
DString showFileDefMatches(const FileNameLinkedMap *fnMap, const DString &n)
Definition util.cpp:3061
FileDef * findFileDef(const FileNameLinkedMap *fnMap, const DString &n, bool &ambig)
Definition util.cpp:2923

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


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