RE: [ROOT] how to change the "title" of a pad

From: Philippe Canal (pcanal@fnal.gov)
Date: Mon Mar 04 2002 - 17:35:36 MET


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