home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 May / Pcwk5b98.iso / Borland / Cplus45 / BC45 / OWLINC.PAK / OCFEVENT.H < prev    next >
C/C++ Source or Header  |  1995-08-29  |  9KB  |  296 lines

  1. //----------------------------------------------------------------------------
  2. // ObjectWindows
  3. // (C) Copyright 1994 by Borland International, All Rights Reserved
  4. //
  5. //   Definition of OWL signatures for ObjectConnections messages
  6. //----------------------------------------------------------------------------
  7. #if !defined(OWL_OCFEVENT_H)
  8. #define OWL_OCFEVENT_H
  9.  
  10. #if !defined(OWL_EVENTHAN_H)
  11. # include <owl/eventhan.h>
  12. #endif
  13. #if !defined(_OCMCLASS) && defined(BI_PLAT_WIN16)
  14. # define _OCMCLASS _OWLCLASS
  15. #endif
  16. #if !defined(OCF_OCAPP_H)
  17. # include <ocf/ocapp.h>
  18. #endif
  19. #if !defined(OCF_OCVIEW_H)
  20. # include <ocf/ocview.h>
  21. #endif
  22.  
  23. //----------------------------------------------------------------------------
  24. // Signatures for ObjectComponents messages
  25. //
  26.  
  27. template <class T>
  28. inline bool(T::*B_OC_MD_Sig(bool(T::*pmf)(TOcMenuDescr far&)))(TOcMenuDescr far&)
  29. {
  30.   return pmf;
  31. }
  32.  
  33. template <class T>
  34. inline bool(T::*B_OC_DD_Sig(bool(T::*pmf)(TOcDragDrop far&)))(TOcDragDrop far&)
  35. {
  36.   return pmf;
  37. }
  38.  
  39. template <class T>
  40. inline bool(T::*B_OC_VSCROLL_Sig(bool(T::*pmf)(TOcScrollDir)))(TOcScrollDir)
  41. {
  42.   return pmf;
  43. }
  44.  
  45. template <class T>
  46. inline bool(T::*B_OC_PCI_Sig(bool(T::*pmf)(TOcPartChangeInfo&)))(TOcPartChangeInfo&)
  47. {
  48.   return pmf;
  49. }
  50.  
  51. template <class T>
  52. inline bool(T::*B_OC_VP_Sig(bool(T::*pmf)(TOcViewPaint far&)))(TOcViewPaint far&)
  53. {
  54.   return pmf;
  55. }
  56.  
  57. template <class T>
  58. inline bool(T::*B_OC_VSP_Sig(bool(T::*pmf)(TOcSaveLoad far&)))(TOcSaveLoad far&)
  59. {
  60.   return pmf;
  61. }
  62.  
  63. template <class T>
  64. inline bool(T::*B_OC_VCF_Sig(bool(T::*pmf)(TOcFormatData far&)))(TOcFormatData far&)
  65. {
  66.   return pmf;
  67. }
  68.  
  69. template <class T>
  70. inline bool(T::*B_OC_VTB_Sig(bool(T::*pmf)(TOcToolBarInfo far&)))(TOcToolBarInfo far&)
  71. {
  72.   return pmf;
  73. }
  74.  
  75. template <class T>
  76. inline bool(T::*B_OC_VSS_Sig(bool(T::*pmf)(TOcScaleFactor&)))(TOcScaleFactor&)
  77. {
  78.   return pmf;
  79. }
  80.  
  81. template <class T>
  82. inline bool(T::*B_OC_PS_Sig(bool(T::*pmf)(TOcPartSize&)))(TOcPartSize&)
  83. {
  84.   return pmf;
  85. }
  86.  
  87. template <class T>
  88. inline bool(T::*B_OC_IT_Sig(bool(T::*pmf)(TOcItemName&)))(TOcItemName&)
  89. {
  90.   return pmf;
  91. }
  92.  
  93. template <class T>
  94. inline bool(T::*B_OC_SL_Sig(bool(T::*pmf)(TOcLinkView&)))(TOcLinkView&)
  95. {
  96.   return pmf;
  97. }
  98.  
  99. template <class T>
  100. inline bool(T::*B_OC_PA_Sig(bool(T::*pmf)(TOcPart&)))(TOcPart&)
  101. {
  102.   return pmf;
  103. }
  104.  
  105. template <class T>
  106. inline bool(T::*B_OC_PO_Sig(bool(T::*pmf)(TOcInitInfo&)))(TOcInitInfo&)
  107. {
  108.   return pmf;
  109. }
  110.  
  111.  
  112. template <class T>
  113. inline bool(T::*B_U_Sig(bool(T::*pmf)(uint)))(uint)
  114. {
  115.   return pmf;
  116. }
  117.  
  118. //----------------------------------------------------------------------------
  119. // Event response table macros for ObjectConnections events
  120. //
  121.  
  122. //
  123. // Raw OC compound document family event
  124. //
  125. #define EV_OCEVENT(id, method)\
  126.   {WM_OCEVENT, id, (TAnyDispatcher)::I32_LPARAM_Dispatch,\
  127.    (TMyPMF)U32_VOIDFP_Sig(&TMyClass::method)}
  128.  
  129. //
  130. // App and app frame window events
  131. //
  132. #define EV_OC_APPINSMENUS\
  133.   {WM_OCEVENT, OC_APPINSMENUS, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  134.    (TMyPMF)B_OC_MD_Sig(&TMyClass::EvOcAppInsMenus)}
  135.  
  136. #define EV_OC_APPMENUS\
  137.   {WM_OCEVENT, OC_APPMENUS, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  138.    (TMyPMF)B_OC_MD_Sig(&TMyClass::EvOcAppMenus)}
  139.  
  140. #define EV_OC_APPPROCESSMSG\
  141.   {WM_OCEVENT, OC_APPPROCESSMSG, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  142.    (TMyPMF)B_MSG_Sig(&TMyClass::EvOcAppProcessMsg)}
  143.  
  144. #define EV_OC_APPFRAMERECT\
  145.   {WM_OCEVENT, OC_APPFRAMERECT, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  146.    (TMyPMF)B_RECT_Sig(&TMyClass::EvOcAppFrameRect)}
  147.  
  148. #define EV_OC_APPBORDERSPACEREQ\
  149.   {WM_OCEVENT, OC_APPBORDERSPACEREQ, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  150.    (TMyPMF)B_RECT_Sig(&TMyClass::EvOcAppBorderSpaceReq)}
  151.  
  152. #define EV_OC_APPBORDERSPACESET\
  153.   {WM_OCEVENT, OC_APPBORDERSPACESET, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  154.    (TMyPMF)B_RECT_Sig(&TMyClass::EvOcAppBorderSpaceSet)}
  155.  
  156. #define EV_OC_APPSTATUSTEXT\
  157.   {WM_OCEVENT, OC_APPSTATUSTEXT, (TAnyDispatcher)::v_POINTER_Dispatch,\
  158.    (TMyPMF)v_CS_Sig(&TMyClass::EvOcAppStatusText)}
  159.  
  160. #define EV_OC_APPRESTOREUI\
  161.   {WM_OCEVENT, OC_APPRESTOREUI, (TAnyDispatcher)::v_Dispatch,\
  162.    (TMyPMF)v_Sig(&TMyClass::EvOcAppRestoreUI)}
  163.  
  164. #define EV_OC_APPDIALOGHELP\
  165.   {WM_OCEVENT, OC_APPDIALOGHELP, (TAnyDispatcher)::v_U_Dispatch,\
  166.    (TMyPMF)v_OC_AH_Sig(&TMyClass::EvOcAppDialogHelp)}
  167.  
  168. #define EV_OC_APPSHUTDOWN\
  169.   {WM_OCEVENT, OC_APPSHUTDOWN, (TAnyDispatcher)::U_Dispatch,\
  170.    (TMyPMF)B_Sig(&TMyClass::EvOcAppShutdown)}
  171.  
  172. //
  173. // View events
  174. //
  175. #define EV_OC_VIEWTITLE\
  176.   {WM_OCEVENT, OC_VIEWTITLE, (TAnyDispatcher)::I32_Dispatch,\
  177.    (TMyPMF)CS_Sig(&TMyClass::EvOcViewTitle)}
  178.  
  179. #define EV_OC_VIEWSETTITLE\
  180.   {WM_OCEVENT, OC_VIEWSETTITLE, (TAnyDispatcher)::v_POINTER_Dispatch,\
  181.    (TMyPMF)v_CS_Sig(&TMyClass::EvOcViewSetTitle)}
  182.  
  183. #define EV_OC_VIEWBORDERSPACEREQ\
  184.   {WM_OCEVENT, OC_VIEWBORDERSPACEREQ, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  185.    (TMyPMF)B_RECT_Sig(&TMyClass::EvOcViewBorderSpaceReq)}
  186.  
  187. #define EV_OC_VIEWBORDERSPACESET\
  188.   {WM_OCEVENT, OC_VIEWBORDERSPACESET, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  189.    (TMyPMF)B_RECT_Sig(&TMyClass::EvOcViewBorderSpaceSet)}
  190.  
  191. #define EV_OC_VIEWDROP\
  192.   {WM_OCEVENT, OC_VIEWDROP, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  193.    (TMyPMF)B_OC_DD_Sig(&TMyClass::EvOcViewDrop)}
  194.  
  195. #define EV_OC_VIEWDRAG\
  196.   {WM_OCEVENT, OC_VIEWDRAG, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  197.    (TMyPMF)B_OC_DD_Sig(&TMyClass::EvOcViewDrag)}
  198.  
  199. #define EV_OC_VIEWSCROLL\
  200.   {WM_OCEVENT, OC_VIEWSCROLL, (TAnyDispatcher)::I32_U_Dispatch,\
  201.    (TMyPMF)B_OC_VSCROLL_Sig(&TMyClass::EvOcViewScroll)}
  202.  
  203. #define EV_OC_VIEWPARTINVALID\
  204.   {WM_OCEVENT, OC_VIEWPARTINVALID, (TAnyDispatcher)::U_POINTER_Dispatch,\
  205.    (TMyPMF)B_OC_PCI_Sig(&TMyClass::EvOcViewPartInvalid)}
  206.  
  207. #define EV_OC_VIEWPAINT\
  208.   {WM_OCEVENT, OC_VIEWPAINT, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  209.    (TMyPMF)B_OC_VP_Sig(&TMyClass::EvOcViewPaint)}
  210.  
  211. #define EV_OC_VIEWLOADPART\
  212.   {WM_OCEVENT, OC_VIEWLOADPART, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  213.    (TMyPMF)B_OC_VSP_Sig(&TMyClass::EvOcViewLoadPart)}
  214.  
  215. #define EV_OC_VIEWSAVEPART\
  216.   {WM_OCEVENT, OC_VIEWSAVEPART, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  217.    (TMyPMF)B_OC_VSP_Sig(&TMyClass::EvOcViewSavePart)}
  218.  
  219. #define EV_OC_VIEWCLOSE\
  220.   {WM_OCEVENT, OC_VIEWCLOSE, (TAnyDispatcher)::U_Dispatch,\
  221.    (TMyPMF)B_Sig(&TMyClass::EvOcViewClose)}
  222.  
  223. #define EV_OC_VIEWINSMENUS\
  224.   {WM_OCEVENT, OC_VIEWINSMENUS, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  225.    (TMyPMF)B_OC_MD_Sig(&TMyClass::EvOcViewInsMenus)}
  226.  
  227. #define EV_OC_VIEWSHOWTOOLS\
  228.   {WM_OCEVENT, OC_VIEWSHOWTOOLS, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  229.    (TMyPMF)B_OC_VTB_Sig(&TMyClass::EvOcViewShowTools)}
  230.  
  231. #define EV_OC_VIEWGETPALETTE\
  232.   {WM_OCEVENT, OC_VIEWGETPALETTE, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  233.    (TMyPMF)B_PPALETTE_Sig(&TMyClass::EvOcViewGetPalette)}
  234.  
  235. #define EV_OC_VIEWCLIPDATA\
  236.   {WM_OCEVENT, OC_VIEWCLIPDATA, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  237.    (TMyPMF)B_OC_VCF_Sig(&TMyClass::EvOcViewClipData)}
  238.  
  239. #define EV_OC_VIEWSETDATA\
  240.   {WM_OCEVENT, OC_VIEWSETDATA, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  241.    (TMyPMF)B_OC_VCF_Sig(&TMyClass::EvOcViewSetData)}
  242.  
  243. #define EV_OC_VIEWPARTSIZE\
  244.   {WM_OCEVENT, OC_VIEWPARTSIZE, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  245.    (TMyPMF)B_OC_PS_Sig(&TMyClass::EvOcViewPartSize)}
  246.  
  247. #define EV_OC_VIEWOPENDOC\
  248.   {WM_OCEVENT, OC_VIEWOPENDOC, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  249.    (TMyPMF)B_CS_Sig(&TMyClass::EvOcViewOpenDoc)}
  250.  
  251. #define EV_OC_VIEWATTACHWINDOW\
  252.   {WM_OCEVENT, OC_VIEWATTACHWINDOW, (TAnyDispatcher)::U_U_Dispatch,\
  253.    (TMyPMF)B_B_Sig(&TMyClass::EvOcViewAttachWindow)}
  254.  
  255. #define EV_OC_VIEWSETSCALE\
  256.   {WM_OCEVENT, OC_VIEWSETSCALE, (TAnyDispatcher)::U_POINTER_Dispatch,\
  257.    (TMyPMF)B_OC_VSS_Sig(&TMyClass::EvOcViewSetScale)}
  258.  
  259. #define EV_OC_VIEWGETSCALE\
  260.   {WM_OCEVENT, OC_VIEWGETSCALE, (TAnyDispatcher)::U_POINTER_Dispatch,\
  261.    (TMyPMF)B_OC_VSS_Sig(&TMyClass::EvOcViewGetScale)}
  262.  
  263. #define EV_OC_VIEWGETSITERECT\
  264.   {WM_OCEVENT, OC_VIEWGETSITERECT, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  265.    (TMyPMF)B_RECT_Sig(&TMyClass::EvOcViewGetSiteRect)}
  266.  
  267. #define EV_OC_VIEWSETSITERECT\
  268.   {WM_OCEVENT, OC_VIEWSETSITERECT, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  269.    (TMyPMF)B_RECT_Sig(&TMyClass::EvOcViewSetSiteRect)}
  270.  
  271. #define EV_OC_VIEWGETITEMNAME\
  272.   {WM_OCEVENT, OC_VIEWGETITEMNAME, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  273.    (TMyPMF)B_OC_IT_Sig(&TMyClass::EvOcViewGetItemName)}
  274.  
  275. #define EV_OC_VIEWSETLINK\
  276.   {WM_OCEVENT, OC_VIEWSETLINK, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  277.    (TMyPMF)B_OC_SL_Sig(&TMyClass::EvOcViewSetLink)}
  278.  
  279. #define EV_OC_VIEWBREAKLINK\
  280.   {WM_OCEVENT, OC_VIEWBREAKLINK, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  281.    (TMyPMF)B_OC_SL_Sig(&TMyClass::EvOcViewBreakLink)}
  282.  
  283. #define EV_OC_VIEWPARTACTIVATE\
  284.   {WM_OCEVENT, OC_VIEWPARTACTIVATE, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  285.    (TMyPMF)B_OC_PA_Sig(&TMyClass::EvOcViewPartActivate)}
  286.  
  287. #define EV_OC_VIEWPASTEOBJECT\
  288.   {WM_OCEVENT, OC_VIEWPASTEOBJECT, (TAnyDispatcher)::U_LPARAM_Dispatch,\
  289.    (TMyPMF)B_OC_PO_Sig(&TMyClass::EvOcViewPasteObject)}
  290.  
  291. #define EV_OC_VIEWDOVERB\
  292.   {WM_OCEVENT, OC_VIEWDOVERB, (TAnyDispatcher)::U_U_Dispatch,\
  293.    (TMyPMF)B_U_Sig(&TMyClass::EvOcViewDoVerb)}
  294.  
  295. #endif
  296.