home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / header45.zip / wpmouse.xh < prev    next >
Text File  |  1999-03-15  |  10KB  |  420 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: E:\cwpsh\rel\os2c\include\base\os2\wpmouse.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.14
  7.  *     SOM Emitter emitxh: 2.43
  8.  */
  9.  
  10. /*
  11.  *   Module Header
  12.  * 
  13.  *   Module Name: WPMOUSE
  14.  * 
  15.  *   OS/2 Presentation Manager Workplace class definitions
  16.  * 
  17.  *   Copyright (c) International Business Machines Corporation 1991, 1992
  18.  * 
  19.  */
  20.  
  21.  
  22. #ifndef SOM_WPMouse_xh
  23. #define SOM_WPMouse_xh
  24.  
  25. class WPMouse;
  26.  
  27. #define WPMouse_MajorVersion 1
  28. #define WPMouse_MinorVersion 2
  29.  
  30. /*
  31.  * Passthru lines: File: "C.h", "before"
  32.  */
  33.  
  34.  
  35. /**********************************************************/
  36. /* Defines for wpclsQuerySetting and wpclsSetSetting      */
  37. /**********************************************************/
  38.  
  39. #define DOUBLECLICK_DEFAULT         0
  40. #define TRACKING_DEFAULT            0
  41. #define BUTTONS_RIGHTHANDED         0
  42. #define BUTTONS_LEFTHANDED          1
  43. #define BUTTONS_DEFAULT             2
  44. #define WINDOWLISTBUTTON_DEFAULT    0
  45. #define POPUPBUTTON_DEFAULT         0
  46. #define DRAGBUTTON_DEFAULT          0
  47. #define TEXTEDITBUTTON_DEFAULT      0
  48.  
  49.  
  50.  
  51. /* C++ SOM defs */
  52. #include <somcls.xh>
  53. #include <somcm.xh>
  54.  
  55. /* C++ parent defs */
  56. #ifndef SOM_WPAbstract_xh
  57. #include <wpabs.xh>
  58. #endif
  59.  
  60. #ifndef WPMouse_API
  61. #define WPMouse_API
  62. /*
  63.  * -- The Class API
  64.  */
  65.  
  66. /*
  67.  * Start of bindings for IDL types
  68.  */
  69.  
  70. class SOMClass;
  71. class SOMObject;
  72. class WPFolder;
  73. class M_WPObject;
  74. class WPObject;
  75. class WPImageFile;
  76. class M_WPAbstract;
  77. class M_WPMouse;
  78.  
  79. /*
  80.  * End of bindings for IDL types.
  81.  */
  82.  
  83. /* A procedure to create the WPMouse Class */
  84. class M_WPMouse;
  85. SOMEXTERN M_WPMouse * SOMLINK WPMouseNewClass(
  86.         integer4 majorVersion,
  87.         integer4 minorVersion);
  88.  
  89. /* The API to the WPMouse class object, and the methods it introduces. */
  90. SOMEXTERN struct WPMouseClassDataStructure {
  91.     M_WPMouse *classObject;
  92.     somMToken wpAddMouseMappingsPage;
  93.     somMToken wpAddMouseTimingPage;
  94.     somMToken wpAddMouseTypePage;
  95.     somMToken wpAddMousePtrPage;
  96.     somMToken wpAddMouseCometPage;
  97. } SOMDLINK WPMouseClassData;
  98. #define _WPMouse WPMouseClassData.classObject
  99.  
  100. /* The API to parentMtabs for WPMouse, and the instance data it introduces. */
  101. SOMEXTERN struct WPMouseCClassDataStructure {
  102.     somMethodTabs parentMtab;
  103.     somDToken              instanceDataToken;
  104. } SOMDLINK WPMouseCClassData;
  105.  
  106. /*
  107.  * -- Typedefs for WPMouse Method Procedures
  108.  */
  109. SOMEXTERN {
  110. typedef ULONG   SOMLINK somTP_WPMouse_wpAddMouseMappingsPage(WPMouse *somSelf, 
  111.         HWND hwndNotebook);
  112. typedef somTP_WPMouse_wpAddMouseMappingsPage *somTD_WPMouse_wpAddMouseMappingsPage;
  113. typedef ULONG   SOMLINK somTP_WPMouse_wpAddMouseTimingPage(WPMouse *somSelf, 
  114.         HWND hwndNotebook);
  115. typedef somTP_WPMouse_wpAddMouseTimingPage *somTD_WPMouse_wpAddMouseTimingPage;
  116. typedef ULONG   SOMLINK somTP_WPMouse_wpAddMouseTypePage(WPMouse *somSelf, 
  117.         HWND hwndNotebook);
  118. typedef somTP_WPMouse_wpAddMouseTypePage *somTD_WPMouse_wpAddMouseTypePage;
  119. typedef ULONG   SOMLINK somTP_WPMouse_wpAddMousePtrPage(WPMouse *somSelf, 
  120.         HWND hwndNotebook);
  121. typedef somTP_WPMouse_wpAddMousePtrPage *somTD_WPMouse_wpAddMousePtrPage;
  122. typedef ULONG   SOMLINK somTP_WPMouse_wpAddMouseCometPage(WPMouse *somSelf, 
  123.         HWND hwndNotebook);
  124. typedef somTP_WPMouse_wpAddMouseCometPage *somTD_WPMouse_wpAddMouseCometPage;
  125.  
  126. /*
  127.  * -- Typedefs for Reintroduced Wrapper Methods
  128.  */
  129. typedef M_WPMouse*   SOMLINK somTP_WPMouse_somGetClass(WPMouse *somSelf);
  130. typedef somTP_WPMouse_somGetClass *somTD_WPMouse_somGetClass;
  131. }
  132.  
  133. #endif /* WPMouse_API */
  134.  
  135.  
  136. /*
  137.  * -- This emitter treats Method Tokens as Thunks by default.
  138.  * -- Use the sc modifier "nothunks" to change this default
  139.  */
  140. #undef somresolve_
  141. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  142.  
  143. /*
  144.  * -- The C++ Wrapper Class for WPMouse
  145.  */
  146. class WPMouse : public WPAbstract
  147. {
  148. public:
  149.  
  150. // WPMouse::new creates the class object if necessary, and then uses somNewNoInit
  151. // to allocate memory and create the object. Initialization is in ctors.
  152. void *operator new(size_t)
  153. {
  154.    if (!_WPMouse) WPMouseNewClass(WPMouse_MajorVersion,WPMouse_MinorVersion);
  155.    return (void*)
  156.       SOM_Resolve(_WPMouse,SOMClass,somNewNoInit)
  157.          ((SOMClass *)((void*)_WPMouse));
  158. }
  159.  
  160. // WPMouse::delete uses somDestruct.
  161. void operator delete(void * obj)
  162. {
  163.    if (obj && *(void**)obj) {
  164.       SOM_Resolve(obj,SOMObject,somDestruct)
  165.          ((SOMObject*)obj, 1, 0);
  166.    }
  167. }
  168.  
  169. WPMouse& operator=(WPMouse& fromObj)
  170. {
  171.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  172.    return *this;
  173. }
  174.  
  175. WPMouse()
  176. {
  177.    if (*(void**)this != 
  178.        ((somParentMtabStructPtr)
  179.         (WPMouseCClassData.parentMtab))->mtab)
  180.       return;
  181.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  182. }
  183.  
  184. WPMouse(WPMouse* fromObj)
  185. {
  186.    if (*(void**)this != 
  187.        ((somParentMtabStructPtr)
  188.         (WPMouseCClassData.parentMtab))->mtab)
  189.       return;
  190.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  191. }
  192.  
  193. WPMouse(const WPMouse* fromObj)
  194. {
  195.    if (*(void**)this != 
  196.        ((somParentMtabStructPtr)
  197.         (WPMouseCClassData.parentMtab))->mtab)
  198.       return;
  199.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  200. }
  201.  
  202.  
  203. /* method: wpAddMouseMappingsPage */
  204. ULONG   wpAddMouseMappingsPage(HWND hwndNotebook)
  205. {
  206.    return SOM_ResolveD(this,WPMouse,WPMouse,wpAddMouseMappingsPage)
  207.     (this,hwndNotebook);
  208. }
  209.  
  210.  
  211. /* method: wpAddMouseTimingPage */
  212. ULONG   wpAddMouseTimingPage(HWND hwndNotebook)
  213. {
  214.    return SOM_ResolveD(this,WPMouse,WPMouse,wpAddMouseTimingPage)
  215.     (this,hwndNotebook);
  216. }
  217.  
  218.  
  219. /* method: wpAddMouseTypePage */
  220. ULONG   wpAddMouseTypePage(HWND hwndNotebook)
  221. {
  222.    return SOM_ResolveD(this,WPMouse,WPMouse,wpAddMouseTypePage)
  223.     (this,hwndNotebook);
  224. }
  225.  
  226.  
  227. /* method: wpAddMousePtrPage */
  228. ULONG   wpAddMousePtrPage(HWND hwndNotebook)
  229. {
  230.    return SOM_ResolveD(this,WPMouse,WPMouse,wpAddMousePtrPage)
  231.     (this,hwndNotebook);
  232. }
  233.  
  234.  
  235. /* method: wpAddMouseCometPage */
  236. ULONG   wpAddMouseCometPage(HWND hwndNotebook)
  237. {
  238.    return SOM_ResolveD(this,WPMouse,WPMouse,wpAddMouseCometPage)
  239.     (this,hwndNotebook);
  240. }
  241.  
  242.  
  243. /*
  244.  * Reintroduce inherited methods
  245.  */
  246.  
  247. /* method: somGetClass */
  248. M_WPMouse*  somGetClass()
  249. {
  250. /*
  251.  *  Return the receiver's class.
  252.  */
  253.    return SOM_ResolveD(this,WPMouse,SOMObject,somGetClass)
  254.     (this);
  255. }
  256.  
  257.  
  258.  
  259. };   /* WPMouse */
  260.  
  261.  
  262.  
  263. #endif       /* SOM_WPMouse_xh */
  264.  
  265. #ifndef SOM_M_WPMouse_xh
  266. #define SOM_M_WPMouse_xh
  267.  
  268. class M_WPMouse;
  269.  
  270. #define M_WPMouse_MajorVersion 1
  271. #define M_WPMouse_MinorVersion 2
  272.  
  273. /* C++ SOM defs */
  274. #include <somcls.xh>
  275. #include <somcm.xh>
  276.  
  277. /* C++ parent defs */
  278. #ifndef SOM_M_WPAbstract_xh
  279. #include <wpabs.xh>
  280. #endif
  281.  
  282. #ifndef M_WPMouse_API
  283. #define M_WPMouse_API
  284. /*
  285.  * -- The Class API
  286.  */
  287.  
  288. /*
  289.  * Start of bindings for IDL types
  290.  */
  291.  
  292.  
  293. /*
  294.  * End of bindings for IDL types.
  295.  */
  296.  
  297. /*
  298.  * -- M_WPMouse is a metaclass for WPMouse. Make sure WPMouse is known.
  299.  */
  300. class WPMouse;
  301.  
  302.  
  303. /* A procedure to create the M_WPMouse Class */
  304. SOMEXTERN SOMClass * SOMLINK M_WPMouseNewClass(
  305.         integer4 majorVersion,
  306.         integer4 minorVersion);
  307.  
  308. /* The API to the M_WPMouse class object, and the methods it introduces. */
  309. SOMEXTERN struct M_WPMouseClassDataStructure {
  310.     SOMClass *classObject;
  311. } SOMDLINK M_WPMouseClassData;
  312. #define _M_WPMouse M_WPMouseClassData.classObject
  313.  
  314. /* The API to parentMtabs for M_WPMouse, and the instance data it introduces. */
  315. SOMEXTERN struct M_WPMouseCClassDataStructure {
  316.     somMethodTabs parentMtab;
  317.     somDToken              instanceDataToken;
  318. } SOMDLINK M_WPMouseCClassData;
  319.  
  320. /*
  321.  * -- Typedefs for M_WPMouse Method Procedures
  322.  */
  323. SOMEXTERN {
  324.  
  325. /*
  326.  * -- Typedefs for Reintroduced Wrapper Methods
  327.  */
  328. typedef WPMouse*   SOMLINK somTP_M_WPMouse_somNew(M_WPMouse *somSelf);
  329. typedef somTP_M_WPMouse_somNew *somTD_M_WPMouse_somNew;
  330. }
  331.  
  332. #endif /* M_WPMouse_API */
  333.  
  334.  
  335. /*
  336.  * -- This emitter treats Method Tokens as Thunks by default.
  337.  * -- Use the sc modifier "nothunks" to change this default
  338.  */
  339. #undef somresolve_
  340. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  341.  
  342. /*
  343.  * -- The C++ Wrapper Class for M_WPMouse
  344.  */
  345. class M_WPMouse : public M_WPAbstract
  346. {
  347. public:
  348.  
  349. // M_WPMouse::new creates the class object if necessary, and then uses somNewNoInit
  350. // to allocate memory and create the object. Initialization is in ctors.
  351. void *operator new(size_t)
  352. {
  353.    if (!_M_WPMouse) M_WPMouseNewClass(M_WPMouse_MajorVersion,M_WPMouse_MinorVersion);
  354.    return (void*)
  355.       SOM_Resolve(_M_WPMouse,SOMClass,somNewNoInit)
  356.          ((SOMClass *)((void*)_M_WPMouse));
  357. }
  358.  
  359. // M_WPMouse::delete uses somDestruct.
  360. void operator delete(void * obj)
  361. {
  362.    if (obj && *(void**)obj) {
  363.       SOM_Resolve(obj,SOMObject,somDestruct)
  364.          ((SOMObject*)obj, 1, 0);
  365.    }
  366. }
  367.  
  368. M_WPMouse& operator=(M_WPMouse& fromObj)
  369. {
  370.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  371.    return *this;
  372. }
  373.  
  374. M_WPMouse()
  375. {
  376.    if (*(void**)this != 
  377.        ((somParentMtabStructPtr)
  378.         (M_WPMouseCClassData.parentMtab))->mtab)
  379.       return;
  380.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  381. }
  382.  
  383. M_WPMouse(M_WPMouse* fromObj)
  384. {
  385.    if (*(void**)this != 
  386.        ((somParentMtabStructPtr)
  387.         (M_WPMouseCClassData.parentMtab))->mtab)
  388.       return;
  389.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  390. }
  391.  
  392. M_WPMouse(const M_WPMouse* fromObj)
  393. {
  394.    if (*(void**)this != 
  395.        ((somParentMtabStructPtr)
  396.         (M_WPMouseCClassData.parentMtab))->mtab)
  397.       return;
  398.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  399. }
  400.  
  401.  
  402. /*
  403.  * Reintroduce inherited methods
  404.  */
  405.  
  406. /* method: somNew */
  407. WPMouse*  somNew()
  408. {
  409.    return SOM_ResolveD(this,M_WPMouse,SOMClass,somNew)
  410.     (this);
  411. }
  412.  
  413.  
  414.  
  415. };   /* M_WPMouse */
  416.  
  417.  
  418.  
  419. #endif       /* SOM_M_WPMouse_xh */
  420.