00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_TEveViewer
00013 #define ROOT_TEveViewer
00014
00015 #include "TEveElement.h"
00016 #include "TEveWindow.h"
00017
00018 class TGWindow;
00019 class TGedEditor;
00020 class TGLViewer;
00021 class TGLSAViewer;
00022 class TGLEmbeddedViewer;
00023
00024 class TEveScene;
00025
00026
00027
00028
00029
00030 class TEveViewer : public TEveWindowFrame
00031 {
00032 private:
00033 TEveViewer(const TEveViewer&);
00034 TEveViewer& operator=(const TEveViewer&);
00035
00036 protected:
00037 TGLViewer *fGLViewer;
00038 TGFrame *fGLViewerFrame;
00039
00040 static Bool_t fgInitInternal;
00041 static Bool_t fgRecreateGlOnDockOps;
00042 static void InitInternal();
00043
00044 public:
00045 TEveViewer(const char* n="TEveViewer", const char* t="");
00046 virtual ~TEveViewer();
00047
00048 virtual void PreUndock();
00049 virtual void PostDock();
00050
00051 TGLViewer* GetGLViewer() const { return fGLViewer; }
00052 void SetGLViewer(TGLViewer* viewer, TGFrame* frame);
00053
00054 TGLSAViewer* SpawnGLViewer(TGedEditor* ged=0, Bool_t stereo=kFALSE);
00055 TGLEmbeddedViewer* SpawnGLEmbeddedViewer(TGedEditor* ged=0, Int_t border=0);
00056
00057 void Redraw(Bool_t resetCameras=kFALSE);
00058 void SwitchStereo();
00059
00060 virtual void AddScene(TEveScene* scene);
00061
00062 virtual void RemoveElementLocal(TEveElement* el);
00063 virtual void RemoveElementsLocal();
00064
00065 virtual TObject* GetEditorObject(const TEveException& eh="TEveViewer::GetEditorObject ") const;
00066
00067 virtual Bool_t HandleElementPaste(TEveElement* el);
00068
00069 virtual const TGPicture* GetListTreeIcon(Bool_t open=kFALSE);
00070
00071 ClassDef(TEveViewer, 0);
00072 };
00073
00074
00075
00076
00077
00078
00079 class TEveViewerList : public TEveElementList
00080 {
00081 private:
00082 TEveViewerList(const TEveViewerList&);
00083 TEveViewerList& operator=(const TEveViewerList&);
00084
00085 protected:
00086 Bool_t fShowTooltip;
00087
00088 Float_t fBrightness;
00089 Bool_t fUseLightColorSet;
00090
00091 void HandleTooltip();
00092
00093 public:
00094 TEveViewerList(const char* n="TEveViewerList", const char* t="");
00095 virtual ~TEveViewerList();
00096
00097 virtual void AddElement(TEveElement* el);
00098 virtual void RemoveElementLocal(TEveElement* el);
00099 virtual void RemoveElementsLocal();
00100
00101
00102
00103 virtual void Connect();
00104 virtual void Disconnect();
00105
00106 void RepaintChangedViewers(Bool_t resetCameras, Bool_t dropLogicals);
00107 void RepaintAllViewers(Bool_t resetCameras, Bool_t dropLogicals);
00108 void DeleteAnnotations();
00109
00110 void SceneDestructing(TEveScene* scene);
00111
00112
00113
00114 void OnMouseOver(TObject* obj, UInt_t state);
00115 void OnReMouseOver(TObject* obj, UInt_t state);
00116 void OnUnMouseOver(TObject* obj, UInt_t state);
00117 void OnClicked(TObject *obj, UInt_t button, UInt_t state);
00118 void OnReClicked(TObject *obj, UInt_t button, UInt_t state);
00119 void OnUnClicked(TObject *obj, UInt_t button, UInt_t state);
00120
00121
00122
00123 Bool_t GetShowTooltip() const { return fShowTooltip; }
00124 void SetShowTooltip(Bool_t x) { fShowTooltip = x; }
00125
00126 Float_t GetColorBrightness() const { return fBrightness; }
00127 void SetColorBrightness(Float_t b);
00128
00129 Bool_t UseLightColorSet() const { return fUseLightColorSet; }
00130 void SwitchColorSet();
00131
00132 ClassDef(TEveViewerList, 0);
00133 };
00134
00135 #endif