Hi Olivier! Thanks for your hint. TLatex is definitely the better choice than TText. Though instead of using splitline, I follow the example1 in the API-doc (http://root.cern.ch/root/html/TLatex.html) TCanvas c1("c1","Latex",600,700); TLatex l; l.SetTextAlign(12); l.SetTextSize(0.04); l.DrawLatex(0.1,0.8,"1) C(x) (...)); l.DrawLatex(0.1,0.6,"2) C(x) (...)); l.DrawLatex(0.1,0.4,"3) R = |(...)); l.DrawLatex(0.1,0.2,"4) F(t) (...)); } However, if you/ anybody is still interested: I get a segmentation violation with the following strSQLstring: strSQLstring="SELECT total_number_pulls AS total_number_pulls_lc_HSA_DT, count( ID ) FROM ( SELECT M.ID, count( pullforce ) AS total_number_pulls FROM pt_main AS M, pt_rawdata AS R WHERE M.ID = R.ID AND M.status = R.status AND M.status =1 AND M.batch LIKE '%lc_HSA_DT' GROUP BY M.ID HAVING count( pullforce ) >1 ) AS Z GROUP BY total_number_pulls" > TPaveText *SQLLabel=new TPaveText(.02,.02,.98,.98, "NDC"); > TText *t1= SQLLabel->AddText(strSQLstring.c_str()); (see in the posting from 16.Apr, below) However, it works with a smaller/ shorter strSQLstring. This led me to believe , that TText has a maximum capacity. Thanks, Olivier and cheers, Bernd. -----Original Message----- From: Olivier Couet Sent: Mon 4/19/2004 10:53 AM To: Bernd Reinhold Cc: Roottalk Subject: Re: [ROOT] auto-wrapping Hi, TLatex support the text splitting. Try: { gROOT->Reset(); TCanvas *c1 = new TCanvas("c1","splittext",600,600); TLatex l(0.5,0.5,"#splitline{First line}{Second line}"); l.SetTextFont(42); l.SetTextSize(0.05); l.Draw(); } I have tried the following example to simulate the seg fault you get with long text but for me it work (ROOT 4.00/03 on linux) { gROOT->Reset(); TCanvas *c1 = new TCanvas("c1","longtext",600,600); TText t(0.1,0.5,"ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"); t.SetTextFont(42); t.SetTextSize(0.015); t.Draw(); } Cheers, Olivier On Fri, 16 Apr 2004, Bernd REINHOLD wrote: > Hi! > > I'd like to display a TText within a TPad. But the TText is bigger than > TPad. Is there something like an option 'auto-wrap'? Does TText display > text only in one line? Is there a multiple-line version of TText? > I tried to use TPaveText, also, but didn't succeed. (see below for the > code I used, probably you can give me some hints for improvement) > > And: Is there a limit for the length of the (C)string, that TText can > take (I got a segmentation violation) with a longer Cstring. > > I use root 3.10.02 an CERN RedHat 7.3... > > > the code: I tried different variations of that... > SQL_Date is a subpad of a canvas (this works) > TPad *SQL_Date = new TPad("SQL_Date", "SQL and date",.02,.3,.98,.49); > SQL_Date->Draw(); > SQL_Date->cd(); > > TPaveText *SQLLabel=new TPaveText(.02,.02,.98,.98, "NDC"); > TText *t1= SQLLabel->AddText(strSQLstring.c_str()); > t1->SetTextSize(0.07); > SQLLabel->Draw(); > t1->Draw(); > SQL_Date->Update(); > SQL_Date->Modified(); > c1->Update(); > > found now, that this might be due to the textColor (white!!!). Now I can > see the t1, but still it is a TText, still it's only one line... > > another try: > TPad *SQL_Date = new TPad("SQL_Date", "SQL and date",.02,.3,.98,.49); > SQL_Date->Draw(); > SQL_Date->cd(); > > TText* Comment=new TText(0.04,0.2, strComment.c_str()); > Comment->SetTextSize(0.07); > Comment->Draw(); > SQL_Date->Modified(); > c1->Update(); > > this drew both SQL_Date and inside the Comment, but it was too long (no > auto-wrap) > > -- Org: CERN - European Laboratory for Particle Physics. Mail: 1211 Geneve 23 - Switzerland Mailbox: J25910 E-Mail: Olivier.Couet@cern.ch Phone: +41 22 7676522 WWW: http://cern.ch/Olivier.Couet/ Fax: +41 22 7677155
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:07 MET