Logo ROOT   6.10/09
Reference Guide
TGeoTrapEditor.h
Go to the documentation of this file.
1 // @(#):$Id$
2 // Author: M.Gheata
3 /*************************************************************************
4  * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. *
5  * All rights reserved. *
6  * *
7  * For the licensing terms see $ROOTSYS/LICENSE. *
8  * For the list of contributors see $ROOTSYS/README/CREDITS. *
9  *************************************************************************/
10 
11 #ifndef ROOT_TGeoTrapEditor
12 #define ROOT_TGeoTrapEditor
13 
14 //////////////////////////////////////////////////////////////////////////
15 // //
16 // TGeoTrapEditor //
17 // //
18 // Editor for a TGeoTrap. //
19 // //
20 //////////////////////////////////////////////////////////////////////////
21 
22 #include "TGWidget.h"
23 #include "TGeoGedFrame.h"
24 
25 class TGeoTrap;
26 class TGeoTabManager;
27 class TGTextEntry;
28 class TGNumberEntry;
29 class TGTab;
30 class TGComboBox;
31 class TGTextButton;
32 class TGCheckButton;
33 class TString;
34 
35 class TGeoTrapEditor : public TGeoGedFrame {
36 
37 protected:
38 
39  Double_t fH1i; // Initial half length in y at low z
40  Double_t fBl1i; // Initial half length in x at low z and y low edge
41  Double_t fTl1i; // Initial half length in x at low z and y high edge
42  Double_t fDzi; // Initial Dz
43  Double_t fSci; // Initial scale factor for upper face
44  Double_t fAlpha1i; // Initial angle between centers of x edges an y axis at low z
45  Double_t fThetai; // Initial theta
46  Double_t fPhii; // Initial phi
47  TString fNamei; // Initial name
48  TGeoTrap *fShape; // Shape object
49  Bool_t fIsModified; // Flag that volume was modified
50  Bool_t fIsShapeEditable; // Flag that the shape can be changed
51 
52  TGTextEntry *fShapeName; // Shape name text entry
53  TGNumberEntry *fEH1; // Number entry for H1
54  TGNumberEntry *fEBl1; // Number entry for Bl1
55  TGNumberEntry *fETl1; // Number entry for Tl1
56  TGNumberEntry *fESc1; // Number entry for lower scale
57  TGNumberEntry *fESc2; // Number entry for upper scale
58  TGNumberEntry *fEDz; // Number entry for DZ
59  TGNumberEntry *fEAlpha1; // Number entry for Alpha1
60  TGNumberEntry *fETheta; // Number entry for Theta
61  TGNumberEntry *fEPhi ; // Number entry for Theta
62  TGTextButton *fApply; // Apply-Button to accept changes
63  TGTextButton *fUndo; // Undo-Button
64  TGCompositeFrame *fBFrame; // Frame containing Apply/Undo
65  TGCheckButton *fDelayed; // Check button for delayed draw
66  TGCompositeFrame *fDFrame; // Frame containing Delayed draw
67 
68  virtual void ConnectSignals2Slots(); // Connect the signals to the slots
69  Bool_t IsDelayed() const;
70 
71 public:
72  TGeoTrapEditor(const TGWindow *p = 0,
73  Int_t width = 140, Int_t height = 30,
74  UInt_t options = kChildFrame,
76  virtual ~TGeoTrapEditor();
77  virtual void SetModel(TObject *obj);
78 
79  void DoH1();
80  void DoBl1();
81  void DoTl1();
82  void DoDz();
83  void DoSc1();
84  void DoSc2();
85  void DoAlpha1();
86  void DoTheta();
87  void DoPhi();
88  void DoModified();
89  void DoName();
90  virtual void DoApply();
91  virtual void DoUndo();
92 
93  ClassDef(TGeoTrapEditor,0) // TGeoTrap editor
94 };
95 
97 
98 protected:
99 
100  Double_t fTwisti; // Initial twist angle
101  TGNumberEntry *fETwist; // Number entry for H1
102 
103 public:
104  TGeoGtraEditor(const TGWindow *p = 0,
105  Int_t width = 140, Int_t height = 30,
106  UInt_t options = kChildFrame,
108  virtual ~TGeoGtraEditor();
109  virtual void SetModel(TObject *obj);
110 
111  void DoTwist();
112  virtual void DoApply();
113  virtual void DoUndo();
114 
115  ClassDef(TGeoGtraEditor,0) // TGeoGtra editor
116 };
117 
118 #endif
virtual void DoApply()
Slot for applying current settings.
TGTextButton * fUndo
TGNumberEntry * fETheta
virtual void SetModel(TObject *obj)
Connect to the selected object.
Double_t fAlpha1i
TGTextButton * fApply
TGNumberEntry * fEPhi
TGeoTrap * fShape
Definition: TGTab.h:62
TGNumberEntry * fETwist
Basic string class.
Definition: TString.h:129
Double_t fThetai
TGTextEntry * fShapeName
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
TGNumberEntry * fEBl1
void DoModified()
Slot for notifying modifications.
virtual void ConnectSignals2Slots()
Connect signals to slots.
TGCompositeFrame * fDFrame
#define ClassDef(name, id)
Definition: Rtypes.h:297
ULong_t Pixel_t
Definition: GuiTypes.h:39
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
Definition: TGFrame.cxx:665
void DoName()
Slot for name.
void DoTheta()
Slot for theta.
TGNumberEntry * fESc2
void DoSc1()
Slot for H2.
TRAP is a general trapezoid, i.e.
Definition: TGeoArb8.h:89
TGeoTrapEditor(const TGWindow *p=0, Int_t width=140, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground())
Constructor for para editor.
void DoTl1()
Slot for Tl1.
TGNumberEntry * fETl1
TGCompositeFrame * fBFrame
Bool_t IsDelayed() const
Check if shape drawing is delayed.
Bool_t fIsShapeEditable
void DoPhi()
Slot for phi.
unsigned int UInt_t
Definition: RtypesCore.h:42
virtual void DoUndo()
Slot for undoing last operation.
void DoAlpha1()
Slot for alpha1.
TGNumberEntry * fEDz
void DoSc2()
Slot for H2.
double Double_t
Definition: RtypesCore.h:55
TGNumberEntry * fEAlpha1
virtual ~TGeoTrapEditor()
Destructor.
Mother of all ROOT objects.
Definition: TObject.h:37
TGNumberEntry * fESc1
void DoDz()
Slot for Z.
TGNumberEntry * fEH1
void DoH1()
Slot for H1.
void DoBl1()
Slot for Bl1.
TGCheckButton * fDelayed