00001 // @(#)root/gl:$Id: TGLClipSetEditor.h 32338 2010-02-12 17:11:34Z matevz $ 00002 // Author: Matevz Tadel, Jun 2007 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2004, 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_TGLClipSetEditor 00013 #define ROOT_TGLClipSetEditor 00014 00015 #ifndef ROOT_TGedFrame 00016 #include "TGedFrame.h" 00017 #endif 00018 #ifndef ROOT_TGLUtil 00019 #include "TGLUtil.h" 00020 #endif 00021 00022 class TGButton; 00023 class TGCheckButton; 00024 class TGNumberEntry; 00025 class TGButtonGroup; 00026 class TGLClipSet; 00027 00028 00029 class TGLClipSetSubEditor : public TGVerticalFrame { 00030 00031 private: 00032 TGLClipSetSubEditor(const TGLClipSetSubEditor&); // Not implemented 00033 TGLClipSetSubEditor& operator=(const TGLClipSetSubEditor&); // Not implemented 00034 00035 protected: 00036 TGLClipSet *fM; 00037 00038 EClipType fCurrentClip; 00039 TGButtonGroup *fTypeButtons; 00040 00041 TGCompositeFrame *fPlanePropFrame; 00042 TGNumberEntry *fPlaneProp[4]; 00043 00044 TGCompositeFrame *fBoxPropFrame; 00045 TGNumberEntry *fBoxProp[6]; 00046 TGCheckButton *fClipInside; 00047 TGCheckButton *fAutoUpdate; 00048 TGCheckButton *fClipEdit; 00049 TGCheckButton *fClipShow; 00050 TGButton *fApplyButton; 00051 TGButton *fResetButton; 00052 00053 public: 00054 TGLClipSetSubEditor(const TGWindow* p); 00055 virtual ~TGLClipSetSubEditor() {} 00056 00057 void SetModel(TGLClipSet* m); 00058 00059 void Changed(); //*SIGNAL* 00060 00061 //Clipping manipulation 00062 void ClipValueChanged(); 00063 void ClipTypeChanged(Int_t); 00064 void UpdateViewerClip(); 00065 void ResetViewerClip(); 00066 00067 ClassDef(TGLClipSetSubEditor, 0); // Sub-editor for TGLClipSet. 00068 }; 00069 00070 00071 class TGLClipSetEditor : public TGedFrame { 00072 00073 private: 00074 TGLClipSetEditor(const TGLClipSetEditor&); // Not implemented 00075 TGLClipSetEditor& operator=(const TGLClipSetEditor&); // Not implemented 00076 00077 protected: 00078 TGLClipSet *fM; // fModel dynamic-casted to TGLClipSet 00079 TGLClipSetSubEditor *fSE; 00080 00081 public: 00082 TGLClipSetEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30, UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground()); 00083 virtual ~TGLClipSetEditor() {} 00084 00085 virtual void SetModel(TObject* obj); 00086 00087 ClassDef(TGLClipSetEditor, 0); // GUI editor for TGLClipSet. 00088 }; 00089 00090 #endif