Logo ROOT   6.18/05
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 "Rtypes.h"
16#include "TDocOutput.h"
17
18class TDocParser;
20class TList;
21
23protected:
24 enum ETraverse {
25 kUp, kDown, kBoth // direction to traverse class tree in ClassHtmlTree()
26 };
27
28 Int_t fHierarchyLines; // counter for no. lines in hierarchy
29 TClass* fCurrentClass; // class to generate output for
30 TList* fCurrentClassesTypedefs; // typedefs to the current class
31 TDocParser* fParser; // parser we use
32
33 void ClassHtmlTree(std::ostream &out, TClass *classPtr, ETraverse dir=kBoth, int depth=1);
34 void ClassTree(TVirtualPad *canvas, Bool_t force=kFALSE);
35
36 Bool_t CreateDotClassChartIncl(const char* filename);
37 Bool_t CreateDotClassChartInh(const char* filename);
38 Bool_t CreateDotClassChartInhMem(const char* filename);
39 Bool_t CreateDotClassChartLib(const char* filename);
40
42 void CreateSourceOutputStream(std::ostream& out, const char* extension, TString& filename);
43 void DescendHierarchy(std::ostream &out, TClass* basePtr, Int_t maxLines=0, Int_t depth=1);
44
45 virtual void ListFunctions(std::ostream& classFile);
46 virtual void ListDataMembers(std::ostream& classFile);
47
48 virtual void WriteClassDocHeader(std::ostream& classFile);
49 virtual void WriteMethod(std::ostream & out, TString& ret,
50 TString& name, TString& params,
51 const char* file, TString& anchor,
52 TString& comment, TString& codeOneLiner,
53 TDocMethodWrapper* guessedMethod);
54 virtual void WriteClassDescription(std::ostream& out, const TString& description);
55
56public:
57 TClassDocOutput(THtml& html, TClass* cl, TList* typedefs);
58 virtual ~TClassDocOutput();
59
60 void Class2Html(Bool_t force=kFALSE);
61 Bool_t ClassDotCharts(std::ostream & out);
62 void CreateClassHierarchy(std::ostream& out, const char* docFileName);
63
64 void MakeTree(Bool_t force = kFALSE);
65
66 friend class TDocParser;
67
68 ClassDef(TClassDocOutput, 0); // generates documentation web pages for a class
69};
70
71#endif // ROOT_TClassDocOutput
int Int_t
Definition: RtypesCore.h:41
const Bool_t kFALSE
Definition: RtypesCore.h:88
bool Bool_t
Definition: RtypesCore.h:59
#define ClassDef(name, id)
Definition: Rtypes.h:326
char name[80]
Definition: TGX11.cxx:109
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:75
Definition: THtml.h:40
A doubly linked list.
Definition: TList.h:44
Basic string class.
Definition: TString.h:131
TVirtualPad is an abstract base class for the Pad and Canvas classes.
Definition: TVirtualPad.h:50
Definition: file.py:1