Doxygen
dotnode.cpp 文件参考
#include "dotnode.h"
#include "classdef.h"
#include "config.h"
#include "memberlist.h"
#include "membergroup.h"
#include "language.h"
#include "doxygen.h"
#include "util.h"
#include "textstream.h"
+ dotnode.cpp 的引用(Include)关系图:

浏览源代码.

struct  EdgeProperties
 Helper struct holding the properties of a edge in a dot graph. 更多...
 

宏定义

#define DEBUG_RENUMBERING   0
 

函数

static QCString escapeTooltip (const QCString &tooltip)
 
static void writeBoxMemberList (TextStream &t, char prot, const MemberList *ml, const ClassDef *scope, bool isStatic=FALSE, const StringUnorderedSet *skipNames=nullptr)
 
static QCString stripProtectionPrefix (const QCString &s)
 

变量

static const char * normalEdgeColorMap []
 
static const char * normalArrowStyleMap []
 
static const char * normalEdgeStyleMap []
 
static const char * umlEdgeColorMap []
 
static const char * umlArrowStyleMap []
 
static const char * umlEdgeStyleMap []
 
static EdgeProperties normalEdgeProps
 
static EdgeProperties umlEdgeProps
 

宏定义说明

◆ DEBUG_RENUMBERING

#define DEBUG_RENUMBERING   0

在文件 dotnode.cpp797 行定义.

函数说明

◆ escapeTooltip()

static QCString escapeTooltip ( const QCString tooltip)
static

在文件 dotnode.cpp99 行定义.

100 {
101  if (tooltip.isEmpty()) return tooltip;
102  QCString result;
103  const char *p=tooltip.data();
104  char c;
105  while ((c=*p++))
106  {
107  switch(c)
108  {
109  case '"': result+="\\\""; break;
110  case '\\': result+="\\\\"; break;
111  default: result+=c; break;
112  }
113  }
114  return result;
115 }

引用了 QCString::data() , 以及 QCString::isEmpty().

被这些函数引用 DotNode::writeBox().

◆ stripProtectionPrefix()

static QCString stripProtectionPrefix ( const QCString s)
static

在文件 dotnode.cpp254 行定义.

255 {
256  if (!s.isEmpty() && (s[0]=='-' || s[0]=='+' || s[0]=='~' || s[0]=='#'))
257  {
258  return s.mid(1);
259  }
260  else
261  {
262  return s;
263  }
264 }

引用了 QCString::isEmpty() , 以及 QCString::mid().

被这些函数引用 DotNode::writeBox().

◆ writeBoxMemberList()

static void writeBoxMemberList ( TextStream t,
char  prot,
const MemberList ml,
const ClassDef scope,
bool  isStatic = FALSE,
const StringUnorderedSet skipNames = nullptr 
)
static

在文件 dotnode.cpp117 行定义.

120 {
121  if (ml)
122  {
123  int totalCount=0;
124  for (const auto &mma : *ml)
125  {
126  if (mma->getClassDef()==scope &&
127  (skipNames==nullptr || skipNames->find(mma->name().str())==std::end(*skipNames)))
128  {
129  totalCount++;
130  }
131  }
132 
133  int count=0;
134  static auto dotUmlDetails = Config_getEnum(DOT_UML_DETAILS);
135  for (const auto &mma : *ml)
136  {
137  if (mma->getClassDef() == scope &&
138  (skipNames==nullptr || skipNames->find(mma->name().str())==std::end(*skipNames)))
139  {
140  int numFields = Config_getInt(UML_LIMIT_NUM_FIELDS);
141  if (numFields>0 && (totalCount>numFields*3/2 && count>=numFields))
142  {
143  t << theTranslator->trAndMore(QCString().sprintf("%d",totalCount-count)) << "\\l";
144  break;
145  }
146  else
147  {
148  t << prot << " ";
149  QCString label;
150  if (dotUmlDetails==DOT_UML_DETAILS_t::YES)
151  {
152  label+=mma->typeString();
153  label+=" ";
154  }
155  label+=mma->name();
156  if (!mma->isObjCMethod() && (mma->isFunction() || mma->isSlot() || mma->isSignal()))
157  {
158  if (dotUmlDetails==DOT_UML_DETAILS_t::YES)
159  {
160  label+=mma->argsString();
161  }
162  else
163  {
164  label+="()";
165  }
166  }
167  t << DotNode::convertLabel(label);
168  t << "\\l";
169  count++;
170  }
171  }
172  }
173  // write member groups within the memberlist
174  for (const auto &mg : ml->getMemberGroupList())
175  {
176  if (!mg->members().empty())
177  {
178  writeBoxMemberList(t,prot,&mg->members(),scope,isStatic,skipNames);
179  }
180  }
181  }
182 }

引用了 Config_getEnum, Config_getInt, DotNode::convertLabel(), end(), theTranslator , 以及 Translator::trAndMore().

被这些函数引用 DotNode::writeBox().

变量说明

◆ normalArrowStyleMap

const char* normalArrowStyleMap[]
static
初始值:
=
{
"empty",
"empty",
"empty",
"open",
0,
0
}

在文件 dotnode.cpp46 行定义.

◆ normalEdgeColorMap

const char* normalEdgeColorMap[]
static
初始值:
=
{
"midnightblue",
"darkgreen",
"firebrick4",
"darkorchid3",
"grey75",
"orange",
"orange"
}

mapping from protection levels to color names

在文件 dotnode.cpp35 行定义.

◆ normalEdgeProps

EdgeProperties normalEdgeProps
static
初始值:

在文件 dotnode.cpp89 行定义.

被这些函数引用 DotNode::writeArrow().

◆ normalEdgeStyleMap

const char* normalEdgeStyleMap[]
static
初始值:
=
{
"solid",
"dashed"
}

在文件 dotnode.cpp56 行定义.

◆ umlArrowStyleMap

const char* umlArrowStyleMap[]
static
初始值:
=
{
"onormal",
"onormal",
"onormal",
"odiamond",
0,
0
}

在文件 dotnode.cpp73 行定义.

◆ umlEdgeColorMap

const char* umlEdgeColorMap[]
static
初始值:
=
{
"midnightblue",
"darkgreen",
"firebrick4",
"grey25",
"grey75",
"orange",
"orange"
}

在文件 dotnode.cpp62 行定义.

◆ umlEdgeProps

EdgeProperties umlEdgeProps
static
初始值:

在文件 dotnode.cpp94 行定义.

被这些函数引用 DotNode::writeArrow().

◆ umlEdgeStyleMap

const char* umlEdgeStyleMap[]
static
初始值:
=
{
"solid",
"solid"
}

在文件 dotnode.cpp83 行定义.

Config_getEnum
#define Config_getEnum(name)
Definition: config.h:35
QCString::isEmpty
bool isEmpty() const
Returns TRUE iff the string is empty
Definition: qcstring.h:144
end
DirIterator end(const DirIterator &) noexcept
Definition: dir.cpp:128
umlEdgeStyleMap
static const char * umlEdgeStyleMap[]
Definition: dotnode.cpp:83
Config_getInt
#define Config_getInt(name)
Definition: config.h:34
umlEdgeColorMap
static const char * umlEdgeColorMap[]
Definition: dotnode.cpp:62
theTranslator
Translator * theTranslator
Definition: language.cpp:156
writeBoxMemberList
static void writeBoxMemberList(TextStream &t, char prot, const MemberList *ml, const ClassDef *scope, bool isStatic=FALSE, const StringUnorderedSet *skipNames=nullptr)
Definition: dotnode.cpp:117
umlArrowStyleMap
static const char * umlArrowStyleMap[]
Definition: dotnode.cpp:73
normalEdgeColorMap
static const char * normalEdgeColorMap[]
Definition: dotnode.cpp:35
QCString::mid
QCString mid(size_t index, size_t len=static_cast< size_t >(-1)) const
Definition: qcstring.h:224
QCString::data
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string
Definition: qcstring.h:153
normalEdgeStyleMap
static const char * normalEdgeStyleMap[]
Definition: dotnode.cpp:56
DotNode::convertLabel
static QCString convertLabel(const QCString &l)
Definition: dotnode.cpp:184
Translator::trAndMore
virtual QCString trAndMore(const QCString &number)=0
normalArrowStyleMap
static const char * normalArrowStyleMap[]
Definition: dotnode.cpp:46
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108