]> git.uio.no Git - u/mrichter/AliRoot.git/blob - AliGeant3/AliGuiGeomMain.h
Remove compilation of grndmq
[u/mrichter/AliRoot.git] / AliGeant3 / AliGuiGeomMain.h
1 #ifndef ALIGUIGEOMMAIN_H
2 #define ALIGUIGEOMMAIN_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 #include "TClonesArray.h"
9 #include "TGFrame.h"
10 #include "TGListTree.h"
11 #include "TGComboBox.h"
12
13
14 class TGTab;
15 class TGMenuBar;
16 class TGPopupMenu;
17 class TGTextBuffer;
18 class TGTextEntry;
19 class TGLabel;
20 class TGTextButton;
21 class AliNode;
22 class TObjArray;
23 class TFolder;
24
25 class AliG3Material;
26 class AliG3Medium;
27 class AliGuiGeomDialog;
28 class AliG3Volume;
29
30 class AliGuiGeomMain : public TGMainFrame {
31  public:
32     AliGuiGeomMain(const TGWindow *p, UInt_t w, UInt_t h);
33     virtual ~AliGuiGeomMain();
34     // Destroy the main window
35     virtual void CloseWindow();
36     // Add item to ListTree
37     virtual TGListTreeItem *
38         AddItem(TObject *obj, TGListTreeItem* parent,
39                 const char* name,
40                 const TGPicture* open, const TGPicture* closed);
41     // Add Material to ComboBox
42     virtual void AddMaterial(AliG3Material *Material, Int_t i);
43     // Add Medium to ComboBox
44     virtual void AddMedium(AliG3Medium *Medium, Int_t i);
45     // Process messages from this window
46     virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
47     // Update widgets
48     virtual void Update();
49     // Update ComboBoxes
50     virtual void UpdateCombo();
51     virtual void UpdateListBox();
52     // Relate objects to ComboEntries
53     // Currently ComboBox Entries are strings only, hence we need this construction
54     virtual void SetMaterialComboEntries(TClonesArray *entries);
55     virtual void SetMediaComboEntries(TClonesArray *entries);
56     virtual void AddFoldersRecursively(TFolder* folder=0, TGListTreeItem* parent=NULL);
57     virtual void Plot();
58 private:
59     TGTab              *fTab;           // Contains Tab entries: volumes, materials..
60     TGCanvas           *fCanvasWindow;  // Canvas window for list tree
61     TGCompositeFrame   *fF2, *fF21, *fF3, *fF31, *fF4, *fF5;      // Frames for combos
62     TGCompositeFrame   *fF6, *fF61, *fF62, *fF63;                 // Frames for combos
63     TGListTree         *fLt;                                      // Volumes list tree
64     TGMenuBar          *fMenuBar;                                 // Menu bar: File, Draw Control ...
65     TGPopupMenu        *fMenuFile, *fMenuTest, *fMenuHelp;        // Pop-up menus
66     TGLayoutHints      *fMenuBarItemLayout, *fMenuBarHelpLayout,  // Lay-out hints
67                        *fMenuBarLayout, fLTab;                    // Lay-out hints
68     TGLayoutHints      *fL2;                                      // Lay-out hints
69     AliGuiGeomDialog   *fDialog;                                  //! no output please
70     TGComboBox         *fMaterialCombo;                           // Material  combo box
71     TGComboBox         *fMechanismCombo;                          // Mechanism combo box
72     TGComboBox         *fMediaCombo, *fParticleCombo;             // Media and particle combo boxes
73     TGListBox          *fProcessLB, *fCutsLB;                     // List boxes for cuts and processes
74     TClonesArray       *fComboMaterialEntries;                    // List of materials
75     TClonesArray       *fComboMediaEntries;                       // List of media
76     TGHorizontalFrame  *fHframe[6],*fHframeM[8];                  // sub frames 
77     TGTextBuffer       *fTbh[6], *fTbhM[8], *fTbh61, *fTbh62, *fTbh63;  // text frames
78     TGTextEntry        *fTeh[6], *fTehM[8], *fTeh61, *fTeh62, *fTeh63;  // text entries
79     TGLabel            *fLabel[6], *fLabelM[8], *fSLabel61;             // labels
80     TGTextButton       *fPlotButton;                                    // Plot-Button
81     Float_t            fEmin;         // minimum energy for de/dx plot
82     Float_t            fEmax;         // maximum energy for de/dx plot
83     Int_t              fNbins;        // number of bins for de/dx plot
84   AliGuiGeomMain(const AliGuiGeomMain &gm) 
85     : TGMainFrame((const TGMainFrame&)gm) {}
86   virtual AliGuiGeomMain & operator=(const AliGuiGeomMain &) {return *this;}
87     
88
89     ClassDef(AliGuiGeomMain,1)  // MainFrame for Geometry Browser
90 };
91
92 R__EXTERN AliG3Material  *gCurrentMaterial;
93 R__EXTERN AliG3Medium    *gCurrentMedium;
94
95 #endif