Hi Brett, thanks for reporting a bug. Will be fixed shortly. Regards. Valeriy ----- Original Message ----- From: "Brett Viren" <bv@bnl.gov> To: "ROOT-TALK ML" <roottalk@pcroot.cern.ch> Sent: Monday, January 27, 2003 11:00 PM Subject: [ROOT] TGListTree pointer not spatially synced, font related? > Hi, > > I find that when clicking in TGListTree, the location of the pointer > on the screen is different from where the TGListTree thinks it is. > This makes it very difficult to open/close folders as one has to guess > where to click. > > The loss of sync gets worse as one clicks further towards the end of a > long list. For example, in the attached code, in order to open/close > the last folder ("nine/nine") I must click on "nine/four". > > The fonts used apparently affect things. I normally have the > following in my ~/.rootrc: > > Unix.*.Gui.NormalFont: -adobe-helvetica-medium-r-*-*-18-*-*-*-*-*-iso8859-1 > Unix.*.Gui.BoldFont: -adobe-helvetica-bold-r-*-*-18-*-*-*-*-*-iso8859-1 > Unix.*.Gui.SmallFont: -adobe-helvetica-medium-r-*-*-16-*-*-*-*-*-iso8859-1 > Unix.*.Gui.ProportionalFont: -adobe-courier-medium-r-*-*-18-*-*-*-*-*-iso8859-1 > > If I take this out, TGListTree behaves normally, even with a very long > list (max_dummy set to 10 in the test code). > > -Brett. > > -------------------------------------------------------------------------------- > // make a longish list tree. Run via: > // shell> root tt.C++ > #include <TGFrame.h> > #include <TGListTree.h> > #include <TGCanvas.h> > #include <iostream> > using namespace std; > > TGMainFrame* mf = 0; > const char* label[] = { > "zero", > "one", > "two", > "three", > "four", > "five", > "six", > "seven", > "eight", > "nine", > 0 > }; > > void tt() > { > > mf = new TGMainFrame(gClient->GetRoot(),300,300); > > TGCanvas* can = new TGCanvas(mf,10,10); > TGListTree* tt = new TGListTree(can,kHorizontalFrame); > tt->Associate(mf); > > mf->AddFrame(can,new TGLayoutHints(kLHintsExpandX|kLHintsExpandY)); > > const int max_dummy = 1; > for (int dummy=0; dummy<max_dummy; ++dummy) { > for (int j=0; label[j]; ++j) { > cerr << "Adding: " << label[j] << endl; > TGListTreeItem* item = tt->AddItem(0,label[j]); > for (int i=0; label[i]; ++i) { > tt->AddItem(item,label[i]); > } > tt->OpenItem(item); > } > } > > mf->MapSubwindows(); > cerr << "Mapped sub windows\n"; > mf->Layout(); > cerr << "Layed out\n"; > mf->Resize(mf->GetDefaultSize()); > cerr << "Resized\n"; > mf->MapWindow(); > cerr << "Done\n"; > } >
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:08 MET