Missing Layout() in TGLVContainer

From: Philip Rodrigues <p.rodrigues1_at_physics.ox.ac.uk>
Date: Fri, 18 Jul 2008 12:42:37 +0100


Hi roottalk,
There seems to be a missing call to Layout() when adding items to a TGLVContainer. This shows up when browsing a file by calling TFile::Browse() or creating the browser with a pointer to the TFile in the constructor. Example:

  TFile* file0 = new TFile("somefile.root");   TBrowser browser("somename", file0);

The items in the file are shown in the browser over the top of one another. Forcing a re-layout by resizing the window causes the items to be shown in the right places. Another workaround is to call Layout() manually:

  TRootBrowserLite* imp=(TRootBrowserLite*)browser.GetBrowserImp();   TGFileContainer* fc=imp->GetIconBox();   fc->Layout();

I guess the right fix would be to a call to Layout() at the end of TGLVContainer::AddItem(), but I don't have a build I can test this on unfortunately.

Regards,
Philip Received on Fri Jul 18 2008 - 13:42:55 CEST

This archive was generated by hypermail 2.2.0 : Sat Jul 19 2008 - 17:50:01 CEST