35 ClassImp(TDrawFeedback);
41 TDrawFeedback::TDrawFeedback(TProof *proof, TSeqCollection *names)
44 fNames =
new THashList;
47 if (proof == 0) proof = gProof;
49 TProof *p =
dynamic_cast<TProof*
>(proof);
51 Error(
"TDrawFeedback",
"no valid proof session found");
55 fName = fProof->GetSessionTag();
57 Bool_t ok = proof->Connect(
"Feedback(TList*)",
"TDrawFeedback",
58 this,
"Feedback(TList*)");
61 Error(
"TDrawFeedback",
"Connect() failed");
68 while((name = dynamic_cast<TObjString*>(next())) != 0) {
69 fNames->Add(
new TNamed(name->GetName(),
""));
80 TDrawFeedback::~TDrawFeedback()
85 ROOT::CallRecursiveRemoveIfNeeded(*
this);
87 fProof->Disconnect(
"Feedback(TList*)",
this,
"Feedback(TList*");
93 void TDrawFeedback::Feedback(TList *objs)
95 TSeqCollection *canvases = gROOT->GetListOfCanvases();
96 TVirtualPad *save = gPad;
98 PDB(kFeedback,1) Info("Feedback","%d Objects", objs->GetSize());
102 while( (o = next()) )
104 TString name = o->GetName();
105 if (fAll || fNames->FindObject(name.Data())) {
107 if (TH1 *h = dynamic_cast<TH1*>(o)) {
114 TVirtualPad *p = (TVirtualPad*) canvases->FindObject(name.Data());
117 gROOT->MakeDefCanvas();
119 PDB(kFeedback,2) Info("Feedback","Created canvas %s", name.Data());
122 PDB(kFeedback,2) Info("Feedback","Used canvas %s", name.Data());
125 h->DrawCopy(fOption);