29 class TClassDocInfo:
public TObject {
32 TClassDocInfo(TClass* cl,
33 const char* htmlfilename =
"",
34 const char* fsdecl =
"",
const char* fsimpl =
"",
35 const char* decl = 0,
const char* impl = 0):
36 fClass(cl), fModule(0), fHtmlFileName(htmlfilename),
37 fDeclFileName(decl ? decl : cl->GetDeclFileName()),
38 fImplFileName(impl ? impl : cl->GetImplFileName()),
39 fDeclFileSysName(fsdecl), fImplFileSysName(fsimpl),
42 TClassDocInfo(TDictionary* cl,
43 const char* htmlfilename =
"",
44 const char* fsdecl =
"",
const char* fsimpl =
"",
45 const char* decl = 0,
const char* impl = 0):
46 fClass(cl), fModule(0), fHtmlFileName(htmlfilename),
49 fDeclFileSysName(fsdecl), fImplFileSysName(fsimpl),
52 virtual ~TClassDocInfo()
55 ROOT::CallRecursiveRemoveIfNeeded(*
this);
58 TDictionary *GetClass()
const {
return fClass; }
59 virtual const char* GetName()
const;
60 const char* GetHtmlFileName()
const {
return fHtmlFileName; }
61 const char* GetDeclFileName()
const {
return fDeclFileName; }
62 const char* GetImplFileName()
const {
return fImplFileName; }
63 const char* GetDeclFileSysName()
const {
return fDeclFileSysName; }
64 const char* GetImplFileSysName()
const {
return fImplFileSysName; }
66 void SetModule(TModuleDocInfo* module) { fModule = module; }
67 TModuleDocInfo* GetModule()
const {
return fModule; }
69 void SetSelected(Bool_t sel = kTRUE) { fSelected = sel; }
70 Bool_t IsSelected()
const {
return fSelected; }
71 Bool_t HaveSource()
const {
return fDeclFileSysName.Length()
72 || (fClass && !
dynamic_cast<TClass*
>(fClass)); }
74 void SetHtmlFileName(
const char* name) { fHtmlFileName = name; }
75 void SetDeclFileName(
const char* name) { fDeclFileName = name; }
76 void SetImplFileName(
const char* name) { fImplFileName = name; }
77 void SetDeclFileSysName(
const char* fsname) { fDeclFileSysName = fsname; }
78 void SetImplFileSysName(
const char* fsname) { fImplFileSysName = fsname; }
82 TList& GetListOfTypedefs() {
return fTypedefs; }
84 virtual Bool_t IsSortable()
const {
return kTRUE; }
85 virtual Int_t Compare(
const TObject* obj)
const;
91 TModuleDocInfo* fModule;
92 TString fHtmlFileName;
93 TString fDeclFileName;
94 TString fImplFileName;
95 TString fDeclFileSysName;
96 TString fImplFileSysName;
100 ClassDef(TClassDocInfo,0);
107 class TModuleDocInfo:
public TNamed {
109 TModuleDocInfo(
const char* name, TModuleDocInfo* super,
const char* doc =
""):
110 TNamed(name, doc), fSuper(super), fSub(0), fSelected(kTRUE) {
111 if (super) super->GetSub().Add(
this);
113 virtual ~TModuleDocInfo() { fSub.Clear(
"nodelete"); fClasses.Clear(
"nodelete"); }
115 void SetDoc(
const char* doc) { SetTitle(doc); }
116 const char* GetDoc()
const {
return GetTitle(); }
118 void SetSelected(Bool_t sel = kTRUE) { fSelected = sel; }
119 Bool_t IsSelected()
const {
return fSelected; }
121 void AddClass(TClassDocInfo* cl) { fClasses.Add(cl); }
122 TList* GetClasses() {
return &fClasses; }
124 TModuleDocInfo* GetSuper()
const {
return fSuper; }
125 THashList& GetSub() {
return fSub; }
128 TModuleDocInfo* fSuper;
133 ClassDef(TModuleDocInfo,0);
141 class TLibraryDocInfo:
public TNamed {
144 TLibraryDocInfo(
const char* lib): TNamed(lib,
"") {}
146 std::set<std::string>& GetDependencies() {
return fDependencies;}
147 std::set<std::string>& GetModules() {
return fModules;}
148 void AddDependency(
const std::string& lib) {fDependencies.insert(lib);}
149 void AddModule(
const std::string& module) {fModules.insert(module);}
152 std::set<std::string> fDependencies;
153 std::set<std::string> fModules;
155 ClassDef(TLibraryDocInfo,0);
159 #endif // ROOT_TDocInfo