00001 // @(#)root/eve:$Id: TEveTransEditor.h 21812 2008-01-22 20:52:31Z matevz $ 00002 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TEveTransEditor 00013 #define ROOT_TEveTransEditor 00014 00015 #include "TGedFrame.h" 00016 00017 class TGCheckButton; 00018 class TGTextButton; 00019 00020 class TEveTrans; 00021 class TEveGTriVecValuator; 00022 00023 00024 class TEveTransSubEditor : public TGVerticalFrame 00025 { 00026 TEveTransSubEditor(const TEveTransSubEditor&); // Not implemented 00027 TEveTransSubEditor& operator=(const TEveTransSubEditor&); // Not implemented 00028 00029 protected: 00030 TEveTrans *fTrans; 00031 00032 TGHorizontalFrame *fTopHorFrame; 00033 00034 TGCheckButton *fUseTrans; 00035 TGCheckButton *fEditTrans; 00036 00037 TGVerticalFrame *fEditTransFrame; 00038 00039 TEveGTriVecValuator *fPos; 00040 TEveGTriVecValuator *fRot; 00041 TEveGTriVecValuator *fScale; 00042 00043 TGCheckButton *fAutoUpdate; 00044 TGTextButton *fUpdate; 00045 00046 public: 00047 TEveTransSubEditor(TGWindow* p); 00048 virtual ~TEveTransSubEditor() {} 00049 00050 void SetModel(TEveTrans* t); 00051 void SetTransFromData(); 00052 00053 void UseTrans(); //*SIGNAL* 00054 void TransChanged(); //*SIGNAL* 00055 00056 void DoUseTrans(); 00057 void DoEditTrans(); 00058 void DoTransChanged(); 00059 00060 TEveGTriVecValuator* GetPosValuator(){ return fPos;} 00061 TEveGTriVecValuator* GetRotValuator(){ return fRot;} 00062 TEveGTriVecValuator* GetScaleValuator(){ return fScale;} 00063 00064 ClassDef(TEveTransSubEditor, 0); // Sub-editor for TEveTrans class. 00065 }; 00066 00067 00068 class TEveTransEditor : public TGedFrame 00069 { 00070 private: 00071 TEveTransEditor(const TEveTransEditor&); // Not implemented 00072 TEveTransEditor& operator=(const TEveTransEditor&); // Not implemented 00073 00074 protected: 00075 TEveTrans *fM; // Model object. 00076 TEveTransSubEditor *fSE; // Actual editor widget. 00077 00078 public: 00079 TEveTransEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30, UInt_t options = kChildFrame, Pixel_t back=GetDefaultFrameBackground()); 00080 virtual ~TEveTransEditor() {} 00081 00082 virtual void SetModel(TObject* obj); 00083 00084 ClassDef(TEveTransEditor, 1); // Editor for TEveTrans class. 00085 }; 00086 00087 #endif