#ifndef ROOT_THtml
#define ROOT_THtml
#ifndef ROOT_THashList
#include "THashList.h"
#endif
#include <map>
#include <set>
class TClass;
class THtml : public TObject {
protected:
   enum ETraverse {
      kUp, kDown, kBoth        
   };
public:
   
   
   
   class TMapModuleDepMap: public std::map<std::string, std::set<std::string> > {
   public:
      TMapModuleDepMap() {}
   };
   typedef std::map<std::string, TMapModuleDepMap > LibDep_t;
protected:
   TString        fXwho;            
   TString        fROOTURL;         
   std::map<std::string, TString> fLibURLs; 
   TString        fClassDocTag;     
   TString        fAuthorTag;       
   TString        fLastUpdateTag;   
   TString        fCopyrightTag;    
   TString        fHeader;          
   TString        fFooter;          
   TString        fHomepage;        
   TString        fSearchStemURL;   
   TString        fSearchEngine;    
   TString        fViewCVS;         
   TString        fWikiURL;         
   TString        fCharset;         
   TString        fDocStyle;        
   
   TString        fSourcePrefix;    
   TString        fSourceDir;       
   TString        fOutputDir;       
   TString        fDotDir;          
   TString        fEtcDir;          
   Int_t          fFoundDot;        
   TString        fCounter;         
   TString        fCounterFormat;   
   TString        fClassFilter;     
   TString        fProductName;     
   TString        fProductDocDir;   
   TString        fMacroPath;       
   TString        fModuleDocPath;   
   THashList      fClasses;         
   THashList      fModules;         
   std::map<TClass*,std::string> fGuessedDeclFileNames; 
   std::map<TClass*,std::string> fGuessedImplFileNames; 
   LibDep_t       fSetLibDeps;      
   virtual void    CreateJavascript() const;
   virtual void    CreateStyleSheet() const;
   void            CreateListOfTypes();
   void            CreateListOfClasses(const char* filter);
   void            MakeClass(void* cdi, Bool_t force=kFALSE);
public:
   THtml();
   virtual      ~THtml();
   
   void          Convert(const char *filename, const char *title, 
                         const char *dirname = "", const char *relpath="../");
   void          CreateHierarchy();
   void          MakeAll(Bool_t force=kFALSE, const char *filter="*");
   void          MakeClass(const char *className, Bool_t force=kFALSE);
   void          MakeIndex(const char *filter="*");
   void          MakeTree(const char *className, Bool_t force=kFALSE);
   
   void          SetProductName(const char* product) { fProductName = product; }
   void          SetOutputDir(const char *dir) { fOutputDir = dir; }
   void          SetSourceDir(const char *dir);
   void          SetSourcePrefix(const char *prefix);
   void          SetEtcDir(const char* dir) { fEtcDir = dir; }
   void          SetModuleDocPath(const char* path) { fModuleDocPath = path; }
   void          SetProductDocDir(const char* dir) { fProductDocDir = dir; }
   void          SetDotDir(const char* dir) { fDotDir = dir; fFoundDot = -1; }
   void          SetRootURL(const char* url) { fROOTURL = url; }
   void          SetLibURL(const char* lib, const char* url) { fLibURLs[lib] = url; }
   void          SetXwho(const char *xwho) { fXwho = xwho; }
   void          SetMacroPath(const char* path) {fMacroPath = path;}
   void          AddMacroPath(const char* path);
   void          SetCounterFormat(const char* format) { fCounterFormat = format; }
   void          SetClassDocTag(const char* tag) { fClassDocTag = tag; }
   void          SetAuthorTag(const char* tag) { fAuthorTag = tag; }
   void          SetLastUpdateTag(const char* tag) { fLastUpdateTag = tag; }
   void          SetCopyrightTag(const char* tag) { fCopyrightTag = tag; }
   void          SetHeader(const char* file) { fHeader = file; }
   void          SetFooter(const char* file) { fFooter = file; }
   void          SetHomepage(const char* url) { fHomepage = url; }
   void          SetSearchStemURL(const char* url) { fSearchStemURL = url; }
   void          SetSearchEngine(const char* url) { fSearchEngine = url; }
   void          SetViewCVS(const char* url) { fViewCVS = url; }
   void          SetWikiURL(const char* url) { fWikiURL = url; }
   void          SetCharset(const char* charset) { fCharset = charset; }
   void          SetDocStyle(const char* style) { fDocStyle = style; }
   
   const TString&      GetProductName() const { return fProductName; }
   const TString&      GetOutputDir(Bool_t createDir = kTRUE) const;
   const TString&      GetSourceDir() const { return fSourceDir; }
   const TString&      GetSourcePrefix() const { return fSourcePrefix; }
   virtual const char* GetEtcDir();
   const TString&      GetModuleDocPath() const { return fModuleDocPath; }
   const TString&      GetProductDocDir() const { return fProductDocDir; }
   const TString&      GetDotDir() const { return fDotDir; }
   const char*         GetURL(const char* lib = 0) const;
   const TString&      GetXwho() const { return fXwho; }
   const TString&      GetMacroPath() const { return fMacroPath; }
   const char*         GetCounterFormat() const { return fCounterFormat; }
   const TString&      GetClassDocTag() const { return fClassDocTag; }
   const TString&      GetAuthorTag() const { return fAuthorTag; }
   const TString&      GetLastUpdateTag() const { return fLastUpdateTag; }
   const TString&      GetCopyrightTag() const { return fCopyrightTag; }
   const TString&      GetHeader() const { return fHeader; }
   const TString&      GetFooter() const { return fFooter; }
   const TString&      GetHomepage() const { return fHomepage; }
   const TString&      GetSearchStemURL() const { return fSearchStemURL; }
   const TString&      GetSearchEngine() const { return fSearchEngine; }
   const TString&      GetViewCVS() const { return fViewCVS; }
   const TString&      GetWikiURL() const { return fWikiURL; }
   const TString&      GetCharset() const { return fCharset; }
   const TString&      GetDocStyle() const { return fDocStyle; }
   
   Bool_t              CopyFileFromEtcDir(const char* filename) const;
   virtual void        CreateAuxiliaryFiles() const;
   virtual TClass*     GetClass(const char *name);
   const char*         GetCounter() const { return fCounter; }
   virtual const char* GetDeclFileName(TClass* cl) const;
   void                GetDerivedClasses(TClass* cl, std::map<TClass*, Int_t>& derived) const;
   virtual const char* GetImplFileName(TClass* cl) const;
   virtual const char* GetFileName(const char *filename);
   virtual void        GetSourceFileName(TString& filename);
   virtual void        GetHtmlFileName(TClass *classPtr, TString& filename);
   virtual const char* GetHtmlFileName(const char* classname);
   LibDep_t&           GetLibraryDependencies() { return fSetLibDeps; }
   const TList*        GetListOfModules() const { return &fModules; }
   const TList*        GetListOfClasses() const { return &fClasses; }
   virtual void        GetModuleName(TString& module, const char* filename) const;
   virtual void        GetModuleNameForClass(TString& module, TClass* cl) const;
   Bool_t              HaveDot();
   static Bool_t       IsNamespace(const TClass*cl);
   void                SetDeclFileName(TClass* cl, const char* filename);
   void                SetFoundDot(Bool_t found = kTRUE) { fFoundDot = found; }
   void                SetImplFileName(TClass* cl, const char* filename);
   
   void                ReplaceSpecialChars(std::ostream&, const char*) {
      Error("ReplaceSpecialChars",
            "Removed, call TDocOutput::ReplaceSpecialChars() instead!"); }
   void                SetEscape(char  ='\\') {} 
   ClassDef(THtml,0)  
};
R__EXTERN THtml *gHtml;
#endif
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.