summaryrefslogtreecommitdiffstats
path: root/src/config.h
blob: 4cd77dc82e82294b23d2d504ec4cc6b5740d91cb (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
/******************************************************************************
 *
 * 
 *
 * Copyright (C) 1997-2000 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.
 *
 * All output generated with Doxygen is not covered by this license.
 *
 */

#ifndef CONFIG_H
#define CONFIG_H

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

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

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 htmlOutputDir;       // the directory to put the HTML files  
  static QCString latexOutputDir;      // the directory to put the Latex files  
  static QCString manOutputDir;        // the directory to put the man pages
  static QCString rtfOutputDir;        // the directory to put the RTF files
  static QCString outputLanguage;      // the output language
  static QCString headerFile;          // the name of the personal HTML header 
  static QCString latexHeaderFile;     // the name of the personal LaTeX header 
  static QCString footerFile;          // the name of the personal HTML footer 
  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 binAbsPath;          // the absolute path to the doxysearch  
  static QCString docAbsPath;          // the absolute path to the documentation
  static QCString perlPath;            // the absolute path to perl            
  static QCString genTagFile;          // the tag file to generate
  static QCString inputFilter;         // a filter command that is applied to input files
  static QCString paperType;           // the page type to generate docs for
  static QCString manExtension;        // extension the man page files
  static QCString htmlStyleSheet;      // user defined cascading style sheet
  static QStrList ignorePrefixList;    // list of prefixes to ignore for the alphabetical index
  static QStrList includePath;         // list of include paths                
  static QStrList examplePath;         // list of example paths                
  static QStrList imagePath;           // list of image paths                
  static QStrList inputSources;        // list of input files                  
  static QStrList excludeSources;      // list of files to exclude from the input
  static QStrList filePatternList;     // list of file patterns                
  static QStrList excludePatternList;  // list of patterns to exclude from input
  static QStrList examplePatternList;  // list of example patterns
  static QStrList imagePatternList;    // list of image paths                
  static QStrList tagFileList;         // list of tag files                    
  static QStrList extDocPathList;      // list of external doc. directories.   
  static QStrList predefined;          // list of predefined macro names.
  static QStrList extraPackageList;    // list of extra LaTeX packages.
  static QStrList stripFromPath;       // list of candidates to strip from the file path
  static QStrList sectionFilterList;   // list of section filters to are enabled
  static bool     quietFlag;           // generate progress messages flag      
  static bool     warningFlag;         // generate warnings flag               
  static bool     recursiveFlag;       // scan directories recursively         
  static bool     allExtFlag;          // include all external classes flag    
  static bool     searchEngineFlag;    // generate search engine flag          
  static bool     extractAllFlag;      // gererate docs for all classes flag   
  static bool     extractPrivateFlag;  // generate docs for private members flag
  static bool     noIndexFlag;         // generate condensed index flag
  static bool     generateHtml;        // generate HTML output
  static bool     generateLatex;       // generate Latex output
  static bool     generateMan;         // generate Man pages
  static bool     preprocessingFlag;   // enable preprocessing 
  static bool     briefMemDescFlag;    // enable `inline' brief member descr.
  static bool     hideMemberFlag;      // hide undocumented members.
  static bool     hideClassFlag;       // hide undocumented members.
  static bool     searchIncludeFlag;   // search for included files
  static bool     macroExpansionFlag;  // expand macros in the source.
  static bool     onlyPredefinedFlag;  // expand only predefined macros
  static bool     fullPathNameFlag;    // using full path name in output
  static bool     classDiagramFlag;    // enable the generation of class diagrams.
  static bool     compactLatexFlag;    // generate compact LaTeX documentation.
  static bool     repeatBriefFlag;     // repeat brief descriptions.
  static bool     internalDocsFlag;    // determines what happens to internal docs.
  static bool     caseSensitiveNames;  // determines if output can be mixed case.
  static bool     verbatimHeaderFlag;  // enable/disable generation of verb headers.
  static bool     htmlAlignMemberFlag; // align members in HTML using tables.
  static bool     sourceBrowseFlag;    // include source code in documentation.  
  static bool     autoBriefFlag;       // javadoc comments behaves as Qt comments.
  static bool     htmlHelpFlag;        // should html help files be generated?
  static bool     alphaIndexFlag;      // should an alphabetical index be generated?
  static bool     pdfHyperFlag;        // generate latex prepared creating hyperlinked pdfs.
  static bool     inheritDocsFlag;     // inheritance of documentation enabled? 
  static bool     inlineInfoFlag;      // show info about inline members?
  static bool     alwaysDetailsFlag;   // show details description even if there is only a brief description?
  static int      tabSize;             // number of spaces in a tab
  static int      colsInAlphaIndex;    // number of columns in the alphabetical index
  static bool     inlineSourceFlag;    // inline the definition bodies in the docs?
  static bool     haveDotFlag;         // indicates wether or not dot is present
  static bool     collGraphFlag;       // collaboration graph
  static bool     includeGraphFlag;    // include graph
  static bool     gfxHierarchyFlag;    // flag to enable graphical hierarchy 
  static bool     generateRTF;         // generate RTF flag
  static bool     compactRTFFlag;      // generate more compact RTF
  static bool     rtfHyperFlag;        // generate hyper links in RTF
  static bool     showIncFileFlag;     // show include file in file documentation?
  static bool     stripCommentsFlag;   // strip special comments from code fragments?
  static bool     sortMembersFlag;     // sort members alphabetically?
  static bool     latexBatchModeFlag;  // continue after latex errors?
};

#endif