Logo ROOT  
Reference Guide
TClassDocOutput.h
Go to the documentation of this file.
1// @(#)root/html:$Id$
2// Author: Axel Naumann 2007-01-09
3
4/*************************************************************************
5 * Copyright (C) 1995-2007, 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_TClassDocOutput
13#define ROOT_TClassDocOutput
14
15#include "TDocOutput.h"
16
17class TDocParser;
19class TList;
20
22protected:
23 enum ETraverse {
24 kUp, kDown, kBoth // direction to traverse class tree in ClassHtmlTree()
25 };
26
27 Int_t fHierarchyLines; // counter for no. lines in hierarchy
28 TClass* fCurrentClass; // class to generate output for
29 TList* fCurrentClassesTypedefs; // typedefs to the current class
30 TDocParser* fParser; // parser we use
31
32 void ClassHtmlTree(std::ostream &out, TClass *classPtr, ETraverse dir=kBoth, int depth=1);
33 void ClassTree(TVirtualPad *canvas, Bool_t force=kFALSE);
34
35 Bool_t CreateDotClassChartIncl(const char* filename);
36 Bool_t CreateDotClassChartInh(const char* filename);
37 Bool_t CreateDotClassChartInhMem(const char* filename);
38 Bool_t CreateDotClassChartLib(const char* filename);
39
41 void CreateSourceOutputStream(std::ostream& out, const char* extension, TString& filename);
42 void DescendHierarchy(std::ostream &out, TClass* basePtr, Int_t maxLines=0, Int_t depth=1);
43
44 virtual void ListFunctions(std::ostream& classFile);
45 virtual void ListDataMembers(std::ostream& classFile);
46
47 virtual void WriteClassDocHeader(std::ostream& classFile);
48 virtual void WriteMethod(std::ostream & out, TString& ret,
49 TString& name, TString& params,
50 const char* file, TString& anchor,
51 TString& comment, TString& codeOneLiner,
52 TDocMethodWrapper* guessedMethod);
53 virtual void WriteClassDescription(std::ostream& out, const TString& description);
54
55public:
56 TClassDocOutput(THtml& html, TClass* cl, TList* typedefs);
57 virtual ~TClassDocOutput();
58
59 void Class2Html(Bool_t force=kFALSE);
60 Bool_t ClassDotCharts(std::ostream & out);
61 void CreateClassHierarchy(std::ostream& out, const char* docFileName);
62
63 void MakeTree(Bool_t force = kFALSE);
64
65 friend class TDocParser;
66
67 ClassDef(TClassDocOutput, 0); // generates documentation web pages for a class
68};
69
70#endif // ROOT_TClassDocOutput
int Int_t
Definition: RtypesCore.h:45
const Bool_t kFALSE
Definition: RtypesCore.h:101
bool Bool_t
Definition: RtypesCore.h:63
#define ClassDef(name, id)
Definition: Rtypes.h:325
char name[80]
Definition: TGX11.cxx:110
const char * extension
Definition: civetweb.c:7793
virtual void WriteMethod(std::ostream &out, TString &ret, TString &name, TString &params, const char *file, TString &anchor, TString &comment, TString &codeOneLiner, TDocMethodWrapper *guessedMethod)
Write method name with return type ret and parameters param to out.
void DescendHierarchy(std::ostream &out, TClass *basePtr, Int_t maxLines=0, Int_t depth=1)
Descend hierarchy recursively loop over all classes and look for classes with base class basePtr.
TList * fCurrentClassesTypedefs
void MakeTree(Bool_t force=kFALSE)
Create an output file with a graphical representation of the class inheritance.
virtual void WriteClassDescription(std::ostream &out, const TString &description)
Called by TDocParser::LocateMethods(), this hook writes out the class description found by TDocParser...
Bool_t CreateDotClassChartLib(const char *filename)
Build the library dependency graph for one class in GraphViz/Dot format.
Bool_t CreateDotClassChartInh(const char *filename)
Build the class tree for one class in GraphViz/Dot format.
void ClassTree(TVirtualPad *canvas, Bool_t force=kFALSE)
It makes a graphical class tree.
Bool_t CreateDotClassChartIncl(const char *filename)
Build the include dependency graph for one class in GraphViz/Dot format.
TDocParser * fParser
virtual void ListDataMembers(std::ostream &classFile)
Write the list of data members and enums.
TClass * fCurrentClass
void CreateSourceOutputStream(std::ostream &out, const char *extension, TString &filename)
Open a Class.cxx.html file, where Class is defined by classPtr, and .cxx.html by extension It's creat...
virtual void WriteClassDocHeader(std::ostream &classFile)
Write out the introduction of a class description (shortcuts and links)
void Class2Html(Bool_t force=kFALSE)
Create HTML files for a single class.
void CreateClassHierarchy(std::ostream &out, const char *docFileName)
Create the hierarchical class list part for the current class's base classes.
virtual ~TClassDocOutput()
Destructor, deletes fParser.
Bool_t CreateDotClassChartInhMem(const char *filename)
Build the class tree of inherited members for one class in GraphViz/Dot format.
void ClassHtmlTree(std::ostream &out, TClass *classPtr, ETraverse dir=kBoth, int depth=1)
This function builds the class tree for one class in HTML (inherited and succeeding classes,...
TClassDocOutput(THtml &html, TClass *cl, TList *typedefs)
Create an object given the invoking THtml object, and the TClass object that we will generate output ...
Bool_t CreateHierarchyDot()
Create a hierarchical class list The algorithm descends from the base classes and branches into all d...
virtual void ListFunctions(std::ostream &classFile)
Write the list of functions.
Bool_t ClassDotCharts(std::ostream &out)
This function builds the class charts for one class in GraphViz/Dot format, i.e.
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition: TClass.h:80
Legacy ROOT documentation system.
Definition: THtml.h:40
A doubly linked list.
Definition: TList.h:44
Basic string class.
Definition: TString.h:136
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition: TVirtualPad.h:51
static const std::string comment("comment")
Definition: file.py:1