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