00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "Riostream.h"
00012 #include "TROOT.h"
00013 #include "Buttons.h"
00014 #include "TPaveClass.h"
00015
00016 ClassImp(TPaveClass)
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 TPaveClass::TPaveClass(): TPaveLabel()
00031 {
00032
00033
00034 fClassTree = 0;
00035 }
00036
00037
00038
00039 TPaveClass::TPaveClass(Double_t x1, Double_t y1,Double_t x2, Double_t y2, const char *label, TClassTree *classtree)
00040 :TPaveLabel(x1,y1,x2,y2,label,"br")
00041 {
00042
00043
00044 fClassTree = classtree;
00045 SetName(label);
00046 SetTextFont(61);
00047 }
00048
00049
00050
00051 TPaveClass::~TPaveClass()
00052 {
00053
00054 }
00055
00056
00057
00058 TPaveClass::TPaveClass(const TPaveClass &PaveClass) : TPaveLabel(PaveClass)
00059 {
00060
00061
00062 ((TPaveClass&)PaveClass).Copy(*this);
00063 }
00064
00065
00066
00067 void TPaveClass::Copy(TObject &obj) const
00068 {
00069
00070
00071 TPaveLabel::Copy(obj);
00072 ((TPaveClass&)obj).fClassTree = fClassTree;
00073 }
00074
00075
00076
00077 void TPaveClass::DrawClasses(const char *classes)
00078 {
00079
00080
00081 if (!fClassTree) return;
00082 if (!strcmp(classes,"this")) fClassTree->Draw(GetName());
00083 else fClassTree->Draw(classes);
00084 }
00085
00086
00087
00088 void TPaveClass::SaveAs(const char *filename, Option_t *option) const
00089 {
00090
00091
00092 if (!fClassTree) return;
00093 fClassTree->SaveAs(filename,option);
00094 }
00095
00096
00097
00098 void TPaveClass::SetClasses(const char *classes, Option_t *option)
00099 {
00100
00101
00102 if (!fClassTree) return;
00103 if (!strcmp(classes,"this")) fClassTree->SetClasses(GetName(),option);
00104 else fClassTree->SetClasses(classes,option);
00105 }
00106
00107
00108
00109 void TPaveClass::ShowLinks(Option_t *option)
00110 {
00111
00112
00113
00114
00115
00116
00117
00118 if (!fClassTree) return;
00119 fClassTree->ShowLinks(option);
00120 }
00121
00122
00123
00124 void TPaveClass::ShowClassesUsedBy(const char *classes)
00125 {
00126
00127
00128 if (!fClassTree) return;
00129 if (!strcmp(classes,"this")) fClassTree->ShowClassesUsedBy(GetName());
00130 else fClassTree->ShowClassesUsedBy(classes);
00131 }
00132
00133
00134
00135 void TPaveClass::ShowClassesUsing(const char *classes)
00136 {
00137
00138
00139 if (!fClassTree) return;
00140 if (!strcmp(classes,"this")) fClassTree->ShowClassesUsing(GetName());
00141 else fClassTree->ShowClassesUsing(classes);
00142 }
00143
00144
00145
00146 void TPaveClass::SavePrimitive(ostream &out, Option_t * )
00147 {
00148
00149
00150 char quote = '"';
00151 out<<" "<<endl;
00152 if (gROOT->ClassSaved(TPaveClass::Class())) {
00153 out<<" ";
00154 } else {
00155 out<<" TPaveClass *";
00156 }
00157 out<<"pclass = new TPaveClass("<<fX1<<","<<fY1<<","<<fX2<<","<<fY2
00158 <<","<<quote<<fLabel<<quote<<","<<quote<<fOption<<quote<<");"<<endl;
00159
00160 SaveFillAttributes(out,"pclass",0,1001);
00161 SaveLineAttributes(out,"pclass",1,1,1);
00162 SaveTextAttributes(out,"pclass",22,0,1,62,0);
00163
00164 out<<" pclass->Draw();"<<endl;
00165 }