TGEventHandler.h

Go to the documentation of this file.
00001 // @(#)root/gui:$Id: TGEventHandler.h
00002 // Author: Bertrand Bellenot   29/01/2008
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2008, 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_TGEventHandler
00013 #define ROOT_TGEventHandler
00014 
00015 //////////////////////////////////////////////////////////////////////////
00016 //                                                                      //
00017 // TGEventHandler                                                       //
00018 //                                                                      //
00019 //////////////////////////////////////////////////////////////////////////
00020 
00021 #ifndef ROOT_TNamed
00022 #include "TNamed.h"
00023 #endif
00024 #ifndef ROOT_TQObject
00025 #include "TQObject.h"
00026 #endif
00027 #ifndef ROOT_GuiTypes
00028 #include "GuiTypes.h"
00029 #endif
00030 
00031 class TGWindow;
00032 
00033 class TGEventHandler : public TNamed, public TQObject {
00034 
00035 private:
00036   
00037    TGEventHandler(const TGEventHandler&); // Not implemented
00038    TGEventHandler& operator=(const TGEventHandler&); // Not implemented
00039 
00040    Bool_t   fIsActive;    // kTRUE if handler is active, kFALSE if not active
00041    TGWindow *fWindow;
00042    TObject  *fObject;
00043 
00044    void  *GetSender() { return this; }  //used to set gTQSender
00045 
00046 public:
00047    TGEventHandler(const char *name, TGWindow *w, TObject *obj, const char *title="") : 
00048       TNamed(name, title), fIsActive(kTRUE), fWindow(w), fObject(obj) { };
00049    virtual ~TGEventHandler() { }
00050 
00051    void           Activate() { fIsActive = kTRUE; }
00052    void           DeActivate() { fIsActive = kFALSE; }
00053    Bool_t         IsActive() const { return fIsActive; }
00054    virtual Bool_t HandleEvent(Event_t *ev);
00055    virtual Bool_t HandleConfigureNotify(Event_t *) { return kFALSE; }
00056    virtual Bool_t HandleButton(Event_t *) { return kFALSE; }
00057    virtual Bool_t HandleDoubleClick(Event_t *) { return kFALSE; }
00058    virtual Bool_t HandleCrossing(Event_t *) { return kFALSE; }
00059    virtual Bool_t HandleMotion(Event_t *) { return kFALSE; }
00060    virtual Bool_t HandleKey(Event_t *) { return kFALSE; }
00061    virtual Bool_t HandleFocusChange(Event_t *) { return kFALSE; }
00062    virtual Bool_t HandleSelection(Event_t *) { return kFALSE; }
00063    virtual Bool_t HandleSelectionRequest(Event_t *) { return kFALSE; }
00064    virtual Bool_t HandleSelectionClear(Event_t *) { return kFALSE; }
00065    virtual Bool_t HandleColormapChange(Event_t *) { return kFALSE; }
00066    virtual void   ProcessedEvent(Event_t *event)
00067                      { Emit("ProcessedEvent(Event_t*)", (Long_t)event); } //*SIGNAL*
00068 
00069    virtual void   SendMessage(const TGWindow *w, Long_t msg, Long_t parm1, Long_t parm2);
00070    virtual Bool_t ProcessMessage(Long_t, Long_t, Long_t) { return kFALSE; }
00071    virtual void   Repaint() { }
00072 
00073    ClassDef(TGEventHandler,0)  // Abstract event handler
00074 };
00075 
00076 #endif
00077 

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