TEveViewer.h

Go to the documentation of this file.
00001 // @(#)root/eve:$Id: TEveViewer.h 33463 2010-05-11 09:38:29Z 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_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 // TEveViewer
00028 /******************************************************************************/
00029 
00030 class TEveViewer : public TEveWindowFrame
00031 {
00032 private:
00033    TEveViewer(const TEveViewer&);            // Not implemented
00034    TEveViewer& operator=(const TEveViewer&); // Not implemented
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); // Reve representation of TGLViewer.
00072 };
00073 
00074 
00075 /******************************************************************************/
00076 // TEveViewerList
00077 /******************************************************************************/
00078 
00079 class TEveViewerList : public TEveElementList
00080 {
00081 private:
00082    TEveViewerList(const TEveViewerList&);            // Not implemented
00083    TEveViewerList& operator=(const TEveViewerList&); // Not implemented
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); // List of Viewers providing common operations on TEveViewer collections.
00133 };
00134 
00135 #endif

Generated on Tue Jul 5 14:15:05 2011 for ROOT_528-00b_version by  doxygen 1.5.1