00001 // @(#):$Id: TGeoBBoxEditor.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_TGeoBBoxEditor 00012 #define ROOT_TGeoBBoxEditor 00013 00014 ////////////////////////////////////////////////////////////////////////// 00015 // // 00016 // TGeoBBoxEditor // 00017 // // 00018 // Editor for a TGeoBBox. // 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 TGeoBBox; 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 TGeoBBoxEditor : public TGeoGedFrame { 00040 00041 protected: 00042 00043 Double_t fDxi; // Initial box dx 00044 Double_t fDyi; // Initial box dy 00045 Double_t fDzi; // Initial box dz 00046 Double_t fOrigi[3]; // Initial origin 00047 TString fNamei; // Initial name 00048 TGeoBBox *fShape; // Shape object 00049 Bool_t fIsModified; // Flag that volume was modified 00050 Bool_t fIsShapeEditable; // Flag that the shape can be changed 00051 TGTextEntry *fShapeName; // Shape name text entry 00052 TGNumberEntry *fBoxDx; // Number entry for box DX 00053 TGNumberEntry *fBoxDy; // Number entry for box DY 00054 TGNumberEntry *fBoxDz; // Number entry for box DZ 00055 TGNumberEntry *fBoxOx; // Number entry for box OX 00056 TGNumberEntry *fBoxOy; // Number entry for box OY 00057 TGNumberEntry *fBoxOz; // Number entry for box OZ 00058 TGTextButton *fApply; // Apply-Button to accept changes 00059 TGTextButton *fUndo; // Undo-Button 00060 TGCheckButton *fDelayed; // Check button for delayed draw 00061 00062 virtual void ConnectSignals2Slots(); // Connect the signals to the slots 00063 Bool_t IsDelayed() const; 00064 00065 public: 00066 TGeoBBoxEditor(const TGWindow *p = 0, 00067 Int_t width = 140, Int_t height = 30, 00068 UInt_t options = kChildFrame, 00069 Pixel_t back = GetDefaultFrameBackground()); 00070 virtual ~TGeoBBoxEditor(); 00071 virtual void SetModel(TObject *obj); 00072 00073 void DoDx(); 00074 void DoDy(); 00075 void DoDz(); 00076 void DoOx(); 00077 void DoOy(); 00078 void DoOz(); 00079 void DoModified(); 00080 void DoName(); 00081 void DoApply(); 00082 void DoUndo(); 00083 00084 ClassDef(TGeoBBoxEditor,0) // TGeoBBox editor 00085 }; 00086 00087 #endif