// @(#)root/treeviewer:$Id$ //Author : Andrei Gheata 16/08/00 /************************************************************************* * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * * All rights reserved. * * * * For the licensing terms see $ROOTSYS/LICENSE. * * For the list of contributors see $ROOTSYS/README/CREDITS. * *************************************************************************/ #ifndef ROOT_TTreeViewer #define ROOT_TTreeViewer //////////////////////////////////////////////////// // // // TTreeViewer - A GUI oriented tree viewer // // // //////////////////////////////////////////////////// #include "TGFrame.h" #include "TTree.h" class TTVLVContainer; class TTVLVEntry; class TTVSession; class TGSelectBox; class TBranch; class TContextMenu; class TList; class TGPicture; class TTimer; class TGLayoutHints; class TGMenuBar; class TGPopupMenu; class TGToolBar; class TGLabel; class TGCheckButton; class TGComboBox; class TGTextButton; class TGTextEntry; class TGDoubleVSlider; class TGPictureButton; class TGStatusBar; class TGCanvas; class TGListTree; class TGListTreeItem; class TGListView; class TGHProgressBar; class TGButton; class TTreeViewer : public TGMainFrame { friend class TGClient; friend class TGButton; public: /// Item types used as user data enum EListItemType { kLTNoType = 0, kLTPackType = BIT(0), kLTTreeType = BIT(1), kLTBranchType = BIT(2), kLTLeafType = BIT(3), kLTActionType = BIT(4), kLTDragType = BIT(5), kLTExpressionType = BIT(6), kLTCutType = BIT(7) }; private: ///@{ TTree *fTree; ///< Selected tree TTVSession *fSession; ///< Current tree-viewer session const char *fFilename; ///< Name of the file containing the tree const char *fSourceFile; ///< Name of the C++ source file - default treeviewer.C TString fLastOption; ///< Last graphic option TTree *fMappedTree; ///< Listed tree TBranch *fMappedBranch; ///< Listed branch Int_t fDimension; ///< Histogram dimension Bool_t fVarDraw; ///< True if an item is double-clicked Bool_t fScanMode; ///< Flag activated when Scan Box is double-clicked TContextMenu *fContextMenu; ///< Context menu for tree viewer TGSelectBox *fDialogBox; ///< Expression editor TList *fTreeList; ///< List of mapped trees Int_t fTreeIndex; ///< Index of current tree in list const TGPicture *fPicX; ///< Pictures for X expressions const TGPicture *fPicY; ///< Pictures for Y expressions const TGPicture *fPicZ; ///< Pictures for Z expressions const TGPicture *fPicDraw; ///< Pictures for Draw buttons const TGPicture *fPicStop; ///< Pictures for Stop buttons const TGPicture *fPicRefr; ///< Pictures for Refresh buttons ///