Logo ROOT   6.12/07
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 #include "TGWidget.h"
15 #include "TGeoGedFrame.h"
16 
17 class TGeoTrap;
18 class TGeoTabManager;
19 class TGTextEntry;
20 class TGNumberEntry;
21 class TGTab;
22 class TGComboBox;
23 class TGTextButton;
24 class TGCheckButton;
25 class TString;
26 
27 class TGeoTrapEditor : public TGeoGedFrame {
28 
29 protected:
30 
31  Double_t fH1i; // Initial half length in y at low z
32  Double_t fBl1i; // Initial half length in x at low z and y low edge
33  Double_t fTl1i; // Initial half length in x at low z and y high edge
34  Double_t fDzi; // Initial Dz
35  Double_t fSci; // Initial scale factor for upper face
36  Double_t fAlpha1i; // Initial angle between centers of x edges an y axis at low z
37  Double_t fThetai; // Initial theta
38  Double_t fPhii; // Initial phi
39  TString fNamei; // Initial name
40  TGeoTrap *fShape; // Shape object
41  Bool_t fIsModified; // Flag that volume was modified
42  Bool_t fIsShapeEditable; // Flag that the shape can be changed
43 
44  TGTextEntry *fShapeName; // Shape name text entry
45  TGNumberEntry *fEH1; // Number entry for H1
46  TGNumberEntry *fEBl1; // Number entry for Bl1
47  TGNumberEntry *fETl1; // Number entry for Tl1
48  TGNumberEntry *fESc1; // Number entry for lower scale
49  TGNumberEntry *fESc2; // Number entry for upper scale
50  TGNumberEntry *fEDz; // Number entry for DZ
51  TGNumberEntry *fEAlpha1; // Number entry for Alpha1
52  TGNumberEntry *fETheta; // Number entry for Theta
53  TGNumberEntry *fEPhi ; // Number entry for Theta
54  TGTextButton *fApply; // Apply-Button to accept changes
55  TGTextButton *fUndo; // Undo-Button
56  TGCompositeFrame *fBFrame; // Frame containing Apply/Undo
57  TGCheckButton *fDelayed; // Check button for delayed draw
58  TGCompositeFrame *fDFrame; // Frame containing Delayed draw
59 
60  virtual void ConnectSignals2Slots(); // Connect the signals to the slots
61  Bool_t IsDelayed() const;
62 
63 public:
64  TGeoTrapEditor(const TGWindow *p = 0,
65  Int_t width = 140, Int_t height = 30,
66  UInt_t options = kChildFrame,
68  virtual ~TGeoTrapEditor();
69  virtual void SetModel(TObject *obj);
70 
71  void DoH1();
72  void DoBl1();
73  void DoTl1();
74  void DoDz();
75  void DoSc1();
76  void DoSc2();
77  void DoAlpha1();
78  void DoTheta();
79  void DoPhi();
80  void DoModified();
81  void DoName();
82  virtual void DoApply();
83  virtual void DoUndo();
84 
85  ClassDef(TGeoTrapEditor,0) // TGeoTrap editor
86 };
87 
89 
90 protected:
91 
92  Double_t fTwisti; // Initial twist angle
93  TGNumberEntry *fETwist; // Number entry for H1
94 
95 public:
96  TGeoGtraEditor(const TGWindow *p = 0,
97  Int_t width = 140, Int_t height = 30,
98  UInt_t options = kChildFrame,
100  virtual ~TGeoGtraEditor();
101  virtual void SetModel(TObject *obj);
102 
103  void DoTwist();
104  virtual void DoApply();
105  virtual void DoUndo();
106 
107  ClassDef(TGeoGtraEditor,0) // TGeoTrap editor
108 };
109 
110 #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
Manager for all editor tabs.
Basic string class.
Definition: TString.h:125
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:320
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
Double_t fTwisti
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
Editor for a TGeoGtra.
virtual void DoUndo()
Slot for undoing last operation.
void DoAlpha1()
Slot for alpha1.
TGNumberEntry * fEDz
void DoSc2()
Slot for H2.
Editor for a TGeoTrap.
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.
Common base class for geombuilder editors.
Definition: TGeoGedFrame.h:13
TGCheckButton * fDelayed