// @(#)root/gui:$Id: TGEventHandler.h // Author: Bertrand Bellenot 29/01/2008 /************************************************************************* * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. * * All rights reserved. * * * * For the licensing terms see $ROOTSYS/LICENSE. * * For the list of contributors see $ROOTSYS/README/CREDITS. * *************************************************************************/ #ifndef ROOT_TGEventHandler #define ROOT_TGEventHandler ////////////////////////////////////////////////////////////////////////// // // // TGEventHandler // // // ////////////////////////////////////////////////////////////////////////// #include "TNamed.h" #include "TQObject.h" #include "GuiTypes.h" class TGWindow; class TGEventHandler : public TNamed, public TQObject { private: TGEventHandler(const TGEventHandler&); // Not implemented TGEventHandler& operator=(const TGEventHandler&); // Not implemented Bool_t fIsActive; // kTRUE if handler is active, kFALSE if not active TGWindow *fWindow; TObject *fObject; void *GetSender() { return this; } //used to set gTQSender public: TGEventHandler(const char *name, TGWindow *w, TObject *obj, const char *title="") : TNamed(name, title), fIsActive(kTRUE), fWindow(w), fObject(obj) { }; virtual ~TGEventHandler() { } void Activate() { fIsActive = kTRUE; } void DeActivate() { fIsActive = kFALSE; } Bool_t IsActive() const { return fIsActive; } virtual Bool_t HandleEvent(Event_t *ev); virtual Bool_t HandleConfigureNotify(Event_t *) { return kFALSE; } virtual Bool_t HandleButton(Event_t *) { return kFALSE; } virtual Bool_t HandleDoubleClick(Event_t *) { return kFALSE; } virtual Bool_t HandleCrossing(Event_t *) { return kFALSE; } virtual Bool_t HandleMotion(Event_t *) { return kFALSE; } virtual Bool_t HandleKey(Event_t *) { return kFALSE; } virtual Bool_t HandleFocusChange(Event_t *) { return kFALSE; } virtual Bool_t HandleSelection(Event_t *) { return kFALSE; } virtual Bool_t HandleSelectionRequest(Event_t *) { return kFALSE; } virtual Bool_t HandleSelectionClear(Event_t *) { return kFALSE; } virtual Bool_t HandleColormapChange(Event_t *) { return kFALSE; } virtual void ProcessedEvent(Event_t *event) { Emit("ProcessedEvent(Event_t*)", (Long_t)event); } //*SIGNAL* virtual void SendMessage(const TGWindow *w, Long_t msg, Long_t parm1, Long_t parm2); virtual Bool_t ProcessMessage(Long_t, Long_t, Long_t) { return kFALSE; } virtual void Repaint() { } ClassDef(TGEventHandler,0) // Abstract event handler }; #endif