#ifndef ROOT_TGeoTabManager
#define ROOT_TGeoTabManager
#ifndef ROOT_TObject
#include "TObject.h"
#endif
#include "TMap.h"
class TVirtualPad;
class TClass;
class TList;
class TGCompositeFrame;
class TGLabel;
class TGTab;
class TGComboBox;
class TGListTree;
class TGListTreeItem;
class TGCanvas;
class TGedEditor;
class TGeoShape;
class TGeoVolume;
class TGeoMedium;
class TGeoMaterial;
class TGeoMatrix;
class TGeoTreeDialog;
class TGeoTransientPanel;
class TGeoTabManager : public TObject {
  friend class TGeoManagerEditor;
private:
   TGedEditor          *fGedEditor;         
   TVirtualPad         *fPad;               
   TGTab               *fTab;               
   TGeoVolume          *fVolume;            
   TGeoTransientPanel  *fShapePanel;        
   TGeoTransientPanel  *fMediumPanel;       
   TGeoTransientPanel  *fMaterialPanel;     
   TGeoTransientPanel  *fMatrixPanel;       
   TGCompositeFrame    *fVolumeTab;         
   static TMap         fgEditorToMgrMap;    
   void                GetEditors(TClass *cl);
public:
   TGeoTabManager(TGedEditor *ged);
   virtual ~TGeoTabManager();
   static TGeoTabManager *GetMakeTabManager(TGedEditor *ged); 
   static void         Cleanup(TGCompositeFrame *frame);  
   TVirtualPad        *GetPad() const {return fPad;}
   TGTab              *GetTab() const {return fTab;}
   Int_t               GetTabIndex() const;
   static void         MoveFrame(TGCompositeFrame *fr, TGCompositeFrame *p);
   void                SetVolTabEnabled(Bool_t flag=kTRUE);
   void                SetModel(TObject *model);
   void                SetTab();
   
   void                GetShapeEditor(TGeoShape *shape);
   void                GetVolumeEditor(TGeoVolume *vol);
   void                GetMatrixEditor(TGeoMatrix *matrix);
   void                GetMediumEditor(TGeoMedium *medium);
   void                GetMaterialEditor(TGeoMaterial *material);
   TGCompositeFrame   *GetVolumeTab() const {return fVolumeTab;}
   TGeoVolume         *GetVolume() const {return fVolume;}
   ClassDef(TGeoTabManager, 0)   
};
class TGeoTreeDialog : public TGTransientFrame {
protected:
   static TObject     *fgSelectedObj;       
   TGCanvas           *fCanvas;             
   TGLabel            *fObjLabel;           
   TGListTree         *fLT;                 
   TGCompositeFrame   *f1;                  
   TGTextButton       *fClose;              
   virtual void        BuildListTree() = 0;
   virtual void        ConnectSignalsToSlots() = 0;
public:
   TGeoTreeDialog(TGFrame *caller, const TGWindow *main, UInt_t w = 1, UInt_t h = 1);
   virtual ~TGeoTreeDialog();
   
   static TObject     *GetSelected() {return fgSelectedObj;}
   
   virtual void        DoClose() = 0;
   virtual void        DoItemClick(TGListTreeItem *item, Int_t btn) = 0;
   void                DoSelect(TGListTreeItem *item);
   ClassDef(TGeoTreeDialog, 0)   
};
class TGeoVolumeDialog : public TGeoTreeDialog {
protected:
   virtual void        BuildListTree();
   virtual void        ConnectSignalsToSlots();
public:
   TGeoVolumeDialog(TGFrame *caller, const TGWindow *main, UInt_t w = 1, UInt_t h = 1);
   virtual ~TGeoVolumeDialog() {;}
   
   
   virtual void        DoClose();
   virtual void        DoItemClick(TGListTreeItem *item, Int_t btn);
   ClassDef(TGeoVolumeDialog, 0)   
};
class TGeoShapeDialog : public TGeoTreeDialog {
protected:
   virtual void        BuildListTree();
   virtual void        ConnectSignalsToSlots();
public:
   TGeoShapeDialog(TGFrame *caller, const TGWindow *main, UInt_t w = 1, UInt_t h = 1);
   virtual ~TGeoShapeDialog() {;}
   
   
   virtual void        DoClose();
   virtual void        DoItemClick(TGListTreeItem *item, Int_t btn);
   ClassDef(TGeoShapeDialog, 0)   
};
class TGeoMediumDialog : public TGeoTreeDialog {
protected:
   virtual void        BuildListTree();
   virtual void        ConnectSignalsToSlots();
public:
   TGeoMediumDialog(TGFrame *caller, const TGWindow *main, UInt_t w = 1, UInt_t h = 1);
   virtual ~TGeoMediumDialog() {;}
   
   
   virtual void        DoClose();
   virtual void        DoItemClick(TGListTreeItem *item, Int_t btn);
   ClassDef(TGeoMediumDialog, 0)   
};
class TGeoMaterialDialog : public TGeoTreeDialog {
protected:
   virtual void        BuildListTree();
   virtual void        ConnectSignalsToSlots();
public:
   TGeoMaterialDialog(TGFrame *caller, const TGWindow *main, UInt_t w = 1, UInt_t h = 1);
   virtual ~TGeoMaterialDialog() {;}
   
   
   virtual void        DoClose();
   virtual void        DoItemClick(TGListTreeItem *item, Int_t btn);
   ClassDef(TGeoMaterialDialog, 0)   
};
class TGeoMatrixDialog : public TGeoTreeDialog {
protected:
   virtual void        BuildListTree();
   virtual void        ConnectSignalsToSlots();
public:
   TGeoMatrixDialog(TGFrame *caller, const TGWindow *main, UInt_t w = 1, UInt_t h = 1);
   virtual ~TGeoMatrixDialog() {;}
   
   
   virtual void        DoClose();
   virtual void        DoItemClick(TGListTreeItem *item, Int_t btn);
   ClassDef(TGeoMatrixDialog, 0)   
};
class TGeoTransientPanel : public TGMainFrame {
   TGedEditor       *fGedEditor;        
   TGCanvas         *fCan;              
   TGTab            *fTab;              
   TGCompositeFrame *fTabContainer;     
   TGCompositeFrame *fStyle;            
   TObject          *fModel;            
   TGTextButton     *fClose;            
   
public:
   TGeoTransientPanel(TGedEditor* ged, const char *name, TObject *obj);
   virtual ~TGeoTransientPanel();
   
   virtual void        CloseWindow();
   virtual void        DeleteEditors();
   
   TGTab              *GetTab() const {return fTab;}
   TGCompositeFrame   *GetStyle() const {return fStyle;}
   TObject            *GetModel() const {return fModel;}
   void                GetEditors(TClass *cl);
   virtual void        Hide();
   virtual void        Show();
   void                SetModel(TObject *model);
   ClassDef(TGeoTransientPanel, 0)   
};
#endif
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.