CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Fireworks/Core/interface/FWGLEventHandler.h

Go to the documentation of this file.
00001 #ifndef Fireworks_Core_FWGLEventHandler_h
00002 #define Fireworks_Core_FWGLEventHandler_h
00003 
00004 #include "TEveLegoEventHandler.h"
00005 #include <sigc++/signal.h>
00006 
00007 class TGWindow;
00008 class TGLPhysicalShape;
00009 class TEveViewer;
00010 
00011 class FWGLEventHandler : public TEveLegoEventHandler
00012 {
00013 public:
00014    FWGLEventHandler(TGWindow *w, TObject *obj, TEveCaloLego* l=0);
00015    virtual ~FWGLEventHandler() {}
00016 
00017    virtual void   PopupContextMenu(TGLPhysicalShape* pshp, Event_t *event, Int_t gx, Int_t gy);
00018 
00019    virtual Bool_t HandleKey(Event_t *event);
00020 
00021    virtual Bool_t HandleFocusChange(Event_t *event);
00022    virtual Bool_t HandleCrossing(Event_t *event);
00023 
00024    sigc::signal<void,Int_t,Int_t> openSelectedModelContextMenu_;
00025 
00026    void setViewer(TEveViewer* ev) { m_viewer = ev; }
00027 
00028 private:
00029    FWGLEventHandler(const FWGLEventHandler&); // stop default
00030    const FWGLEventHandler& operator=(const FWGLEventHandler&); // stop default
00031 
00032    TEveViewer *m_viewer;
00033 };
00034 
00035 #endif