summaryrefslogtreecommitdiffstats
path: root/src/doxygen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/doxygen.cpp')
-rw-r--r--src/doxygen.cpp60
1 files changed, 52 insertions, 8 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 826b86d..0c1bdae 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -76,6 +76,8 @@
#include "portable.h"
#include "vhdlscanner.h"
+#include "layout.h"
+
#define RECURSE_ENTRYTREE(func,var) \
do { if (var->children()) { \
EntryNavListIterator eli(*var->children()); \
@@ -7165,11 +7167,11 @@ static void generateClassDocs()
msg("Generating annotated compound index...\n");
writeAnnotatedIndex(*outputList);
- if (Config_getBool("ALPHABETICAL_INDEX"))
- {
+ //if (Config_getBool("ALPHABETICAL_INDEX"))
+ //{
msg("Generating alphabetical compound index...\n");
writeAlphabeticalIndex(*outputList);
- }
+ //}
msg("Generating hierarchical class index...\n");
writeHierarchicalIndex(*outputList);
@@ -8910,11 +8912,14 @@ static void usage(const char *name)
msg("configuration file:\n");
msg(" %s [configName]\n\n",name);
msg(" If - is used for configName doxygen will read from standard input.\n\n");
- msg("4) Use doxygen to generate a template style sheet file for RTF, HTML or Latex.\n");
+ msg("4) Use doxygen to generate a template file controlling the layout of the\n");
+ msg(" generated documentation:\n");
+ msg(" %s -l layoutFileName.xml\n\n",name);
+ msg("5) Use doxygen to generate a template style sheet file for RTF, HTML or Latex.\n");
msg(" RTF: %s -w rtf styleSheetFile\n",name);
msg(" HTML: %s -w html headerFile footerFile styleSheetFile [configFile]\n",name);
msg(" LaTeX: %s -w latex headerFile styleSheetFile [configFile]\n\n",name);
- msg("5) Use doxygen to generate an rtf extensions file\n");
+ msg("6) Use doxygen to generate an rtf extensions file\n");
msg(" RTF: %s -e rtf extensionsFile\n\n",name);
msg("If -s is specified the comments in the config file will be omitted.\n");
msg("If configName is omitted `Doxyfile' will be used as a default.\n\n");
@@ -8957,10 +8962,8 @@ void initDoxygen()
Doxygen::parserManager->registerParser(".f90", new FortranLanguageScanner);
Doxygen::parserManager->registerParser(".vhd", new VHDLLanguageScanner);
-
// register any additional parsers here...
-
initClassMemberIndices();
initNamespaceMemberIndices();
initFileMemberIndices();
@@ -9028,11 +9031,13 @@ void readConfiguration(int argc, char **argv)
int optind=1;
const char *configName=0;
+ const char *layoutName=0;
const char *debugLabel;
const char *formatName;
bool genConfig=FALSE;
bool shortList=FALSE;
bool updateConfig=FALSE;
+ bool genLayout=FALSE;
while (optind<argc && argv[optind][0]=='-' &&
(isalpha(argv[optind][1]) || argv[optind][1]=='?' ||
argv[optind][1]=='-')
@@ -9048,6 +9053,12 @@ void readConfiguration(int argc, char **argv)
if (!configName)
{ configName="Doxyfile"; }
break;
+ case 'l':
+ genLayout=TRUE;
+ layoutName=getArg(argc,argv,optind);
+ if (!layoutName)
+ { layoutName="doxygenlayout.xml"; }
+ break;
case 'd':
debugLabel=getArg(argc,argv,optind);
Debug::setFlag(debugLabel);
@@ -9251,6 +9262,12 @@ void readConfiguration(int argc, char **argv)
cleanUpDoxygen();
exit(0);
}
+ if (genLayout)
+ {
+ writeDefaultLayoutFile(layoutName);
+ cleanUpDoxygen();
+ exit(0);
+ }
QFileInfo configFileInfo1("Doxyfile"),configFileInfo2("doxyfile");
if (optind>=argc)
@@ -9301,6 +9318,7 @@ void readConfiguration(int argc, char **argv)
/* Perlmod wants to know the path to the config file.*/
QFileInfo configFileInfo(configName);
setPerlModDoxyfile(configFileInfo.absFilePath());
+
}
void checkConfiguration()
@@ -9585,6 +9603,31 @@ void parseInput()
exit(1);
}
/**************************************************************************
+ * Handle layout file *
+ **************************************************************************/
+
+ LayoutDocManager::instance().init();
+ QCString layoutFileName = Config_getString("LAYOUT_FILE");
+ bool defaultLayoutUsed = FALSE;
+ if (layoutFileName.isEmpty())
+ {
+ layoutFileName = "doxygenlayout.xml";
+ defaultLayoutUsed = TRUE;
+ }
+
+ QFile layoutFile(layoutFileName);
+ if (layoutFile.open(IO_ReadOnly))
+ {
+ msg("Parsing layout file %s...\n",layoutFileName.data());
+ QTextStream t(&layoutFile);
+ LayoutDocManager::instance().parse(t);
+ }
+ else if (!defaultLayoutUsed)
+ {
+ err("Warning: failed to open layout file '%s' for reading!\n",layoutFileName.data());
+ }
+
+ /**************************************************************************
* Read and preprocess input *
**************************************************************************/
@@ -9963,6 +10006,8 @@ void parseInput()
msg("Combining using relations...\n");
combineUsingRelations();
+ msg("Adding members to index pages...\n");
+ addMembersToIndex();
}
void generateOutput()
@@ -10107,7 +10152,6 @@ void generateOutput()
writeGroupIndex(*outputList);
msg("Generating class documentation...\n");
- addMembersToIndex();
generateClassDocs();
if (Config_getBool("HAVE_DOT") && Config_getBool("GRAPHICAL_HIERARCHY"))