51 #define MAX_ITEMS_BEFORE_MULTIPAGE_INDEX 200 52 #define MAX_ITEMS_BEFORE_QUICK_INDEX 30 151 bool fancyTabs =
TRUE;
156 ol.
writeString(
" <div id=\"navrow4\" class=\"tabs3\">\n");
160 ol.
writeString(
" <div id=\"navrow3\" class=\"tabs2\">\n");
172 bool fancyTabs =
TRUE;
181 bool hl,
bool compact,
bool &
first)
183 bool fancyTabs =
TRUE;
184 if (!first && compact && !fancyTabs) ol.
writeString(
" | ");
246 const char *altSidebarName)
255 if (!additionalIndices)
266 static bool generateTreeView =
Config_getBool(
"GENERATE_TREEVIEW");
272 if (generateTreeView)
284 static bool generateTreeView =
Config_getBool(
"GENERATE_TREEVIEW");
286 if (generateTreeView)
301 bool addToIndex=
TRUE,
bool preventSeparateIndex=
FALSE)
303 bool hasMembers = def->getMemberLists().count()>0 || def->getMemberGroupSDict()!=0;
305 def->getReference(),def->getOutputFileBase(),anchor,
306 hasMembers && !preventSeparateIndex,
315 for (;(cd=it.current());++it)
321 if (hasMembers || numClasses>0)
340 bool isAnonymous = md->
name().
find(
'@')!=-1;
341 static bool hideUndocMembers =
Config_getBool(
"HIDE_UNDOC_MEMBERS");
356 md->
name(),def->getReference(),def->getOutputFileBase(),md->
anchor(),
FALSE,addToIndex);
379 emd->
name(),def->getReference(),def->getOutputFileBase(),emd->
anchor(),
FALSE,addToIndex);
400 for (;(cd=it.current());++it)
404 static bool inlineSimpleStructs =
Config_getBool(
"INLINE_SIMPLE_STRUCTS");
407 addToIndex && (isNestedClass || (cd->
isSimple() && inlineSimpleStructs)),
428 for ( ; bcli.
current() ; ++bcli)
546 for (fli.toFirst();(fd=fli.
current());++fli)
561 for (dli.toFirst();(subdd=dli.
current());++dli)
577 "maximum nesting level exceeded for directory %s: " 578 "check for possible recursive directory relation!\n",dd->
name().
data()
588 static bool tocExpand =
TRUE;
623 for (dli.toFirst();(subdd=dli.
current());++dli)
632 if (fileList && fileList->
count()>0)
648 else if (genSourceFile)
674 if (ftv && (src || doc))
678 reference,outputBase,
687 if (tocExpand && addToIndex)
738 for (dli.toFirst();(dd=dli.current());++dli)
754 for (;(fd=fni.
current());++fni)
757 if (!fullPathNames || fd->
getDirDef()==0)
770 reference, outputBase, 0,
804 for (;(cd=cli.current());++
cli)
883 else if (hasChildren)
927 for (;(cd=cli.current());++
cli)
964 bool addToIndex = lne==0 || lne->
visible();
1068 for (;(fn=fnli.
current());++fnli)
1072 for (;(fd=fni.
current());++fni)
1177 bool addToIndex = lne==0 || lne->
visible();
1220 for (;(fd=fni.
current());++fni)
1223 if (path.
isEmpty()) path=
"[external]";
1224 FileList *fl = outputNameDict.find(path);
1235 outputNameList.
append(fl);
1236 outputNameDict.insert(path,fl);
1245 outputNameList.
sort();
1267 for (;(fd=fni.
current());++fni)
1310 for (;(nd=nli.current());++nli)
1325 for (;(cd=cli.current());++
cli)
1352 for (;(ccd=ccit.current());++ccit)
1354 if (ccd->isLinkableInProject() && ccd->templateMaster()==0)
1389 bool rootOnly,
bool showClasses,
bool addToIndex)
1395 for (nli.toFirst();(nd=nli.current());++nli)
1416 if ((isLinkable && !showClasses) || hasChildren)
1423 hasChildren && !file.
isEmpty(),addToIndex);
1455 bool addToIndex = lne==0 || lne->
visible();
1475 for (nli.toFirst();(nd=nli.current());++nli)
1561 for (;(cd=cli.current());++
cli)
1586 for (cli.toFirst();(cd=cli.current());++
cli)
1643 if (
isId(startLetter))
1645 s[0]=(char)startLetter;
1650 const char hex[]=
"0123456789abcdef";
1654 if (startLetter>(1<<24))
1656 s[i++]=hex[(startLetter>>28)&0xf];
1657 s[i++]=hex[(startLetter>>24)&0xf];
1659 if (startLetter>(1<<16))
1661 s[i++]=hex[(startLetter>>20)&0xf];
1662 s[i++]=hex[(startLetter>>16)&0xf];
1664 if (startLetter>(1<<8))
1666 s[i++]=hex[(startLetter>>12)&0xf];
1667 s[i++]=hex[(startLetter>>8)&0xf];
1670 s[i++]=hex[(startLetter>>4)&0xf];
1671 s[i++]=hex[(startLetter>>0)&0xf];
1701 m_letter(letter), m_class(cd), m_row(row), m_col(col)
1708 int row()
const {
return m_row; }
1755 return (
int)*p1 - (
int)*p2;
1770 for (;(cd=cli.current());++
cli)
1780 indexLettersUsed.
add(startLetter);
1783 indexLettersUsed.
sort();
1786 QCString alphaLinks =
"<div class=\"qindex\">";
1789 for (it.toFirst();(pLetter=it.current());++it)
1791 if (headerItems) alphaLinks +=
" | ";
1795 alphaLinks += (
QCString)
"<a class=\"qindex\" href=\"#letter_" +
1799 alphaLinks +=
"</div>\n";
1808 int rows = (totalItems + columns - 1)/columns;
1822 for (cli.toFirst();(cd=cli.current());++
cli)
1837 classesByLetter.
append(startLetter,cd);
1842 classesByLetter.
append(startLetter,cd);
1847 #define NEXT_ROW() \ 1850 if (row>maxRows) maxRows=row; \ 1851 if (row>=rows && col<columns) \ 1855 tableRows = new AlphaIndexTableRows; \ 1856 tableColumns.append(tableRows); \ 1862 tableColumns.
append(tableRows);
1863 int col=0,
row=0,maxRows=0;
1881 for (;(cd=cit.
current()); ++cit)
1894 if (i<(
int)tableColumns.
count())
1900 colIterators[i] = 0;
1906 for (i=0;i<=maxRows;i++)
1916 if (colIterators[j])
1926 ol.
writeString(
"<td rowspan=\"2\" valign=\"bottom\">");
1930 ol.
writeString(
"<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">" 1932 "<td><div class=\"ah\">  ");
1979 ++(*colIterators[j]);
2001 delete colIterators[i];
2003 delete[] colIterators;
2015 bool addToIndex = lne==0 || lne->
visible();
2053 bool addToIndex = lne==0 || lne->
visible();
2132 if (fd && prevFileName!=fd->
name())
2138 prevFileName = fd->
name();
2167 static writeLinkForMember_t writeLinkForMemberMap[3] =
2176 bool firstSection=
TRUE;
2177 bool firstItem=
TRUE;
2184 ml = memberLists[page];
2187 if (ml==0 || ml->
count()==0)
continue;
2201 tolower(name.
at(startIndex))!=tolower(prevName.
at(0))) &&
2204 if (!firstItem) ol.endItemListItem();
2205 if (!firstSection) ol.endItemList();
2217 else if (!useSections && first)
2224 if (!firstItem) ol.endItemListItem();
2225 ol.startItemListItem();
2228 if (isFunc) ol.docify(
"()");
2229 ol.writeString(
"\n");
2234 prevName = name.
data()+startIndex;
2244 writeLinkForMemberMap[
index](ol,
md,sep,prevDefName);
2248 if (!firstItem) ol.endItemListItem();
2260 g_memberIndexLetterUsed[j].
clear();
2266 static bool hideFriendCompounds =
Config_getBool(
"HIDE_FRIEND_COMPOUNDS");
2281 bool isFriendToHide = hideFriendCompounds &&
2285 if (!(md->
isFriend() && isFriendToHide) &&
2328 (md->
isFriend() && !isFriendToHide))
2345 g_namespaceIndexLetterUsed[j].
clear();
2402 g_fileIndexLetterUsed[j].
clear();
2476 anchor=fullName+extension+
"#index_";
2516 return &cmhlInfo[hl];
2525 bool multiPageIndex=
FALSE;
2528 multiPageIndex=
TRUE;
2538 bool addToIndex = lne==0 || lne->
visible();
2568 ol.
startFile(fileName+extension,0,title);
2624 multiPageIndex?page:-1,
2625 g_memberIndexLetterUsed[hl],
2639 bool addToIndex = lne==0 || lne->
visible();
2689 return &fmhlInfo[hl];
2698 bool multiPageIndex=
FALSE;
2701 multiPageIndex=
TRUE;
2710 bool addToIndex = lne==0 || lne->
visible();
2740 ol.
startFile(fileName+extension,0,title);
2794 multiPageIndex?page:-1,
2795 g_fileIndexLetterUsed[hl],
2807 bool addToIndex = lne==0 || lne->
visible();
2853 return &nmhlInfo[hl];
2866 bool multiPageIndex=
FALSE;
2869 multiPageIndex=
TRUE;
2878 bool addToIndex = lne==0 || lne->
visible();
2908 ol.
startFile(fileName+extension,0,title);
2963 multiPageIndex?page:-1,
2964 g_namespaceIndexLetterUsed[hl],
2975 bool addToIndex = lne==0 || lne->
visible();
3006 bool addToIndex = lne==0 || lne->
visible();
3029 for (pdi.toFirst();(pd=pdi.current());++pdi)
3067 docPages=indexPages=0;
3070 for (pdi.toFirst();(pd=pdi.current());++pdi)
3100 bool addToIndex = lne==0 || lne->
visible();
3101 if (!addToIndex)
return;
3111 pageTitle=pd->
name();
3119 hasSubPages,pageTitle,
3121 0,hasSubPages,
TRUE,pd);
3126 hasSubPages || hasSections,pageTitle,
3128 0,hasSubPages,
TRUE);
3132 bool doIndent = (hasSections || hasSubPages) &&
3147 for (pi.toFirst();(subPage=pi.current());++
pi)
3182 for (pdi.toFirst();(pd=pdi.current());++pdi)
3213 for (gli.toFirst();(gd=gli.current());++gli)
3231 for (dli.toFirst();(dd=dli.current());++dli)
3252 bool &stripCommentsStateRef =
Config_getBool(
"STRIP_CODE_COMMENTS");
3253 bool oldStripCommentsState = stripCommentsStateRef;
3255 bool oldCreateSubdirs = createSubdirs;
3257 stripCommentsStateRef =
FALSE;
3259 createSubdirs =
FALSE;
3267 int s = legendDocs.
find(
"<center>");
3268 int e = legendDocs.
find(
"</center>");
3270 if (imgExt==
"svg" && s!=-1 && e!=-1)
3272 legendDocs = legendDocs.
left(s+8) +
"[!-- SVG 0 --]\n" + legendDocs.
mid(e);
3275 FileDef fd(
"",
"graph_legend");
3279 stripCommentsStateRef = oldStripCommentsState;
3280 createSubdirs = oldCreateSubdirs;
3299 "maximum nesting level exceeded for group %s: check for possible recursive group relation!\n",gd->
name().
data()
3316 int numSubItems = 0;
3321 for (mli.toFirst();(ml=mli.
current());++mli)
3325 numSubItems += ml->
count();
3335 bool isDir = hasSubGroups || hasSubPages || numSubItems>0;
3362 ol.
docify(
" [external]");
3411 for (;(cd=it.current());++it)
3417 if (cd->isVisible() )
3438 for (;(nd=it.current());++it)
3440 if (nd->isVisible())
3443 nd->localName(),nd->getReference(),
3454 if (fd->isVisible())
3457 fd->displayName(),fd->getReference(),
3468 if (dd->isVisible())
3471 dd->shortName(),dd->getReference(),
3480 for (;(pd=it.current());++it)
3484 bool hasSubPages = pd->hasSubPages();
3485 bool hasSections = pd->hasSections();
3487 hasSubPages || hasSections,
3492 hasSubPages || hasSections,
3494 if (hasSections || hasSubPages)
3500 pd->addSectionsToIndex();
3503 if (hasSections || hasSubPages)
3516 for (gli.toFirst();(subgd=gli.
current());++gli)
3549 for (gli.toFirst();(gd=gli.current());++gli)
3584 static void writeGroupTree(
FTVHelp *ftv,
bool addToIndex)
3588 for (gli.toFirst();(gd=gli.current());++gli)
3590 writeGroupTree(gd,ftv,0,addToIndex);
3605 bool addToIndex = lne==0 || lne->
visible();
3674 bool addToIndex=
FALSE;
3676 startFile(ol,
"dirs",0,title,HLI_Directories);
3736 for (li.toFirst();(entry=li.
current());++li)
3738 if (entry->visible()) count++;
3743 for (li.toFirst();(entry=li.
current());++li)
3745 if (entry->visible())
3747 ol.
writeString(
"<li><a href=\""+entry->url()+
"\"><span>"+
3748 fixSpaces(entry->title())+
"</span></a></li>\n");
3772 projPrefix=projectName+
" ";
3820 bool headerWritten=
FALSE;
3830 headerWritten =
TRUE;
3840 headerWritten =
TRUE;
3930 for (pdi.toFirst();(pd=pdi.current());++pdi)
3937 bool isCitationPage = pd->
name()==
"citelist";
4080 if (index>=indexWritten.
size())
4083 uint oldSize = indexWritten.
size();
4084 uint newSize = index+1;
4085 indexWritten.
resize(newSize);
4086 for (i=oldSize;i<newSize;i++) indexWritten.
at(i)=
FALSE;
4089 bool addToIndex=lne->
visible();
4090 bool needsClosing=
FALSE;
4091 if (!indexWritten.
at(index))
4096 msg(
"Generating index page...\n");
4100 msg(
"Generating page index...\n");
4104 msg(
"Generating module index...\n");
4120 msg(
"Generating namespace index...\n");
4131 msg(
"Generating namespace index...\n");
4137 msg(
"Generating namespace member index...\n");
4149 msg(
"Generating annotated compound index...\n");
4154 msg(
"Generating annotated compound index...\n");
4158 msg(
"Generating alphabetical compound index...\n");
4162 msg(
"Generating hierarchical class index...\n");
4166 msg(
"Generating graphical class hierarchy...\n");
4171 msg(
"Generating member index...\n");
4187 msg(
"Generating file index...\n");
4198 msg(
"Generating file index...\n");
4204 msg(
"Generating file member index...\n");
4208 msg(
"Generating example index...\n");
4215 bool isRelative=url.
at(0)==
'!';
4216 if (!url.
isEmpty() && !isRelative)
4236 bool isRelative=url.
at(0)==
'!';
4257 indexWritten.
at(index)=
TRUE;
virtual QCString trSubprograms()=0
void endIndexItem(const char *ref, const char *file)
virtual QCString trExamples()=0
virtual QCString trTypedefs()=0
void endIndexValue(const char *name, bool b)
static GroupSDict * groupSDict
virtual QCString trHierarchicalIndex()=0
virtual QCString trDirDescription()=0
const int maxItemsBeforeQuickIndex
virtual QCString trNamespaceDocumentation()=0
virtual QCString trClassHierarchy()=0
int annotatedClassesPrinted
PageSDict * getSubPages() const
void endFile(OutputList &ol, bool skipNavIndex, bool skipEndContents, const QCString &navPath)
void endFileWithNavPath(Definition *d, OutputList &ol)
bool isLinkableInProject() const
LayoutNavEntry * find(LayoutNavEntry::Kind k, const char *file=0) const
BaseClassList * subClasses() const
virtual QCString getReference() const
static void writeQuickMemberIndex(OutputList &ol, const LetterToIndexMap< MemberIndexList > &charUsed, uint page, QCString fullName, bool multiPage)
virtual QCString trModulesDescription()=0
static int countNamespaces()
static void writeIndex(OutputList &ol)
static void endQuickIndexList(OutputList &ol)
const QCString & shortName() const
static constexpr double g
static PageSDict * exampleSDict
QCString getReference() const
void endIndexSection(IndexSections is)
void initFileMemberIndices()
void writeToc(OutputList &ol)
bool hasDocumentation() const
void startFile(OutputList &ol, const char *name, const char *manName, const char *title, HighlightedItem hli, bool additionalIndices, const char *altSidebarName)
void addFileMemberNameToIndex(MemberDef *md)
bool fileVisibleInIndex(FileDef *fd, bool &genSourceFile)
void msg(const char *fmt,...)
static void writeFileIndex(OutputList &ol)
virtual QCString trGotoGraphicalHierarchy()=0
static LetterToIndexMap< MemberIndexList > g_memberIndexLetterUsed[CMHL_Total]
QCString displayName(bool=TRUE) const
virtual QCString trEnumerationValues()=0
QCString displayName(bool=TRUE) const
int documentedFileMembers[FMHL_Total]
static ClassSDict * hiddenClasses
void append(const type *d)
static bool dirHasVisibleChildren(DirDef *dd)
void writeGraphicalHierarchy(const DotGfxHierarchyTable &g)
virtual QCString trGotoTextualHierarchy()=0
bool generateSourceFile() const
QCString getOutputFileBase() const
static QCString htmlFileExtension
static QCString trFunctionAndProc()
void writeString(const char *text)
static void writeExampleIndex(OutputList &ol)
static const CmhlInfo * getCmhlInfo(int hl)
virtual QCString trModuleIndex()=0
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)
int documentedClassMembers[CMHL_Total]
void writeNonBreakableSpace(int num)
void addClassMemberNameToIndex(MemberDef *md)
static int countAnnotatedClasses(int *cp)
static void writeUserGroupStubPage(OutputList &ol, LayoutNavEntry *lne)
static QArray< bool > indexWritten
void disableAllBut(OutputGenerator::OutputType o)
static void startQuickIndexList(OutputList &ol, bool letterTabs=FALSE)
void endTitleHead(const char *fileName, const char *name)
virtual bool hasDocumentation() const
virtual QCString trLegendTitle()=0
virtual QCString trCompoundIndexFortran()=0
virtual QCString trCompoundIndex()=0
virtual QCString trRelatedFunctions()=0
void startIndexValue(bool b)
static FileNameList * inputNameList
void startHeaderSection()
int compareValues(const MemberDef *md1, const MemberDef *md2) const
static void writeDirHierarchy(OutputList &ol, FTVHelp *ftv, bool addToIndex)
static LayoutDocManager & instance()
MemberList * enumFieldList() const
bool isLinkableInProject() const
FmhlInfo(const char *fn, const char *t)
virtual QCString trDocumentation()=0
QCString left(uint len) const
uint getUtf8CodeToLower(const QCString &s, int idx)
Returns one unicode character as an unsigned integer from utf-8 string, making the character lower ca...
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
virtual QCString trRelatedPagesDescription()=0
virtual QCString trFileMembers()=0
virtual bool isReference() const
static void writeGraphicalClassHierarchy(OutputList &ol)
QTextStream & hex(QTextStream &s)
static QCString trDesignUnitIndex()
Simplified and optimized version of QTextStream.
void addSectionsToIndex()
DirDef * getDirDef() const
void generateTreeViewInline(FTextStream &t)
QCString displayName(bool includeScope=TRUE) const
int find(char c, int index=0, bool cs=TRUE) const
virtual QCString trModuleDocumentation()=0
void setClassName(const char *name)
const char * groupTitle() const
bool namespaceHasVisibleChild(NamespaceDef *nd, bool includeClasses)
int find(const MemberDef *d) const
virtual QCString trDirectories()=0
The QChar class provides a light-weight Unicode character.
GroupList * partOfGroups() const
const QList< LayoutNavEntry > & children() const
QCString correctURL(const QCString &url, const QCString &relPath)
QCString getReference() const
ClassSDict * getClasses() const
Represents of a member definition list with configurable title.
static void writeAlphabeticalClassList(OutputList &ol)
void startTextLink(const char *file, const char *anchor)
static void countRelatedPages(int &docPages, int &indexPages)
ClassSDict * getClassSDict()
bool parseText(const QCString &textStr)
Base class for the layout of a navigation item at the top of the HTML pages.
GroupList * getSubGroups() const
Protection protection() const
virtual QCString trFileListDescription(bool extractAll)=0
QCString getDefFileName() const
static void writeSingleFileIndex(OutputList &ol, FileDef *fd)
static void writeNamespaceTree(NamespaceSDict *nsDict, FTVHelp *ftv, bool rootOnly, bool showClasses, bool addToIndex)
static void endQuickIndexItem(OutputList &ol)
QCollection::Item first()
static bool insideMainPage
static QCString stripFromPath(const QCString &path, QStrList &l)
#define MAX_ITEMS_BEFORE_QUICK_INDEX
#define Config_getInt(val)
FileDef * getFileDef() const
static NamespaceSDict * namespaceSDict
static NamespaceDef * globalScope
virtual DefType definitionType() const =0
ClassDef * templateMaster() const
void addNamespaceMemberNameToIndex(MemberDef *md)
const char * typeString() const
static LetterToIndexMap< MemberIndexList > g_namespaceIndexLetterUsed[NMHL_Total]
QCString getLanguageSpecificSeparator(SrcLangExt lang, bool classScope)
uint getUtf8CodeToUpper(const QCString &s, int idx)
Returns one unicode character as ian unsigned interger from utf-8 string, making the character upper ...
QCString className() const
bool hasParentPage() const
virtual QCString trMainPage()=0
MemberDef * getEnumScope() const
Q_EXPORT uint qstrlen(const char *str)
static void writeFileMemberIndex(OutputList &ol)
const QCString & name() const
PageSDict * getPages() const
int qstricmp(const char *str1, const char *str2)
static void writeClassMemberIndexFiltered(OutputList &ol, ClassMemberHighlight hl)
static void writeMemberList(OutputList &ol, bool useSections, int page, const LetterToIndexMap< MemberIndexList > &memberLists, DefinitionIntf::DefType type)
virtual QCString trGeneratedBy()=0
void writeSplitBar(const char *name)
virtual QCString trFileDocumentation()=0
CmhlInfo(const char *fn, const char *t)
void pushGeneratorState()
bool isLinkableInProject() const
bool visibleInIndex() const
QCString navigationPathAsString() const
static void writeAnnotatedIndex(OutputList &ol)
static void writePageIndex(OutputList &ol)
virtual QCString trVariables()=0
QCString convertToHtml(const char *s, bool keepEntities)
QCString getSourceFileBase() const
SrcLangExt getLanguage() const
static void writeGroupTreeNode(OutputList &ol, GroupDef *gd, int level, FTVHelp *ftv, bool addToIndex)
static DirSDict * directories
virtual QCString trFileMembersDescription(bool extractAll)=0
#define MAX_ITEMS_BEFORE_MULTIPAGE_INDEX
bool classHasVisibleChildren(ClassDef *cd)
const DirList & subDirs() const
NamespaceSDict * getNamespaces() const
static void writeFileMemberIndexFiltered(OutputList &ol, FileMemberHighlight hl)
virtual QCString trClassDocumentation()=0
static void writeGroupIndex(OutputList &ol)
static LetterToIndexMap< MemberIndexList > g_fileIndexLetterUsed[FMHL_Total]
QCString & prepend(const char *s)
virtual QCString trFunctions()=0
virtual QCString trFileIndex()=0
void disable(OutputGenerator::OutputType o)
uint getUtf8Code(const QCString &s, int idx)
Get one unicode character as an unsigned integer from utf-8 string.
static SectionDict * sectionDict
A bunch of utility functions.
static PageSDict * pageSDict
static void startQuickIndexItem(OutputList &ol, const char *l, bool hl, bool compact, bool &first)
const char * data() const
bool isEmbeddedInOuterScope() const
static void writeClassHierarchy(OutputList &ol, FTVHelp *ftv, bool addToIndex)
static bool mainPageHasOwnTitle()
#define Config_getString(val)
NmhlInfo(const char *fn, const char *t)
void enable(OutputGenerator::OutputType o)
#define Config_getBool(val)
virtual QCString trExamplesDescription()=0
ClassDef * getClassDef() const
void addContentsItem(bool isDir, const char *name, const char *ref, const char *file, const char *anchor, bool separateIndex, bool addToNavIndex, Definition *def)
virtual bool isVisible() const
QCString briefFile() const
QCString getDotImageExtension(void)
maps a unicode character code to a list of T::ElementType's
void countDataStructures()
int getPrefixIndex(const QCString &name)
bool isObjCMethod() const
virtual QCString trCompoundMembersDescription(bool extractAll)=0
virtual QCString trCode()=0
void warn(const char *file, int line, const char *fmt,...)
bool isLinkableInProject() const
void initClassHierarchy(ClassSDict *cl)
virtual QCString trNamespaceMembers()=0
static void writeNamespaceMemberIndexFiltered(OutputList &ol, NamespaceMemberHighlight hl)
void addMembersToIndex(T *def, LayoutDocManager::LayoutPart part, const QCString &name, const QCString &anchor, bool addToIndex=TRUE, bool preventSeparateIndex=FALSE)
virtual QCString briefDescription(bool abbreviate=FALSE) const
void extractNamespaceName(const QCString &scopeName, QCString &className, QCString &namespaceName, bool allowEmptyClass)
virtual QCString trEnumerations()=0
void addContentsItem(bool isDir, const char *name, const char *ref, const char *file, const char *anchor, bool separateIndex=FALSE, bool addToNavIndex=FALSE, Definition *def=0)
QCString mid(uint index, uint len=0xffffffff) const
virtual QCString trAll()=0
QCString getOutputFileBase() const
static void writeDirTreeNode(OutputList &ol, DirDef *dd, int level, FTVHelp *ftv, bool addToIndex)
static void writeGroupHierarchy(OutputList &ol, FTVHelp *ftv, bool addToIndex)
virtual QCString trExampleDocumentation()=0
static void writeNamespaceLinkForMember(OutputList &ol, MemberDef *md, const char *separator, QCString &prevNamespaceName)
NamespaceSDict * getNamespaceSDict() const
LayoutNavEntry * rootNavEntry() const
QCString getOutputFileBase() const
QCString localName() const
static void endIndexHierarchy(OutputList &ol, int level)
void initNamespaceMemberIndices()
void startIndexListItem()
static void writeFileLinkForMember(OutputList &ol, MemberDef *md, const char *separator, QCString &prevFileName)
virtual QCString trEvents()=0
virtual QCString trCompoundList()=0
virtual QCString trRelatedPages()=0
virtual Definition * getOuterScope() const
static QCString getProtectionName(int prot)
void writeGraphInfo(OutputList &ol)
QCString baseFile() const
QCString getOutputFileBase() const
void startTitle(OutputList &ol, const char *fileName, Definition *def)
MemberList * getMemberList(MemberListType lt) const
virtual QCString trNamespaceIndex()=0
NamespaceDef * getResolvedNamespace(const char *name)
void writeQuickLinks(bool compact, HighlightedItem hli, const char *file)
void startIndexSection(IndexSections is)
virtual QCString trNamespaceMemberDescription(bool extractAll)=0
QCString fixSpaces(const QCString &s)
QCString qualifiedName() const
bool isVisibleInHierarchy()
int documentedNamespaceMembers[NMHL_Total]
static void writePages(PageDef *pd, FTVHelp *ftv)
void startTextBlock(bool dense=FALSE)
static void writeIndexHierarchyEntries(OutputList &ol, const QList< LayoutNavEntry > &entries)
static void writeClassLinkForMember(OutputList &ol, MemberDef *md, const char *separator, QCString &prevClassName)
A model of a page symbol.
void append(uint letter, typename T::ElementType *elem)
virtual Kind kind() const =0
void initClassMemberIndices()
static void writeHierarchicalIndex(OutputList &ol)
static void writeAlphabeticalIndex(OutputList &ol)
MemberIndexList(uint letter)
static QCString letterToLabel(uint startLetter)
virtual QCString trClassHierarchyDescription()=0
Base class representing a piece of a documentation page.
static int countClassesInTreeList(const ClassSDict &cl)
QCString getOutputFileBase() const
void writeAnchor(const char *fileName, const char *name)
virtual QCString trModules()=0
FileList * getFiles() const
static const NmhlInfo * getNmhlInfo(int hl)
bool hasVisibleRoot(BaseClassList *bcl)
static void writeAnnotatedClassList(OutputList &ol)
static void writeNamespaceMemberIndex(OutputList &ol)
static int countClassHierarchy()
NamespaceDef * getNamespaceDef() const
Translator * theTranslator
bool isDocumentationFile() const
void endTextBlock(bool paraBreak=FALSE)
virtual QCString trCompoundMembers()=0
int compareValues(const uint *p1, const uint *p2) const
static void writeClassTreeForList(OutputList &ol, ClassSDict *cl, bool &started, FTVHelp *ftv, bool addToIndex)
void endTitle(OutputList &ol, const char *fileName, const char *name)
void writeIndexHierarchy(OutputList &ol)
static void writeNamespaceIndex(OutputList &ol)
virtual QCString trCompoundListDescription()=0
void startTitleHead(const char *fileName)
virtual QCString trProperties()=0
static void writeClassTree(OutputList &ol, const BaseClassList *bcl, bool hideSuper, int level, FTVHelp *ftv, bool addToIndex)
virtual void writeSummaryLinks(OutputList &)
FileList * getFiles() const
QCString includeName() const
bool documentedPage() const
ClassSDict * getClassSDict() const
static void startIndexHierarchy(OutputList &ol, int level)
bool isLinkableInProject() const
QCString getOutputFileBase() const
void writeFooter(const char *navPath)
void docify(const char *s)
bool classVisibleInIndex(ClassDef *cd)
AlphaIndexTableCell(int row, int col, uint letter, ClassDef *cd)
static void countFiles(int &htmlFiles, int &files)
void writeObjectLink(const char *ref, const char *file, const char *anchor, const char *name)
void writePageLink(const char *name, bool first)
void startProjectNumber()
void setAutoDelete(bool enable)
static ClassSDict * classSDict
QCString getOutputFileBase() const
virtual QCString trFileList()=0
virtual QCString trNamespaceListDescription(bool extractAll)=0
static PageDef * mainPage
DirList * getDirs() const
QCString & replace(uint index, uint len, const char *s)
static void writeClassMemberIndex(OutputList &ol)
virtual QCString trTypeDocumentation()=0
ClassDef * classDef() const
static IndexList * indexList
const QList< MemberList > & getMemberLists() const
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
static const FmhlInfo * getFmhlInfo(int hl)
PrefixIgnoreClassList(uint letter)
virtual QCString trReferenceManual()=0
virtual QCString trLegendDocs()=0
virtual QCString trModulesIndex()=0
BaseClassList * baseClasses() const
GroupDef * getGroupDef() const
virtual QCString trNamespaceList()=0
void startFile(const char *name, const char *manName, const char *title)
void startIndexItem(const char *ref, const char *file)
AlphaIndexTableRowsIterator(const AlphaIndexTableRows &list)
QCString filterTitle(const QCString &title)
virtual QCString trDefines()=0
virtual int compareValue(const ClassDef *c1, const ClassDef *c2) const
void generateGraphLegend(const char *path)