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

Node representing a uml file. More...

#include <src/docnode.h>

Inheritance diagram for DocPlantUmlFile:
Collaboration diagram for DocPlantUmlFile:

Public Member Functions

 DocPlantUmlFile (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)
DocNodeList & children ()
const DocNodeList & children () const
Public Member Functions inherited from DocNode
 DocNode (DocParser *parser, DocNodeVariant *parent)
 ~DocNode ()=default
DocNodeVariant * parent ()
const DocNodeVariant * parent () const
DocNodeVariant * thisVariant ()
const DocNodeVariant * thisVariant () const
void setThisVariant (DocNodeVariant *thisVariant)
DocParser * parser ()
const DocParser * parser () 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< Private > p

Detailed Description

Node representing a uml file.

Definition at line 739 of file docnode.h.

Constructor & Destructor Documentation

◆ DocPlantUmlFile()

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

Definition at line 1257 of file docnode.cpp.

1258 :
1260{
1261 p->relPath = parser->context.relPath;
1262}
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:97
DocNodeVariant * parent()
Definition docnode.h:89
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 DocPlantUmlFile::parse ( )

Definition at line 1264 of file docnode.cpp.

1265{
1266 bool ok = false;
1268
1269 bool ambig = false;
1270 FileDef *fd = Doxygen::plantUmlFileNameLinkedMap->findFileDef(p->name,ambig);
1271 if (fd==nullptr && !p->name.endsWith(".puml")) // try with .puml extension as well
1272 {
1273 fd = Doxygen::plantUmlFileNameLinkedMap->findFileDef(p->name+".puml",ambig);
1274 if (fd==nullptr && !p->name.endsWith(".pu")) // try with .pu extension as well
1275 {
1276 fd = Doxygen::plantUmlFileNameLinkedMap->findFileDef(p->name+".pu",ambig);
1277 }
1278 }
1279 if (fd)
1280 {
1281 p->file = fd->absFilePath();
1282 ok = true;
1283 if (ambig)
1284 {
1285 warn_doc_error(parser()->context.fileName,parser()->tokenizer.getLineNr(),"included uml file name '{}' is ambiguous.\n"
1286 "Possible candidates:\n{}",p->name,
1288 );
1289 }
1290 }
1291 else
1292 {
1293 warn_doc_error(parser()->context.fileName,parser()->tokenizer.getLineNr(),"included uml file '{}' is not found "
1294 "in any of the paths specified via PLANTUMLFILE_DIRS!",p->name);
1295 }
1296 return ok;
1297}
DocNodeList & children()
Definition docnode.h:143
DocNodeVariant * thisVariant()
Definition docnode.h:92
void defaultHandleTitleAndSize(const CommandType cmd, DocNodeVariant *parent, DocNodeList &children, DString &width, DString &height)
static FileNameLinkedMap * plantUmlFileNameLinkedMap
Definition doxygen.h:102
virtual DString absFilePath() const =0
DString showFileDefMatches(const DString &n) const
Returns a list of file definitions in fnMap that match the file name n.
Definition filename.cpp:131
FileDef * findFileDef(const DString &n, bool &ambig) const
Returns the file definition in fnMap that matches the file name n.
Definition filename.cpp:38
#define warn_doc_error(file, line, fmt,...)
Definition message.h:112

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


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