00001 // @(#):$Id: TGeoSphereEditor.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_TGeoSphereEditor 00012 #define ROOT_TGeoSphereEditor 00013 00014 ////////////////////////////////////////////////////////////////////////// 00015 // // 00016 // TGeoSphereEditor // 00017 // // 00018 // Editor for a TGeoSphere. // 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 TGeoSphere; 00030 class TGeoTabManager; 00031 class TGTextEntry; 00032 class TGNumberEntry; 00033 class TGTab; 00034 class TGComboBox; 00035 class TGDoubleVSlider; 00036 class TGTextButton; 00037 class TGCheckButton; 00038 class TString; 00039 00040 class TGeoSphereEditor : public TGeoGedFrame { 00041 00042 protected: 00043 00044 Double_t fRmini; // Initial inner radius 00045 Double_t fRmaxi; // Initial outer radius 00046 Double_t fTheta1i; // Initial lower theta limit 00047 Double_t fTheta2i; // Initial higher theta limit 00048 Double_t fPhi1i; // Initial lower phi limit 00049 Double_t fPhi2i; // Initial higher phi limit 00050 TString fNamei; // Initial name 00051 TGeoSphere *fShape; // Shape object 00052 Bool_t fIsModified; // Flag that volume was modified 00053 Bool_t fIsShapeEditable; // Flag that the shape can be changed 00054 Bool_t fLock; // Lock 00055 00056 TGTextEntry *fShapeName; // Shape name text entry 00057 TGNumberEntry *fERmin; // Number entry for rmin 00058 TGNumberEntry *fERmax; // Number entry for rmax 00059 TGNumberEntry *fETheta1; // Number entry for Theta1 00060 TGNumberEntry *fETheta2; // Number entry for Theta2 00061 TGNumberEntry *fEPhi1; // Number entry for phi1 00062 TGNumberEntry *fEPhi2; // Number entry for phi2 00063 TGDoubleVSlider *fSPhi; // Phi slider 00064 TGDoubleVSlider *fSTheta; // Theta slider 00065 TGTextButton *fApply; // Apply-Button to accept changes 00066 TGTextButton *fUndo; // Undo-Button 00067 TGCheckButton *fDelayed; // Check button for delayed draw 00068 00069 virtual void ConnectSignals2Slots(); // Connect the signals to the slots 00070 Bool_t IsDelayed() const; 00071 00072 public: 00073 TGeoSphereEditor(const TGWindow *p = 0, 00074 Int_t width = 140, Int_t height = 30, 00075 UInt_t options = kChildFrame, 00076 Pixel_t back = GetDefaultFrameBackground()); 00077 virtual ~TGeoSphereEditor(); 00078 virtual void SetModel(TObject *obj); 00079 00080 void DoRmin(); 00081 void DoRmax(); 00082 void DoPhi(); 00083 void DoTheta(); 00084 void DoTheta1(); 00085 void DoTheta2(); 00086 void DoPhi1(); 00087 void DoPhi2(); 00088 void DoModified(); 00089 void DoName(); 00090 virtual void DoApply(); 00091 virtual void DoUndo(); 00092 00093 ClassDef(TGeoSphereEditor,0) // TGeoSphere editor 00094 }; 00095 00096 #endif