#ifndef ROOT_TClassTree #define ROOT_TClassTree //+SEQ,CopyRight,T=NOINCLUDE. ////////////////////////////////////////////////////////////////////////// // // // TClassTree // // // // Manager class to draw classes inheritance tree and relations // // // ////////////////////////////////////////////////////////////////////////// #ifndef ROOT_TClass //*KEEP,TClass. #include "TClass.h" //*KEND. #endif class TObjString; class TClassTree : public TNamed { protected: TString fClasses; //List of classes to be drawn Float_t fYoffset; //offset at top of picture in per cent of pad Float_t fLabelDx; //width along x of TPaveLabels in per cent of pad Int_t fNclasses; //current number of classes Int_t fShowCod; //if 1 show classes referenced by implementation Int_t fShowMul; //if 1 show multiple inheritance Int_t fShowHas; //if 1 show "has a" relationship Int_t fShowRef; //if 1 show classes relationship other than inheritance Int_t *fCstatus; //classes status Int_t *fNdata; //Number of data members per class Int_t *fParents; //parent number of classes (permanent) Int_t *fCparent; //parent number of classes (temporary) char **fDerived; //table to indicate if i derives from j TClass **fCpointer; //pointers to the TClass objects TString **fCnames; //class names TString **fCtitles; //class titles TString **fOptions; //List of options per class TString fSourceDir; //Concatenated source directories TList **fLinks; //for each class, the list of referenced(ing) classes virtual void FindClassPosition(const char *classname, Float_t &x, Float_t &y); virtual void FindClassesUsedBy(Int_t iclass); virtual void FindClassesUsing(Int_t iclass); virtual void Init(); TObjString *Mark(const char *classname, TList *los, Int_t abit); virtual void PaintClass(Int_t iclass, Float_t xleft, Float_t y); virtual void ScanClasses(Int_t iclass); virtual void ShowCod(); virtual void ShowHas(); virtual void ShowMul(); virtual void ShowRef(); public: TClassTree(); TClassTree(const Text_t *name, const char *classes=""); virtual ~TClassTree(); virtual void Draw(const char *classes =""); virtual Int_t FindClass(const char *classname); const Text_t *GetClasses() const {return fClasses.Data();} virtual const Text_t *GetSourceDir() const {return fSourceDir.Data();} virtual void ls(Option_t *option=""); virtual void Paint(Option_t *option=""); virtual void SaveAs(const char *filename=""); virtual void SetClasses(const char *classes, Option_t *option="ID"); virtual void SetSourceDir(const char *dir="src") {fSourceDir = dir;} virtual void SetYoffset(Float_t offset=0); virtual void SetLabelDx(Float_t labeldx=0.15); virtual void ShowClassesUsedBy(const char *classes); virtual void ShowClassesUsing(const char *classes); virtual void ShowLinks(Option_t *option="HMR"); ClassDef(TClassTree,1) //Manager class to draw classes inheritance tree and relations }; #endif