]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TGeant4/TG4VolumesFrames.h
Smaller changes
[u/mrichter/AliRoot.git] / TGeant4 / TG4VolumesFrames.h
1 // $Id$
2 // Category: interfaces
3 //
4 // Author: D. Adamova
5 //
6 //======================================================
7 //
8 //------------TG4VolumesFrames.h--------------------------------//
9 //---------Frames for the the display of volumes properties---//
10 //
11 //=======================================================
12
13 #ifndef TG4_VOLUMESFRAMES_H
14 #define TG4_VOLUMESFRAMES_H
15
16 #include <TObject.h>
17 #include <TGFrame.h>
18 #include <TGButton.h>
19
20 class TGLabel;
21 class TGTab;
22 class TGTextBuffer;
23 class TGTextEntry;
24 class TGComboBox;
25 class G4UserLimits;
26 class TG4MainFrame; 
27
28 class TG4VolumesFrames : public TObject {
29
30 public:   
31
32     TG4VolumesFrames( TGTab* Tab, TG4MainFrame* actionFrame);
33     virtual ~TG4VolumesFrames();
34     
35     void SetVolumesComboEntries();
36     void DisplayVolumeCharacteristics();
37     void DisplayUserLimits();
38     void DisplayCuts();
39     void DisplayControls();
40
41 protected:
42
43     TG4VolumesFrames(const TG4VolumesFrames& vf) ;
44     TG4VolumesFrames& operator=(const TG4VolumesFrames& vf) ;
45
46 private:
47     TString GetLimitsDisplay(G4UserLimits* limits) const;
48     TString GetCutsDisplay(G4UserLimits* limits) const;
49     TString GetControlsDisplay(G4UserLimits* limits) const;
50     
51     TG4MainFrame*       fPanel;    //main frame
52     TGCompositeFrame*   fCapFrame; // the top frame for volumes properties display
53     TGCompositeFrame*   fVolSubframe1; // frame for the combo box
54     TGCompositeFrame*   fVolSubframe2; //  frame for the text entries        
55     TGGroupFrame*       fGrFrame; // frame for user's limits
56     TGHorizontalFrame*  fGrHFrame; // frame to hold text buttons
57     TGTextButton*       fbtsumm; // button to invoke user's limits display  
58     TGTextButton*       fbtcuts; // button to invoke cuts display
59     TGTextButton*       fbtcontrols; // button to invoke controls display
60     TGLayoutHints*      fVolFrameLayout; // layout hints for SubFrames
61     TGHorizontalFrame*  fHframe[3];     // horizontal frames for text entries
62     TGLabel*            fLabel[3];      // labels for text entries
63     TGTextBuffer*       fVolTextBuff[3]; // text buffs for vols propertie
64     TGTextEntry*        fVolTextEntry[3]; // text entries for vols properties
65     TGComboBox*         fVolumesCombo; // volumes  combo box
66     TGLabel*            fComboLabel;   // label for combo box
67     TGTextBuffer*       fDisplBuffLimits; //buffer containing text for user limits display
68     TGTextBuffer*       fDisplBuffCuts; //buffer containing text for cuts display
69     TGTextBuffer*       fDisplBuffControls; //buffer containing text for controls display
70                                
71     void AddLogicalVolumeName( const char* name, Int_t index) const;
72
73     ClassDef(TG4VolumesFrames,0)
74          // class for the composition of the volumes display frame    
75   };
76   
77 #endif
78