This TableTest class is a simple example of how to use a TGTreeTable.
TableTest inherits from TGMainFrame to create a top level frame to embed the TGTreeTable in. First, the staff.root file is opened to obtain a tree. A TGTreeTable is then created using the tree. In the end, the table is added to the TGMainFrame that is the TableTest and the necessary calls to correctly draw the window are made. For more information about the use of TGTreeTable, see it's documentation.
#include <iostream>
class IDList {
private:
public:
IDList() : nID(0) {}
~IDList() {}
Int_t GetUnID(
void) {
return ++nID ; }
};
private:
IDList fIDs;
public:
virtual ~TableTest() ;
void DoExit() ;
};
:
TGMainFrame(p, w, h), fNTableRows(ntrows), fNTableColumns(ntcols),
fTreeTable(0)
{
Connect("CloseWindow()", "TableTest", this, "DoExit()") ;
DontCallClose() ;
fFile =
new TFile(
"cernstaff.root");
printf("Please run <ROOT location>/tutorials/tree/cernbuild.C first.");
return;
}
TString varexp =
"px:py:pz:random:sin(px):log(px/py):log(pz)";
TString select =
"px>0 && py>0 && pz>0";
SetWindowName("TGTreeTable Test") ;
MapSubwindows() ;
Resize(GetDefaultWidth()+20, 600) ;
MapWindow() ;
} ;
TableTest::~TableTest()
{
Cleanup() ;
}
void TableTest::DoExit()
{
DeleteWindow();
}
TableTest *
test =
new TableTest(0, ntrows, ntcols, 500, 200);
return test->GetTable();
}
- Author
- Roel Aaij 13/07/2007
Definition in file gtreeTableTest.C.