TClassDocOutput.h

Go to the documentation of this file.
00001 // @(#)root/html:$Id: TClassDocOutput.h 31111 2009-11-12 09:57:56Z axel $
00002 // Author: Axel Naumann 2007-01-09
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TClassDocOutput
00013 #define ROOT_TClassDocOutput
00014 
00015 #ifndef ROOT_TDocOutput
00016 #include "TDocOutput.h"
00017 #endif
00018 
00019 class TDocParser;
00020 class TDocMethodWrapper;
00021 
00022 class TClassDocOutput: public TDocOutput {
00023 protected:
00024    enum ETraverse {
00025       kUp, kDown, kBoth        // direction to traverse class tree in ClassHtmlTree()
00026    };
00027 
00028    Int_t          fHierarchyLines; // counter for no. lines in hierarchy
00029    TClass*        fCurrentClass;   // class to generate output for
00030    TList*         fCurrentClassesTypedefs; // typedefs to the current class
00031    TDocParser*    fParser;         // parser we use
00032 
00033    void           ClassHtmlTree(std::ostream &out, TClass *classPtr, ETraverse dir=kBoth, int depth=1);
00034    void           ClassTree(TVirtualPad *canvas, Bool_t force=kFALSE);
00035 
00036    Bool_t         CreateDotClassChartIncl(const char* filename);
00037    Bool_t         CreateDotClassChartInh(const char* filename);
00038    Bool_t         CreateDotClassChartInhMem(const char* filename);
00039    Bool_t         CreateDotClassChartLib(const char* filename);
00040 
00041    Bool_t         CreateHierarchyDot();
00042    void           CreateSourceOutputStream(std::ostream& out, const char* extension, TString& filename);
00043    void           DescendHierarchy(std::ostream &out, TClass* basePtr, Int_t maxLines=0, Int_t depth=1);
00044 
00045    virtual void   ListFunctions(std::ostream& classFile);
00046    virtual void   ListDataMembers(std::ostream& classFile);
00047 
00048    virtual void   WriteClassDocHeader(std::ostream& classFile);
00049    virtual void   WriteMethod(std::ostream & out, TString& ret, 
00050                               TString& name, TString& params,
00051                               const char* file, TString& anchor,
00052                               TString& comment, TString& codeOneLiner,
00053                               TDocMethodWrapper* guessedMethod);
00054    virtual void   WriteClassDescription(std::ostream& out, const TString& description);
00055 
00056 public:
00057    TClassDocOutput(THtml& html, TClass* cl, TList* typedefs);
00058    virtual ~TClassDocOutput();
00059 
00060    void           Class2Html(Bool_t force=kFALSE);
00061    Bool_t         ClassDotCharts(std::ostream & out);
00062    void           CreateClassHierarchy(std::ostream& out, const char* docFileName);
00063 
00064    void           MakeTree(Bool_t force = kFALSE);
00065 
00066    friend class TDocParser;
00067 
00068    ClassDef(TClassDocOutput, 0); // generates documentation web pages for a class
00069 };
00070 
00071 #endif // ROOT_TClassDocOutput

Generated on Tue Jul 5 14:24:41 2011 for ROOT_528-00b_version by  doxygen 1.5.1