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