00001 // @(#):$Id: TGeoEltuEditor.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_TGeoEltuEditor 00012 #define ROOT_TGeoEltuEditor 00013 00014 ////////////////////////////////////////////////////////////////////////// 00015 // // 00016 // TGeoEltuEditor // 00017 // // 00018 // Editor for a TGeoEltu. // 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 TGeoEltu; 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 TGeoEltuEditor : public TGeoGedFrame { 00040 00041 protected: 00042 00043 Double_t fAi; // Initial semi-axis of the ellipse along x 00044 Double_t fBi; // Initial semi-axis of the ellipse along y 00045 Double_t fDzi; // Initial half length in z 00046 TString fNamei; // Initial name 00047 TGeoEltu *fShape; // Shape object 00048 Bool_t fIsModified; // Flag that volume was modified 00049 Bool_t fIsShapeEditable; // Flag that the shape can be changed 00050 00051 TGTextEntry *fShapeName; // Shape name text entry 00052 TGNumberEntry *fEA; // Number entry for A 00053 TGNumberEntry *fEB; // Number entry for B 00054 TGNumberEntry *fEDz; // Number entry for DZ 00055 TGTextButton *fApply; // Apply-Button to accept changes 00056 TGTextButton *fUndo; // Undo-Button 00057 TGCheckButton *fDelayed; // Check button for delayed draw 00058 00059 virtual void ConnectSignals2Slots(); // Connect the signals to the slots 00060 Bool_t IsDelayed() const; 00061 00062 public: 00063 TGeoEltuEditor(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 ~TGeoEltuEditor(); 00068 virtual void SetModel(TObject *obj); 00069 00070 void DoA(); 00071 void DoB(); 00072 void DoDz(); 00073 void DoModified(); 00074 void DoName(); 00075 void DoApply(); 00076 void DoUndo(); 00077 00078 ClassDef(TGeoEltuEditor,0) // TGeoEltu editor 00079 }; 00080 00081 #endif