Doxygen
DiagramItem类 参考

Class representing a single node in the built-in class diagram 更多...

+ DiagramItem 的协作图:

Public 成员函数

 DiagramItem (DiagramItem *p, uint number, const ClassDef *cd, Protection prot, Specifier virt, const QCString &ts)
 
QCString label () const
 
QCString fileName () const
 
DiagramItemparentItem ()
 
DiagramItemList getChildren ()
 
void move (int dx, int dy)
 
uint xPos () const
 
uint yPos () const
 
uint avgChildPos () const
 
uint numChildren () const
 
void addChild (DiagramItem *di)
 
uint number () const
 
Protection protection () const
 
Specifier virtualness () const
 
void putInList ()
 
bool isInList () const
 
const ClassDefgetClassDef () const
 

Private 属性

DiagramItemList m_children
 
DiagramItemm_parent
 
uint m_x = 0
 
uint m_y = 0
 
uint m_num
 
Protection m_prot
 
Specifier m_virt
 
QCString m_templSpec
 
bool m_inList = false
 
const ClassDefm_classDef
 

详细描述

Class representing a single node in the built-in class diagram

在文件 diagram.cpp40 行定义.

构造及析构函数说明

◆ DiagramItem()

DiagramItem::DiagramItem ( DiagramItem p,
uint  number,
const ClassDef cd,
Protection  prot,
Specifier  virt,
const QCString ts 
)

在文件 diagram.cpp276 行定义.

278  : m_parent(p), m_num(number), m_prot(pr), m_virt(vi), m_templSpec(ts), m_classDef(cd)
279 {
280 }

成员函数说明

◆ addChild()

void DiagramItem::addChild ( DiagramItem di)

在文件 diagram.cpp328 行定义.

329 {
330  m_children.push_back(di);
331 }

引用了 m_children.

被这些函数引用 DiagramRow::insertClass().

◆ avgChildPos()

uint DiagramItem::avgChildPos ( ) const

在文件 diagram.cpp309 行定义.

310 {
311  DiagramItem *di;
312  size_t c=m_children.size();
313  if (c==0) // no children -> don't move
314  return xPos();
315  if ((di=m_children.front())->isInList()) // children should be in a list
316  return di->xPos();
317  if (c&1) // odd number of children -> get pos of middle child
318  return m_children.at(c/2)->xPos();
319  else // even number of children -> get middle of most middle children
320  return (m_children.at(c/2-1)->xPos()+m_children.at(c/2)->xPos())/2;
321 }

引用了 m_children , 以及 xPos().

被这些函数引用 TreeDiagram::layoutTree().

◆ fileName()

QCString DiagramItem::fileName ( ) const

在文件 diagram.cpp304 行定义.

305 {
306  return m_classDef->getOutputFileBase();
307 }

引用了 ClassDef::getOutputFileBase() , 以及 m_classDef.

◆ getChildren()

DiagramItemList DiagramItem::getChildren ( )
inline

在文件 diagram.cpp48 行定义.

48 { return m_children; }

引用了 m_children.

被这些函数引用 TreeDiagram::drawConnectors(), TreeDiagram::layoutTree() , 以及 TreeDiagram::moveChildren().

◆ getClassDef()

const ClassDef* DiagramItem::getClassDef ( ) const
inline

在文件 diagram.cpp60 行定义.

60 { return m_classDef; }

引用了 m_classDef.

被这些函数引用 TreeDiagram::drawBoxes().

◆ isInList()

bool DiagramItem::isInList ( ) const
inline

在文件 diagram.cpp59 行定义.

59 { return m_inList; }

引用了 m_inList.

被这些函数引用 TreeDiagram::drawBoxes() , 以及 TreeDiagram::drawConnectors().

◆ label()

QCString DiagramItem::label ( ) const

在文件 diagram.cpp282 行定义.

283 {
284  QCString result;
285  if (!m_templSpec.isEmpty())
286  {
287  // we use classDef->name() here and not displayName() in order
288  // to get the name used in the inheritance relation.
289  QCString n = m_classDef->name();
290  if (/*n.right(2)=="-g" ||*/ n.right(2)=="-p")
291  {
292  n = n.left(n.length()-2);
293  }
295  }
296  else
297  {
298  result=m_classDef->displayName();
299  }
300  if (Config_getBool(HIDE_SCOPE_NAMES)) result=stripScope(result);
301  return result;
302 }

引用了 Config_getBool, ClassDef::displayName(), insertTemplateSpecifierInScope(), QCString::isEmpty(), QCString::left(), QCString::length(), m_classDef, m_templSpec, Definition::name(), QCString::right() , 以及 stripScope().

被这些函数引用 writeBitmapBox() , 以及 writeVectorBox().

◆ move()

void DiagramItem::move ( int  dx,
int  dy 
)
inline

在文件 diagram.cpp49 行定义.

49 { m_x+=(uint)dx; m_y+=(uint)dy; }

引用了 m_x , 以及 m_y.

被这些函数引用 ClassDiagram::ClassDiagram(), TreeDiagram::computeLayout() , 以及 TreeDiagram::layoutTree().

◆ number()

uint DiagramItem::number ( ) const
inline

在文件 diagram.cpp55 行定义.

55 { return m_num; }

引用了 m_num.

被这些函数引用 TreeDiagram::layoutTree().

◆ numChildren()

uint DiagramItem::numChildren ( ) const

在文件 diagram.cpp323 行定义.

324 {
325  return static_cast<uint>(m_children.size());
326 }

引用了 m_children.

被这些函数引用 TreeDiagram::computeLayout(), TreeDiagram::drawBoxes() , 以及 TreeDiagram::layoutTree().

◆ parentItem()

DiagramItem* DiagramItem::parentItem ( )
inline

在文件 diagram.cpp47 行定义.

47 { return m_parent; }

引用了 m_parent.

被这些函数引用 TreeDiagram::computeLayout(), TreeDiagram::computeRows(), TreeDiagram::drawBoxes() , 以及 TreeDiagram::drawConnectors().

◆ protection()

Protection DiagramItem::protection ( ) const
inline

在文件 diagram.cpp56 行定义.

56 { return m_prot; }

引用了 m_prot.

被这些函数引用 TreeDiagram::drawConnectors().

◆ putInList()

void DiagramItem::putInList ( )
inline

在文件 diagram.cpp58 行定义.

58 { m_inList=TRUE; }

引用了 m_inList , 以及 TRUE.

◆ virtualness()

Specifier DiagramItem::virtualness ( ) const
inline

在文件 diagram.cpp57 行定义.

57 { return m_virt; }

引用了 m_virt.

被这些函数引用 writeBitmapBox() , 以及 writeVectorBox().

◆ xPos()

uint DiagramItem::xPos ( ) const
inline

在文件 diagram.cpp50 行定义.

50 { return m_x; }

引用了 m_x.

被这些函数引用 avgChildPos(), ClassDiagram::ClassDiagram(), TreeDiagram::drawBoxes(), TreeDiagram::drawConnectors() , 以及 TreeDiagram::layoutTree().

◆ yPos()

uint DiagramItem::yPos ( ) const
inline

在文件 diagram.cpp51 行定义.

51 { return m_y; }

引用了 m_y.

被这些函数引用 TreeDiagram::drawBoxes() , 以及 TreeDiagram::drawConnectors().

类成员变量说明

◆ m_children

DiagramItemList DiagramItem::m_children
private

在文件 diagram.cpp62 行定义.

被这些函数引用 addChild(), avgChildPos(), getChildren() , 以及 numChildren().

◆ m_classDef

const ClassDef* DiagramItem::m_classDef
private

在文件 diagram.cpp71 行定义.

被这些函数引用 fileName(), getClassDef() , 以及 label().

◆ m_inList

bool DiagramItem::m_inList = false
private

在文件 diagram.cpp70 行定义.

被这些函数引用 isInList() , 以及 putInList().

◆ m_num

uint DiagramItem::m_num
private

在文件 diagram.cpp66 行定义.

被这些函数引用 number().

◆ m_parent

DiagramItem* DiagramItem::m_parent
private

在文件 diagram.cpp63 行定义.

被这些函数引用 parentItem().

◆ m_prot

Protection DiagramItem::m_prot
private

在文件 diagram.cpp67 行定义.

被这些函数引用 protection().

◆ m_templSpec

QCString DiagramItem::m_templSpec
private

在文件 diagram.cpp69 行定义.

被这些函数引用 label().

◆ m_virt

Specifier DiagramItem::m_virt
private

在文件 diagram.cpp68 行定义.

被这些函数引用 virtualness().

◆ m_x

uint DiagramItem::m_x = 0
private

在文件 diagram.cpp64 行定义.

被这些函数引用 move() , 以及 xPos().

◆ m_y

uint DiagramItem::m_y = 0
private

在文件 diagram.cpp65 行定义.

被这些函数引用 move() , 以及 yPos().


该类的文档由以下文件生成:
stripScope
QCString stripScope(const QCString &name)
Definition: util.cpp:3815
QCString::length
uint length() const
Returns the length of the string, not counting the 0-terminator.
Definition: qcstring.h:147
DiagramItem::m_num
uint m_num
Definition: diagram.cpp:66
QCString::isEmpty
bool isEmpty() const
Returns TRUE iff the string is empty
Definition: qcstring.h:144
DiagramItem::m_y
uint m_y
Definition: diagram.cpp:65
DiagramItem::m_prot
Protection m_prot
Definition: diagram.cpp:67
DiagramItem::xPos
uint xPos() const
Definition: diagram.cpp:50
uint
unsigned uint
Definition: qcstring.h:40
DiagramItem::number
uint number() const
Definition: diagram.cpp:55
QCString::left
QCString left(size_t len) const
Definition: qcstring.h:212
DiagramItem::m_templSpec
QCString m_templSpec
Definition: diagram.cpp:69
ClassDef::getOutputFileBase
virtual QCString getOutputFileBase() const =0
Returns the unique base name (without extension) of the class's file on disk
Definition::name
virtual QCString name() const =0
TRUE
#define TRUE
Definition: qcstring.h:36
insertTemplateSpecifierInScope
QCString insertTemplateSpecifierInScope(const QCString &scope, const QCString &templ)
Definition: util.cpp:3782
DiagramItem::m_virt
Specifier m_virt
Definition: diagram.cpp:68
Config_getBool
#define Config_getBool(name)
Definition: config.h:33
DiagramItem::m_parent
DiagramItem * m_parent
Definition: diagram.cpp:63
ClassDef::displayName
virtual QCString displayName(bool includeScope=TRUE) const =0
Returns the name as it is appears in the documentation
DiagramItem::m_x
uint m_x
Definition: diagram.cpp:64
DiagramItem::m_inList
bool m_inList
Definition: diagram.cpp:70
DiagramItem::m_children
DiagramItemList m_children
Definition: diagram.cpp:62
QCString::right
QCString right(size_t len) const
Definition: qcstring.h:217
DiagramItem
Class representing a single node in the built-in class diagram
Definition: diagram.cpp:40
DiagramItem::m_classDef
const ClassDef * m_classDef
Definition: diagram.cpp:71
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108