00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_TGEventHandler
00013 #define ROOT_TGEventHandler
00014
00015
00016
00017
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&);
00038 TGEventHandler& operator=(const TGEventHandler&);
00039
00040 Bool_t fIsActive;
00041 TGWindow *fWindow;
00042 TObject *fObject;
00043
00044 void *GetSender() { return this; }
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); }
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)
00074 };
00075
00076 #endif
00077