summaryrefslogtreecommitdiffstats
path: root/src/index.cpp
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2018-09-07 09:29:20 (GMT)
committeralbert-github <albert.tests@gmail.com>2018-09-07 09:29:20 (GMT)
commit7340b1c0e767b0ee88ce389df653d3d2a77801cd (patch)
treebab4c534d53eb7fb0f713049f0d5885d8eed8a62 /src/index.cpp
parent3e1360976b6ab9621b85d93fdd4e9232d6a7a7fa (diff)
downloadDoxygen-7340b1c0e767b0ee88ce389df653d3d2a77801cd.zip
Doxygen-7340b1c0e767b0ee88ce389df653d3d2a77801cd.tar.gz
Doxygen-7340b1c0e767b0ee88ce389df653d3d2a77801cd.tar.bz2
Implementation of standard generator for docbook output
Till now docbook had its own output generator, but lot of possibilities were missing (see remark about updating below), with this patch the (more than) basic implementation has been made. Added some docbook tests to the current tests and updated documentation where necessary Tried updating current version but too many issues remained that were generically handled in the standard generator, code is in current version behind '#if 0' construct in doxygen.cpp and name with '_v1' and in docbookgen.cp'
Diffstat (limited to 'src/index.cpp')
-rw-r--r--src/index.cpp31
1 files changed, 27 insertions, 4 deletions
diff --git a/src/index.cpp b/src/index.cpp
index 8e5f266..503387c 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -94,9 +94,12 @@ static void startIndexHierarchy(OutputList &ol,int level)
ol.disable(OutputGenerator::Man);
ol.disable(OutputGenerator::Html);
if (level<6) ol.startIndexList();
- ol.enableAll();
+ ol.popGeneratorState();
+
+ ol.pushGeneratorState();
ol.disable(OutputGenerator::Latex);
ol.disable(OutputGenerator::RTF);
+ ol.disable(OutputGenerator::Docbook);
ol.startItemList();
ol.popGeneratorState();
}
@@ -107,8 +110,11 @@ static void endIndexHierarchy(OutputList &ol,int level)
ol.disable(OutputGenerator::Man);
ol.disable(OutputGenerator::Html);
if (level<6) ol.endIndexList();
- ol.enableAll();
+ ol.popGeneratorState();
+
+ ol.pushGeneratorState();
ol.disable(OutputGenerator::Latex);
+ ol.disable(OutputGenerator::Docbook);
ol.disable(OutputGenerator::RTF);
ol.endItemList();
ol.popGeneratorState();
@@ -959,6 +965,7 @@ static void writeHierarchicalIndex(OutputList &ol)
ol.pushGeneratorState();
//1.{
ol.disable(OutputGenerator::Man);
+ ol.disable(OutputGenerator::Docbook);
LayoutNavEntry *lne = LayoutDocManager::instance().rootNavEntry()->find(LayoutNavEntry::ClassHierarchy);
QCString title = lne ? lne->title() : theTranslator->trClassHierarchy();
@@ -973,15 +980,16 @@ static void writeHierarchicalIndex(OutputList &ol)
if (Config_getBool(HAVE_DOT) && Config_getBool(GRAPHICAL_HIERARCHY))
{
+ ol.pushGeneratorState();
ol.disable(OutputGenerator::Latex);
ol.disable(OutputGenerator::RTF);
+ ol.disable(OutputGenerator::Docbook);
ol.startParagraph();
ol.startTextLink("inherits",0);
ol.parseText(theTranslator->trGotoGraphicalHierarchy());
ol.endTextLink();
ol.endParagraph();
- ol.enable(OutputGenerator::Latex);
- ol.enable(OutputGenerator::RTF);
+ ol.popGeneratorState();
}
ol.parseText(lne ? lne->intro() : theTranslator->trClassHierarchyDescription());
ol.endTextBlock();
@@ -1170,6 +1178,7 @@ static void writeFileIndex(OutputList &ol)
ol.pushGeneratorState();
ol.disable(OutputGenerator::Man);
+ ol.disable(OutputGenerator::Docbook);
if (documentedFiles==0) ol.disableAllBut(OutputGenerator::Html);
LayoutNavEntry *lne = LayoutDocManager::instance().rootNavEntry()->find(LayoutNavEntry::FileList);
@@ -1450,6 +1459,7 @@ static void writeNamespaceIndex(OutputList &ol)
if (documentedNamespaces==0) return;
ol.pushGeneratorState();
ol.disable(OutputGenerator::Man);
+ ol.disable(OutputGenerator::Docbook);
LayoutNavEntry *lne = LayoutDocManager::instance().rootNavEntry()->find(LayoutNavEntry::NamespaceList);
if (lne==0) lne = LayoutDocManager::instance().rootNavEntry()->find(LayoutNavEntry::Namespaces); // fall back
QCString title = lne ? lne->title() : theTranslator->trNamespaceList();
@@ -1603,6 +1613,7 @@ static void writeAnnotatedClassList(OutputList &ol)
if (cd->isEmbeddedInOuterScope())
{
ol.disable(OutputGenerator::Latex);
+ ol.disable(OutputGenerator::Docbook);
ol.disable(OutputGenerator::RTF);
}
if (cd->isLinkableInProject() && cd->templateMaster()==0)
@@ -2021,6 +2032,7 @@ static void writeAlphabeticalIndex(OutputList &ol)
if (annotatedClasses==0) return;
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
+ ol.disable(OutputGenerator::Docbook);
LayoutNavEntry *lne = LayoutDocManager::instance().rootNavEntry()->find(LayoutNavEntry::ClassIndex);
QCString title = lne ? lne->title() : theTranslator->trCompoundIndex();
bool addToIndex = lne==0 || lne->visible();
@@ -2053,6 +2065,7 @@ static void writeAnnotatedIndex(OutputList &ol)
ol.pushGeneratorState();
ol.disable(OutputGenerator::Man);
+ ol.disable(OutputGenerator::Docbook);
if (annotatedClassesPrinted==0)
{
ol.disable(OutputGenerator::Latex);
@@ -3022,6 +3035,7 @@ static void writeExampleIndex(OutputList &ol)
if (Doxygen::exampleSDict->count()==0) return;
ol.pushGeneratorState();
ol.disable(OutputGenerator::Man);
+ ol.disable(OutputGenerator::Docbook);
LayoutNavEntry *lne = LayoutDocManager::instance().rootNavEntry()->find(LayoutNavEntry::Examples);
QCString title = lne ? lne->title() : theTranslator->trExamples();
bool addToIndex = lne==0 || lne->visible();
@@ -3621,6 +3635,7 @@ static void writeGroupIndex(OutputList &ol)
ol.pushGeneratorState();
// 1.{
ol.disable(OutputGenerator::Man);
+ ol.disable(OutputGenerator::Docbook);
LayoutNavEntry *lne = LayoutDocManager::instance().rootNavEntry()->find(LayoutNavEntry::Modules);
QCString title = lne ? lne->title() : theTranslator->trModules();
bool addToIndex = lne==0 || lne->visible();
@@ -3910,6 +3925,7 @@ static void writeIndex(OutputList &ol)
// write LaTeX/RTF index
//--------------------------------------------------------------------
ol.enable(OutputGenerator::Latex);
+ ol.enable(OutputGenerator::Docbook);
ol.enable(OutputGenerator::RTF);
ol.startFile("refman",0,0);
@@ -3918,6 +3934,7 @@ static void writeIndex(OutputList &ol)
{
ol.disable(OutputGenerator::Latex);
}
+ ol.disable(OutputGenerator::Docbook);
if (projPrefix.isEmpty())
{
@@ -3939,6 +3956,7 @@ static void writeIndex(OutputList &ol)
ol.parseText(theTranslator->trGeneratedBy());
ol.endIndexSection(isTitlePageAuthor);
ol.enable(OutputGenerator::Latex);
+ ol.enable(OutputGenerator::Docbook);
ol.lastIndexPage();
if (Doxygen::mainPage)
@@ -3978,9 +3996,11 @@ static void writeIndex(OutputList &ol)
QCString title = pd->title();
if (title.isEmpty()) title=pd->name();
+ ol.disable(OutputGenerator::Docbook);
ol.startIndexSection(isPageDocumentation);
ol.parseText(title);
ol.endIndexSection(isPageDocumentation);
+ ol.enable(OutputGenerator::Docbook);
ol.pushGeneratorState(); // write TOC title (RTF only)
ol.disableAllBut(OutputGenerator::RTF);
@@ -4002,6 +4022,7 @@ static void writeIndex(OutputList &ol)
}
}
+ ol.disable(OutputGenerator::Docbook);
if (!Config_getBool(LATEX_HIDE_INDICES))
{
//if (indexedPages>0)
@@ -4049,6 +4070,8 @@ static void writeIndex(OutputList &ol)
ol.endIndexSection(isFileIndex);
}
}
+ ol.enable(OutputGenerator::Docbook);
+
if (documentedGroups>0)
{
ol.startIndexSection(isModuleDocumentation);