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