Public Member Functions | Private Attributes | List of all members
NestingContext::Private Class Reference
Inheritance diagram for NestingContext::Private:
GenericNodeListContext TemplateListIntf

Public Member Functions

 Private (const NestingNodeContext *parent, int level)
 
void addNamespaces (const NamespaceSDict &nsDict, bool rootOnly, bool addClasses)
 
void addClasses (const ClassSDict &clDict, bool rootOnly)
 
void addDirs (const DirSDict &dirDict)
 
void addDirs (const DirList &dirList)
 
void addFiles (const FileNameList &fnList)
 
void addFiles (const FileList &fList)
 
void addPages (const PageSDict &pages, bool rootOnly)
 
void addModules (const GroupSDict &groups)
 
void addModules (const GroupList &list)
 
void addDerivedClasses (const BaseClassList *bcl, bool hideSuper)
 
void addClassHierarchy (const ClassSDict &classSDict, bool)
 
- Public Member Functions inherited from GenericNodeListContext
 GenericNodeListContext ()
 
int count () const
 
TemplateVariant at (int index) const
 
TemplateListIntf::ConstIteratorcreateIterator () const
 
void append (const TemplateVariant &ctn)
 
bool isEmpty () const
 
int addRef ()
 
int release ()
 
- Public Member Functions inherited from TemplateListIntf
virtual ~TemplateListIntf ()
 

Private Attributes

const NestingNodeContextm_parent
 
int m_level
 
int m_index
 

Additional Inherited Members

- Static Public Member Functions inherited from GenericNodeListContext
static GenericNodeListContextalloc ()
 

Detailed Description

Definition at line 6388 of file context.cpp.

Constructor & Destructor Documentation

NestingContext::Private::Private ( const NestingNodeContext parent,
int  level 
)
inline

Definition at line 6391 of file context.cpp.

Member Function Documentation

void NestingContext::Private::addClasses ( const ClassSDict clDict,
bool  rootOnly 
)
inline

Definition at line 6414 of file context.cpp.

6415  {
6416  ClassSDict::Iterator cli(clDict);
6417  ClassDef *cd;
6418  for (;(cd=cli.current());++cli)
6419  {
6420  if (cd->getLanguage()==SrcLangExt_VHDL)
6421  {
6424  )// no architecture
6425  {
6426  continue;
6427  }
6428  }
6429  if (!rootOnly ||
6430  cd->getOuterScope()==0 ||
6432  )
6433  {
6434  if (classVisibleInIndex(cd) && cd->templateMaster()==0)
6435  {
6437  append(nnc);
6438  m_index++;
6439  }
6440  }
6441  }
6442  }
void append(const TemplateVariant &ctn)
Definition: context.cpp:195
const bool FALSE
Definition: qglobal.h:370
Protection protection() const
Definition: classdef.cpp:4414
static NamespaceDef * globalScope
Definition: doxygen.h:128
ClassDef * templateMaster() const
Definition: classdef.cpp:4439
def cli(ctx)
Definition: main.py:7
static NestingNodeContext * alloc(const NestingNodeContext *parent, Definition *def, int index, int level, bool addClasses, bool inherit, bool hideSuper)
Definition: context.h:512
SrcLangExt getLanguage() const
virtual Definition * getOuterScope() const
friend class Iterator
Definition: sortdict.h:289
bool classVisibleInIndex(ClassDef *cd)
Definition: util.cpp:8334
const bool TRUE
Definition: qglobal.h:371
const NestingNodeContext * m_parent
Definition: context.cpp:6602
void NestingContext::Private::addClassHierarchy ( const ClassSDict classSDict,
bool   
)
inline

Definition at line 6569 of file context.cpp.

6570  {
6571  ClassSDict::Iterator cli(classSDict);
6572  ClassDef *cd;
6573  for (cli.toFirst();(cd=cli.current());++cli)
6574  {
6575  bool b;
6576  if (cd->getLanguage()==SrcLangExt_VHDL)
6577  {
6579  {
6580  continue;
6581  }
6582  b=!hasVisibleRoot(cd->subClasses());
6583  }
6584  else
6585  {
6586  b=!hasVisibleRoot(cd->baseClasses());
6587  }
6588  if (b)
6589  {
6590  if (cd->isVisibleInHierarchy()) // should it be visible
6591  {
6592  // new root level class
6594  append(nnc);
6595  m_index++;
6596  }
6597  }
6598  }
6599  }
void append(const TemplateVariant &ctn)
Definition: context.cpp:195
BaseClassList * subClasses() const
Definition: classdef.cpp:4404
Protection protection() const
Definition: classdef.cpp:4414
def cli(ctx)
Definition: main.py:7
static NestingNodeContext * alloc(const NestingNodeContext *parent, Definition *def, int index, int level, bool addClasses, bool inherit, bool hideSuper)
Definition: context.h:512
SrcLangExt getLanguage() const
bool visited
Definition: classdef.h:402
bool isVisibleInHierarchy()
Definition: classdef.cpp:2743
bool hasVisibleRoot(BaseClassList *bcl)
Definition: util.cpp:5224
static bool * b
Definition: config.cpp:1043
friend class Iterator
Definition: sortdict.h:289
const bool TRUE
Definition: qglobal.h:371
const NestingNodeContext * m_parent
Definition: context.cpp:6602
BaseClassList * baseClasses() const
Definition: classdef.cpp:4399
void NestingContext::Private::addDerivedClasses ( const BaseClassList bcl,
bool  hideSuper 
)
inline

Definition at line 6538 of file context.cpp.

6539  {
6540  if (bcl==0) return;
6541  BaseClassListIterator bcli(*bcl);
6542  BaseClassDef *bcd;
6543  for (bcli.toFirst() ; (bcd=bcli.current()) ; ++bcli)
6544  {
6545  ClassDef *cd=bcd->classDef;
6547  {
6548  continue;
6549  }
6550 
6551  bool b;
6552  if (cd->getLanguage()==SrcLangExt_VHDL)
6553  {
6554  b=hasVisibleRoot(cd->subClasses());
6555  }
6556  else
6557  {
6558  b=hasVisibleRoot(cd->baseClasses());
6559  }
6560 
6561  if (cd->isVisibleInHierarchy() && b)
6562  {
6564  append(tnc);
6565  m_index++;
6566  }
6567  }
6568  }
ClassDef * classDef
Definition: classdef.h:520
void append(const TemplateVariant &ctn)
Definition: context.cpp:195
BaseClassList * subClasses() const
Definition: classdef.cpp:4404
Protection protection() const
Definition: classdef.cpp:4414
static NestingNodeContext * alloc(const NestingNodeContext *parent, Definition *def, int index, int level, bool addClasses, bool inherit, bool hideSuper)
Definition: context.h:512
SrcLangExt getLanguage() const
bool isVisibleInHierarchy()
Definition: classdef.cpp:2743
bool hasVisibleRoot(BaseClassList *bcl)
Definition: util.cpp:5224
static bool * b
Definition: config.cpp:1043
const bool TRUE
Definition: qglobal.h:371
const NestingNodeContext * m_parent
Definition: context.cpp:6602
BaseClassList * baseClasses() const
Definition: classdef.cpp:4399
void NestingContext::Private::addDirs ( const DirSDict dirDict)
inline

Definition at line 6443 of file context.cpp.

6444  {
6445  SDict<DirDef>::Iterator dli(dirDict);
6446  DirDef *dd;
6447  for (dli.toFirst();(dd=dli.current());++dli)
6448  {
6450  {
6452  m_index++;
6453  }
6454  }
6455  }
void append(const TemplateVariant &ctn)
Definition: context.cpp:195
const bool FALSE
Definition: qglobal.h:370
static NamespaceDef * globalScope
Definition: doxygen.h:128
Definition: sortdict.h:73
static NestingNodeContext * alloc(const NestingNodeContext *parent, Definition *def, int index, int level, bool addClasses, bool inherit, bool hideSuper)
Definition: context.h:512
Definition: dirdef.h:44
virtual Definition * getOuterScope() const
const NestingNodeContext * m_parent
Definition: context.cpp:6602
void NestingContext::Private::addDirs ( const DirList dirList)
inline

Definition at line 6456 of file context.cpp.

6457  {
6458  QListIterator<DirDef> li(dirList);
6459  DirDef *dd;
6460  for (li.toFirst();(dd=li.current());++li)
6461  {
6463  m_index++;
6464  }
6465  }
void append(const TemplateVariant &ctn)
Definition: context.cpp:195
const bool FALSE
Definition: qglobal.h:370
static NestingNodeContext * alloc(const NestingNodeContext *parent, Definition *def, int index, int level, bool addClasses, bool inherit, bool hideSuper)
Definition: context.h:512
Definition: dirdef.h:44
const NestingNodeContext * m_parent
Definition: context.cpp:6602
void NestingContext::Private::addFiles ( const FileNameList fnList)
inline

Definition at line 6466 of file context.cpp.

6467  {
6468  FileNameListIterator fnli(fnList);
6469  FileName *fn;
6470  for (fnli.toFirst();(fn=fnli.current());++fnli)
6471  {
6472  FileNameIterator fni(*fn);
6473  FileDef *fd;
6474  for (;(fd=fni.current());++fni)
6475  {
6476  if (fd->getDirDef()==0) // top level file
6477  {
6479  m_index++;
6480  }
6481  }
6482  }
6483  }
void append(const TemplateVariant &ctn)
Definition: context.cpp:195
const bool FALSE
Definition: qglobal.h:370
DirDef * getDirDef() const
Definition: filedef.h:121
QAsciiDict< Entry > fn
static NestingNodeContext * alloc(const NestingNodeContext *parent, Definition *def, int index, int level, bool addClasses, bool inherit, bool hideSuper)
Definition: context.h:512
const NestingNodeContext * m_parent
Definition: context.cpp:6602
void NestingContext::Private::addFiles ( const FileList fList)
inline

Definition at line 6484 of file context.cpp.

6485  {
6486  QListIterator<FileDef> li(fList);
6487  FileDef *fd;
6488  for (li.toFirst();(fd=li.current());++li)
6489  {
6491  m_index++;
6492  }
6493  }
void append(const TemplateVariant &ctn)
Definition: context.cpp:195
const bool FALSE
Definition: qglobal.h:370
static NestingNodeContext * alloc(const NestingNodeContext *parent, Definition *def, int index, int level, bool addClasses, bool inherit, bool hideSuper)
Definition: context.h:512
const NestingNodeContext * m_parent
Definition: context.cpp:6602
void NestingContext::Private::addModules ( const GroupSDict groups)
inline

Definition at line 6509 of file context.cpp.

6510  {
6511  GroupSDict::Iterator gli(groups);
6512  GroupDef *gd;
6513  for (gli.toFirst();(gd=gli.current());++gli)
6514  {
6515  static bool externalGroups = Config_getBool("EXTERNAL_GROUPS");
6516  if (!gd->isASubGroup() && gd->isVisible() &&
6517  (!gd->isReference() || externalGroups)
6518  )
6519  {
6521  m_index++;
6522  }
6523  }
6524  }
void append(const TemplateVariant &ctn)
Definition: context.cpp:195
const bool FALSE
Definition: qglobal.h:370
bool isASubGroup() const
Definition: groupdef.cpp:541
virtual bool isReference() const
static NestingNodeContext * alloc(const NestingNodeContext *parent, Definition *def, int index, int level, bool addClasses, bool inherit, bool hideSuper)
Definition: context.h:512
#define Config_getBool(val)
Definition: config.cpp:664
virtual bool isVisible() const
friend class Iterator
Definition: sortdict.h:289
const NestingNodeContext * m_parent
Definition: context.cpp:6602
void NestingContext::Private::addModules ( const GroupList list)
inline

Definition at line 6525 of file context.cpp.

6526  {
6527  GroupListIterator gli(list);
6528  GroupDef *gd;
6529  for (gli.toFirst();(gd=gli.current());++gli)
6530  {
6531  if (gd->isVisible())
6532  {
6534  m_index++;
6535  }
6536  }
6537  }
void append(const TemplateVariant &ctn)
Definition: context.cpp:195
const bool FALSE
Definition: qglobal.h:370
static NestingNodeContext * alloc(const NestingNodeContext *parent, Definition *def, int index, int level, bool addClasses, bool inherit, bool hideSuper)
Definition: context.h:512
virtual bool isVisible() const
const NestingNodeContext * m_parent
Definition: context.cpp:6602
void NestingContext::Private::addNamespaces ( const NamespaceSDict nsDict,
bool  rootOnly,
bool  addClasses 
)
inline

Definition at line 6394 of file context.cpp.

6395  {
6396  NamespaceSDict::Iterator nli(nsDict);
6397  NamespaceDef *nd;
6398  for (nli.toFirst();(nd=nli.current());++nli)
6399  {
6400  if (nd->localName().find('@')==-1 &&
6401  (!rootOnly || nd->getOuterScope()==Doxygen::globalScope))
6402  {
6403  bool hasChildren = namespaceHasVisibleChild(nd,addClasses);
6404  bool isLinkable = nd->isLinkableInProject();
6405  if (isLinkable || hasChildren)
6406  {
6408  append(nnc);
6409  m_index++;
6410  }
6411  }
6412  }
6413  }
void append(const TemplateVariant &ctn)
Definition: context.cpp:195
const bool FALSE
Definition: qglobal.h:370
int find(char c, int index=0, bool cs=TRUE) const
Definition: qcstring.cpp:41
bool namespaceHasVisibleChild(NamespaceDef *nd, bool includeClasses)
Definition: util.cpp:8299
void addClasses(const ClassSDict &clDict, bool rootOnly)
Definition: context.cpp:6414
static NamespaceDef * globalScope
Definition: doxygen.h:128
static NestingNodeContext * alloc(const NestingNodeContext *parent, Definition *def, int index, int level, bool addClasses, bool inherit, bool hideSuper)
Definition: context.h:512
QCString localName() const
virtual Definition * getOuterScope() const
friend class Iterator
Definition: sortdict.h:289
bool isLinkableInProject() const
const NestingNodeContext * m_parent
Definition: context.cpp:6602
void NestingContext::Private::addPages ( const PageSDict pages,
bool  rootOnly 
)
inline

Definition at line 6494 of file context.cpp.

6495  {
6496  SDict<PageDef>::Iterator pli(pages);
6497  PageDef *pd;
6498  for (pli.toFirst();(pd=pli.current());++pli)
6499  {
6500  if (!rootOnly ||
6501  pd->getOuterScope()==0 ||
6503  {
6505  m_index++;
6506  }
6507  }
6508  }
void append(const TemplateVariant &ctn)
Definition: context.cpp:195
const bool FALSE
Definition: qglobal.h:370
virtual DefType definitionType() const =0
Definition: sortdict.h:73
static NestingNodeContext * alloc(const NestingNodeContext *parent, Definition *def, int index, int level, bool addClasses, bool inherit, bool hideSuper)
Definition: context.h:512
virtual Definition * getOuterScope() const
A model of a page symbol.
Definition: pagedef.h:29
const NestingNodeContext * m_parent
Definition: context.cpp:6602

Member Data Documentation

int NestingContext::Private::m_index
private

Definition at line 6604 of file context.cpp.

int NestingContext::Private::m_level
private

Definition at line 6603 of file context.cpp.

const NestingNodeContext* NestingContext::Private::m_parent
private

Definition at line 6602 of file context.cpp.


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