Logo ROOT   6.10/09
Reference Guide
THtml.h
Go to the documentation of this file.
1 // @(#)root/html:$Id$
2 // Author: Nenad Buncic 18/10/95
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_THtml
13 #define ROOT_THtml
14 
15 
16 ////////////////////////////////////////////////////////////////////////////
17 // //
18 // THtml //
19 // //
20 // Html generates documentation for all ROOT classes //
21 // using XHTML 1.0 transitional //
22 // //
23 ////////////////////////////////////////////////////////////////////////////
24 
25 #include "THashList.h"
26 
27 #include "THashTable.h"
28 
29 #include "TExMap.h"
30 
31 #include <map>
32 
33 class TClass;
34 class TClassDocInfo;
35 class TGClient;
36 class TVirtualMutex;
37 
38 class THtml: public TObject {
39 public:
40  //______________________________________________________________
41  // Helper base class.
42  class THelperBase: public TObject {
43  public:
44  THelperBase(): fHtml(0) {}
45  virtual ~THelperBase();
46  void SetOwner(THtml* html);
47  THtml* GetOwner() const { return fHtml; }
48  private:
49  THtml* fHtml; // object owning the helper
50  ClassDef(THelperBase, 0); // a helper object's base class
51  };
52 
53  class TFileSysEntry;
54 
55  //______________________________________________________________
56  // Helper class to translate between classes and their
57  // modules. Can be derived from and thus replaced by
58  // the user; see THtml::SetModuleDefinition().
60  public:
61  virtual bool GetModule(TClass* cl, TFileSysEntry* fse, TString& out_modulename) const;
62  ClassDef(TModuleDefinition, 0); // helper class to determine a class's module
63  };
64 
65  //______________________________________________________________
66  // Helper class to translate between classes and their
67  // filenames. Can be derived from and thus replaced by
68  // the user; see THtml::SetFileDefinition().
69  class TFileDefinition: public THelperBase {
70  public:
71  virtual bool GetDeclFileName(const TClass* cl, TString& out_filename, TString& out_fsys,
72  TFileSysEntry** fse = 0) const;
73  virtual bool GetImplFileName(const TClass* cl, TString& out_filename, TString& out_fsys,
74  TFileSysEntry** fse = 0) const;
75  protected:
76  virtual bool GetFileName(const TClass* cl, bool decl, TString& out_filename, TString& out_fsys,
77  TFileSysEntry** fse = 0) const;
78  TString MatchFileSysName(TString& filename, TFileSysEntry** fse = 0) const;
79 
80  void SplitClassIntoDirFile(const TString& clname, TString& dir, TString& filename) const;
81  void NormalizePath(TString& path) const;
82  void ExpandSearchPath(TString& path) const;
83  ClassDef(TFileDefinition, 0); // helper class to determine a class's source files
84  };
85 
86  //______________________________________________________________
87  // Helper class to translate between file names and their
88  // version used for documentation. Can be derived from and thus
89  // replaced by the user; see THtml::SetPathDefinition().
90  class TPathDefinition: public THelperBase {
91  public:
92  virtual bool GetMacroPath(const TString& module, TString& out_dir) const;
93  virtual bool GetIncludeAs(TClass* cl, TString& out_include_as) const;
94  virtual bool GetFileNameFromInclude(const char* included, TString& out_fsname) const;
95  virtual bool GetDocDir(const TString& module, TString& doc_dir) const;
96  protected:
97  ClassDef(TPathDefinition, 0); // helper class to determine directory layouts
98  };
99 
100  class TFileSysDir;
101  class TFileSysDB;
102  //______________________________________________________________
103  // Utility class representing a directory entry
104  class TFileSysEntry: public TObject {
105  public:
106  TFileSysEntry(const char* name, TFileSysDir* parent):
107  fName(name), fParent(parent), fLevel(parent ? parent->GetLevel() + 1 : 0) {}
108  const char* GetName() const { return fName; }
109  virtual ULong_t Hash() const { return fName.Hash(); }
110  virtual void GetFullName(TString& fullname, Bool_t asIncluded) const {
111  if (fParent) {
112  fParent->GetFullName(fullname, asIncluded);
113  if (fullname[0])
114  fullname += "/";
115  } else
116  fullname = "";
117  fullname += fName;
118  }
119 
120  TFileSysDir* GetParent() const { return fParent; }
121  Int_t GetLevel() const { return fLevel; }
122  protected:
123  TString fName; // name of the element
124  TFileSysDir* fParent; // parent directory
125  Int_t fLevel; // level of directory
126  ClassDef(TFileSysEntry, 0); // an entry of the local file system
127  };
128 
129  //______________________________________________________________
130  // Utility class representing a directory
131  class TFileSysDir: public TFileSysEntry {
132  public:
133  TFileSysDir(const char* name, TFileSysDir* parent):
134  TFileSysEntry(name, parent)
135  { fFiles.SetOwner(); fDirs.SetOwner(); }
136  const TList* GetFiles() const { return &fFiles; }
137  const TList* GetSubDirs() const { return &fDirs; }
138 
139  void Recurse(TFileSysDB* db, const char* path);
140 
141  protected:
144  ClassDef(TFileSysDir, 0); // an directory of the local file system
145  };
146 
147  //______________________________________________________________
148  // Utility class representing a root directory as specified in
149  // THtml::GetInputPath()
150  class TFileSysRoot: public TFileSysDir {
151  public:
152  TFileSysRoot(const char* name, TFileSysDB* parent):
153  TFileSysDir(name, parent) {}
154  void GetFullName(TString& fullname, Bool_t asIncluded) const {
155  // prepend directory part of THtml::GetInputPath() only
156  // if !asIncluded
157  fullname = "";
158  if (!asIncluded)
159  fullname += fName;
160  }
161 
162  ClassDef(TFileSysRoot, 0); // an root directory of the local file system
163  };
164 
165  //______________________________________________________________
166  // Utility class representing a directory
167  class TFileSysDB: public TFileSysDir {
168  public:
169  TFileSysDB(const char* path, const char* ignorePath, Int_t maxdirlevel):
170  TFileSysDir(path, 0), fEntries(1009, 5), fIgnorePath(ignorePath), fMaxLevel(maxdirlevel)
171  { Fill(); }
172 
173  TExMap& GetMapIno() { return fMapIno; }
174  THashTable& GetEntries() { return fEntries; }
175  const TString& GetIgnore() const { return fIgnorePath; }
176  Int_t GetMaxLevel() const { return fMaxLevel; }
177 
178  protected:
179  void Fill();
180 
181  private:
182  TExMap fMapIno; // inode to TFileSysDir map, to detect softlinks
183  THashTable fEntries; // hash map of all filenames without paths
184  TString fIgnorePath; // regexp of path to ignore while building entry tree
185  Int_t fMaxLevel; // maximum level of directory nesting
186  ClassDef(TFileSysDB, 0); // instance of file system data
187  };
188 
189 
190  //______________________________________________________________
191  // Configuration holder for path related settings
192  struct PathInfo_t {
193  enum EDotAccess {
196  kDotNotFound
197  };
198 
200  fFoundDot(kDotUnknown),
201 #ifdef R__WIN32
202  fInputPath("./;src/;include/"),
203 #else
204  fInputPath("./:src/:include/"),
205 #endif
206  fIncludePath("include"),
207  // .whatever implicitly ignored, no need to add .svn!
208  fIgnorePath("\\b(include|CVS|test|tutorials|doc|lib|python|demo|freetype-|gdk|libAfterImage|etc|config|build|bin)\\b"),
209  fDocPath("doc"),
210  fMacroPath("macros:."),
211  fOutputDir("htmldoc") {}
212 
213  EDotAccess fFoundDot; // whether dot is accessible
214  TString fInputPath; // directories to look for classes; prepended to Decl/ImplFileName()
215  TString fIncludePath; // directory prefixes (":" delimited) to remove when quoting include files
216  TString fIgnorePath; // regexp pattern for directories to ignore ("\b(CVS|\.svn)\b") for ROOT
217  TString fDocPath; // subdir to check for module documentation ("doc" for ROOT)
218  TString fMacroPath; // subdir of fDocPath for macros run via the Begin/End Macro directive; ("macros" for ROOT)
219  TString fDotDir; // directory of GraphViz's dot binary
220  TString fEtcDir; // directory containing auxiliary files
221  TString fOutputDir; // output directory
222  };
223 
224 
225 public:
227  kNoOutput, // do not run the source, do not show its output
228  kInterpretedOutput, // interpret the source and show output
229  kCompiledOutput, // run the source through ACLiC and show output
230  kForceOutput = 0x10, // re-generate the output files (canvas PNGs)
231  kSeparateProcessOutput = 0x20 // run the script in a separate process
232  };
233 
234  THtml();
235  virtual ~THtml();
236 
237  static void LoadAllLibs();
238 
239  // Functions to generate documentation
240  void Convert(const char *filename, const char *title,
241  const char *dirname = "", const char *relpath="../",
242  Int_t includeOutput = kNoOutput,
243  const char* context = "");
244  void CreateHierarchy();
245  void MakeAll(Bool_t force=kFALSE, const char *filter="*",
246  int numthreads = 1);
247  void MakeClass(const char *className, Bool_t force=kFALSE);
248  void MakeIndex(const char *filter="*");
249  void MakeTree(const char *className, Bool_t force=kFALSE);
250 
251  // Configuration setters
252  void SetModuleDefinition(const TModuleDefinition& md);
253  void SetFileDefinition(const TFileDefinition& fd);
254  void SetPathDefinition(const TPathDefinition& pd);
255  void SetProductName(const char* product) { fProductName = product; }
256  void SetOutputDir(const char *dir);
257  void SetInputDir(const char *dir);
258  void SetSourceDir(const char *dir) { SetInputDir(dir); }
259  void SetIncludePath(const char* dir) { fPathInfo.fIncludePath = dir; }
260  void SetEtcDir(const char* dir) { fPathInfo.fEtcDir = dir; }
261  void SetDocPath(const char* path) { fPathInfo.fDocPath = path; }
263  void SetRootURL(const char* url) { fLinkInfo.fROOTURL = url; }
264  void SetLibURL(const char* lib, const char* url) { fLinkInfo.fLibURLs[lib] = url; }
265  void SetXwho(const char *xwho) { fLinkInfo.fXwho = xwho; }
266  void SetMacroPath(const char* path) {fPathInfo.fMacroPath = path;}
267  void AddMacroPath(const char* path);
268  void SetCounterFormat(const char* format) { fCounterFormat = format; }
269  void SetClassDocTag(const char* tag) { fDocSyntax.fClassDocTag = tag; }
270  void SetAuthorTag(const char* tag) { fDocSyntax.fAuthorTag = tag; }
271  void SetLastUpdateTag(const char* tag) { fDocSyntax.fLastUpdateTag = tag; }
272  void SetCopyrightTag(const char* tag) { fDocSyntax.fCopyrightTag = tag; }
273  void SetHeader(const char* file) { fOutputStyle.fHeader = file; }
274  void SetFooter(const char* file) { fOutputStyle.fFooter = file; }
275  void SetHomepage(const char* url) { fLinkInfo.fHomepage = url; }
276  void SetSearchStemURL(const char* url) { fLinkInfo.fSearchStemURL = url; }
277  void SetSearchEngine(const char* url) { fLinkInfo.fSearchEngine = url; }
278  void SetViewCVS(const char* url) { fLinkInfo.fViewCVS = url; }
279  void SetWikiURL(const char* url) { fLinkInfo.fWikiURL = url; }
280  void SetCharset(const char* charset) { fOutputStyle.fCharset = charset; }
281  void SetDocStyle(const char* style) { fDocSyntax.fDocStyle = style; }
282 
283  // Configuration getters
284  const TModuleDefinition& GetModuleDefinition() const;
285  const TFileDefinition& GetFileDefinition() const;
286  const TPathDefinition& GetPathDefinition() const;
287  const TString& GetProductName() const { return fProductName; }
288  const TString& GetInputPath() const { return fPathInfo.fInputPath; }
289  const TString& GetOutputDir(Bool_t createDir = kTRUE) const;
290  virtual const char* GetEtcDir() const;
291  const TString& GetModuleDocPath() const { return fPathInfo.fDocPath; }
292  const TString& GetDotDir() const { return fPathInfo.fDotDir; }
293  const char* GetURL(const char* lib = 0) const;
294  const TString& GetXwho() const { return fLinkInfo.fXwho; }
295  const TString& GetMacroPath() const { return fPathInfo.fMacroPath; }
296  const char* GetCounterFormat() const { return fCounterFormat; }
297  const TString& GetClassDocTag() const { return fDocSyntax.fClassDocTag; }
298  const TString& GetAuthorTag() const { return fDocSyntax.fAuthorTag; }
300  const TString& GetCopyrightTag() const { return fDocSyntax.fCopyrightTag; }
301  const TString& GetHeader() const { return fOutputStyle.fHeader; }
302  const TString& GetFooter() const { return fOutputStyle.fFooter; }
303  const TString& GetHomepage() const { return fLinkInfo.fHomepage; }
305  const TString& GetSearchEngine() const { return fLinkInfo.fSearchEngine; }
306  const TString& GetViewCVS() const { return fLinkInfo.fViewCVS; }
307  const TString& GetWikiURL() const { return fLinkInfo.fWikiURL; }
308  const TString& GetCharset() const { return fOutputStyle.fCharset; }
309  const TString& GetDocStyle() const { return fDocSyntax.fDocStyle; }
310 
311  // Functions that should only be used by TDocOutput etc.
312  Bool_t CopyFileFromEtcDir(const char* filename) const;
313  virtual void CreateAuxiliaryFiles() const;
314  virtual TClass* GetClass(const char *name) const;
315  const char* ShortType(const char *name) const;
316  const char* GetCounter() const { return fCounter; }
317  void GetModuleMacroPath(const TString& module, TString& out_path) const { GetPathDefinition().GetMacroPath(module, out_path); }
318  virtual bool GetDeclFileName(TClass* cl, Bool_t filesys, TString& out_name) const;
319  void GetDerivedClasses(TClass* cl, std::map<TClass*, Int_t>& derived) const;
320  static const char* GetDirDelimiter() {
321  // ";" on windows, ":" everywhere else
322 #ifdef R__WIN32
323  return ";";
324 #else
325  return ":";
326 #endif
327  }
328  virtual bool GetImplFileName(TClass* cl, Bool_t filesys, TString& out_name) const;
329  virtual void GetHtmlFileName(TClass *classPtr, TString& filename) const;
330  virtual const char* GetHtmlFileName(const char* classname) const;
333  const TList* GetListOfModules() const { return &fDocEntityInfo.fModules; }
334  const TList* GetListOfClasses() const { return &fDocEntityInfo.fClasses; }
337  virtual void GetModuleNameForClass(TString& module, TClass* cl) const;
338  const PathInfo_t& GetPathInfo() const { return fPathInfo; }
339  Bool_t HaveDot();
340  void HelperDeleted(THelperBase* who);
341  static Bool_t IsNamespace(const TClass*cl);
342  void SetDeclFileName(TClass* cl, const char* filename);
343  void SetFoundDot(Bool_t found = kTRUE);
344  void SetImplFileName(TClass* cl, const char* filename);
345  void SetBatch(Bool_t batch = kTRUE) { fBatch = batch; }
346  Bool_t IsBatch() const { return fBatch; }
347  // unused
348  void ReplaceSpecialChars(std::ostream&, const char*) {
349  Error("ReplaceSpecialChars",
350  "Removed, call TDocOutput::ReplaceSpecialChars() instead!"); }
351  void SetEscape(char /*esc*/ ='\\') {} // for backward comp
352 
353 protected:
354  struct DocSyntax_t {
355  TString fClassDocTag; // tag for class documentation
356  TString fAuthorTag; // tag for author
357  TString fLastUpdateTag; // tag for last update
358  TString fCopyrightTag; // tag for copyright
359  TString fDocStyle; // doc style (only "Doc++" has special treatment)
360  };
361 
362  struct LinkInfo_t {
363  TString fXwho; // URL for name lookup
364  TString fROOTURL; // Root URL for ROOT's reference guide for libs that are not in fLibURLs
365  std::map<std::string, TString> fLibURLs; // URL for documentation of external libraries
366  TString fHomepage; // URL of homepage
367  TString fSearchStemURL; // URL stem used to build search URL
368  TString fSearchEngine; // link to search engine
369  TString fViewCVS; // link to ViewCVS; %f is replaced by the filename (no %f: it's appended)
370  TString fWikiURL; // URL stem of class's wiki page, %c replaced by mangled class name (no %c: appended)
371  };
372 
373  struct OutputStyle_t {
374  TString fHeader; // header file name
375  TString fFooter; // footerer file name
376  TString fCharset; // Charset for doc pages
377  };
378 
380  DocEntityInfo_t(): fClasses(503, 3) {}
381  TString fClassFilter; // filter used for buidling known classes
382  THashList fClasses; // known classes
383  mutable THashList fShortClassNames; // class names with default template args replaced
384  THashList fModules; // known modules
385  THashList fLibDeps; // Library dependencies
386  };
387 
388 protected:
389  virtual void CreateJavascript() const;
390  virtual void CreateStyleSheet() const;
391  void CreateListOfTypes();
392  void CreateListOfClasses(const char* filter);
393  virtual bool GetDeclImplFileName(TClass* cl, bool filesys, bool decl, TString& out_name) const;
394  void MakeClass(void* cdi, Bool_t force=kFALSE);
396  void SetLocalFiles() const;
397 
398  static void *MakeClassThreaded(void* info);
399 
400 protected:
401  TString fCounter; // counter string
402  TString fCounterFormat; // counter printf-like format
403  TString fProductName; // name of the product to document
404  TIter *fThreadedClassIter; // fClasses iterator for MakeClassThreaded
405  Int_t fThreadedClassCount; // counter of processed classes for MakeClassThreaded
406  TVirtualMutex *fMakeClassMutex; // Mutex for MakeClassThreaded
407  TGClient *fGClient; // gClient, cached and queried through CINT
408  DocSyntax_t fDocSyntax; // doc syntax configuration
409  LinkInfo_t fLinkInfo; // link (URL) configuration
410  OutputStyle_t fOutputStyle; // output style configuration
411  mutable PathInfo_t fPathInfo; // path configuration
412  DocEntityInfo_t fDocEntityInfo; // data for documented entities
413  mutable TPathDefinition *fPathDef; // object translating classes to module names
414  mutable TModuleDefinition *fModuleDef; // object translating classes to module names
415  mutable TFileDefinition* fFileDef; // object translating classes to file names
416  mutable TFileSysDB *fLocalFiles; // files found locally for a given source path
417  Bool_t fBatch; // Whether to enable GUI output
418 
419  ClassDef(THtml,0) //Convert class(es) into HTML file(s)
420 };
421 
423 
424 #endif
const TString & GetCharset() const
Definition: THtml.h:308
TPathDefinition * fPathDef
Definition: THtml.h:413
static Bool_t IsNamespace(const TClass *cl)
Check whether cl is a namespace.
Definition: THtml.cxx:2197
void MakeIndex(const char *filter="*")
Create the index files for the product, modules, all types, etc.
Definition: THtml.cxx:2396
void SetFooter(const char *file)
Definition: THtml.h:274
const TList * GetSubDirs() const
Definition: THtml.h:137
static void * MakeClassThreaded(void *info)
Entry point of worker threads for multi-threaded MakeAll().
Definition: THtml.cxx:2380
void SetSearchEngine(const char *url)
Definition: THtml.h:277
void SetProductName(const char *product)
Definition: THtml.h:255
void SetHeader(const char *file)
Definition: THtml.h:273
virtual bool GetImplFileName(TClass *cl, Bool_t filesys, TString &out_name) const
Return implementation file name.
Definition: THtml.cxx:2108
TFileSysDB * fLocalFiles
Definition: THtml.h:416
TString fProductName
Definition: THtml.h:403
Int_t fThreadedClassCount
Definition: THtml.h:405
Bool_t HaveDot()
Check whether dot is available in $PATH or in the directory set by SetDotPath()
Definition: THtml.cxx:1403
const TString & GetInputPath() const
Definition: THtml.h:288
void SetEscape(char='\\')
Definition: THtml.h:351
const TFileDefinition & GetFileDefinition() const
Return the TFileDefinition (or derived) object as set by SetFileDefinition(); create and return a TFi...
Definition: THtml.cxx:1317
void SetDocPath(const char *path)
Definition: THtml.h:261
const TString & GetWikiURL() const
Definition: THtml.h:307
virtual void CreateJavascript() const
Write the default ROOT style sheet.
Definition: THtml.cxx:1937
TString fFooter
Definition: THtml.h:375
void SetLastUpdateTag(const char *tag)
Definition: THtml.h:271
void SetViewCVS(const char *url)
Definition: THtml.h:278
LinkInfo_t fLinkInfo
Definition: THtml.h:409
EConvertOutput
Definition: THtml.h:226
static const char * GetDirDelimiter()
Definition: THtml.h:320
TFileSysDir * fParent
Definition: THtml.h:124
TString fClassDocTag
Definition: THtml.h:355
const TString & GetDotDir() const
Definition: THtml.h:292
TFileDefinition * fFileDef
Definition: THtml.h:415
void SetMacroPath(const char *path)
Definition: THtml.h:266
Int_t GetMaxLevel() const
Definition: THtml.h:176
void SetOwner(THtml *html)
Set the THtml object owning this object; if it&#39;s already set to a different THtml object than issue a...
Definition: THtml.cxx:73
THashList fClasses
Definition: THtml.h:382
static void LoadAllLibs()
Load all libraries known to ROOT via the rootmap system.
Definition: THtml.cxx:2205
This class implements a mutex interface.
Definition: TVirtualMutex.h:32
const TString & GetLastUpdateTag() const
Definition: THtml.h:299
const TString & GetProductName() const
Definition: THtml.h:287
THtml * fHtml
Definition: THtml.h:49
TString fHomepage
Definition: THtml.h:366
virtual ~THtml()
Default destructor.
Definition: THtml.cxx:1255
TString fViewCVS
Definition: THtml.h:369
const TString & GetViewCVS() const
Definition: THtml.h:306
Basic string class.
Definition: TString.h:129
TIter * fThreadedClassIter
Definition: THtml.h:404
int Int_t
Definition: RtypesCore.h:41
void SetDocStyle(const char *style)
Definition: THtml.h:281
bool Bool_t
Definition: RtypesCore.h:59
const TString & GetIgnore() const
Definition: THtml.h:175
TString fCounterFormat
Definition: THtml.h:402
virtual bool GetDeclImplFileName(TClass *cl, bool filesys, bool decl, TString &out_name) const
Combined implementation for GetDeclFileName(), GetImplFileName(): Return declaration / implementation...
Definition: THtml.cxx:2118
const TString & GetDocStyle() const
Definition: THtml.h:309
void SetWikiURL(const char *url)
Definition: THtml.h:279
void MakeAll(Bool_t force=kFALSE, const char *filter="*", int numthreads=1)
Produce documentation for all the classes specified in the filter (by default "*") To process all cla...
Definition: THtml.cxx:2253
TString fAuthorTag
Definition: THtml.h:356
void MakeTree(const char *className, Bool_t force=kFALSE)
Make an inheritance tree.
Definition: THtml.cxx:2420
static std::string format(double x, double y, int digits, int width)
virtual void GetFullName(TString &fullname, Bool_t asIncluded) const
Definition: THtml.h:110
void SetCounterFormat(const char *format)
Definition: THtml.h:268
Int_t fMaxLevel
Definition: THtml.h:185
TString fDocPath
Definition: THtml.h:217
void SetDeclFileName(TClass *cl, const char *filename)
Explicitly set a decl file name for TClass cl.
Definition: THtml.cxx:2521
const char * GetCounter() const
Definition: THtml.h:316
THashTable fEntries
Definition: THtml.h:183
void SetOutputDir(const char *dir)
Set the directory where the HTML pages shuold be written to.
Definition: THtml.cxx:2510
TString fOutputDir
Definition: THtml.h:221
void GetDerivedClasses(TClass *cl, std::map< TClass *, Int_t > &derived) const
fill derived with all classes inheriting from cl and their inheritance distance to cl ...
Definition: THtml.cxx:1956
const TString & GetClassDocTag() const
Definition: THtml.h:297
const TList * GetListOfClasses() const
Definition: THtml.h:334
void SetClassDocTag(const char *tag)
Definition: THtml.h:269
virtual void CreateStyleSheet() const
Write the default ROOT style sheet.
Definition: THtml.cxx:1944
virtual void Sort(Bool_t order=kSortAscending)
Sort linked list.
Definition: TList.cxx:775
void SetCopyrightTag(const char *tag)
Definition: THtml.h:272
Int_t GetLevel() const
Definition: THtml.h:121
TString fHeader
Definition: THtml.h:374
void SetImplFileName(TClass *cl, const char *filename)
Explicitly set a impl file name for TClass cl.
Definition: THtml.cxx:2534
void MakeClass(const char *className, Bool_t force=kFALSE)
Make HTML files for a single class.
Definition: THtml.cxx:2319
TString fIgnorePath
Definition: THtml.h:216
TExMap & GetMapIno()
Definition: THtml.h:173
THashTable implements a hash table to store TObject&#39;s.
Definition: THashTable.h:35
TString fCopyrightTag
Definition: THtml.h:358
#define ClassDef(name, id)
Definition: Rtypes.h:297
virtual const char * GetEtcDir() const
Get the directory containing THtml&#39;s auxiliary files ($ROOTSYS/etc/html)
Definition: THtml.cxx:1344
virtual void CreateAuxiliaryFiles() const
copy CSS, javascript file, etc to the output dir
Definition: THtml.cxx:1291
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
Definition: THashList.h:34
TList * GetLibraryDependencies()
Definition: THtml.h:331
THtml()
Create a THtml object.
Definition: THtml.cxx:1213
void GetFullName(TString &fullname, Bool_t asIncluded) const
Definition: THtml.h:154
void CreateListOfClasses(const char *filter)
Create the list of all known classes.
Definition: THtml.cxx:1545
TFileSysDir * GetParent() const
Definition: THtml.h:120
TString fSearchEngine
Definition: THtml.h:368
void SetAuthorTag(const char *tag)
Definition: THtml.h:270
const TString & GetFooter() const
Definition: THtml.h:302
TString fInputPath
Definition: THtml.h:214
TString fDotDir
Definition: THtml.h:219
R__EXTERN THtml * gHtml
Definition: THtml.h:422
void SetLocalFiles() const
Fill the files available in the file system below fPathInfo.fInputPath.
Definition: THtml.cxx:2445
void ReplaceSpecialChars(std::ostream &, const char *)
Definition: THtml.h:348
const PathInfo_t & GetPathInfo() const
Definition: THtml.h:338
void HelperDeleted(THelperBase *who)
Inform the THtml object that one of its helper objects was deleted.
Definition: THtml.cxx:1430
const TString & GetHeader() const
Definition: THtml.h:301
const TString & GetMacroPath() const
Definition: THtml.h:295
TFileSysEntry(const char *name, TFileSysDir *parent)
Definition: THtml.h:106
TFileSysDB(const char *path, const char *ignorePath, Int_t maxdirlevel)
Definition: THtml.h:169
virtual void GetModuleNameForClass(TString &module, TClass *cl) const
Return the module name for a given class.
Definition: THtml.cxx:1530
TString fROOTURL
Definition: THtml.h:364
void SetBatch(Bool_t batch=kTRUE)
Definition: THtml.h:345
A doubly linked list.
Definition: TList.h:43
THashTable & GetEntries()
Definition: THtml.h:174
DocEntityInfo_t fDocEntityInfo
Definition: THtml.h:412
TFileSysRoot(const char *name, TFileSysDB *parent)
Definition: THtml.h:152
TExMap fMapIno
Definition: THtml.h:182
const TString & GetAuthorTag() const
Definition: THtml.h:298
const TString & GetSearchEngine() const
Definition: THtml.h:305
TString fClassFilter
Definition: THtml.h:381
TFileSysDB * GetLocalFiles() const
Definition: THtml.h:335
Bool_t fBatch
Definition: THtml.h:417
void SetEtcDir(const char *dir)
Definition: THtml.h:260
std::map< std::string, TString > fLibURLs
Definition: THtml.h:365
TString fCounter
Definition: THtml.h:401
const TModuleDefinition & GetModuleDefinition() const
Return the TModuleDefinition (or derived) object as set by SetModuleDefinition(); create and return a...
Definition: THtml.cxx:1303
THashList fModules
Definition: THtml.h:384
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Definition: TObject.cxx:873
const char * ShortType(const char *name) const
Get short type name, i.e. with default templates removed.
Definition: THtml.cxx:2547
const char * GetURL(const char *lib=0) const
Get the documentation URL for library lib.
Definition: THtml.cxx:1387
void SetLibURL(const char *lib, const char *url)
Definition: THtml.h:264
TVirtualMutex * GetMakeClassMutex() const
Definition: THtml.h:336
const TString & GetOutputDir(Bool_t createDir=kTRUE) const
Return the output directory as set by SetOutputDir().
Definition: THtml.cxx:2172
The ROOT global object gROOT contains a list of all defined classes.
Definition: TClass.h:71
void Convert(const char *filename, const char *title, const char *dirname="", const char *relpath="../", Int_t includeOutput=kNoOutput, const char *context="")
It converts a single text file to HTML.
Definition: THtml.cxx:1462
TString fSearchStemURL
Definition: THtml.h:367
void SetSourceDir(const char *dir)
Definition: THtml.h:258
virtual bool GetDeclFileName(TClass *cl, Bool_t filesys, TString &out_name) const
Return declaration file name; return the full path if filesys is true.
Definition: THtml.cxx:2100
void SetFileDefinition(const TFileDefinition &fd)
Set the file defining object to be used; can also be a user derived object (a la traits).
Definition: THtml.cxx:2467
const Bool_t kFALSE
Definition: RtypesCore.h:92
TString fLastUpdateTag
Definition: THtml.h:357
THashList fLibDeps
Definition: THtml.h:385
void SetSearchStemURL(const char *url)
Definition: THtml.h:276
void CreateListOfTypes()
Create index of all data types and a page for each typedef-to-class.
Definition: THtml.cxx:1897
const char * GetCounterFormat() const
Definition: THtml.h:296
Bool_t IsBatch() const
Definition: THtml.h:346
void SetRootURL(const char *url)
Definition: THtml.h:263
void SetCharset(const char *charset)
Definition: THtml.h:280
void SetXwho(const char *xwho)
Definition: THtml.h:265
TString fIgnorePath
Definition: THtml.h:184
void SetDotDir(const char *dir)
Definition: THtml.h:262
virtual bool GetMacroPath(const TString &module, TString &out_dir) const
Determine the path to look for macros (see TDocMacroDirective) for classes from a given module...
Definition: THtml.cxx:512
void CreateHierarchy()
Create the inheritance hierarchy diagram for all classes.
Definition: THtml.cxx:1928
virtual ~THelperBase()
Helper&#39;s destructor.
Definition: THtml.cxx:60
TString fDocStyle
Definition: THtml.h:359
unsigned long ULong_t
Definition: RtypesCore.h:51
TVirtualMutex * fMakeClassMutex
Definition: THtml.h:406
TCanvas * style()
Definition: style.C:1
TGClient * fGClient
Definition: THtml.h:407
const TList * GetFiles() const
Definition: THtml.h:136
TModuleDefinition * fModuleDef
Definition: THtml.h:414
Bool_t CopyFileFromEtcDir(const char *filename) const
Copy a file from $ROOTSYS/etc/html into GetOutputDir()
Definition: THtml.cxx:1907
virtual void GetHtmlFileName(TClass *classPtr, TString &filename) const
Return real HTML filename.
Definition: THtml.cxx:1993
void SetIncludePath(const char *dir)
Definition: THtml.h:259
TString fMacroPath
Definition: THtml.h:218
DocSyntax_t fDocSyntax
Definition: THtml.h:408
TString fEtcDir
Definition: THtml.h:220
void SetPathDefinition(const TPathDefinition &pd)
Set the path defining object to be used; can also be a user derived object (a la traits).
Definition: THtml.cxx:2479
const TString & GetHomepage() const
Definition: THtml.h:303
void GetModuleMacroPath(const TString &module, TString &out_path) const
Definition: THtml.h:317
void SetFoundDot(Bool_t found=kTRUE)
Set whether "dot" (a GraphViz utility) is available.
Definition: THtml.cxx:2437
void SetHomepage(const char *url)
Definition: THtml.h:275
Mother of all ROOT objects.
Definition: TObject.h:37
virtual TClass * GetClass(const char *name) const
-*-*-*-*Return pointer to class with name-*-*-*-*-*-*-*-*-*-*-*-* *-* ===============================...
Definition: THtml.cxx:2069
#define R__EXTERN
Definition: DllImport.h:27
PathInfo_t fPathInfo
Definition: THtml.h:411
void SortListOfModules()
Definition: THtml.h:332
TString fIncludePath
Definition: THtml.h:215
void SetInputDir(const char *dir)
Set the directory containing the source files.
Definition: THtml.cxx:2496
const TString & GetCopyrightTag() const
Definition: THtml.h:300
Definition: file.py:1
const TString & GetSearchStemURL() const
Definition: THtml.h:304
TFileSysDir(const char *name, TFileSysDir *parent)
Definition: THtml.h:133
OutputStyle_t fOutputStyle
Definition: THtml.h:410
THashList fShortClassNames
Definition: THtml.h:383
void SetModuleDefinition(const TModuleDefinition &md)
Set the module defining object to be used; can also be a user derived object (a la traits)...
Definition: THtml.cxx:2455
const char * GetName() const
Returns name of object.
Definition: THtml.h:108
TString fCharset
Definition: THtml.h:376
THtml * GetOwner() const
Definition: THtml.h:47
virtual ULong_t Hash() const
Return hash value for this object.
Definition: THtml.h:109
const TList * GetListOfModules() const
Definition: THtml.h:333
const TPathDefinition & GetPathDefinition() const
Return the TModuleDefinition (or derived) object as set by SetModuleDefinition(); create and return a...
Definition: THtml.cxx:1331
TString fXwho
Definition: THtml.h:363
TString fWikiURL
Definition: THtml.h:370
const Bool_t kTRUE
Definition: RtypesCore.h:91
void AddMacroPath(const char *path)
Add path to the directories to be searched for macro files that are to be executed via the TDocMacroD...
Definition: THtml.cxx:1275
const TString & GetXwho() const
Definition: THtml.h:294
static void Fill(TTree *tree, int init, int count)
Definition: THtml.h:38
This class stores a (key,value) pair using an external hash.
Definition: TExMap.h:33
EDotAccess fFoundDot
Definition: THtml.h:213
const TString & GetModuleDocPath() const
Definition: THtml.h:291
TClassDocInfo * GetNextClass()
Return the next class to be generated for MakeClassThreaded.
Definition: THtml.cxx:1361