Hi Henrique, On Wed, 27 Mar 2002, Henrique de Melo Jorge Barbosa wrote: > > Dear root masters, > > I found something at least peculiar in the behaviour of TCanvas within > cint interpreter: > > 1) when I create a TCanvas object with: > > t = new TCanvas("","",100,100); > Setting both name and title to blank sets the canvas in batch mode. No window is created on the screen. > the canvas is not created, but if I type: > > t2 = new TCanvas("name","title",100,100); > > the canvas is really created. (it appears on the screen) > > 2) Now suppose I want to divide the canvas t2 into two, without > space inbetween and both on the same line, then I have to do: > > t2->Divide(2,1,0.,0.); > > But then I have no access to the pads: > > t2_1->cd(); // or > c1_1->cd(); WRONG! You have named your canvas "name". You must be consistent. Your pads will be named "name_1", "name_2". Note that (as explained in the doc) it is more convenient to do: t2->cd(1); t2->cd(2); > > both commands returns error messages. > > 3) To get tcanvas::divide to work, one must create the canvas with: > > t3 = new TCanvas(); > This is a special case when invoking the default constructor. This is a typical short command to create a canvas automatically named "c1". I agree that this may look somehow inconsistent with new TCanvas("","",100,100), but we assume that if a user sets explicitely the name and the title to blank, he understands what he does. > and then one have no control over the dimensions (w x h) but the > TCanvas::Divide works fine. Well, not so fine: > > 4) why the pads are named c1_1 and c1_2.... and not t3_1 and t3_2?? > Naming all divided pads with c1_[index] make it not possible, for > exemple, to divide two canvas that exist at the sametime. What > happens is that the second divided canvas does not respond to c1_1->cd(). > already answered above. We give plenty of examples in the tutorials. Rene Brun > > I know that it is most probably that I am missing something, but I > could not figure out what. I am using linux redhat 7, and I tried it with > root3.02/06 and root 3.03. > > I am sending attached a macro with the commands I have described > and its result from within the interpreter. I hope it is of some > help. > > thanks, > > Henrique Barbosa > -------------------- > Campinas - Brasil > The Pierre Auger Observatory > > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:47 MET