// Author: Roel Aaij 30/08/2007

/*************************************************************************
 * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#include "TGTable.h"
#include "TClass.h"
#include "TGWindow.h"
#include "TGResourcePool.h"
#include "Riostream.h"
#include "TSystem.h"
#include "TImage.h"
#include "TEnv.h"
#include "TGToolTip.h"
#include "TGPicture.h"
#include "TRandom3.h"
#include "TTreeTableInterface.h"
#include "TGTreeTable.h"

ClassImp(TGTreeTable)

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGTreeTable                                                          //
//                                                                      //
// TGTreeTable is a TGTable that owns it's own interface, it            //
// can be used to view a TTree. If an expression is given to the        //
// constuctor, it will be used to define the columns. A selection can   //
// also be given. This selection is applied to the TTree as a           //
// TEntryList. See the documentation of TGTable for more information    //
//                                                                      //
// The interface is accesible after the creation through the            //
// GetInterface() method.                                               //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

//______________________________________________________________________________
TGTreeTable::TGTreeTable(TGWindow *p, Int_t id, TTree *tree,
                         const char *expression, const char *selection,
                         const char *option, UInt_t nrows, UInt_t ncolumns)
   : TGTable(p, id, 0, nrows, ncolumns)
{
   // TGTreeTable constructor.

   TTreeTableInterface *iface = new TTreeTableInterface(tree, expression,
                                                        selection, option);
   SetInterface(iface, nrows, ncolumns);
   Update();
}

//______________________________________________________________________________
TGTreeTable::~TGTreeTable()
{
   // TGTreeTable destructor.

   //FIXME this causes a double delete segfault, why???
//    delete fInterface;
}

 TGTreeTable.cxx:1
 TGTreeTable.cxx:2
 TGTreeTable.cxx:3
 TGTreeTable.cxx:4
 TGTreeTable.cxx:5
 TGTreeTable.cxx:6
 TGTreeTable.cxx:7
 TGTreeTable.cxx:8
 TGTreeTable.cxx:9
 TGTreeTable.cxx:10
 TGTreeTable.cxx:11
 TGTreeTable.cxx:12
 TGTreeTable.cxx:13
 TGTreeTable.cxx:14
 TGTreeTable.cxx:15
 TGTreeTable.cxx:16
 TGTreeTable.cxx:17
 TGTreeTable.cxx:18
 TGTreeTable.cxx:19
 TGTreeTable.cxx:20
 TGTreeTable.cxx:21
 TGTreeTable.cxx:22
 TGTreeTable.cxx:23
 TGTreeTable.cxx:24
 TGTreeTable.cxx:25
 TGTreeTable.cxx:26
 TGTreeTable.cxx:27
 TGTreeTable.cxx:28
 TGTreeTable.cxx:29
 TGTreeTable.cxx:30
 TGTreeTable.cxx:31
 TGTreeTable.cxx:32
 TGTreeTable.cxx:33
 TGTreeTable.cxx:34
 TGTreeTable.cxx:35
 TGTreeTable.cxx:36
 TGTreeTable.cxx:37
 TGTreeTable.cxx:38
 TGTreeTable.cxx:39
 TGTreeTable.cxx:40
 TGTreeTable.cxx:41
 TGTreeTable.cxx:42
 TGTreeTable.cxx:43
 TGTreeTable.cxx:44
 TGTreeTable.cxx:45
 TGTreeTable.cxx:46
 TGTreeTable.cxx:47
 TGTreeTable.cxx:48
 TGTreeTable.cxx:49
 TGTreeTable.cxx:50
 TGTreeTable.cxx:51
 TGTreeTable.cxx:52
 TGTreeTable.cxx:53
 TGTreeTable.cxx:54
 TGTreeTable.cxx:55
 TGTreeTable.cxx:56
 TGTreeTable.cxx:57
 TGTreeTable.cxx:58
 TGTreeTable.cxx:59
 TGTreeTable.cxx:60
 TGTreeTable.cxx:61
 TGTreeTable.cxx:62
 TGTreeTable.cxx:63
 TGTreeTable.cxx:64