Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
GroupDef Class Reference

#include <groupdef.h>

Inheritance diagram for GroupDef:
Definition DefinitionIntf

Public Member Functions

 GroupDef (const char *fileName, int line, const char *name, const char *title, const char *refFileName=0)
 
 ~GroupDef ()
 
DefType definitionType () const
 
QCString getOutputFileBase () const
 
QCString anchor () const
 
QCString displayName (bool=TRUE) const
 
const char * groupTitle () const
 
void setGroupTitle (const char *newtitle)
 
bool hasGroupTitle () const
 
void addFile (const FileDef *def)
 
bool addClass (const ClassDef *def)
 
bool addNamespace (const NamespaceDef *def)
 
void addGroup (const GroupDef *def)
 
void addParentGroup (const GroupDef *def)
 
void addPage (PageDef *def)
 
void addExample (const PageDef *def)
 
void addDir (const DirDef *dd)
 
bool insertMember (MemberDef *def, bool docOnly=FALSE)
 
void removeMember (MemberDef *md)
 
bool findGroup (const GroupDef *def) const
 
void writeDocumentation (OutputList &ol)
 
void writeMemberPages (OutputList &ol)
 
void writeQuickMemberLinks (OutputList &ol, MemberDef *currentMd) const
 
void writeTagFile (FTextStream &)
 
int countMembers () const
 
bool isLinkableInProject () const
 
bool isLinkable () const
 
bool isASubGroup () const
 
void computeAnchors ()
 
void addMembersToMemberGroup ()
 
void distributeMemberGroupDocumentation ()
 
void findSectionsInDocumentation ()
 
void addListReferences ()
 
void sortMemberLists ()
 
bool subGrouping () const
 
void setGroupScope (Definition *d)
 
DefinitiongetGroupScope () const
 
MemberListgetMemberList (MemberListType lt) const
 
const QList< MemberList > & getMemberLists () const
 
MemberGroupSDictgetMemberGroupSDict () const
 
FileListgetFiles () const
 
ClassSDictgetClasses () const
 
NamespaceSDictgetNamespaces () const
 
GroupListgetSubGroups () const
 
PageSDictgetPages () const
 
DirListgetDirs () const
 
PageSDictgetExamples () const
 
bool hasDetailedDescription () const
 
void sortSubGroups ()
 
- Public Member Functions inherited from Definition
 Definition (const char *defFileName, int defLine, int defColumn, const char *name, const char *b=0, const char *d=0, bool isSymbol=TRUE)
 
virtual ~Definition ()
 
const QCStringname () const
 
QCString localName () const
 
virtual QCString qualifiedName () const
 
QCString symbolName () const
 
virtual QCString getSourceFileBase () const
 
virtual QCString getSourceAnchor () const
 
virtual QCString documentation () const
 
int docLine () const
 
QCString docFile () const
 
virtual QCString briefDescription (bool abbreviate=FALSE) const
 
QCString briefDescriptionAsTooltip () const
 
int briefLine () const
 
QCString inbodyDocumentation () const
 
QCString inbodyFile () const
 
int inbodyLine () const
 
QCString briefFile () const
 
QCString getDefFileName () const
 
QCString getDefFileExtension () const
 
int getDefLine () const
 
int getDefColumn () const
 
virtual bool hasDocumentation () const
 
virtual bool hasUserDocumentation () const
 
virtual bool isVisibleInProject () const
 
virtual bool isVisible () const
 
bool isHidden () const
 
bool isArtificial () const
 
virtual QCString getReference () const
 
virtual bool isReference () const
 
QCString externalReference (const QCString &relPath) const
 
int getStartBodyLine () const
 
int getEndBodyLine () const
 
FileDefgetBodyDef () const
 
SrcLangExt getLanguage () const
 
GroupListpartOfGroups () const
 
QList< ListItemInfo > * xrefListItems () const
 
virtual DefinitionfindInnerCompound (const char *name)
 
virtual DefinitiongetOuterScope () const
 
MemberSDictgetReferencesMembers () const
 
MemberSDictgetReferencedByMembers () const
 
bool hasSections () const
 
bool hasSources () const
 
bool hasBriefDescription () const
 
QCString id () const
 
virtual void setName (const char *name)
 
void setId (const char *name)
 
virtual void setDocumentation (const char *d, const char *docFile, int docLine, bool stripWhiteSpace=TRUE)
 
virtual void setBriefDescription (const char *b, const char *briefFile, int briefLine)
 
virtual void setInbodyDocumentation (const char *d, const char *docFile, int docLine)
 
void setReference (const char *r)
 
void addSectionsToDefinition (QList< SectionInfo > *anchorList)
 
void setBodySegment (int bls, int ble)
 
void setBodyDef (FileDef *fd)
 
void addSourceReferencedBy (MemberDef *d)
 
void addSourceReferences (MemberDef *d)
 
void setRefItems (const QList< ListItemInfo > *sli)
 
void mergeRefItems (Definition *d)
 
virtual void addInnerCompound (Definition *d)
 
virtual void setOuterScope (Definition *d)
 
virtual void setHidden (bool b)
 
void setArtificial (bool b)
 
void setLanguage (SrcLangExt lang)
 
QCString convertNameToFile (const char *name, bool allowDots=FALSE) const
 
void writeSourceDef (OutputList &ol, const char *scopeName)
 
void writeInlineCode (OutputList &ol, const char *scopeName)
 
void writeSourceRefs (OutputList &ol, const char *scopeName)
 
void writeSourceReffedBy (OutputList &ol, const char *scopeName)
 
void makePartOfGroup (GroupDef *gd)
 
void writeNavigationPath (OutputList &ol) const
 
QCString navigationPathAsString () const
 
QCString pathFragment () const
 
void writeDocAnchorsToTagFile (FTextStream &)
 
void setLocalName (const QCString name)
 
void addSectionsToIndex ()
 
void writeToc (OutputList &ol)
 
void setCookie (Cookie *cookie)
 
Cookiecookie () const
 
- Public Member Functions inherited from DefinitionIntf
 DefinitionIntf ()
 
virtual ~DefinitionIntf ()
 

Public Attributes

bool visited
 

Protected Member Functions

void addMemberListToGroup (MemberList *, bool(MemberDef::*)() const)
 
- Protected Member Functions inherited from Definition
 Definition (const Definition &d)
 

Private Member Functions

MemberListcreateMemberList (MemberListType lt)
 
void addMemberToList (MemberListType lt, MemberDef *md)
 
void writeMemberDeclarations (OutputList &ol, MemberListType lt, const QCString &title)
 
void writeMemberDocumentation (OutputList &ol, MemberListType lt, const QCString &title)
 
void removeMemberFromList (MemberListType lt, MemberDef *md)
 
void writeGroupGraph (OutputList &ol)
 
void writeFiles (OutputList &ol, const QCString &title)
 
void writeNamespaces (OutputList &ol, const QCString &title)
 
void writeNestedGroups (OutputList &ol, const QCString &title)
 
void writeDirs (OutputList &ol, const QCString &title)
 
void writeClasses (OutputList &ol, const QCString &title)
 
void writeInlineClasses (OutputList &ol)
 
void writePageDocumentation (OutputList &ol)
 
void writeDetailedDescription (OutputList &ol, const QCString &title)
 
void writeBriefDescription (OutputList &ol)
 
void writeMemberGroups (OutputList &ol)
 
void startMemberDeclarations (OutputList &ol)
 
void endMemberDeclarations (OutputList &ol)
 
void startMemberDocumentation (OutputList &ol)
 
void endMemberDocumentation (OutputList &ol)
 
void writeAuthorSection (OutputList &ol)
 
void writeSummaryLinks (OutputList &ol)
 
void updateLanguage (const Definition *)
 

Private Attributes

QCString title
 
bool titleSet
 
QCString fileName
 
FileListfileList
 
ClassSDictclassSDict
 
NamespaceSDictnamespaceSDict
 
GroupListgroupList
 
PageSDictpageDict
 
PageSDictexampleDict
 
DirListdirList
 
MemberListallMemberList
 
MemberNameInfoSDictallMemberNameInfoSDict
 
DefinitiongroupScope
 
QList< MemberListm_memberLists
 
MemberGroupSDictmemberGroupSDict
 
bool m_subGrouping
 

Additional Inherited Members

- Public Types inherited from DefinitionIntf
enum  DefType {
  TypeClass = 0, TypeFile = 1, TypeNamespace = 2, TypeMember = 3,
  TypeGroup = 4, TypePackage = 5, TypePage = 6, TypeDir = 7,
  TypeSymbolList = 8
}
 

Detailed Description

A model of a group of symbols.

Definition at line 45 of file groupdef.h.

Constructor & Destructor Documentation

GroupDef::GroupDef ( const char *  fileName,
int  line,
const char *  name,
const char *  title,
const char *  refFileName = 0 
)

Definition at line 46 of file groupdef.cpp.

47  : Definition(df,dl,1,na)
48 {
49  fileList = new FileList;
50  classSDict = new ClassSDict(17);
51  groupList = new GroupList;
53  pageDict = new PageSDict(17);
54  exampleDict = new PageSDict(17);
55  dirList = new DirList;
58  if (refFileName)
59  {
60  fileName=stripExtension(refFileName);
61  }
62  else
63  {
64  fileName = (QCString)"group_"+na;
65  }
66  setGroupTitle( t );
69 
71 
72  visited = 0;
73  groupScope = 0;
74  m_subGrouping=Config_getBool("SUBGROUPING");
75 }
NamespaceSDict * namespaceSDict
Definition: groupdef.h:144
ClassSDict * classSDict
Definition: groupdef.h:143
bool visited
Definition: groupdef.h:86
bool m_subGrouping
Definition: groupdef.h:157
DirList * dirList
Definition: groupdef.h:148
QCString fileName
Definition: groupdef.h:141
void setAutoDelete(bool val)
Definition: sortdict.h:545
void setGroupTitle(const char *newtitle)
Definition: groupdef.cpp:91
MemberList * allMemberList
Definition: groupdef.h:150
void setAutoDelete(bool val)
Definition: sortdict.h:222
Definition: dirdef.h:37
Definition * groupScope
Definition: groupdef.h:153
#define Config_getBool(val)
Definition: config.cpp:664
PageSDict * exampleDict
Definition: groupdef.h:147
MemberGroupSDict * memberGroupSDict
Definition: groupdef.h:156
FileList * fileList
Definition: groupdef.h:142
Definition(const char *defFileName, int defLine, int defColumn, const char *name, const char *b=0, const char *d=0, bool isSymbol=TRUE)
Definition: definition.cpp:283
PageSDict * pageDict
Definition: groupdef.h:146
MemberNameInfoSDict * allMemberNameInfoSDict
Definition: groupdef.h:151
GroupList * groupList
Definition: groupdef.h:145
QCString stripExtension(const char *fName)
Definition: util.cpp:6799
const bool TRUE
Definition: qglobal.h:371
GroupDef::~GroupDef ( )

Definition at line 77 of file groupdef.cpp.

78 {
79  delete fileList;
80  delete classSDict;
81  delete groupList;
82  delete namespaceSDict;
83  delete pageDict;
84  delete exampleDict;
85  delete allMemberList;
87  delete memberGroupSDict;
88  delete dirList;
89 }
NamespaceSDict * namespaceSDict
Definition: groupdef.h:144
ClassSDict * classSDict
Definition: groupdef.h:143
DirList * dirList
Definition: groupdef.h:148
MemberList * allMemberList
Definition: groupdef.h:150
PageSDict * exampleDict
Definition: groupdef.h:147
MemberGroupSDict * memberGroupSDict
Definition: groupdef.h:156
FileList * fileList
Definition: groupdef.h:142
PageSDict * pageDict
Definition: groupdef.h:146
MemberNameInfoSDict * allMemberNameInfoSDict
Definition: groupdef.h:151
GroupList * groupList
Definition: groupdef.h:145

Member Function Documentation

bool GroupDef::addClass ( const ClassDef def)

Definition at line 149 of file groupdef.cpp.

150 {
151  static bool sortBriefDocs = Config_getBool("SORT_BRIEF_DOCS");
152  if (cd->isHidden()) return FALSE;
153  updateLanguage(cd);
154  QCString qn = cd->name();
155  if (classSDict->find(qn)==0)
156  {
157  //printf("--- addClass %s sort=%d\n",qn.data(),sortBriefDocs);
158  if (sortBriefDocs)
159  {
160  classSDict->inSort(qn,cd);
161  }
162  else
163  {
164  int i=qn.findRev("::");
165  if (i==-1) i=qn.find('.');
166  bool found=FALSE;
167  //printf("i=%d\n",i);
168  if (i!=-1)
169  {
170  // add nested classes (e.g. A::B, A::C) after their parent (A) in
171  // order of insertion
172  QCString scope = qn.left(i);
173  int j=classSDict->findAt(scope);
174  if (j!=-1)
175  {
176  while (j<(int)classSDict->count() &&
177  classSDict->at(j)->qualifiedName().left(i)==scope)
178  {
179  //printf("skipping over %s\n",classSDict->at(j)->qualifiedName().data());
180  j++;
181  }
182  //printf("Found scope at index %d\n",j);
183  classSDict->insertAt(j,qn,cd);
184  found=TRUE;
185  }
186  }
187  if (!found) // no insertion point found -> just append
188  {
189  classSDict->append(qn,cd);
190  }
191  }
192  return TRUE;
193  }
194  return FALSE;
195 }
ClassSDict * classSDict
Definition: groupdef.h:143
static QCString scope
Definition: declinfo.cpp:668
void inSort(const char *key, const T *d)
Definition: sortdict.h:197
const bool FALSE
Definition: qglobal.h:370
QCString left(uint len) const
Definition: qcstring.cpp:213
int find(char c, int index=0, bool cs=TRUE) const
Definition: qcstring.cpp:41
int count() const
Definition: sortdict.h:284
void append(const char *key, const T *d)
Definition: sortdict.h:135
int findRev(char c, int index=-1, bool cs=TRUE) const
Definition: qcstring.cpp:95
#define Config_getBool(val)
Definition: config.cpp:664
virtual QCString qualifiedName() const
int findAt(const QCString &key)
Definition: sortdict.h:244
T * at(uint i)
Definition: sortdict.h:258
T * find(const char *key)
Definition: sortdict.h:232
void insertAt(int i, const char *key, const T *d)
Definition: sortdict.h:209
const bool TRUE
Definition: qglobal.h:371
void updateLanguage(const Definition *)
Definition: groupdef.cpp:1652
void GroupDef::addDir ( const DirDef dd)

Definition at line 213 of file groupdef.cpp.

214 {
215  if (def->isHidden()) return;
216  if (Config_getBool("SORT_BRIEF_DOCS"))
217  dirList->inSort(def);
218  else
219  dirList->append(def);
220 }
DirList * dirList
Definition: groupdef.h:148
void append(const type *d)
Definition: qlist.h:73
void inSort(const type *d)
Definition: qlist.h:71
#define Config_getBool(val)
Definition: config.cpp:664
void GroupDef::addExample ( const PageDef def)

Definition at line 230 of file groupdef.cpp.

231 {
232  if (def->isHidden()) return;
233  exampleDict->append(def->name(),def);
234 }
void append(const char *key, const T *d)
Definition: sortdict.h:135
const QCString & name() const
Definition: definition.h:114
PageSDict * exampleDict
Definition: groupdef.h:147
bool isHidden() const
void GroupDef::addFile ( const FileDef def)

Definition at line 138 of file groupdef.cpp.

139 {
140  static bool sortBriefDocs = Config_getBool("SORT_BRIEF_DOCS");
141  if (def->isHidden()) return;
142  updateLanguage(def);
143  if (sortBriefDocs)
144  fileList->inSort(def);
145  else
146  fileList->append(def);
147 }
void append(const type *d)
Definition: qlist.h:73
void inSort(const type *d)
Definition: qlist.h:71
#define Config_getBool(val)
Definition: config.cpp:664
FileList * fileList
Definition: groupdef.h:142
bool isHidden() const
void updateLanguage(const Definition *)
Definition: groupdef.cpp:1652
void GroupDef::addGroup ( const GroupDef def)

Definition at line 532 of file groupdef.cpp.

533 {
534  //printf("adding group `%s' to group `%s'\n",def->name().data(),name().data());
535  //if (Config_getBool("SORT_MEMBER_DOCS"))
536  // groupList->inSort(def);
537  //else
538  groupList->append(def);
539 }
void append(const type *d)
Definition: qlist.h:73
GroupList * groupList
Definition: groupdef.h:145
void GroupDef::addListReferences ( )

Definition at line 1524 of file groupdef.cpp.

1525 {
1526  {
1527  QList<ListItemInfo> *xrefItems = xrefListItems();
1528  addRefItem(xrefItems,
1531  getOutputFileBase(),name(),
1532  0,
1533  0
1534  );
1535  }
1537  MemberGroup *mg;
1538  for (;(mg=mgli.current());++mgli)
1539  {
1540  mg->addListReferences(this);
1541  }
1543  MemberList *ml;
1544  for (mli.toFirst();(ml=mli.current());++mli)
1545  {
1547  {
1548  ml->addListReferences(this);
1549  }
1550  }
1551 }
MemberListType listType() const
Definition: memberlist.h:38
QList< ListItemInfo > * xrefListItems() const
friend class Iterator
Definition: sortdict.h:598
static constexpr double mg
Definition: Units.h:145
const QCString & name() const
Definition: definition.h:114
QList< MemberList > m_memberLists
Definition: groupdef.h:155
virtual QCString trGroup(bool first_capital, bool singular)=0
MemberGroupSDict * memberGroupSDict
Definition: groupdef.h:156
void addRefItem(const QList< ListItemInfo > *sli, const char *key, const char *prefix, const char *name, const char *title, const char *args, Definition *scope)
Definition: util.cpp:6456
Translator * theTranslator
Definition: language.cpp:157
QCString getOutputFileBase() const
Definition: groupdef.cpp:1512
void addListReferences(Definition *def)
Definition: memberlist.cpp:784
const bool TRUE
Definition: qglobal.h:371
void addListReferences(Definition *d)
void GroupDef::addMemberListToGroup ( MemberList ,
bool(MemberDef::*)()  const 
)
protected
void GroupDef::addMembersToMemberGroup ( )

Definition at line 237 of file groupdef.cpp.

238 {
240  MemberList *ml;
241  for (mli.toFirst();(ml=mli.current());++mli)
242  {
244  {
246  }
247  }
248 
249  //printf("GroupDef::addMembersToMemberGroup() memberGroupList=%d\n",memberGroupList->count());
251  MemberGroup *mg;
252  for (;(mg=mgli.current());++mgli)
253  {
254  mg->setInGroup(TRUE);
255  }
256 }
MemberListType listType() const
Definition: memberlist.h:38
friend class Iterator
Definition: sortdict.h:598
static constexpr double mg
Definition: Units.h:145
void addMembersToMemberGroup()
Definition: groupdef.cpp:237
void setInGroup(bool b)
QList< MemberList > m_memberLists
Definition: groupdef.h:155
MemberGroupSDict * memberGroupSDict
Definition: groupdef.h:156
const bool TRUE
Definition: qglobal.h:371
void GroupDef::addMemberToList ( MemberListType  lt,
MemberDef md 
)
private

Definition at line 1572 of file groupdef.cpp.

1573 {
1574  static bool sortBriefDocs = Config_getBool("SORT_BRIEF_DOCS");
1575  static bool sortMemberDocs = Config_getBool("SORT_MEMBER_DOCS");
1576  MemberList *ml = createMemberList(lt);
1577  ml->setNeedsSorting(
1578  ((ml->listType()&MemberListType_declarationLists) && sortBriefDocs) ||
1579  ((ml->listType()&MemberListType_documentationLists) && sortMemberDocs));
1580  ml->append(md);
1581 }
MemberListType listType() const
Definition: memberlist.h:38
void append(const MemberDef *md)
Definition: memberlist.cpp:246
MemberList * createMemberList(MemberListType lt)
Definition: groupdef.cpp:1553
void setNeedsSorting(bool b)
Definition: memberlist.cpp:902
#define Config_getBool(val)
Definition: config.cpp:664
bool GroupDef::addNamespace ( const NamespaceDef def)

Definition at line 197 of file groupdef.cpp.

198 {
199  static bool sortBriefDocs = Config_getBool("SORT_BRIEF_DOCS");
200  if (def->isHidden()) return FALSE;
201  updateLanguage(def);
202  if (namespaceSDict->find(def->name())==0)
203  {
204  if (sortBriefDocs)
205  namespaceSDict->inSort(def->name(),def);
206  else
207  namespaceSDict->append(def->name(),def);
208  return TRUE;
209  }
210  return FALSE;
211 }
NamespaceSDict * namespaceSDict
Definition: groupdef.h:144
void inSort(const char *key, const T *d)
Definition: sortdict.h:197
const bool FALSE
Definition: qglobal.h:370
void append(const char *key, const T *d)
Definition: sortdict.h:135
const QCString & name() const
Definition: definition.h:114
#define Config_getBool(val)
Definition: config.cpp:664
bool isHidden() const
T * find(const char *key)
Definition: sortdict.h:232
const bool TRUE
Definition: qglobal.h:371
void updateLanguage(const Definition *)
Definition: groupdef.cpp:1652
void GroupDef::addPage ( PageDef def)

Definition at line 222 of file groupdef.cpp.

223 {
224  if (def->isHidden()) return;
225  //printf("Making page %s part of a group\n",def->name.data());
226  pageDict->append(def->name(),def);
227  def->makePartOfGroup(this);
228 }
void append(const char *key, const T *d)
Definition: sortdict.h:135
const QCString & name() const
Definition: definition.h:114
void makePartOfGroup(GroupDef *gd)
bool isHidden() const
PageSDict * pageDict
Definition: groupdef.h:146
void GroupDef::addParentGroup ( const GroupDef def)
QCString GroupDef::anchor ( ) const
inlinevirtual

Returns the anchor within a page where this item can be found

Implements Definition.

Definition at line 52 of file groupdef.h.

52 { return QCString(); }
void GroupDef::computeAnchors ( )

Compute the HTML anchor names for all members in the group

Definition at line 559 of file groupdef.cpp.

560 {
561  //printf("GroupDef::computeAnchors()\n");
563 }
void setAnchors(MemberList *ml)
Definition: util.cpp:2254
MemberList * allMemberList
Definition: groupdef.h:150
int GroupDef::countMembers ( ) const

Definition at line 547 of file groupdef.cpp.

548 {
549  return fileList->count()+
550  classSDict->count()+
552  groupList->count()+
553  allMemberList->count()+
554  pageDict->count()+
555  exampleDict->count();
556 }
NamespaceSDict * namespaceSDict
Definition: groupdef.h:144
ClassSDict * classSDict
Definition: groupdef.h:143
int count() const
Definition: sortdict.h:284
MemberList * allMemberList
Definition: groupdef.h:150
uint count() const
Definition: qlist.h:66
PageSDict * exampleDict
Definition: groupdef.h:147
FileList * fileList
Definition: groupdef.h:142
PageSDict * pageDict
Definition: groupdef.h:146
GroupList * groupList
Definition: groupdef.h:145
MemberList * GroupDef::createMemberList ( MemberListType  lt)
private

Definition at line 1553 of file groupdef.cpp.

1554 {
1557  MemberList *ml;
1558  for (mli.toFirst();(ml=mli.current());++mli)
1559  {
1560  if (ml->listType()==lt)
1561  {
1562  return ml;
1563  }
1564  }
1565  // not found, create a new member list
1566  ml = new MemberList(lt);
1567  m_memberLists.append(ml);
1568  ml->setInGroup(TRUE);
1569  return ml;
1570 }
MemberListType listType() const
Definition: memberlist.h:38
void append(const type *d)
Definition: qlist.h:73
void setInGroup(bool inGroup)
Definition: memberlist.h:73
QList< MemberList > m_memberLists
Definition: groupdef.h:155
void setAutoDelete(bool enable)
Definition: qlist.h:99
const bool TRUE
Definition: qglobal.h:371
DefType GroupDef::definitionType ( ) const
inlinevirtual

Use this for dynamic inspection of the type of the derived class

Implements DefinitionIntf.

Definition at line 50 of file groupdef.h.

QCString GroupDef::displayName ( bool  includeScope = TRUE) const
inlinevirtual

Returns the name of the definition as it appears in the output

Implements Definition.

Definition at line 53 of file groupdef.h.

53 { return hasGroupTitle() ? title : Definition::name(); }
const QCString & name() const
Definition: definition.h:114
QCString title
Definition: groupdef.h:139
bool hasGroupTitle() const
Definition: groupdef.h:56
void GroupDef::distributeMemberGroupDocumentation ( )

Definition at line 107 of file groupdef.cpp.

108 {
110  MemberGroup *mg;
111  for (;(mg=mgli.current());++mgli)
112  {
114  }
115 }
friend class Iterator
Definition: sortdict.h:598
static constexpr double mg
Definition: Units.h:145
MemberGroupSDict * memberGroupSDict
Definition: groupdef.h:156
void distributeMemberGroupDocumentation()
void GroupDef::endMemberDeclarations ( OutputList ol)
private

Definition at line 990 of file groupdef.cpp.

991 {
992  ol.endMemberSections();
993 }
void endMemberSections()
Definition: outputlist.h:188
void GroupDef::endMemberDocumentation ( OutputList ol)
private

Definition at line 1006 of file groupdef.cpp.

1007 {
1008  //printf("** GroupDef::endMemberDocumentation()\n");
1009  if (Config_getBool("SEPARATE_MEMBER_PAGES"))
1010  {
1011  ol.popGeneratorState();
1013  }
1014 }
const bool FALSE
Definition: qglobal.h:370
static bool suppressDocWarnings
Definition: doxygen.h:142
void popGeneratorState()
Definition: outputlist.cpp:121
#define Config_getBool(val)
Definition: config.cpp:664
bool GroupDef::findGroup ( const GroupDef def) const

Definition at line 511 of file groupdef.cpp.

512 {
513  if (this==def)
514  {
515  return TRUE;
516  }
517  else if (groupList)
518  {
520  GroupDef *gd;
521  for (;(gd=it.current());++it)
522  {
523  if (gd->findGroup(def))
524  {
525  return TRUE;
526  }
527  }
528  }
529  return FALSE;
530 }
const bool FALSE
Definition: qglobal.h:370
bool findGroup(const GroupDef *def) const
Definition: groupdef.cpp:511
GroupList * groupList
Definition: groupdef.h:145
const bool TRUE
Definition: qglobal.h:371
void GroupDef::findSectionsInDocumentation ( )

Definition at line 117 of file groupdef.cpp.

118 {
121  MemberGroup *mg;
122  for (;(mg=mgli.current());++mgli)
123  {
125  }
126 
128  MemberList *ml;
129  for (mli.toFirst();(ml=mli.current());++mli)
130  {
132  {
134  }
135  }
136 }
MemberListType listType() const
Definition: memberlist.h:38
QCString docFile() const
friend class Iterator
Definition: sortdict.h:598
static constexpr double mg
Definition: Units.h:145
void findSectionsInDocumentation()
Definition: memberlist.cpp:818
QList< MemberList > m_memberLists
Definition: groupdef.h:155
MemberGroupSDict * memberGroupSDict
Definition: groupdef.h:156
void docFindSections(const char *input, Definition *d, MemberGroup *mg, const char *fileName)
Definition: docparser.cpp:7434
void findSectionsInDocumentation()
virtual QCString documentation() const
ClassSDict* GroupDef::getClasses ( ) const
inline

Definition at line 101 of file groupdef.h.

101 { return classSDict; }
ClassSDict * classSDict
Definition: groupdef.h:143
DirList* GroupDef::getDirs ( ) const
inline

Definition at line 105 of file groupdef.h.

105 { return dirList; }
DirList * dirList
Definition: groupdef.h:148
PageSDict* GroupDef::getExamples ( ) const
inline

Definition at line 106 of file groupdef.h.

106 { return exampleDict; }
PageSDict * exampleDict
Definition: groupdef.h:147
FileList* GroupDef::getFiles ( ) const
inline

Definition at line 100 of file groupdef.h.

100 { return fileList; }
FileList * fileList
Definition: groupdef.h:142
Definition* GroupDef::getGroupScope ( ) const
inline

Definition at line 92 of file groupdef.h.

92 { return groupScope; }
Definition * groupScope
Definition: groupdef.h:153
MemberGroupSDict* GroupDef::getMemberGroupSDict ( ) const
inline

Definition at line 98 of file groupdef.h.

98 { return memberGroupSDict; }
MemberGroupSDict * memberGroupSDict
Definition: groupdef.h:156
MemberList * GroupDef::getMemberList ( MemberListType  lt) const

Definition at line 1593 of file groupdef.cpp.

1594 {
1596  MemberList *ml;
1597  for (;(ml=mli.current());++mli)
1598  {
1599  if (ml->listType()==lt)
1600  {
1601  return ml;
1602  }
1603  }
1604  return 0;
1605 }
MemberListType listType() const
Definition: memberlist.h:38
QList< MemberList > m_memberLists
Definition: groupdef.h:155
const QList<MemberList>& GroupDef::getMemberLists ( ) const
inline

Definition at line 95 of file groupdef.h.

95 { return m_memberLists; }
QList< MemberList > m_memberLists
Definition: groupdef.h:155
NamespaceSDict* GroupDef::getNamespaces ( ) const
inline

Definition at line 102 of file groupdef.h.

102 { return namespaceSDict; }
NamespaceSDict * namespaceSDict
Definition: groupdef.h:144
QCString GroupDef::getOutputFileBase ( ) const
virtual

Returns the base file name (without extension) of this definition. as it is referenced to/written to disk.

Implements Definition.

Definition at line 1512 of file groupdef.cpp.

1513 {
1514  if (isReference())
1515  {
1516  return fileName;
1517  }
1518  else
1519  {
1520  return convertNameToFile(fileName);
1521  }
1522 }
QCString convertNameToFile(const char *name, bool allowDots=FALSE) const
QCString fileName
Definition: groupdef.h:141
virtual bool isReference() const
PageSDict* GroupDef::getPages ( ) const
inline

Definition at line 104 of file groupdef.h.

104 { return pageDict; }
PageSDict * pageDict
Definition: groupdef.h:146
GroupList* GroupDef::getSubGroups ( ) const
inline

Definition at line 103 of file groupdef.h.

103 { return groupList; }
GroupList * groupList
Definition: groupdef.h:145
const char* GroupDef::groupTitle ( ) const
inline

Definition at line 54 of file groupdef.h.

54 { return title; }
QCString title
Definition: groupdef.h:139
bool GroupDef::hasDetailedDescription ( ) const

Definition at line 1660 of file groupdef.cpp.

1661 {
1662  static bool repeatBrief = Config_getBool("REPEAT_BRIEF");
1663  return ((!briefDescription().isEmpty() && repeatBrief) ||
1664  !documentation().isEmpty());
1665 }
#define Config_getBool(val)
Definition: config.cpp:664
virtual QCString briefDescription(bool abbreviate=FALSE) const
virtual QCString documentation() const
bool GroupDef::hasGroupTitle ( ) const
inline

Definition at line 56 of file groupdef.h.

56 { return titleSet; }
bool titleSet
Definition: groupdef.h:140
bool GroupDef::insertMember ( MemberDef def,
bool  docOnly = FALSE 
)

Definition at line 259 of file groupdef.cpp.

260 {
261  if (md->isHidden()) return FALSE;
263  //printf("GroupDef(%s)::insertMember(%s)\n", title.data(), md->name().data());
264  MemberNameInfo *mni=0;
265  if ((mni=(*allMemberNameInfoSDict)[md->name()]))
266  { // member with this name already found
267  MemberNameInfoIterator srcMnii(*mni);
268  MemberInfo *srcMi;
269  for ( ; (srcMi=srcMnii.current()) ; ++srcMnii )
270  {
271  MemberDef *srcMd = srcMi->memberDef;
272  if (srcMd==md) return FALSE; // already added before!
273 
274  bool sameScope = srcMd->getOuterScope()==md->getOuterScope() || // same class or namespace
275  // both inside a file => definition and declaration do not have to be in the same file
277  md->getOuterScope()->definitionType()==Definition::TypeFile);
278 
279  ArgumentList *srcMdAl = srcMd->argumentList();
280  ArgumentList *mdAl = md->argumentList();
281  ArgumentList *tSrcMdAl = srcMd->templateArguments();
282  ArgumentList *tMdAl = md->templateArguments();
283 
284  if (srcMd->isFunction() && md->isFunction() && // both are a function
285  ((tSrcMdAl==0 && tMdAl==0) ||
286  (tSrcMdAl!=0 && tMdAl!=0 && tSrcMdAl->count()==tMdAl->count())
287  ) && // same number of template arguments
288  matchArguments2(srcMd->getOuterScope(),srcMd->getFileDef(),srcMdAl,
289  md->getOuterScope(),md->getFileDef(),mdAl,
290  TRUE
291  ) && // matching parameters
292  sameScope // both are found in the same scope
293  )
294  {
295  if (srcMd->getGroupAlias()==0)
296  {
297  md->setGroupAlias(srcMd);
298  }
299  else if (md!=srcMd->getGroupAlias())
300  {
301  md->setGroupAlias(srcMd->getGroupAlias());
302  }
303  return FALSE; // member is the same as one that is already added
304  }
305  }
306  mni->append(new MemberInfo(md,md->protection(),md->virtualness(),FALSE));
307  }
308  else
309  {
310  mni = new MemberNameInfo(md->name());
311  mni->append(new MemberInfo(md,md->protection(),md->virtualness(),FALSE));
313  }
314  //printf("Added member!\n");
316  switch(md->memberType())
317  {
318  case MemberType_Variable:
319  if (!docOnly)
320  {
322  }
324  break;
325  case MemberType_Function:
326  if (!docOnly)
327  {
329  }
331  break;
332  case MemberType_Typedef:
333  if (!docOnly)
334  {
336  }
338  break;
340  if (!docOnly)
341  {
343  }
345  break;
346  case MemberType_EnumValue:
347  if (!docOnly)
348  {
350  }
352  break;
353  case MemberType_Define:
354  if (!docOnly)
355  {
357  }
359  break;
360  case MemberType_Signal:
361  if (!docOnly)
362  {
364  }
366  break;
367  case MemberType_Slot:
368  if (md->protection()==Public)
369  {
370  if (!docOnly)
371  {
373  }
375  }
376  else if (md->protection()==Protected)
377  {
378  if (!docOnly)
379  {
381  }
383  }
384  else
385  {
386  if (!docOnly)
387  {
389  }
391  }
392  break;
393  case MemberType_Event:
394  if (!docOnly)
395  {
397  }
399  break;
400  case MemberType_Property:
401  if (!docOnly)
402  {
404  }
406  break;
407  case MemberType_Friend:
408  if (!docOnly)
409  {
411  }
413  break;
414  default:
415  err("GroupDef::insertMembers(): "
416  "member `%s' (typeid=%d) with scope `%s' inserted in group scope `%s'!\n",
417  md->name().data(),md->memberType(),
418  md->getClassDef() ? md->getClassDef()->name().data() : "",
419  name().data());
420  }
421  return TRUE;
422 }
void append(const MemberDef *md)
Definition: memberlist.cpp:246
This class represents an function or template argument list.
Definition: arguments.h:82
bool matchArguments2(Definition *srcScope, FileDef *srcFileScope, ArgumentList *srcAl, Definition *dstScope, FileDef *dstFileScope, ArgumentList *dstAl, bool checkCV)
Definition: util.cpp:3647
void append(const type *d)
Definition: qlist.h:73
Definition: types.h:26
const bool FALSE
Definition: qglobal.h:370
MemberDef * memberDef
Definition: membername.h:62
void addMemberToList(MemberListType lt, MemberDef *md)
Definition: groupdef.cpp:1572
MemberDef * getGroupAlias() const
Definition: memberdef.cpp:4608
MemberList * allMemberList
Definition: groupdef.h:150
void append(const char *key, const T *d)
Definition: sortdict.h:135
FileDef * getFileDef() const
Definition: memberdef.cpp:4075
virtual DefType definitionType() const =0
uint count() const
Definition: qlist.h:66
const QCString & name() const
Definition: definition.h:114
const char * data() const
Definition: qcstring.h:207
void err(const char *fmt,...)
Definition: message.cpp:226
const char * memberName() const
Definition: membername.h:77
virtual Definition * getOuterScope() const
ArgumentList * argumentList() const
Definition: memberdef.cpp:4512
MemberNameInfoSDict * allMemberNameInfoSDict
Definition: groupdef.h:151
bool isFunction() const
Definition: memberdef.cpp:4160
const bool TRUE
Definition: qglobal.h:371
void updateLanguage(const Definition *)
Definition: groupdef.cpp:1652
ArgumentList * templateArguments() const
Definition: memberdef.cpp:4522
bool GroupDef::isASubGroup ( ) const

Definition at line 541 of file groupdef.cpp.

542 {
543  GroupList *groups = partOfGroups();
544  return groups!=0 && groups->count()!=0;
545 }
GroupList * partOfGroups() const
uint count() const
Definition: qlist.h:66
bool GroupDef::isLinkable ( ) const
virtual

Returns TRUE iff it is possible to link to this item. This can be a link to another project imported via a tag file.

Implements Definition.

Definition at line 1645 of file groupdef.cpp.

1646 {
1647  return hasUserDocumentation();
1648 }
virtual bool hasUserDocumentation() const
bool GroupDef::isLinkableInProject ( ) const
virtual

Returns TRUE iff it is possible to link to this item within this project.

Implements Definition.

Definition at line 1640 of file groupdef.cpp.

1641 {
1642  return !isReference() && isLinkable();
1643 }
bool isLinkable() const
Definition: groupdef.cpp:1645
virtual bool isReference() const
void GroupDef::removeMember ( MemberDef md)

Definition at line 424 of file groupdef.cpp.

425 {
426  // fprintf(stderr, "GroupDef(%s)::removeMember( %s )\n", title.data(), md->name().data());
428  if (mni)
429  {
430  MemberNameInfoIterator mnii(*mni);
431  while( mnii.current() )
432  {
433  if( mnii.current()->memberDef == md )
434  {
435  mni->remove(mnii.current());
436  break;
437  }
438  ++mnii;
439  }
440  if( mni->isEmpty() )
441  {
443  }
444 
446  switch(md->memberType())
447  {
448  case MemberType_Variable:
451  break;
452  case MemberType_Function:
455  break;
456  case MemberType_Typedef:
459  break;
463  break;
464  case MemberType_EnumValue:
467  break;
468  case MemberType_Define:
471  break;
472  case MemberType_Signal:
475  break;
476  case MemberType_Slot:
477  if (md->protection()==Public)
478  {
481  }
482  else if (md->protection()==Protected)
483  {
486  }
487  else
488  {
491  }
492  break;
493  case MemberType_Event:
496  break;
497  case MemberType_Property:
500  break;
501  case MemberType_Friend:
504  break;
505  default:
506  err("GroupDef::removeMember(): unexpected member remove in file!\n");
507  }
508  }
509 }
Protection protection() const
Definition: memberdef.cpp:4120
Definition: types.h:26
const QCString & name() const
Definition: definition.h:114
bool isEmpty() const
Definition: qlist.h:67
bool remove(const char *key)
Definition: sortdict.h:166
void err(const char *fmt,...)
Definition: message.cpp:226
MemberType memberType() const
Definition: memberdef.cpp:4125
MemberNameInfoSDict * allMemberNameInfoSDict
Definition: groupdef.h:151
void removeMemberFromList(MemberListType lt, MemberDef *md)
Definition: groupdef.cpp:1629
T * find(const char *key)
Definition: sortdict.h:232
bool remove(uint i)
Definition: qlist.h:76
void GroupDef::removeMemberFromList ( MemberListType  lt,
MemberDef md 
)
private

Definition at line 1629 of file groupdef.cpp.

1630 {
1631  MemberList *ml = getMemberList(lt);
1632  if (ml) ml->remove(md);
1633 }
MemberList * getMemberList(MemberListType lt) const
Definition: groupdef.cpp:1593
bool remove(uint i)
Definition: qlist.h:76
void GroupDef::setGroupScope ( Definition d)
inline

Definition at line 91 of file groupdef.h.

91 { groupScope = d; }
Definition * groupScope
Definition: groupdef.h:153
void GroupDef::setGroupTitle ( const char *  newtitle)

Definition at line 91 of file groupdef.cpp.

92 {
93  if ( t && qstrlen(t) )
94  {
95  title = t;
96  titleSet = TRUE;
97  }
98  else
99  {
100  title = name();
101  title.at(0)=toupper(title.at(0));
102  titleSet = FALSE;
103  }
104 }
char & at(uint i) const
Definition: qcstring.h:326
const bool FALSE
Definition: qglobal.h:370
bool titleSet
Definition: groupdef.h:140
Q_EXPORT uint qstrlen(const char *str)
Definition: qcstring.h:81
const QCString & name() const
Definition: definition.h:114
QCString title
Definition: groupdef.h:139
const bool TRUE
Definition: qglobal.h:371
void GroupDef::sortMemberLists ( )

Definition at line 1583 of file groupdef.cpp.

1584 {
1586  MemberList *ml;
1587  for (;(ml=mli.current());++mli)
1588  {
1589  if (ml->needsSorting()) { ml->sort(); ml->setNeedsSorting(FALSE); }
1590  }
1591 }
const bool FALSE
Definition: qglobal.h:370
void sort()
Definition: qlist.h:85
void setNeedsSorting(bool b)
Definition: memberlist.cpp:902
QList< MemberList > m_memberLists
Definition: groupdef.h:155
bool needsSorting() const
Definition: memberlist.h:53
void GroupDef::sortSubGroups ( )

Definition at line 1635 of file groupdef.cpp.

1636 {
1637  groupList->sort();
1638 }
void sort()
Definition: qlist.h:85
GroupList * groupList
Definition: groupdef.h:145
void GroupDef::startMemberDeclarations ( OutputList ol)
private

Definition at line 985 of file groupdef.cpp.

986 {
987  ol.startMemberSections();
988 }
void startMemberSections()
Definition: outputlist.h:186
void GroupDef::startMemberDocumentation ( OutputList ol)
private

Definition at line 995 of file groupdef.cpp.

996 {
997  //printf("** GroupDef::startMemberDocumentation()\n");
998  if (Config_getBool("SEPARATE_MEMBER_PAGES"))
999  {
1000  ol.pushGeneratorState();
1003  }
1004 }
static bool suppressDocWarnings
Definition: doxygen.h:142
void pushGeneratorState()
Definition: outputlist.cpp:111
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
#define Config_getBool(val)
Definition: config.cpp:664
const bool TRUE
Definition: qglobal.h:371
bool GroupDef::subGrouping ( ) const
inline

Definition at line 84 of file groupdef.h.

84 { return m_subGrouping; }
bool m_subGrouping
Definition: groupdef.h:157
void GroupDef::updateLanguage ( const Definition d)
private

Definition at line 1652 of file groupdef.cpp.

1653 {
1655  {
1656  setLanguage(d->getLanguage());
1657  }
1658 }
void setLanguage(SrcLangExt lang)
SrcLangExt getLanguage() const
void GroupDef::writeAuthorSection ( OutputList ol)
private

Definition at line 1016 of file groupdef.cpp.

1017 {
1018  // write Author section (Man only)
1019  ol.pushGeneratorState();
1021  ol.startGroupHeader();
1023  ol.endGroupHeader();
1025  ol.popGeneratorState();
1026 }
void endGroupHeader(int extraLevels=0)
Definition: outputlist.h:178
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void popGeneratorState()
Definition: outputlist.cpp:121
void pushGeneratorState()
Definition: outputlist.cpp:111
virtual QCString trAuthor(bool first_capital, bool singular)=0
virtual QCString trGeneratedAutomatically(const char *s)=0
#define Config_getString(val)
Definition: config.cpp:660
void startGroupHeader(int extraLevels=0)
Definition: outputlist.h:176
Translator * theTranslator
Definition: language.cpp:157
const bool TRUE
Definition: qglobal.h:371
void GroupDef::writeBriefDescription ( OutputList ol)
private

Definition at line 763 of file groupdef.cpp.

764 {
765  if (!briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
766  {
767  DocRoot *rootNode = validatingParseDoc(briefFile(),briefLine(),this,0,
769  if (rootNode && !rootNode->isEmpty())
770  {
771  ol.startParagraph();
772  ol.writeDoc(rootNode,this,0);
773  ol.pushGeneratorState();
775  ol.writeString(" \n");
777 
778  if (Config_getBool("REPEAT_BRIEF") ||
779  !documentation().isEmpty()
780  )
781  {
783  ol.startTextLink(0,"details");
785  ol.endTextLink();
786  }
787  ol.popGeneratorState();
788  ol.endParagraph();
789  }
790  delete rootNode;
791  }
792 }
void writeString(const char *text)
Definition: outputlist.h:119
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
void startParagraph()
Definition: outputlist.h:115
const bool FALSE
Definition: qglobal.h:370
DocRoot * validatingParseDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const char *input, bool indexWords, bool isExample, const char *exampleName, bool singleLine, bool linkFromIndex)
Definition: docparser.cpp:7179
int briefLine() const
void startTextLink(const char *file, const char *anchor)
Definition: outputlist.h:159
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void popGeneratorState()
Definition: outputlist.cpp:121
void endParagraph()
Definition: outputlist.h:117
void pushGeneratorState()
Definition: outputlist.cpp:111
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
void writeDoc(DocRoot *root, Definition *ctx, MemberDef *md)
Definition: outputlist.cpp:162
void enable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:89
#define Config_getBool(val)
Definition: config.cpp:664
QCString briefFile() const
virtual QCString trMore()=0
virtual QCString briefDescription(bool abbreviate=FALSE) const
Translator * theTranslator
Definition: language.cpp:157
bool isEmpty() const
Definition: docparser.h:1409
virtual QCString documentation() const
void endTextLink()
Definition: outputlist.h:161
const bool TRUE
Definition: qglobal.h:371
void GroupDef::writeClasses ( OutputList ol,
const QCString title 
)
private

Definition at line 935 of file groupdef.cpp.

936 {
937  // write list of classes
938  classSDict->writeDeclaration(ol,0,title,FALSE);
939 }
ClassSDict * classSDict
Definition: groupdef.h:143
const bool FALSE
Definition: qglobal.h:370
void writeDeclaration(OutputList &ol, const ClassDef::CompoundType *filter=0, const char *header=0, bool localNames=FALSE)
Definition: classlist.cpp:94
void GroupDef::writeDetailedDescription ( OutputList ol,
const QCString title 
)
private

Definition at line 708 of file groupdef.cpp.

709 {
710  if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
711  || !documentation().isEmpty() || !inbodyDocumentation().isEmpty()
712  )
713  {
714  if (pageDict->count()!=countMembers()) // not only pages -> classical layout
715  {
716  ol.pushGeneratorState();
718  ol.writeRuler();
719  ol.popGeneratorState();
720  ol.pushGeneratorState();
722  ol.writeAnchor(0,"details");
723  ol.popGeneratorState();
724  ol.startGroupHeader();
725  ol.parseText(title);
726  ol.endGroupHeader();
727  }
728 
729  // repeat brief description
730  if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF"))
731  {
733  }
734  // write separator between brief and details
735  if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") &&
736  !documentation().isEmpty())
737  {
738  ol.pushGeneratorState();
741  // ol.newParagraph(); // FIXME:PARA
742  ol.enableAll();
745  ol.writeString("\n\n");
746  ol.popGeneratorState();
747  }
748 
749  // write detailed documentation
750  if (!documentation().isEmpty())
751  {
752  ol.generateDoc(docFile(),docLine(),this,0,documentation()+"\n",TRUE,FALSE);
753  }
754 
755  // write inbody documentation
756  if (!inbodyDocumentation().isEmpty())
757  {
759  }
760  }
761 }
void writeRuler()
Definition: outputlist.h:240
QCString docFile() const
void endGroupHeader(int extraLevels=0)
Definition: outputlist.h:178
void writeString(const char *text)
Definition: outputlist.h:119
bool generateDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const char *exampleName=0, bool singleLine=FALSE, bool linkFromIndex=FALSE)
Definition: outputlist.cpp:131
QCString inbodyDocumentation() const
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
const bool FALSE
Definition: qglobal.h:370
int countMembers() const
Definition: groupdef.cpp:547
int briefLine() const
int count() const
Definition: sortdict.h:284
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void popGeneratorState()
Definition: outputlist.cpp:121
QCString inbodyFile() const
void pushGeneratorState()
Definition: outputlist.cpp:111
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
void enable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:89
#define Config_getBool(val)
Definition: config.cpp:664
QCString briefFile() const
int inbodyLine() const
virtual QCString briefDescription(bool abbreviate=FALSE) const
void startGroupHeader(int extraLevels=0)
Definition: outputlist.h:176
void enableAll()
Definition: outputlist.cpp:59
PageSDict * pageDict
Definition: groupdef.h:146
void writeAnchor(const char *fileName, const char *name)
Definition: outputlist.h:242
int docLine() const
virtual QCString documentation() const
const bool TRUE
Definition: qglobal.h:371
void GroupDef::writeDirs ( OutputList ol,
const QCString title 
)
private

Definition at line 902 of file groupdef.cpp.

903 {
904  // write list of directories
905  if (dirList->count()>0)
906  {
907  ol.startMemberHeader("dirs");
908  ol.parseText(title);
909  ol.endMemberHeader();
910  ol.startMemberList();
912  DirDef *dd;
913  for (;(dd=it.current());++it)
914  {
915  if (!dd->hasDocumentation()) continue;
919  ol.insertMemberAlign();
921  ol.endMemberItem();
922  if (!dd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
923  {
927  }
928  ol.endMemberDeclaration(0,0);
929  }
930 
931  ol.endMemberList();
932  }
933 }
void startMemberItem(const char *anchor, int i1, const char *id=0)
Definition: outputlist.h:218
void endMemberDeclaration(const char *anchor, const char *inheritId)
Definition: outputlist.h:314
void endMemberItem()
Definition: outputlist.h:220
virtual QCString getReference() const
const QCString & shortName() const
Definition: dirdef.h:57
bool isEmpty() const
Definition: qcstring.h:189
DirList * dirList
Definition: groupdef.h:148
bool generateDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const char *exampleName=0, bool singleLine=FALSE, bool linkFromIndex=FALSE)
Definition: outputlist.cpp:131
virtual bool hasDocumentation() const
const bool FALSE
Definition: qglobal.h:370
void startMemberDescription(const char *anchor, const char *inheritId=0)
Definition: outputlist.h:308
int briefLine() const
void startMemberList()
Definition: outputlist.h:206
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void endMemberHeader()
Definition: outputlist.h:196
uint count() const
Definition: qlist.h:66
void startMemberDeclaration()
Definition: outputlist.h:312
Definition: dirdef.h:44
#define Config_getBool(val)
Definition: config.cpp:664
QCString briefFile() const
virtual QCString briefDescription(bool abbreviate=FALSE) const
QCString getOutputFileBase() const
Definition: dirdef.cpp:113
void endMemberDescription()
Definition: outputlist.h:310
Translator * theTranslator
Definition: language.cpp:157
virtual QCString trDir(bool first_capital, bool singular)=0
void startMemberHeader(const char *anchor)
Definition: outputlist.h:194
void insertMemberAlign(bool templ=FALSE)
Definition: outputlist.h:238
void writeObjectLink(const char *ref, const char *file, const char *anchor, const char *name)
Definition: outputlist.h:149
const bool TRUE
Definition: qglobal.h:371
void endMemberList()
Definition: outputlist.h:208
void GroupDef::writeDocumentation ( OutputList ol)

Definition at line 1073 of file groupdef.cpp.

1074 {
1075  //static bool generateTreeView = Config_getBool("GENERATE_TREEVIEW");
1076  ol.pushGeneratorState();
1078 
1079  ol.startHeaderSection();
1080  writeSummaryLinks(ol);
1082  ol.pushGeneratorState();
1084  ol.parseText(title);
1085  ol.popGeneratorState();
1086  addGroupListToTitle(ol,this);
1087  ol.pushGeneratorState();
1090  ol.popGeneratorState();
1091  ol.pushGeneratorState();
1094  ol.parseText(title);
1095  ol.popGeneratorState();
1096  ol.endHeaderSection();
1097  ol.startContents();
1098 
1100  {
1102  static QRegExp we("[a-zA-Z_][-a-zA-Z_0-9]*");
1103  int i=0,p=0,l=0;
1104  while ((i=we.match(title,p,&l))!=-1) // foreach word in the title
1105  {
1107  p=i+l;
1108  }
1109  }
1110 
1112 
1113  //---------------------------------------- start flexible part -------------------------------
1114 
1115  SrcLangExt lang=getLanguage();
1118  LayoutDocEntry *lde;
1119  for (eli.toFirst();(lde=eli.current());++eli)
1120  {
1121  switch (lde->kind())
1122  {
1125  break;
1128  break;
1130  {
1132  writeClasses(ol,ls->title(lang));
1133  }
1134  break;
1136  {
1137  writeInlineClasses(ol);
1138  }
1139  break;
1141  {
1143  writeNamespaces(ol,ls->title(lang));
1144  }
1145  break;
1147  writeMemberGroups(ol);
1148  break;
1150  {
1152  writeMemberDeclarations(ol,lmd->type,lmd->title(lang));
1153  }
1154  break;
1157  break;
1159  {
1161  writeDetailedDescription(ol,ls->title(lang));
1162  }
1163  break;
1166  break;
1168  {
1170  writeMemberDocumentation(ol,lmd->type,lmd->title(lang));
1171  }
1172  break;
1175  break;
1177  {
1179  writeNestedGroups(ol,ls->title(lang));
1180  }
1181  break;
1184  break;
1186  {
1188  writeDirs(ol,ls->title(lang));
1189  }
1190  break;
1192  {
1194  writeFiles(ol,ls->title(lang));
1195  }
1196  break;
1198  writeGroupGraph(ol);
1199  break;
1201  writeAuthorSection(ol);
1202  break;
1225  err("Internal inconsistency: member %d should not be part of "
1226  "LayoutDocManager::Group entry list\n",lde->kind());
1227  break;
1228  }
1229  }
1230 
1231  //---------------------------------------- end flexible part -------------------------------
1232 
1233  endFile(ol);
1234 
1235  ol.popGeneratorState();
1236 
1237  if (Config_getBool("SEPARATE_MEMBER_PAGES"))
1238  {
1239  allMemberList->sort();
1240  writeMemberPages(ol);
1241  }
1242 
1243 }
void writeMemberPages(OutputList &ol)
Definition: groupdef.cpp:1245
void writeFiles(OutputList &ol, const QCString &title)
Definition: groupdef.cpp:814
void endFile(OutputList &ol, bool skipNavIndex, bool skipEndContents, const QCString &navPath)
Definition: index.cpp:263
void writePageDocumentation(OutputList &ol)
Definition: groupdef.cpp:946
The QRegExp class provides pattern matching using regular expressions or wildcards.
Definition: qregexp.h:46
void startFile(OutputList &ol, const char *name, const char *manName, const char *title, HighlightedItem hli, bool additionalIndices, const char *altSidebarName)
Definition: index.cpp:244
void endHeaderSection()
Definition: outputlist.h:192
MemberListType type
Definition: layout.h:96
void writeGroupGraph(OutputList &ol)
Definition: groupdef.cpp:794
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
void endTitleHead(const char *fileName, const char *name)
Definition: outputlist.h:107
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1459
const bool FALSE
Definition: qglobal.h:370
void startHeaderSection()
Definition: outputlist.h:190
static LayoutDocManager & instance()
Definition: layout.cpp:1359
void startMemberDeclarations(OutputList &ol)
Definition: groupdef.cpp:985
void writeMemberGroups(OutputList &ol)
Definition: groupdef.cpp:969
void writeNamespaces(OutputList &ol, const QCString &title)
Definition: groupdef.cpp:846
void writeDirs(OutputList &ol, const QCString &title)
Definition: groupdef.cpp:902
void writeInlineClasses(OutputList &ol)
Definition: groupdef.cpp:941
MemberList * allMemberList
Definition: groupdef.h:150
SrcLangExt
Definition: types.h:41
static QStrList * l
Definition: config.cpp:1044
void startMemberDocumentation(OutputList &ol)
Definition: groupdef.cpp:995
Represents of a member definition list with configurable title.
Definition: layout.h:105
void writeClasses(OutputList &ol, const QCString &title)
Definition: groupdef.cpp:935
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1440
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
Represents of a member declaration list with configurable title and subtitle.
Definition: layout.h:89
void writeDetailedDescription(OutputList &ol, const QCString &title)
Definition: groupdef.cpp:708
void popGeneratorState()
Definition: outputlist.cpp:121
void addIndexItem(Definition *context, MemberDef *md, const char *sectionAnchor=0, const char *title=0)
Definition: index.h:142
static SearchIndexIntf * searchIndex
Definition: doxygen.h:133
const QCString & name() const
Definition: definition.h:114
void writeMemberDocumentation(OutputList &ol, MemberListType lt, const QCString &title)
Definition: groupdef.cpp:1623
void pushGeneratorState()
Definition: outputlist.cpp:111
SrcLangExt getLanguage() const
void sort()
Definition: qlist.h:85
virtual void addWord(const char *word, bool hiPriority)=0
p
Definition: test.py:223
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
void writeSummaryLinks(OutputList &ol)
Definition: groupdef.cpp:1028
void addGroupListToTitle(OutputList &ol, Definition *d)
Definition: util.cpp:6528
#define Config_getBool(val)
Definition: config.cpp:664
void err(const char *fmt,...)
Definition: message.cpp:226
void writeMemberDeclarations(OutputList &ol, MemberListType lt, const QCString &title)
Definition: groupdef.cpp:1607
QCString mid(uint index, uint len=0xffffffff) const
Definition: qcstring.cpp:246
MemberListType type
Definition: layout.h:111
void writeNestedGroups(OutputList &ol, const QCString &title)
Definition: groupdef.cpp:852
virtual Kind kind() const =0
Base class representing a piece of a documentation page.
Definition: layout.h:30
virtual void setCurrentDoc(Definition *ctx, const char *anchor, bool isSourceFile)=0
void startTitleHead(const char *fileName)
Definition: outputlist.h:105
void writeBriefDescription(OutputList &ol)
Definition: groupdef.cpp:763
void endMemberDeclarations(OutputList &ol)
Definition: groupdef.cpp:990
void endMemberDocumentation(OutputList &ol)
Definition: groupdef.cpp:1006
QCString getOutputFileBase() const
Definition: groupdef.cpp:1512
QCString title
Definition: groupdef.h:139
QCString anchor() const
Definition: groupdef.h:52
const bool TRUE
Definition: qglobal.h:371
static IndexList * indexList
Definition: doxygen.h:149
void writeAuthorSection(OutputList &ol)
Definition: groupdef.cpp:1016
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1447
void startContents()
Definition: outputlist.h:364
void GroupDef::writeFiles ( OutputList ol,
const QCString title 
)
private

Definition at line 814 of file groupdef.cpp.

815 {
816  // write list of files
817  if (fileList->count()>0)
818  {
819  ol.startMemberHeader("files");
820  ol.parseText(title);
821  ol.endMemberHeader();
822  ol.startMemberList();
824  FileDef *fd;
825  for (;(fd=it.current());++it)
826  {
827  if (!fd->hasDocumentation()) continue;
831  ol.insertMemberAlign();
832  ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0,fd->name());
833  ol.endMemberItem();
834  if (!fd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
835  {
839  }
840  ol.endMemberDeclaration(0,0);
841  }
842  ol.endMemberList();
843  }
844 }
void startMemberItem(const char *anchor, int i1, const char *id=0)
Definition: outputlist.h:218
void endMemberDeclaration(const char *anchor, const char *inheritId)
Definition: outputlist.h:314
void endMemberItem()
Definition: outputlist.h:220
virtual QCString trFile(bool first_capital, bool singular)=0
virtual QCString getReference() const
bool isEmpty() const
Definition: qcstring.h:189
bool generateDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const char *exampleName=0, bool singleLine=FALSE, bool linkFromIndex=FALSE)
Definition: outputlist.cpp:131
virtual bool hasDocumentation() const
const bool FALSE
Definition: qglobal.h:370
void startMemberDescription(const char *anchor, const char *inheritId=0)
Definition: outputlist.h:308
int briefLine() const
void startMemberList()
Definition: outputlist.h:206
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void endMemberHeader()
Definition: outputlist.h:196
uint count() const
Definition: qlist.h:66
void startMemberDeclaration()
Definition: outputlist.h:312
QCString name() const
Definition: filedef.cpp:1193
#define Config_getBool(val)
Definition: config.cpp:664
QCString briefFile() const
virtual QCString briefDescription(bool abbreviate=FALSE) const
QCString getOutputFileBase() const
Definition: filedef.h:83
FileList * fileList
Definition: groupdef.h:142
void endMemberDescription()
Definition: outputlist.h:310
Translator * theTranslator
Definition: language.cpp:157
void startMemberHeader(const char *anchor)
Definition: outputlist.h:194
void docify(const char *s)
Definition: outputlist.h:145
void insertMemberAlign(bool templ=FALSE)
Definition: outputlist.h:238
void writeObjectLink(const char *ref, const char *file, const char *anchor, const char *name)
Definition: outputlist.h:149
const bool TRUE
Definition: qglobal.h:371
void endMemberList()
Definition: outputlist.h:208
void GroupDef::writeGroupGraph ( OutputList ol)
private

Definition at line 794 of file groupdef.cpp.

795 {
796  if (Config_getBool("HAVE_DOT") /*&& Config_getBool("GROUP_GRAPHS")*/ )
797  {
799  if (!graph.isTrivial())
800  {
801  msg("Generating dependency graph for group %s\n",qualifiedName().data());
802  ol.pushGeneratorState();
804  //ol.startParagraph();
808  //ol.endParagraph();
809  ol.popGeneratorState();
810  }
811  }
812 }
void msg(const char *fmt,...)
Definition: message.cpp:107
void startGroupCollaboration()
Definition: outputlist.h:398
virtual QCString trCollaborationDiagram(const char *clName)=0
def graph(desc, maker=maker)
Definition: apa.py:294
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void endGroupCollaboration(const DotGroupCollaboration &g)
Definition: outputlist.h:400
void popGeneratorState()
Definition: outputlist.cpp:121
void pushGeneratorState()
Definition: outputlist.cpp:111
void disable(OutputGenerator::OutputType o)
Definition: outputlist.cpp:79
#define Config_getBool(val)
Definition: config.cpp:664
virtual QCString qualifiedName() const
Translator * theTranslator
Definition: language.cpp:157
QCString title
Definition: groupdef.h:139
void GroupDef::writeInlineClasses ( OutputList ol)
private

Definition at line 941 of file groupdef.cpp.

942 {
944 }
ClassSDict * classSDict
Definition: groupdef.h:143
void writeDocumentation(OutputList &ol, Definition *container=0)
Definition: classlist.cpp:119
void GroupDef::writeMemberDeclarations ( OutputList ol,
MemberListType  lt,
const QCString title 
)
private

Definition at line 1607 of file groupdef.cpp.

1608 {
1609  static bool optimizeVhdl = Config_getBool("OPTIMIZE_OUTPUT_VHDL");
1610 
1611  MemberList * ml = getMemberList(lt);
1612  if (optimizeVhdl && ml)
1613  {
1614  VhdlDocGen::writeVhdlDeclarations(ml,ol,this,0,0,0);
1615  return;
1616  }
1617  if (ml)
1618  {
1619  ml->writeDeclarations(ol,0,0,0,this,title,0);
1620  }
1621 }
static void writeVhdlDeclarations(MemberList *, OutputList &, GroupDef *, ClassDef *, FileDef *, NamespaceDef *)
#define Config_getBool(val)
Definition: config.cpp:664
MemberList * getMemberList(MemberListType lt) const
Definition: groupdef.cpp:1593
void writeDeclarations(OutputList &ol, ClassDef *cd, NamespaceDef *nd, FileDef *fd, GroupDef *gd, const char *title, const char *subtitle, bool showEnumValues=FALSE, bool showInline=FALSE, ClassDef *inheritedFrom=0, MemberListType lt=MemberListType_pubMethods)
Definition: memberlist.cpp:519
void GroupDef::writeMemberDocumentation ( OutputList ol,
MemberListType  lt,
const QCString title 
)
private

Definition at line 1623 of file groupdef.cpp.

1624 {
1625  MemberList * ml = getMemberList(lt);
1626  if (ml) ml->writeDocumentation(ol,name(),this,title);
1627 }
void writeDocumentation(OutputList &ol, const char *scopeName, Definition *container, const char *title, bool showEnumValues=FALSE, bool showInline=FALSE)
Definition: memberlist.cpp:655
const QCString & name() const
Definition: definition.h:114
MemberList * getMemberList(MemberListType lt) const
Definition: groupdef.cpp:1593
void GroupDef::writeMemberGroups ( OutputList ol)
private

Definition at line 969 of file groupdef.cpp.

970 {
971  /* write user defined member groups */
972  if (memberGroupSDict)
973  {
975  /* write user defined member groups */
977  MemberGroup *mg;
978  for (;(mg=mgli.current());++mgli)
979  {
980  mg->writeDeclarations(ol,0,0,0,this);
981  }
982  }
983 }
friend class Iterator
Definition: sortdict.h:598
void writeDeclarations(OutputList &ol, ClassDef *cd, NamespaceDef *nd, FileDef *fd, GroupDef *gd, bool showInline=FALSE)
static constexpr double mg
Definition: Units.h:145
void sort()
Definition: sortdict.h:522
MemberGroupSDict * memberGroupSDict
Definition: groupdef.h:156
void GroupDef::writeMemberPages ( OutputList ol)

Definition at line 1245 of file groupdef.cpp.

1246 {
1247  ol.pushGeneratorState();
1249 
1251  MemberList *ml;
1252  for (mli.toFirst();(ml=mli.current());++mli)
1253  {
1255  {
1256  ml->writeDocumentationPage(ol,name(),this);
1257  }
1258  }
1259 
1260  ol.popGeneratorState();
1261 }
MemberListType listType() const
Definition: memberlist.h:38
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
void popGeneratorState()
Definition: outputlist.cpp:121
const QCString & name() const
Definition: definition.h:114
void pushGeneratorState()
Definition: outputlist.cpp:111
QList< MemberList > m_memberLists
Definition: groupdef.h:155
void writeDocumentationPage(OutputList &ol, const char *scopeName, Definition *container)
Definition: memberlist.cpp:715
void GroupDef::writeNamespaces ( OutputList ol,
const QCString title 
)
private

Definition at line 846 of file groupdef.cpp.

847 {
848  // write list of namespaces
849  namespaceSDict->writeDeclaration(ol,title);
850 }
NamespaceSDict * namespaceSDict
Definition: groupdef.h:144
void writeDeclaration(OutputList &ol, const char *title, bool isConstantGroup=false, bool localName=FALSE)
void GroupDef::writeNestedGroups ( OutputList ol,
const QCString title 
)
private

Definition at line 852 of file groupdef.cpp.

853 {
854  // write list of groups
855  int count=0;
856  if (groupList->count()>0)
857  {
859  GroupDef *gd;
860  for (;(gd=it.current());++it)
861  {
862  if (gd->isVisible()) count++;
863  }
864  }
865  if (count>0)
866  {
867  ol.startMemberHeader("groups");
868  ol.parseText(title);
869  ol.endMemberHeader();
870  ol.startMemberList();
871  if (Config_getBool("SORT_GROUP_NAMES"))
872  {
873  groupList->sort();
874  }
876  GroupDef *gd;
877  for (;(gd=it.current());++it)
878  {
879  if (gd->isVisible())
880  {
881  if (!gd->hasDocumentation()) continue;
884  //ol.docify(theTranslator->trGroup(FALSE,TRUE));
885  //ol.docify(" ");
886  ol.insertMemberAlign();
888  ol.endMemberItem();
889  if (!gd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC"))
890  {
894  }
895  ol.endMemberDeclaration(0,0);
896  }
897  }
898  ol.endMemberList();
899  }
900 }
void startMemberItem(const char *anchor, int i1, const char *id=0)
Definition: outputlist.h:218
void endMemberDeclaration(const char *anchor, const char *inheritId)
Definition: outputlist.h:314
void endMemberItem()
Definition: outputlist.h:220
virtual QCString getReference() const
bool isEmpty() const
Definition: qcstring.h:189
bool generateDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const char *exampleName=0, bool singleLine=FALSE, bool linkFromIndex=FALSE)
Definition: outputlist.cpp:131
virtual bool hasDocumentation() const
const bool FALSE
Definition: qglobal.h:370
void startMemberDescription(const char *anchor, const char *inheritId=0)
Definition: outputlist.h:308
int briefLine() const
const char * groupTitle() const
Definition: groupdef.h:54
void startMemberList()
Definition: outputlist.h:206
bool parseText(const QCString &textStr)
Definition: outputlist.cpp:175
void endMemberHeader()
Definition: outputlist.h:196
uint count() const
Definition: qlist.h:66
void startMemberDeclaration()
Definition: outputlist.h:312
void sort()
Definition: qlist.h:85
#define Config_getBool(val)
Definition: config.cpp:664
virtual bool isVisible() const
QCString briefFile() const
virtual QCString briefDescription(bool abbreviate=FALSE) const
void endMemberDescription()
Definition: outputlist.h:310
QCString getOutputFileBase() const
Definition: groupdef.cpp:1512
void startMemberHeader(const char *anchor)
Definition: outputlist.h:194
void insertMemberAlign(bool templ=FALSE)
Definition: outputlist.h:238
void writeObjectLink(const char *ref, const char *file, const char *anchor, const char *name)
Definition: outputlist.h:149
GroupList * groupList
Definition: groupdef.h:145
const bool TRUE
Definition: qglobal.h:371
void endMemberList()
Definition: outputlist.h:208
void GroupDef::writePageDocumentation ( OutputList ol)
private

Definition at line 946 of file groupdef.cpp.

947 {
948  PageDef *pd=0;
950  for (pdi.toFirst();(pd=pdi.current());++pdi)
951  {
952  if (!pd->isReference())
953  {
954  SectionInfo *si=0;
955  if (!pd->title().isEmpty() && !pd->name().isEmpty() &&
956  (si=Doxygen::sectionDict->find(pd->name()))!=0)
957  {
959  ol.docify(si->title);
961  }
962  ol.startTextBlock();
963  ol.generateDoc(pd->docFile(),pd->docLine(),pd,0,pd->documentation()+pd->inbodyDocumentation(),TRUE,FALSE,0,TRUE,FALSE);
964  ol.endTextBlock();
965  }
966  }
967 }
QCString docFile() const
bool isEmpty() const
Definition: qcstring.h:189
QCString title() const
Definition: pagedef.h:54
bool generateDoc(const char *fileName, int startLine, Definition *ctx, MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const char *exampleName=0, bool singleLine=FALSE, bool linkFromIndex=FALSE)
Definition: outputlist.cpp:131
QCString inbodyDocumentation() const
const bool FALSE
Definition: qglobal.h:370
QCString label
Definition: section.h:56
virtual bool isReference() const
const QCString & name() const
Definition: definition.h:114
static SectionDict * sectionDict
Definition: doxygen.h:117
QCString title
Definition: section.h:57
void endSection(const char *lab, SectionInfo::SectionType t)
Definition: outputlist.h:336
void startTextBlock(bool dense=FALSE)
Definition: outputlist.h:404
A model of a page symbol.
Definition: pagedef.h:29
PageSDict * pageDict
Definition: groupdef.h:146
void endTextBlock(bool paraBreak=FALSE)
Definition: outputlist.h:406
friend class Iterator
Definition: sortdict.h:289
int docLine() const
void docify(const char *s)
Definition: outputlist.h:145
T * find(const char *key)
Definition: sortdict.h:232
void startSection(const char *lab, const char *title, SectionInfo::SectionType t)
Definition: outputlist.h:334
virtual QCString documentation() const
const bool TRUE
Definition: qglobal.h:371
void GroupDef::writeQuickMemberLinks ( OutputList ol,
MemberDef currentMd 
) const
virtual

Reimplemented from Definition.

Definition at line 1263 of file groupdef.cpp.

1264 {
1265  static bool createSubDirs=Config_getBool("CREATE_SUBDIRS");
1266 
1267  ol.writeString(" <div class=\"navtab\">\n");
1268  ol.writeString(" <table>\n");
1269 
1271  MemberDef *md;
1272  for (mli.toFirst();(md=mli.current());++mli)
1273  {
1274  if (md->getGroupDef()==this && md->isLinkable() && !md->isEnumValue())
1275  {
1276  ol.writeString(" <tr><td class=\"navtab\">");
1277  if (md->isLinkableInProject())
1278  {
1279  if (md==currentMd) // selected item => highlight
1280  {
1281  ol.writeString("<a class=\"qindexHL\" ");
1282  }
1283  else
1284  {
1285  ol.writeString("<a class=\"qindex\" ");
1286  }
1287  ol.writeString("href=\"");
1288  if (createSubDirs) ol.writeString("../../");
1290  ol.writeString("\">");
1291  ol.writeString(convertToHtml(md->localName()));
1292  ol.writeString("</a>");
1293  }
1294  ol.writeString("</td></tr>\n");
1295  }
1296  }
1297 
1298  ol.writeString(" </table>\n");
1299  ol.writeString(" </div>\n");
1300 }
static QCString htmlFileExtension
Definition: doxygen.h:130
void writeString(const char *text)
Definition: outputlist.h:119
bool isLinkableInProject() const
Definition: memberdef.cpp:1150
MemberList * allMemberList
Definition: groupdef.h:150
bool isEnumValue() const
Definition: memberdef.cpp:4150
QCString convertToHtml(const char *s, bool keepEntities)
Definition: util.cpp:5746
QCString anchor() const
Definition: memberdef.cpp:1031
#define Config_getBool(val)
Definition: config.cpp:664
GroupDef * getGroupDef() const
Definition: memberdef.cpp:4095
QCString getOutputFileBase() const
Definition: memberdef.cpp:941
void createSubDirs(QDir &d)
Definition: util.cpp:5458
bool isLinkable() const
Definition: memberdef.cpp:1161
QCString localName() const
void GroupDef::writeSummaryLinks ( OutputList ol)
privatevirtual

Reimplemented from Definition.

Definition at line 1028 of file groupdef.cpp.

1029 {
1030  ol.pushGeneratorState();
1034  LayoutDocEntry *lde;
1035  bool first=TRUE;
1036  SrcLangExt lang = getLanguage();
1037  for (eli.toFirst();(lde=eli.current());++eli)
1038  {
1041  (lde->kind()==LayoutDocEntry::GroupFiles && fileList->count()>0) ||
1043  (lde->kind()==LayoutDocEntry::GroupDirs && dirList->count()>0)
1044  )
1045  {
1047  QCString label = lde->kind()==LayoutDocEntry::GroupClasses ? "nested-classes" :
1048  lde->kind()==LayoutDocEntry::GroupNamespaces ? "namespaces" :
1049  lde->kind()==LayoutDocEntry::GroupFiles ? "files" :
1050  lde->kind()==LayoutDocEntry::GroupNestedGroups ? "groups" :
1051  "dirs";
1052  ol.writeSummaryLink(0,label,ls->title(lang),first);
1053  first=FALSE;
1054  }
1055  else if (lde->kind()==LayoutDocEntry::MemberDecl)
1056  {
1058  MemberList * ml = getMemberList(lmd->type);
1059  if (ml && ml->declVisible())
1060  {
1061  ol.writeSummaryLink(0,MemberList::listTypeAsString(ml->listType()),lmd->title(lang),first);
1062  first=FALSE;
1063  }
1064  }
1065  }
1066  if (!first)
1067  {
1068  ol.writeString(" </div>\n");
1069  }
1070  ol.popGeneratorState();
1071 }
MemberListType listType() const
Definition: memberlist.h:38
NamespaceSDict * namespaceSDict
Definition: groupdef.h:144
ClassSDict * classSDict
Definition: groupdef.h:143
DirList * dirList
Definition: groupdef.h:148
void writeString(const char *text)
Definition: outputlist.h:119
MemberListType type
Definition: layout.h:96
void disableAllBut(OutputGenerator::OutputType o)
Definition: outputlist.cpp:49
const bool FALSE
Definition: qglobal.h:370
static LayoutDocManager & instance()
Definition: layout.cpp:1359
bool declVisible(const ClassDef::CompoundType *filter=0) const
Definition: classlist.cpp:65
SrcLangExt
Definition: types.h:41
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1440
bool declVisible() const
Definition: memberlist.cpp:256
Represents of a member declaration list with configurable title and subtitle.
Definition: layout.h:89
void popGeneratorState()
Definition: outputlist.cpp:121
uint count() const
Definition: qlist.h:66
void writeSummaryLink(const char *file, const char *anchor, const char *title, bool first)
Definition: outputlist.h:362
void pushGeneratorState()
Definition: outputlist.cpp:111
SrcLangExt getLanguage() const
FileList * fileList
Definition: groupdef.h:142
MemberList * getMemberList(MemberListType lt) const
Definition: groupdef.cpp:1593
virtual Kind kind() const =0
Base class representing a piece of a documentation page.
Definition: layout.h:30
static QCString listTypeAsString(MemberListType type)
Definition: memberlist.cpp:907
bool declVisible() const
GroupList * groupList
Definition: groupdef.h:145
const bool TRUE
Definition: qglobal.h:371
QCString title(SrcLangExt lang) const
Definition: layout.cpp:1447
void GroupDef::writeTagFile ( FTextStream tagFile)

Definition at line 565 of file groupdef.cpp.

566 {
567  tagFile << " <compound kind=\"group\">" << endl;
568  tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
569  tagFile << " <title>" << convertToXML(title) << "</title>" << endl;
570  tagFile << " <filename>" << convertToXML(getOutputFileBase()) << Doxygen::htmlFileExtension << "</filename>" << endl;
573  LayoutDocEntry *lde;
574  for (eli.toFirst();(lde=eli.current());++eli)
575  {
576  switch (lde->kind())
577  {
579  {
580  if (classSDict)
581  {
583  ClassDef *cd;
584  for (ci.toFirst();(cd=ci.current());++ci)
585  {
586  if (cd->isLinkableInProject())
587  {
588  tagFile << " <class kind=\"" << cd->compoundTypeString()
589  << "\">" << convertToXML(cd->name()) << "</class>" << endl;
590  }
591  }
592  }
593  }
594  break;
596  {
597  if (namespaceSDict)
598  {
600  NamespaceDef *nd;
601  for (ni.toFirst();(nd=ni.current());++ni)
602  {
603  if (nd->isLinkableInProject())
604  {
605  tagFile << " <namespace>" << convertToXML(nd->name())
606  << "</namespace>" << endl;
607  }
608  }
609  }
610  }
611  break;
613  {
614  if (fileList)
615  {
617  FileDef *fd;
618  for (;(fd=it.current());++it)
619  {
620  if (fd->isLinkableInProject())
621  {
622  tagFile << " <file>" << convertToXML(fd->name()) << "</file>" << endl;
623  }
624  }
625  }
626  }
627  break;
629  {
630  if (pageDict)
631  {
633  PageDef *pd=0;
634  for (pdi.toFirst();(pd=pdi.current());++pdi)
635  {
636  QCString pageName = pd->getOutputFileBase();
637  if (pd->isLinkableInProject())
638  {
639  tagFile << " <page>" << convertToXML(pageName) << "</page>" << endl;
640  }
641  }
642  }
643  }
644  break;
646  {
647  if (dirList)
648  {
650  DirDef *dd;
651  for (;(dd=it.current());++it)
652  {
653  if (dd->isLinkableInProject())
654  {
655  tagFile << " <dir>" << convertToXML(dd->displayName()) << "</dir>" << endl;
656  }
657  }
658  }
659  }
660  break;
662  {
663  if (groupList)
664  {
666  GroupDef *gd;
667  for (;(gd=it.current());++it)
668  {
669  if (gd->isVisible())
670  {
671  tagFile << " <subgroup>" << convertToXML(gd->name()) << "</subgroup>" << endl;
672  }
673  }
674  }
675  }
676  break;
678  {
680  MemberList * ml = getMemberList(lmd->type);
681  if (ml)
682  {
683  ml->writeTagFile(tagFile);
684  }
685  }
686  break;
688  {
689  if (memberGroupSDict)
690  {
692  MemberGroup *mg;
693  for (;(mg=mgli.current());++mgli)
694  {
695  mg->writeTagFile(tagFile);
696  }
697  }
698  }
699  break;
700  default:
701  break;
702  }
703  }
704  writeDocAnchorsToTagFile(tagFile);
705  tagFile << " </compound>" << endl;
706 }
QCString convertToXML(const char *s)
Definition: util.cpp:5717
NamespaceSDict * namespaceSDict
Definition: groupdef.h:144
ClassSDict * classSDict
Definition: groupdef.h:143
bool isLinkableInProject() const
Definition: classdef.cpp:2707
DirList * dirList
Definition: groupdef.h:148
static QCString htmlFileExtension
Definition: doxygen.h:130
void writeTagFile(FTextStream &)
MemberListType type
Definition: layout.h:96
QCString compoundTypeString() const
Definition: classdef.cpp:3499
friend class Iterator
Definition: sortdict.h:598
static LayoutDocManager & instance()
Definition: layout.cpp:1359
void writeTagFile(FTextStream &)
Definition: memberlist.cpp:963
static constexpr double mg
Definition: Units.h:145
QCString displayName(bool=TRUE) const
Definition: dirdef.h:56
Represents of a member declaration list with configurable title and subtitle.
Definition: layout.h:89
void writeDocAnchorsToTagFile(FTextStream &)
Definition: definition.cpp:520
Definition: sortdict.h:73
const QCString & name() const
Definition: definition.h:114
bool isLinkableInProject() const
Definition: filedef.cpp:1877
QCString name() const
Definition: filedef.cpp:1193
Definition: dirdef.h:44
virtual bool isVisible() const
bool isLinkableInProject() const
Definition: dirdef.cpp:58
MemberGroupSDict * memberGroupSDict
Definition: groupdef.h:156
FileList * fileList
Definition: groupdef.h:142
bool isLinkableInProject() const
Definition: pagedef.h:41
MemberList * getMemberList(MemberListType lt) const
Definition: groupdef.cpp:1593
A model of a page symbol.
Definition: pagedef.h:29
virtual Kind kind() const =0
PageSDict * pageDict
Definition: groupdef.h:146
Base class representing a piece of a documentation page.
Definition: layout.h:30
friend class Iterator
Definition: sortdict.h:289
bool isLinkableInProject() const
QCString getOutputFileBase() const
Definition: groupdef.cpp:1512
QCString title
Definition: groupdef.h:139
QCString getOutputFileBase() const
Definition: pagedef.cpp:58
GroupList * groupList
Definition: groupdef.h:145
QTextStream & endl(QTextStream &s)

Member Data Documentation

MemberList* GroupDef::allMemberList
private

Definition at line 150 of file groupdef.h.

MemberNameInfoSDict* GroupDef::allMemberNameInfoSDict
private

Definition at line 151 of file groupdef.h.

ClassSDict* GroupDef::classSDict
private

Definition at line 143 of file groupdef.h.

DirList* GroupDef::dirList
private

Definition at line 148 of file groupdef.h.

PageSDict* GroupDef::exampleDict
private

Definition at line 147 of file groupdef.h.

FileList* GroupDef::fileList
private

Definition at line 142 of file groupdef.h.

QCString GroupDef::fileName
private

Definition at line 141 of file groupdef.h.

GroupList* GroupDef::groupList
private

Definition at line 145 of file groupdef.h.

Definition* GroupDef::groupScope
private

Definition at line 153 of file groupdef.h.

QList<MemberList> GroupDef::m_memberLists
private

Definition at line 155 of file groupdef.h.

bool GroupDef::m_subGrouping
private

Definition at line 157 of file groupdef.h.

MemberGroupSDict* GroupDef::memberGroupSDict
private

Definition at line 156 of file groupdef.h.

NamespaceSDict* GroupDef::namespaceSDict
private

Definition at line 144 of file groupdef.h.

PageSDict* GroupDef::pageDict
private

Definition at line 146 of file groupdef.h.

QCString GroupDef::title
private

Definition at line 139 of file groupdef.h.

bool GroupDef::titleSet
private

Definition at line 140 of file groupdef.h.

bool GroupDef::visited

Definition at line 86 of file groupdef.h.


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