OWLNext 6.32
Classes | Defines | Typedefs | Functions
D:/Work/OWLNext/Subversion/branches/632/include/owl/eventhan.h File Reference
#include <owl/private/defs.h>
#include <owl/signatur.h>
#include <owl/dispatch.h>
#include <owl/preclass.h>
#include <owl/posclass.h>

Classes

class  owl::TEventHandler
class  owl::TEventHandler::TEventInfo
class  owl::TResponseTableEntry< T >

Defines

#define WM_OWLLAST   0x7FFF
#define WM_OWLFIRST   (WM_OWLLAST - 0x03FF)
#define WM_COMMAND_ENABLE   (WM_OWLLAST - 0)
#define WM_CHILDINVALID   (WM_OWLLAST - 1)
#define WM_OWLDOCUMENT   (WM_OWLLAST - 2)
#define WM_OWLVIEW   (WM_OWLLAST - 3)
#define WM_OWLNOTIFY   (WM_OWLLAST - 4)
#define WM_OWLPREPROCMENU   (WM_OWLLAST - 5)
#define WM_OWLCANCLOSE   (WM_OWLLAST - 6)
#define WM_VBXINITFORM   (WM_OWLLAST - 7)
#define WM_VBXNAME   (WM_OWLLAST - 8)
#define WM_VBXBASE   (WM_OWLLAST - 8 - 256)
#define WM_OWLWAKEUP   (WM_VBXBASE - 1)
#define WM_OWLFRAMESIZE   (WM_VBXBASE - 2)
#define WM_OWLSLIPDBLCLK   (WM_VBXBASE - 3)
#define WM_OWLWINDOWDOCKED   (WM_VBXBASE - 4)
#define WM_OWLCREATETTIP   (WM_VBXBASE - 5)
#define WM_OWLHELPHIT   (WM_VBXBASE - 6)
#define DECLARE_RESPONSE_TABLE(cls)
#define DECLARE_EXPORT_RESPONSE_TABLE(cls)
#define DECLARE_IMPORT_RESPONSE_TABLE(cls)
#define END_RESPONSE_TABLE   {{0}, 0, 0, 0}}
#define DEFINE_RESPONSE_TABLE_ENTRIES(cls)   ::owl::TResponseTableEntry< cls > cls::__entries[] = {
#define DEFINE_RESPONSE_TABLE(cls)
#define DEFINE_RESPONSE_TABLE1(cls, base)
#define DEFINE_RESPONSE_TABLE2(cls, base1, base2)
#define DEFINE_RESPONSE_TABLE3(cls, base1, base2, base3)
#define DEFINE_RESPONSE_TABLE4(cls, base1, base2, base3, base4)
#define DEFINE_RESPONSE_TABLE5(cls, base1, base2, base3, base4, base5)
#define DEFINE_RESPONSE_TABLE6(cls, base1, base2, base3, base4, base5, base6)
#define DEFINE_RESPONSE_TABLE7(cls, base1, base2, base3, base4, base5, base6, base7)
#define DEFINE_RESPONSE_TABLE8(cls, base1, base2, base3, base4, base5, base6, base7, base8)
#define DEFINE_RESPONSE_TABLE9(cls, base1, base2, base3, base4, base5, base6, base7, base8, base9)

Typedefs

typedef LRESULT owl::TResult
typedef uint owl::TMsgId
typedef WPARAM owl::TParam1
typedef LPARAM owl::TParam2
typedef TResponseTableEntry
< TGeneric
owl::TGenericTableEntry

Functions

template<class T1 , class T2 >
TParam2 owl::MkParam2 (const T1 &lo, const T2 &hi)
TParam1 owl::MkParam1 (uint lo, uint hi)

Detailed Description

Definition of TEventHandler and related classes & macros


Define Documentation

#define DECLARE_EXPORT_RESPONSE_TABLE (   cls)
Value:
private:\
    static ::owl::TResponseTableEntry< cls > __entries[];\
    typedef ::owl::TResponseTableEntry< cls >::PMF TMyPMF;\
    typedef cls                               TMyClass;\
  public:\
    bool __export _CALLCNVN Find(TEventInfo&, TEqualOperator = 0)
#define DECLARE_IMPORT_RESPONSE_TABLE (   cls)
Value:
private:\
    static ::owl::TResponseTableEntry< cls > __entries[];\
    typedef ::owl::TResponseTableEntry< cls >::PMF TMyPMF;\
    typedef cls                               TMyClass;\
  public:\
    bool __import _CALLCNVN Find(TEventInfo&, TEqualOperator = 0)
#define DECLARE_RESPONSE_TABLE (   cls)
Value:
private:\
    static ::owl::TResponseTableEntry< cls > __entries[];\
    typedef ::owl::TResponseTableEntry< cls >::PMF TMyPMF;\
    typedef cls                               TMyClass;\
  public:\
    bool  Find(TEventInfo&, TEqualOperator = 0)
#define DEFINE_RESPONSE_TABLE (   cls)
Value:
bool  cls::Find(TEventInfo& eventInfo, TEqualOperator equal)\
      {\
      using namespace ::owl;\
      eventInfo.Object = (TGeneric*)this;\
      return SearchEntries((TGenericTableEntry *)__entries, eventInfo, equal);\
      }\
  DEFINE_RESPONSE_TABLE_ENTRIES(cls)

Macro to define a response table for a class with no base response tables.

Use it like this:

    DEFINE_RESPONSE_TABLE(cls)
      EV_WM_PAINT,
     EV_WM_LBUTTONDOWN,
    END_RESPONSE_TABLE;
#define DEFINE_RESPONSE_TABLE1 (   cls,
  base 
)
Value:
bool  cls::Find(TEventInfo& eventInfo, TEqualOperator equal)\
      {\
      using namespace ::owl;\
      eventInfo.Object = (TGeneric*)this;\
       return SearchEntries((TGenericTableEntry *)__entries, eventInfo, equal) ||\
          base::Find(eventInfo, equal);\
      }\
  DEFINE_RESPONSE_TABLE_ENTRIES(cls)

Macro to define a response table for a class with one base. Use this macro exactly like macro DEFINE_RESPONSE_TABLE

#define DEFINE_RESPONSE_TABLE2 (   cls,
  base1,
  base2 
)
Value:
bool  cls::Find(TEventInfo& eventInfo, TEqualOperator equal)\
      {\
      using namespace ::owl;\
      eventInfo.Object = (TGeneric*)this;\
       return SearchEntries((TGenericTableEntry *)__entries, eventInfo, equal) ||\
              base1::Find(eventInfo, equal) ||\
          base2::Find(eventInfo, equal);\
      }\
  DEFINE_RESPONSE_TABLE_ENTRIES(cls)

Macro to define a response table for a class with two bases. Use this macro exactly like macro DEFINE_RESPONSE_TABLE

#define DEFINE_RESPONSE_TABLE3 (   cls,
  base1,
  base2,
  base3 
)
Value:
bool  cls::Find(TEventInfo& eventInfo, TEqualOperator equal)\
      {\
      using namespace ::owl;\
      eventInfo.Object = (TGeneric*)this;\
       return SearchEntries((TGenericTableEntry *)__entries, eventInfo, equal) ||\
              base1::Find(eventInfo, equal) ||\
              base2::Find(eventInfo, equal) ||\
          base3::Find(eventInfo, equal);\
      }\
  DEFINE_RESPONSE_TABLE_ENTRIES(cls)

Macro to define a response table for a class with three bases. Use this macro exactly like macro DEFINE_RESPONSE_TABLE

#define DEFINE_RESPONSE_TABLE4 (   cls,
  base1,
  base2,
  base3,
  base4 
)
Value:
bool  cls::Find(TEventInfo& eventInfo, TEqualOperator equal)\
      {\
      using namespace ::owl;\
      eventInfo.Object = (TGeneric*)this;\
       return SearchEntries((TGenericTableEntry *)__entries, eventInfo, equal) ||\
              base1::Find(eventInfo, equal) ||\
              base2::Find(eventInfo, equal) ||\
              base3::Find(eventInfo, equal) ||\
          base4::Find(eventInfo, equal);\
      }\
  DEFINE_RESPONSE_TABLE_ENTRIES(cls)

Macro to define a response table for a class with three bases. Use this macro exactly like macro DEFINE_RESPONSE_TABLE

#define DEFINE_RESPONSE_TABLE5 (   cls,
  base1,
  base2,
  base3,
  base4,
  base5 
)
Value:
bool  cls::Find(TEventInfo& eventInfo, TEqualOperator equal)\
      {\
      using namespace ::owl;\
      eventInfo.Object = (TGeneric*)this;\
       return SearchEntries((TGenericTableEntry *)__entries, eventInfo, equal) ||\
              base1::Find(eventInfo, equal) ||\
              base2::Find(eventInfo, equal) ||\
              base3::Find(eventInfo, equal) ||\
              base4::Find(eventInfo, equal) ||\
          base5::Find(eventInfo, equal);\
      }\
  DEFINE_RESPONSE_TABLE_ENTRIES(cls)

Macro to define a response table for a class with three bases. Use this macro exactly like macro DEFINE_RESPONSE_TABLE

#define DEFINE_RESPONSE_TABLE6 (   cls,
  base1,
  base2,
  base3,
  base4,
  base5,
  base6 
)
Value:
bool  cls::Find(TEventInfo& eventInfo, TEqualOperator equal)\
      {\
      using namespace ::owl;\
      eventInfo.Object = (TGeneric*)this;\
       return SearchEntries((TGenericTableEntry *)__entries, eventInfo, equal) ||\
              base1::Find(eventInfo, equal) ||\
              base2::Find(eventInfo, equal) ||\
              base3::Find(eventInfo, equal) ||\
              base4::Find(eventInfo, equal) ||\
              base5::Find(eventInfo, equal) ||\
          base6::Find(eventInfo, equal);\
      }\
  DEFINE_RESPONSE_TABLE_ENTRIES(cls)

Macro to define a response table for a class with three bases. Use this macro exactly like macro DEFINE_RESPONSE_TABLE

#define DEFINE_RESPONSE_TABLE7 (   cls,
  base1,
  base2,
  base3,
  base4,
  base5,
  base6,
  base7 
)
Value:
bool  cls::Find(TEventInfo& eventInfo, TEqualOperator equal)\
      {\
      using namespace ::owl;\
      eventInfo.Object = (TGeneric*)this;\
       return SearchEntries((TGenericTableEntry *)__entries, eventInfo, equal) ||\
              base1::Find(eventInfo, equal) ||\
              base2::Find(eventInfo, equal) ||\
              base3::Find(eventInfo, equal) ||\
              base4::Find(eventInfo, equal) ||\
              base5::Find(eventInfo, equal) ||\
              base6::Find(eventInfo, equal) ||\
          base7::Find(eventInfo, equal);\
      }\
  DEFINE_RESPONSE_TABLE_ENTRIES(cls)

Macro to define a response table for a class with three bases. Use this macro exactly like macro DEFINE_RESPONSE_TABLE

#define DEFINE_RESPONSE_TABLE8 (   cls,
  base1,
  base2,
  base3,
  base4,
  base5,
  base6,
  base7,
  base8 
)
Value:
bool  cls::Find(TEventInfo& eventInfo, TEqualOperator equal)\
      {\
      using namespace ::owl;\
      eventInfo.Object = (TGeneric*)this;\
       return SearchEntries((TGenericTableEntry *)__entries, eventInfo, equal) ||\
              base1::Find(eventInfo, equal) ||\
              base2::Find(eventInfo, equal) ||\
              base3::Find(eventInfo, equal) ||\
              base4::Find(eventInfo, equal) ||\
              base5::Find(eventInfo, equal) ||\
              base6::Find(eventInfo, equal) ||\
              base7::Find(eventInfo, equal) ||\
          base8::Find(eventInfo, equal);\
      }\
  DEFINE_RESPONSE_TABLE_ENTRIES(cls)

Macro to define a response table for a class with three bases. Use this macro exactly like macro DEFINE_RESPONSE_TABLE

#define DEFINE_RESPONSE_TABLE9 (   cls,
  base1,
  base2,
  base3,
  base4,
  base5,
  base6,
  base7,
  base8,
  base9 
)
Value:
bool  cls::Find(TEventInfo& eventInfo, TEqualOperator equal)\
      {\
      using namespace ::owl;\
      eventInfo.Object = (TGeneric*)this;\
       return SearchEntries((TGenericTableEntry *)__entries, eventInfo, equal) ||\
              base1::Find(eventInfo, equal) ||\
              base2::Find(eventInfo, equal) ||\
              base3::Find(eventInfo, equal) ||\
              base4::Find(eventInfo, equal) ||\
              base5::Find(eventInfo, equal) ||\
              base6::Find(eventInfo, equal) ||\
              base7::Find(eventInfo, equal) ||\
              base8::Find(eventInfo, equal) ||\
          base9::Find(eventInfo, equal);\
      }\
  DEFINE_RESPONSE_TABLE_ENTRIES(cls)

Macro to define a response table for a class with three bases. Use this macro exactly like macro DEFINE_RESPONSE_TABLE