00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 #ifndef ROOT_TGeoTranslationEditor
00013 #define ROOT_TGeoTranslationEditor
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 #ifndef ROOT_TGButton
00024 #include "TGWidget.h"
00025 #endif
00026 #ifndef ROOT_TGeoGedFrame
00027 #include "TGeoGedFrame.h"
00028 #endif
00029 
00030 class TGeoTranslation;
00031 class TGeoRotation;
00032 class TGeoCombiTrans;
00033 class TGTextEntry;
00034 class TGNumberEntry;
00035 class TGTab;
00036 class TGComboBox;
00037 class TGTextButton;
00038 class TGRadioButton;
00039 class TString;
00040 
00041 class TGeoTranslationEditor : public TGeoGedFrame {
00042 
00043 protected:
00044 
00045    Double_t             fDxi;               
00046    Double_t             fDyi;               
00047    Double_t             fDzi;               
00048    TString              fNamei;             
00049    TGeoTranslation     *fTranslation;       
00050    Bool_t               fIsModified;        
00051    Bool_t               fIsEditable;        
00052    TGTextEntry         *fTransName;         
00053    TGNumberEntry       *fTransDx;           
00054    TGNumberEntry       *fTransDy;           
00055    TGNumberEntry       *fTransDz;           
00056    TGTextButton        *fApply;             
00057    TGTextButton        *fCancel;            
00058    TGTextButton        *fUndo;              
00059 
00060    virtual void ConnectSignals2Slots();   
00061 
00062 public:
00063    TGeoTranslationEditor(const TGWindow *p = 0,
00064                    Int_t width = 140, Int_t height = 30,
00065                    UInt_t options = kChildFrame,
00066                    Pixel_t back = GetDefaultFrameBackground());
00067    virtual ~TGeoTranslationEditor();
00068    virtual void   SetModel(TObject *obj);
00069 
00070    void           DoDx();
00071    void           DoDy();
00072    void           DoDz();
00073    void           DoModified();
00074    void           DoName();
00075    Bool_t         DoParameters();
00076    void           DoApply();
00077    void           DoCancel();
00078    void           DoUndo();
00079    
00080    ClassDef(TGeoTranslationEditor,0)   
00081 };   
00082   
00083 
00084 
00085 
00086 
00087 
00088 
00089 
00090 
00091 class TGeoRotationEditor : public TGeoGedFrame {
00092 
00093 protected:
00094 
00095    Double_t             fPhii;              
00096    Double_t             fThetai;            
00097    Double_t             fPsii;              
00098    Double_t             fAngleX;            
00099    Double_t             fAngleY;            
00100    Double_t             fAngleZ;            
00101    TString              fNamei;             
00102    TGeoRotation        *fRotation;          
00103    Bool_t               fIsModified;        
00104    Bool_t               fIsEditable;        
00105    TGTextEntry         *fRotName;           
00106    TGNumberEntry       *fRotPhi;            
00107    TGNumberEntry       *fRotTheta;          
00108    TGNumberEntry       *fRotPsi;            
00109    TGNumberEntry       *fRotAxis;           
00110    TGRadioButton       *fRotX;              
00111    TGRadioButton       *fRotY;              
00112    TGRadioButton       *fRotZ;              
00113    TGTextButton        *fApply;             
00114    TGTextButton        *fCancel;            
00115    TGTextButton        *fUndo;              
00116 
00117    virtual void ConnectSignals2Slots();   
00118 
00119 public:
00120    TGeoRotationEditor(const TGWindow *p = 0,
00121                    Int_t width = 140, Int_t height = 30,
00122                    UInt_t options = kChildFrame,
00123                    Pixel_t back = GetDefaultFrameBackground());
00124    virtual ~TGeoRotationEditor();
00125    virtual void   SetModel(TObject *obj);
00126 
00127    void           DoRotPhi();
00128    void           DoRotTheta();
00129    void           DoRotPsi();
00130    void           DoRotAngle();
00131    void           DoModified();
00132    void           DoName();
00133    Bool_t         DoParameters();
00134    void           DoApply();
00135    void           DoCancel();
00136    void           DoUndo();
00137    
00138    ClassDef(TGeoRotationEditor,0)   
00139 };   
00140 
00141 
00142 
00143 
00144 
00145 
00146 
00147 
00148 
00149 class TGeoCombiTransEditor : public TGeoGedFrame {
00150 
00151 protected:
00152 
00153    Double_t             fDxi;               
00154    Double_t             fDyi;               
00155    Double_t             fDzi;               
00156    Double_t             fPhii;              
00157    Double_t             fThetai;            
00158    Double_t             fPsii;              
00159    Double_t             fAngleX;            
00160    Double_t             fAngleY;            
00161    Double_t             fAngleZ;            
00162    TString              fNamei;             
00163    TGeoCombiTrans      *fCombi;             
00164    Bool_t               fIsModified;        
00165    Bool_t               fIsEditable;        
00166    TGTextEntry         *fRotName;           
00167    TGNumberEntry       *fTransDx;           
00168    TGNumberEntry       *fTransDy;           
00169    TGNumberEntry       *fTransDz;           
00170    TGNumberEntry       *fRotPhi;            
00171    TGNumberEntry       *fRotTheta;          
00172    TGNumberEntry       *fRotPsi;            
00173    TGNumberEntry       *fRotAxis;           
00174    TGRadioButton       *fRotX;              
00175    TGRadioButton       *fRotY;              
00176    TGRadioButton       *fRotZ;              
00177    TGTextButton        *fApply;             
00178    TGTextButton        *fCancel;            
00179    TGTextButton        *fUndo;              
00180 
00181    virtual void ConnectSignals2Slots();   
00182 
00183 public:
00184    TGeoCombiTransEditor(const TGWindow *p = 0,
00185                    Int_t width = 140, Int_t height = 30,
00186                    UInt_t options = kChildFrame,
00187                    Pixel_t back = GetDefaultFrameBackground());
00188    virtual ~TGeoCombiTransEditor();
00189    virtual void   SetModel(TObject *obj);
00190 
00191    void           DoDx();
00192    void           DoDy();
00193    void           DoDz();
00194    void           DoRotPhi();
00195    void           DoRotTheta();
00196    void           DoRotPsi();
00197    void           DoRotAngle();
00198    void           DoModified();
00199    void           DoName();
00200    Bool_t         DoParameters();
00201    void           DoApply();
00202    void           DoCancel();
00203    void           DoUndo();
00204    
00205    ClassDef(TGeoCombiTransEditor,0)   
00206 };   
00207 
00208 #endif