Hi Jacek,
The problem you are observing is related to the order of execution of
'cd','Update' and 'DrawClone'.
A safe work-around of to add
c1->Modified();c1->Update();
after each 'cd'.
We will be adding a permanent fix soon.
Cheers,
Philippe.
-----Original Message-----
From: owner-roottalk@pcroot.cern.ch
[mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Jacek M. Holeczek
Sent: Monday, March 04, 2002 4:00 AM
To: RootTalk
Subject: RE: [ROOT] how to change the "title" of a pad
> Sorrowfully I am not able to reproduce the problem. I tried with
Try this ("root [0] .x blah.cxx"):
----------
void blah(void)
{
TPaveText *p = (TPaveText *)0;
Float_t x[3] = {1,2,3};
Float_t y1[3] = {10,20,30};
Float_t y2[3] = {11,22,33};
TGraph *g1 = new TGraph(3, x, y1);
TGraph *g2 = new TGraph(3, x, y2);
TMultiGraph *mg = new TMultiGraph("MM","MyMulti Pad");
mg->Add(g1);
mg->Add(g2);
TCanvas *c1 = new TCanvas();
c1->Divide(1,2);
c1_1->cd();
mg->DrawClone("A");
g1->Draw("L");
c1_1->Update();
//if ((p = ((TPaveText *)(gPad->FindObject("title")))) != 0)
// {
// p->Clear(); p->InsertLine(); p->InsertText("First Pad");
// }
c1_1->Modified();
c1_2->cd();
mg->DrawClone("A");
g2->Draw("L");
c1_2->Update();
//if ((p = ((TPaveText *)(gPad->FindObject("title")))) != 0)
// {
// p->Clear(); p->InsertLine(); p->InsertText("Second Pad");
// }
c1_2->Modified();
c1->Update();
return;
}
----------
Then replace "DrawClone" with "Draw", to see the proper result.
My ROOT is 3.02/07 on a RH6.2/i386 with egcs-1.1.2
Jacek.
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:43 MET