]>
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 | ||
d9ae88d5 | 13 | |
ef42d733 | 14 | class TGTab; |
15 | class TGMenuBar; | |
16 | class TGPopupMenu; | |
17 | class TGTextBuffer; | |
18 | class TGTextEntry; | |
19 | class TGLabel; | |
20 | class TGTextButton; | |
d9ae88d5 | 21 | class AliNode; |
22 | class TObjArray; | |
23 | class TFolder; | |
ef42d733 | 24 | |
d9ae88d5 | 25 | class AliG3Material; |
26 | class AliG3Medium; | |
ef42d733 | 27 | class AliGuiGeomDialog; |
d9ae88d5 | 28 | class AliG3Volume; |
ef42d733 | 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 | |
d9ae88d5 | 42 | virtual void AddMaterial(AliG3Material *Material, Int_t i); |
ef42d733 | 43 | // Add Medium to ComboBox |
d9ae88d5 | 44 | virtual void AddMedium(AliG3Medium *Medium, Int_t i); |
ef42d733 | 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 | |
d9ae88d5 | 54 | virtual void SetMaterialComboEntries(TClonesArray *entries); |
55 | virtual void SetMediaComboEntries(TClonesArray *entries); | |
56 | virtual void AddFoldersRecursively(TFolder* folder=0, TGListTreeItem* parent=NULL); | |
ef42d733 | 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 | |
d9ae88d5 | 74 | TClonesArray *fComboMaterialEntries; // List of materials |
ef42d733 | 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 | |
ef42d733 | 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 | ||
d9ae88d5 | 92 | R__EXTERN AliG3Material *gCurrentMaterial; |
93 | R__EXTERN AliG3Medium *gCurrentMedium; | |
ef42d733 | 94 | |
95 | #endif |