/// \file /// \ingroup tutorial_gui /// Example of using signal/slot in TCanvas/TPad to get feedback about processed events. /// Note that slots can be either functions or class methods. /// Compare this with tutorials $ROOTSYS/tutorials/hist/exec1.C and $ROOTSYS/tutorials/hist/exec2.C. /// /// \macro_code /// /// \author Ilka Antcheva #include #include #include #include "TROOT.h" void exec3_Rafo() { // Temporary work around the lack of automatic refresh of the list // when a script is reloaded. gROOT->GetListOfGlobalFunctions()->Delete(); TArc circ1; TH1F *h = new TH1F("h","h",100,-3,3); h->FillRandom("gaus",1000); TCanvas *c1=new TCanvas("c1"); c1->Divide(2, 1); c1->cd(1); TCanvas *p1 = (TCanvas*)c1->GetPrimitive("c1_1"); TCanvas *p2 = (TCanvas*)c1->GetPrimitive("c1_2"); h->Draw(); c1->cd(2)->Clear(); c1->cd(2)->DrawFrame(-200., 220., 200., 550.); circ1.DrawArc(-100., 300, 4.5); circ1.DrawArc(150., 450, 2.5); c1->Update(); } void exec3event(Int_t event, Int_t x, Int_t y, TObject *selected) { TCanvas *c = (TCanvas *) gTQSender; printf("Canvas %s: event=%d, x=%d, y=%d, selected=%s\n", c->GetName(), event, x, y, selected->IsA()->GetName()); }