![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtEventProcessorInterface.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtEventProcessorInterface_H_ 00014 #define DtEventProcessorInterface_H_ 00015 00016 #include <vrvCore/vrvCore.h> 00017 #include <vrvCore/DtMouseEvent.h> 00018 #include <vrvCore/DtUniqueID.h> 00019 #include <string> 00020 00022 #include <vrvUtil/DtVirtualBaseClass.h> 00023 00024 namespace makVrv 00025 { 00026 class DtKeyEvent; 00027 class DtChannel; 00028 class DtDe; 00029 00036 class DT_DLL_VRVCORE DtEventProcessorInterface 00037 { 00038 public: 00040 DtEventProcessorInterface(); 00041 00043 virtual ~DtEventProcessorInterface(); 00044 00048 virtual bool processMouseEvent( const DtMouseEvent& ev, DtChannel& channel) = 0; 00049 00053 virtual bool processKeyboardEvent( const DtKeyEvent& ev, DtChannel& channel) = 0; 00054 00057 virtual const std::string& className() = 0; 00058 00060 virtual void setEnabled(bool b); 00061 00062 inline bool enabled() const 00063 { 00064 return myEnabled; 00065 } 00066 00067 protected: 00068 bool myEnabled; 00069 }; 00070 00071 00075 class DT_DLL_VRVCORE DtWidgetEventProcessorCreator : public DtVirtualBaseClass 00076 { 00077 00078 public: 00081 static DtWidgetEventProcessorCreator& instance( DtDe& de ); 00082 00084 static void registerInstance(DtDe& de, 00085 DtWidgetEventProcessorCreator* instance); 00086 00088 virtual DtEventProcessorInterface* create( DtDe& de ) = 0; 00089 }; 00090 } 00091 00092 #endif 00093