File indexing completed on 2024-04-06 12:11:31
0001 #ifndef Fireworks_Core_FWGLEventHandler_h
0002 #define Fireworks_Core_FWGLEventHandler_h
0003
0004 #include "TEveLegoEventHandler.h"
0005 #include <sigc++/signal.h>
0006
0007 class TGWindow;
0008 class TGLPhysicalShape;
0009 class FWEveView;
0010
0011 class FWGLEventHandler : public TEveLegoEventHandler {
0012 public:
0013 FWGLEventHandler(TGWindow *w, TObject *obj, TEveCaloLego *l = nullptr);
0014 ~FWGLEventHandler() override {}
0015
0016 void PopupContextMenu(TGLPhysicalShape *pshp, Event_t *event, Int_t gx, Int_t gy) override;
0017
0018 Bool_t HandleKey(Event_t *event) override;
0019
0020 Bool_t HandleButton(Event_t *event) override;
0021
0022 Bool_t HandleFocusChange(Event_t *event) override;
0023 Bool_t HandleCrossing(Event_t *event) override;
0024
0025 sigc::signal<void(Int_t, Int_t)> openSelectedModelContextMenu_;
0026
0027 void setViewer(FWEveView *ev) { m_viewer = ev; }
0028
0029 FWGLEventHandler(const FWGLEventHandler &) = delete;
0030 const FWGLEventHandler &operator=(const FWGLEventHandler &) = delete;
0031
0032 private:
0033 FWEveView *m_viewer;
0034 };
0035
0036 #endif