#ifndef ROOT_TClassTree
#define ROOT_TClassTree
#ifndef ROOT_TTnamed
#include "TNamed.h"
#endif
class TClass;
class TObjString;
class TClassTree : public TNamed {
protected:
TString fClasses;
Float_t fYoffset;
Float_t fLabelDx;
Int_t fNclasses;
Int_t fShowCod;
Int_t fShowMul;
Int_t fShowHas;
Int_t fShowRef;
Int_t *fCstatus;
Int_t *fNdata;
Int_t *fParents;
Int_t *fCparent;
char **fDerived;
TClass **fCpointer;
TString **fCnames;
TString **fCtitles;
TString **fOptions;
TString fSourceDir;
TList **fLinks;
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 char *name, const char *classes="");
virtual ~TClassTree();
virtual void Draw(const char *classes ="");
virtual Int_t FindClass(const char *classname);
const char *GetClasses() const {return fClasses.Data();}
virtual const char *GetSourceDir() const {return fSourceDir.Data();}
virtual void ls(Option_t *option="") const;
virtual void Paint(Option_t *option="");
virtual void SaveAs(const char *filename="",Option_t *option="") const;
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)
};
#endif