00001 // @(#):$Id: TGeoParaEditor.h 20882 2007-11-19 11:31:26Z rdm $ 00002 // Author: M.Gheata 00003 /************************************************************************* 00004 * Copyright (C) 1995-2002, Rene Brun and Fons Rademakers. * 00005 * All rights reserved. * 00006 * * 00007 * For the licensing terms see $ROOTSYS/LICENSE. * 00008 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00009 *************************************************************************/ 00010 00011 #ifndef ROOT_TGeoParaEditor 00012 #define ROOT_TGeoParaEditor 00013 00014 ////////////////////////////////////////////////////////////////////////// 00015 // // 00016 // TGeoParaEditor // 00017 // // 00018 // Editor for a TGeoPara. // 00019 // // 00020 ////////////////////////////////////////////////////////////////////////// 00021 00022 #ifndef ROOT_TGButton 00023 #include "TGWidget.h" 00024 #endif 00025 #ifndef ROOT_TGeoGedFrame 00026 #include "TGeoGedFrame.h" 00027 #endif 00028 00029 class TGeoPara; 00030 class TGeoTabManager; 00031 class TGTextEntry; 00032 class TGNumberEntry; 00033 class TGTab; 00034 class TGComboBox; 00035 class TGTextButton; 00036 class TGCheckButton; 00037 class TString; 00038 00039 class TGeoParaEditor : public TGeoGedFrame { 00040 00041 protected: 00042 00043 Double_t fXi; // Initial X 00044 Double_t fYi; // Initial Y 00045 Double_t fZi; // Initial Z 00046 Double_t fAlphai; // Initial alpha 00047 Double_t fThetai; // Initial theta 00048 Double_t fPhii; // Initial phi 00049 TString fNamei; // Initial name 00050 TGeoPara *fShape; // Shape object 00051 Bool_t fIsModified; // Flag that volume was modified 00052 Bool_t fIsShapeEditable; // Flag that the shape can be changed 00053 00054 TGTextEntry *fShapeName; // Shape name text entry 00055 TGNumberEntry *fEDx; // Number entry for DX2 00056 TGNumberEntry *fEDy; // Number entry for DY 00057 TGNumberEntry *fEDz; // Number entry for DZ 00058 TGNumberEntry *fEAlpha; // Number entry for Alpha 00059 TGNumberEntry *fETheta; // Number entry for Theta 00060 TGNumberEntry *fEPhi ; // Number entry for Theta 00061 TGTextButton *fApply; // Apply-Button to accept changes 00062 TGTextButton *fUndo; // Undo-Button 00063 TGCheckButton *fDelayed; // Check button for delayed draw 00064 00065 virtual void ConnectSignals2Slots(); // Connect the signals to the slots 00066 Bool_t IsDelayed() const; 00067 00068 public: 00069 TGeoParaEditor(const TGWindow *p = 0, 00070 Int_t width = 140, Int_t height = 30, 00071 UInt_t options = kChildFrame, 00072 Pixel_t back = GetDefaultFrameBackground()); 00073 virtual ~TGeoParaEditor(); 00074 virtual void SetModel(TObject *obj); 00075 00076 void DoX(); 00077 void DoY(); 00078 void DoZ(); 00079 void DoAlpha(); 00080 void DoTheta(); 00081 void DoPhi(); 00082 void DoModified(); 00083 void DoName(); 00084 void DoApply(); 00085 void DoUndo(); 00086 00087 ClassDef(TGeoParaEditor,0) // TGeoPara editor 00088 }; 00089 00090 #endif