Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TClassDocOutput.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/html:$Id$
0002 // Author: Axel Naumann 2007-01-09
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TClassDocOutput
0013 #define ROOT_TClassDocOutput
0014 
0015 #include "TDocOutput.h"
0016 
0017 class TDocParser;
0018 class TDocMethodWrapper;
0019 class TList;
0020 
0021 class TClassDocOutput: public TDocOutput {
0022 protected:
0023    enum ETraverse {
0024       kUp, kDown, kBoth        // direction to traverse class tree in ClassHtmlTree()
0025    };
0026 
0027    Int_t          fHierarchyLines; // counter for no. lines in hierarchy
0028    TClass*        fCurrentClass;   // class to generate output for
0029    TList*         fCurrentClassesTypedefs; // typedefs to the current class
0030    TDocParser*    fParser;         // parser we use
0031 
0032    void           ClassHtmlTree(std::ostream &out, TClass *classPtr, ETraverse dir=kBoth, int depth=1);
0033    void           ClassTree(TVirtualPad *canvas, Bool_t force=kFALSE);
0034 
0035    Bool_t         CreateDotClassChartIncl(const char* filename);
0036    Bool_t         CreateDotClassChartInh(const char* filename);
0037    Bool_t         CreateDotClassChartInhMem(const char* filename);
0038    Bool_t         CreateDotClassChartLib(const char* filename);
0039 
0040    Bool_t         CreateHierarchyDot();
0041    void           CreateSourceOutputStream(std::ostream& out, const char* extension, TString& filename);
0042    void           DescendHierarchy(std::ostream &out, TClass* basePtr, Int_t maxLines=0, Int_t depth=1);
0043 
0044    virtual void   ListFunctions(std::ostream& classFile);
0045    virtual void   ListDataMembers(std::ostream& classFile);
0046 
0047    virtual void   WriteClassDocHeader(std::ostream& classFile);
0048    virtual void   WriteMethod(std::ostream & out, TString& ret,
0049                               TString& name, TString& params,
0050                               const char* file, TString& anchor,
0051                               TString& comment, TString& codeOneLiner,
0052                               TDocMethodWrapper* guessedMethod);
0053    virtual void   WriteClassDescription(std::ostream& out, const TString& description);
0054 
0055 public:
0056    TClassDocOutput(THtml& html, TClass* cl, TList* typedefs);
0057    ~TClassDocOutput() override;
0058 
0059    void           Class2Html(Bool_t force=kFALSE);
0060    Bool_t         ClassDotCharts(std::ostream & out);
0061    void           CreateClassHierarchy(std::ostream& out, const char* docFileName);
0062 
0063    void           MakeTree(Bool_t force = kFALSE);
0064 
0065    friend class TDocParser;
0066 
0067    ClassDefOverride(TClassDocOutput, 0); // generates documentation web pages for a class
0068 };
0069 
0070 #endif // ROOT_TClassDocOutput