12 #ifndef ROOT_TDocOutput
13 #define ROOT_TDocOutput
37 class TDocOutput:
public TObject {
48 int CaseInsensitiveSort(
const void *name1,
const void *name2);
49 void AddLink(TSubString& str, TString& link,
const char* comment);
50 void ProcessDocInDir(std::ostream& out,
const char* indir,
const char* outdir,
const char* linkdir);
51 Bool_t RunDot(
const char* filename, std::ostream* outMap = 0, EGraphvizTool gvwhat = kDot);
52 void WriteHtmlHeader(std::ostream& out,
const char *titleNoSpecial,
53 const char* dir , TClass *cls ,
55 void WriteHtmlFooter(std::ostream& out,
const char *dir,
56 const char *lastUpdate,
const char *author,
57 const char *copyright,
const char* footer);
58 virtual void WriteSearch(std::ostream& out);
59 void WriteLocation(std::ostream& out, TModuleDocInfo* module,
const char* classname = 0);
60 void WriteModuleLinks(std::ostream& out);
61 void WriteModuleLinks(std::ostream& out, TModuleDocInfo* super);
62 void WriteTopLinks(std::ostream& out, TModuleDocInfo* module,
const char* classname = 0, Bool_t withLocation = kTRUE);
65 enum EFileType { kSource, kInclude, kTree, kDoc };
67 TDocOutput(THtml& html);
68 virtual ~TDocOutput();
70 virtual void AdjustSourcePath(TString& line,
const char* relpath =
"../");
71 void Convert(std::istream& in,
const char* infilename,
72 const char* outfilename,
const char *title,
73 const char *relpath =
"../",
74 Int_t includeOutput = 0,
75 const char* context =
"",
76 TGClient* gclient = 0);
77 Bool_t CopyHtmlFile(
const char *sourceName,
const char *destName=
"");
79 virtual void CreateClassIndex();
80 virtual void CreateModuleIndex();
81 virtual void CreateProductIndex();
82 virtual void CreateTypeIndex();
83 virtual void CreateClassTypeDefs();
84 virtual void CreateHierarchy();
86 virtual void DecorateEntityBegin(TString& str, Ssiz_t& pos, TDocParser::EParseContext type);
87 virtual void DecorateEntityEnd(TString& str, Ssiz_t& pos, TDocParser::EParseContext type);
88 virtual void FixupAuthorSourceInfo(TString& authors);
89 const char* GetExtension()
const {
return ".html"; }
90 THtml* GetHtml() {
return fHtml; }
91 virtual Bool_t IsModified(TClass *classPtr, EFileType type);
92 virtual void NameSpace2FileName(TString &name);
94 virtual void ReferenceEntity(TSubString& str, TClass* entity,
const char* comment = 0);
95 virtual void ReferenceEntity(TSubString& str, TDataMember* entity,
const char* comment = 0);
96 virtual void ReferenceEntity(TSubString& str, TDataType* entity,
const char* comment = 0);
97 virtual void ReferenceEntity(TSubString& str, TMethod* entity,
const char* comment = 0);
98 virtual Bool_t ReferenceIsRelative(
const char* reference)
const;
100 virtual const char* ReplaceSpecialChars(
char c);
101 void ReplaceSpecialChars(std::ostream &out,
const char *
string);
102 void ReplaceSpecialChars(TString& text);
103 void ReplaceSpecialChars(TString& text, Ssiz_t &pos);
105 virtual void WriteHtmlHeader(std::ostream &out,
const char *title,
const char* dir=
"", TClass *cls=0);
106 virtual void WriteHtmlFooter(std::ostream &out,
const char *dir=
"",
const char *lastUpdate=
"",
107 const char *author=
"",
const char *copyright=
"");
108 void WriteLineNumbers(std::ostream& out, Long_t nLines,
const TString& infileBase)
const;
110 ClassDef(TDocOutput, 0);
113 #endif // ROOT_TDocOutput