summaryrefslogtreecommitdiffstats
path: root/src/config.h
blob: fba7711979d0600fc09215116f8c130c42a97982 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
/* This file was generated by configgen on Sun Feb 25 14:30:18 2001
 * from config_templ.h
 *
 * DO NOT EDIT!
 */

/******************************************************************************
 *
 * 
 *
 * Copyright (C) 1997-2001 by Dimitri van Heesch.
 *
 * Permission to use, copy, modify, and distribute this software and its
 * documentation under the terms of the GNU General Public License is hereby 
 * granted. No representations are made about the suitability of this software 
 * for any purpose. It is provided "as is" without express or implied warranty.
 * See the GNU General Public License for more details.
 *
 */

#ifndef CONFIG_H
#define CONFIG_H

#ifndef DOXYWIZARD
#include "qtbc.h"
#endif
#include <qstrlist.h>
#include <qfile.h>

extern void parseConfig(const QCString &config,const char *fn);
extern void writeTemplateConfig(QFile *f,bool shortList);
extern void checkConfig();
extern void configStrToVal();
extern void substituteEnvironmentVars();

/*! \brief Namespace for configuration variables
 *
 *  This struct acts as a namespace that holds the global static variables
 *  read from a user-supplied configuration file.
 */
struct Config
{
  static void init();

  static QCString projectName; /*!< the name of the project */
  static QCString projectNumber; /*!< the number of the project */
  static QCString outputDir; /*!< the global output directory */
  static QCString outputLanguage; /*!< the output language */
  static bool     extractAllFlag; /*!< generate docs for all classes flag */
  static bool     extractPrivateFlag; /*!< generate docs for private members flag */
  static bool     extractStaticFlag; /*!< generate docs for static members flag */
  static bool     hideMemberFlag; /*!< hide undocumented members. */
  static bool     hideClassFlag; /*!< hide undocumented members. */
  static bool     briefMemDescFlag; /*!< enable `inline' brief member descr. */
  static bool     repeatBriefFlag; /*!< repeat brief descriptions. */
  static bool     alwaysDetailsFlag; /*!< show details description even if there is only a brief description? */
  static bool     fullPathNameFlag; /*!< using full path name in output */
  static QStrList stripFromPath; /*!< list of candidates to strip from the file path */
  static bool     internalDocsFlag; /*!< determines what happens to internal docs. */
  static bool     classDiagramFlag; /*!< enable the generation of class diagrams. */
  static bool     sourceBrowseFlag; /*!< include source code in documentation. */
  static bool     inlineSourceFlag; /*!< inline the definition bodies in the docs? */
  static bool     stripCommentsFlag; /*!< strip special comments from code fragments? */
  static bool     caseSensitiveNames; /*!< determines if output can be mixed case. */
  static bool     hideScopeNames; /*!< hide the name of the scope. */
  static bool     verbatimHeaderFlag; /*!< enable/disable generation of verb headers. */
  static bool     showIncFileFlag; /*!< show include file in file documentation? */
  static bool     autoBriefFlag; /*!< should javadoc comments behaves as Qt comments. */
  static bool     inheritDocsFlag; /*!< inheritance of documentation enabled? */
  static bool     inlineInfoFlag; /*!< show info about inline members? */
  static bool     sortMembersFlag; /*!< sort members alphabetically? */
  static bool     distributeDocFlag; /*!< distribute docs over member group? */
  static int      tabSize; /*!< number of spaces in a tab */
  static QStrList sectionFilterList; /*!< list of section filters that are enabled */
  static bool     generateTodoList; /*!< do we want a todo list? */
  static bool     generateTestList; /*!< do we want a test list? */
  static bool     generateBugList; /*!< do we want a bug list? */
  static QStrList aliasList; /*!< list of aliases */
  static int      maxInitLines; /*!< when do we hide values of variable and defines? */
  static bool     optimizeForCFlag; /*!< do we parse C code? */
  static bool     showUsedFilesFlag; /*!< do we show the list of used files for classes and structs? */
  static bool     quietFlag; /*!< generate progress messages flag */
  static bool     warningFlag; /*!< generate warnings flag */
  static bool     warningUndocFlag; /*!< generate undocumented warnings */
  static QCString warnFormat; /*!< format of the warning messages */
  static QCString warnLogFile; /*!< log file to write warning to */
  static QStrList inputSources; /*!< list of input files */
  static QStrList filePatternList; /*!< list of file patterns */
  static bool     recursiveFlag; /*!< scan directories recursively */
  static QStrList excludeSources; /*!< list of files to exclude from the input */
  static QStrList excludePatternList; /*!< list of patterns to exclude from input */
  static QStrList examplePath; /*!< list of example paths */
  static QStrList examplePatternList; /*!< list of example patterns */
  static QStrList imagePath; /*!< list of image paths */
  static QCString inputFilter; /*!< a filter command that is applied to input files */
  static bool     filterForSourceFlag; /*!< do we filter source files? */
  static bool     alphaIndexFlag; /*!< should an alphabetical index be generated? */
  static int      colsInAlphaIndex; /*!< number of columns in the alphabetical index */
  static QStrList ignorePrefixList; /*!< list of prefixes to ignore for the alphabetical index */
  static bool     generateHtml; /*!< generate HTML output */
  static QCString htmlOutputDir; /*!< the directory to put the HTML files */
  static QCString headerFile; /*!< the name of the personal HTML header */
  static QCString footerFile; /*!< the name of the personal HTML footer */
  static QCString htmlStyleSheet; /*!< user defined cascading style sheet */
  static bool     htmlAlignMemberFlag; /*!< align members in HTML using tables. */
  static bool     htmlHelpFlag; /*!< should html help files be generated? */
  static bool     htmlHelpChiFlag; /*!< should chi file be generated? */
  static bool     htmlHelpTocFlag; /*!< should a binary table of contents be generated? */
  static bool     htmlHelpTocExpandFlag; /*!< should module elements be displayed in the table of contents? */
  static bool     noIndexFlag; /*!< generate condensed index flag */
  static int      enumValuesPerLine; /*!< number of enum values that are put on one line */
  static bool     ftvHelpFlag; /*!< should a folder tree view be generated? */
  static int      treeViewWidth; /*!< What is the width of the treeview panel? */
  static bool     generateLatex; /*!< generate Latex output */
  static QCString latexOutputDir; /*!< the directory to put the Latex files */
  static bool     compactLatexFlag; /*!< generate compact LaTeX documentation. */
  static QCString paperType; /*!< the page type to generate docs for */
  static QStrList extraPackageList; /*!< list of extra LaTeX packages. */
  static QCString latexHeaderFile; /*!< the name of the personal LaTeX header */
  static bool     pdfHyperFlag; /*!< generate latex prepared creating hyperlinked pdfs. */
  static bool     usePDFLatexFlag; /*!< use pdflatex instead of plain latex */
  static bool     latexBatchModeFlag; /*!< continue after latex errors? */
  static bool     generateRTF; /*!< generate RTF flag */
  static QCString rtfOutputDir; /*!< the directory to put the RTF files */
  static bool     compactRTFFlag; /*!< generate more compact RTF */
  static bool     rtfHyperFlag; /*!< generate hyper links in RTF */
  static QCString rtfStylesheetFile; /*!< file to load stylesheet definitions from */
  static bool     generateMan; /*!< generate Man pages */
  static QCString manOutputDir; /*!< the directory to put the man pages */
  static QCString manExtension; /*!< extension the man page files */
  static bool     preprocessingFlag; /*!< enable preprocessing */
  static bool     macroExpansionFlag; /*!< expand macros in the source. */
  static bool     onlyPredefinedFlag; /*!< expand only predefined macros */
  static bool     searchIncludeFlag; /*!< search for included files */
  static QStrList includePath; /*!< list of include paths */
  static QStrList includeFilePatternList; /*!< list of include file patterns */
  static QStrList predefined; /*!< list of predefined macro names. */
  static QStrList expandAsDefinedList; /*!< list of defines to expand */
  static QStrList tagFileList; /*!< list of tag files */
  static QCString genTagFile; /*!< the tag file to generate */
  static bool     allExtFlag; /*!< include all external classes flag */
  static QCString perlPath; /*!< the absolute path to perl */
  static bool     haveDotFlag; /*!< indicates wether or not dot is present */
  static bool     classGraphFlag; /*!< class graph */
  static bool     collGraphFlag; /*!< collaboration graph */
  static bool     includeGraphFlag; /*!< include graph */
  static bool     includedByGraphFlag; /*!< depends on include graph */
  static bool     gfxHierarchyFlag; /*!< flag to enable graphical hierarchy */
  static QCString dotPath; /*!< path to the dot tool */
  static int      maxDotGraphWidth; /*!< max dot graph width */
  static int      maxDotGraphHeight; /*!< max dot graph height */
  static bool     generateLegend; /*!< generate legend page */
  static bool     dotCleanUp; /*!< remove intermedia dot files? */
  static bool     searchEngineFlag; /*!< generate search engine flag */
  static QCString cgiName; /*!< the name of the CGI binary */
  static QCString cgiURL; /*!< the absolute URL to the CGI binary */
  static QCString docURL; /*!< the absolute URL to the documentation */
  static QCString docAbsPath; /*!< the absolute path to the documentation */
  static QCString binAbsPath; /*!< the absolute path to the doxysearch */
  static QStrList extDocPathList; /*!< list of external doc. directories. */
};

#endif