File indexing completed on 2025-01-18 10:11:55
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef ROOT_TGeoTubeEditor
0012 #define ROOT_TGeoTubeEditor
0013
0014 #include "TGWidget.h"
0015 #include "TGeoGedFrame.h"
0016
0017 class TGeoTube;
0018 class TGeoTabManager;
0019 class TGTextEntry;
0020 class TGNumberEntry;
0021 class TGTab;
0022 class TGComboBox;
0023 class TGTextButton;
0024 class TGCheckButton;
0025 class TString;
0026
0027 class TGeoTubeEditor : public TGeoGedFrame {
0028
0029 protected:
0030 Double_t fRmini;
0031 Double_t fRmaxi;
0032 Double_t fDzi;
0033 TString fNamei;
0034 TGeoTube *fShape;
0035 Bool_t fIsModified;
0036 Bool_t fIsShapeEditable;
0037
0038 TGTextEntry *fShapeName;
0039 TGNumberEntry *fERmin;
0040 TGNumberEntry *fERmax;
0041 TGNumberEntry *fEDz;
0042 TGTextButton *fApply;
0043 TGTextButton *fUndo;
0044 TGCompositeFrame *fBFrame;
0045 TGCheckButton *fDelayed;
0046 TGCompositeFrame *fDFrame;
0047
0048 virtual void ConnectSignals2Slots();
0049 Bool_t IsDelayed() const;
0050
0051 public:
0052 TGeoTubeEditor(const TGWindow *p = nullptr, Int_t width = 140, Int_t height = 30, UInt_t options = kChildFrame,
0053 Pixel_t back = GetDefaultFrameBackground());
0054 ~TGeoTubeEditor() override;
0055 void SetModel(TObject *obj) override;
0056
0057 void DoRmin();
0058 void DoRmax();
0059 void DoDz();
0060 void DoModified();
0061 void DoName();
0062 virtual void DoApply();
0063 virtual void DoUndo();
0064
0065 ClassDefOverride(TGeoTubeEditor, 0)
0066 };
0067
0068 class TGDoubleVSlider;
0069
0070 class TGeoTubeSegEditor : public TGeoTubeEditor {
0071
0072 protected:
0073 Bool_t fLock;
0074 Double_t fPmini;
0075 Double_t fPmaxi;
0076 TGDoubleVSlider *fSPhi;
0077 TGNumberEntry *fEPhi1;
0078 TGNumberEntry *fEPhi2;
0079
0080 void ConnectSignals2Slots() override;
0081
0082 public:
0083 TGeoTubeSegEditor(const TGWindow *p = nullptr, Int_t width = 140, Int_t height = 30, UInt_t options = kChildFrame,
0084 Pixel_t back = GetDefaultFrameBackground());
0085 ~TGeoTubeSegEditor() override;
0086 void SetModel(TObject *obj) override;
0087
0088 void DoPhi();
0089 void DoPhi1();
0090 void DoPhi2();
0091 void DoApply() override;
0092 void DoUndo() override;
0093
0094 ClassDefOverride(TGeoTubeSegEditor, 0)
0095 };
0096
0097 class TGeoCtubEditor : public TGeoTubeSegEditor {
0098
0099 protected:
0100 Double_t fThlo;
0101 Double_t fPhlo;
0102 Double_t fThhi;
0103 Double_t fPhhi;
0104 TGNumberEntry *fEThlo;
0105 TGNumberEntry *fEPhlo;
0106 TGNumberEntry *fEThhi;
0107 TGNumberEntry *fEPhhi;
0108
0109 public:
0110 TGeoCtubEditor(const TGWindow *p = nullptr, Int_t width = 140, Int_t height = 30, UInt_t options = kChildFrame,
0111 Pixel_t back = GetDefaultFrameBackground());
0112 ~TGeoCtubEditor() override;
0113 void SetModel(TObject *obj) override;
0114
0115 void DoThlo();
0116 void DoPhlo();
0117 void DoThhi();
0118 void DoPhhi();
0119 void DoApply() override;
0120 void DoUndo() override;
0121
0122 ClassDefOverride(TGeoCtubEditor, 0)
0123 };
0124
0125 #endif