]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TGeant3/AliGuiGeomMain.h
Minor improvements on the code
[u/mrichter/AliRoot.git] / TGeant3 / AliGuiGeomMain.h
CommitLineData
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 14class TGTab;
15class TGMenuBar;
16class TGPopupMenu;
17class TGTextBuffer;
18class TGTextEntry;
19class TGLabel;
20class TGTextButton;
d9ae88d5 21class AliNode;
22class TObjArray;
23class TFolder;
ef42d733 24
d9ae88d5 25class AliG3Material;
26class AliG3Medium;
ef42d733 27class AliGuiGeomDialog;
d9ae88d5 28class AliG3Volume;
ef42d733 29
30class 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();
58private:
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 92R__EXTERN AliG3Material *gCurrentMaterial;
93R__EXTERN AliG3Medium *gCurrentMedium;
ef42d733 94
95#endif