home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wpentk.zip / WBPENTK1.DSK / PENOBJ.IDL < prev    next >
Text File  |  1994-09-28  |  6KB  |  252 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8. //  SCC: @(#) 42 12/4/92 16:37:08 1.1 @(#)
  9. //  Module Header
  10. //
  11. //  Module Name: PENOBJ
  12. //
  13. //  OS/2 Presentation Manager Workplace class definitions
  14. //
  15. //  Copyright (c) International Business Machines Corporation 1992
  16. //
  17.  
  18. #ifndef penobj_idl
  19. #define penobj_idl
  20.  
  21. #include "wpobject.idl"
  22. #include <somcls.idl>
  23.  
  24. interface M_PenObject;
  25.  
  26. interface PenObject : WPObject
  27.  
  28.  
  29. //---Symbol parentComment is undefined---
  30.  
  31. //
  32. // CLASS: PenObject
  33. //
  34. // CLASS HIERARCHY:
  35. //    SOMObject
  36. //      ¡¡¡ WPObject
  37. //            ¡¡¡ PenObject
  38. //
  39. // DESCRIPTION:
  40. //    This is the replacement class for the WPObject class.  It provides
  41. //    the instance data and methods needed to support the OS/2 Pen
  42. //    extensions.
  43. //
  44. //    An instance of this class cannot be created as a Workplace object.
  45. //
  46. //    This class first subclasses the WPObject class and then replaces
  47. //    it's parent class.
  48. //
  49.  
  50. {
  51.   ULONG penAddObjectOverrides2Page(in HWND hwndNotebook);
  52.  
  53.   //
  54.   // METHOD: penAddObjectOverrides2Page                       (X) PRIVATE
  55.   //                                                        ( ) PUBLIC
  56.   // PURPOSE:
  57.   //   Add an Overrides page to allow the user to override Pen system
  58.   //   variables.
  59.   //
  60.  
  61.   ULONG penInvokeGestureHelp();
  62.  
  63.   //
  64.   // METHOD: penInvokeGestureHelp                           ( ) PRIVATE
  65.   //                                                        (X) PUBLIC
  66.   // PURPOSE:
  67.   //   Opens settings notebook of particular object to the Gesture
  68.   //   page.
  69.   //
  70.  
  71.   ULONG penAddObjectEventPage(in HWND hwndNotebook,
  72.                               in PVOID pMappingInfo);
  73.  
  74.   //
  75.   // METHOD: penAddObjectEventPage                          ( ) PRIVATE
  76.   //                                                        (X) PUBLIC
  77.   // PURPOSE:
  78.   //   Add the recognition event page to all workplace objects that
  79.   //   are of one of the predefined types.
  80.   //
  81.  
  82.   ULONG penAddObjectOverridesPage(in HWND hwndNotebook);
  83.  
  84.   //
  85.   // METHOD: penAddObjectOverridesPage                       (X) PRIVATE
  86.   //                                                        ( ) PUBLIC
  87.   // PURPOSE:
  88.   //   Add an Overrides page to allow the user to override Pen system
  89.   //   variables.
  90.   //
  91.  
  92.  
  93.  
  94.  
  95. #ifdef __SOMIDL__
  96.   implementation {
  97.  
  98.     releaseorder: penAddObjectEventPage,penAddObjectOverridesPage,penAddObjectOverrides2Page,
  99.                   penInvokeGestureHelp,penNotifyChangeofSystemMappings;
  100.  
  101.     
  102.     externalstem = Penobj;
  103.     local;
  104.     externalprefix = pob_;
  105.     majorversion = 1;
  106.     minorversion = 2;
  107.     filestem = penobj;
  108.     metaclass = M_PenObject;
  109.     callstyle = oidl;
  110.  
  111.     passthru C_ih_before =  ""
  112. "/* Bit flags for the overrides variables. bfCurrent and bfOld are given a"
  113. "   size of BYTE, so if we get to 0x100, we'll need to increase the size of"
  114. "   these variables. - MikeD 4/26/94 */"
  115. ""
  116. "#define F_APP_NO_PEN_PAUSE        1"
  117. "#define F_APP_NO_TOUCH_PAUSE      2"
  118. "#define F_APP_NO_MOUSE_PAUSE      4"
  119. "#define F_APP_GESTURES            8"
  120. "#define F_APP_HIDE_CURSOR        16"
  121. ""
  122. "/* Bit flags for the page state variables */"
  123. ""
  124. "#define F_OBJECT_GENERAL_PAGE_ADDED     1"
  125. "#define F_OBJECT_WINDOW_PAGE_ADDED      2"
  126. ""
  127. "";
  128.  
  129.  
  130.     
  131.     PSZ pszSessionType;
  132.     ULONG ulSessionType;
  133.     HOBJECT hObject;
  134.     HOBJECT hObjectDefault;
  135.     BYTE bfCurrentOverrides;
  136.     BYTE bfOldOverrides;
  137.     ULONG ulCurrentWritingMode;
  138.     ULONG ulOldWritingMode;
  139.     ULONG ulCurrentPointRate;
  140.     ULONG ulOldPointRate;
  141.     BYTE bfPagesAdded;
  142.     BYTE fAddPenPages;
  143.     ULONG ulGesturePage;
  144.     HWND hwndNotebook;
  145.     ULONG ulCreated;
  146.     BYTE fSystemMappingsChanged;
  147.     BYTE fGestureEnabledChanged;
  148.     ULONG ulGeneralPage;
  149.     ULONG ulWindowPage;
  150.     ULONG ulCurrentHFMouseMoves;
  151.     ULONG ulOldHFMouseMoves;
  152.  
  153.     
  154.     penInvokeGestureHelp: namelookup;
  155.     penAddObjectEventPage: namelookup;
  156.     wpAddSettingsPages: override;
  157.  
  158.     //
  159.     // METHOD: wpAddSettingsPages                             ( ) PRIVATE
  160.     //                                                        (X) PUBLIC
  161.     // PURPOSE:
  162.     //   Add our own settings page to give the user access to the recognition
  163.     //   profile editor so that the recognition profile mappings for this
  164.     //   object may be changed.
  165.     //
  166.     wpInitData: override;
  167.  
  168.     //
  169.     // REMARKS:
  170.     //   Initialize the recognition profile name instance data for
  171.     //   this object.
  172.     //
  173.     wpUnInitData: override;
  174.  
  175.     //
  176.     // REMARKS:
  177.     //   Release any resources that get allocated during the wpInitData
  178.     //   processing.
  179.     //
  180.     wpCreateAnother: override;
  181.  
  182.     //
  183.     // REMARKS:
  184.     //   Setup PenObject information on Create another....
  185.     //
  186.     wpRestoreState: override;
  187.  
  188.     //
  189.     // REMARKS:
  190.     //   Retreive the recognition profile name for this object instance
  191.     //   and set the instance variable for this parameter.
  192.     //
  193.     wpSaveState: override;
  194.  
  195.     //
  196.     // REMARKS:
  197.     //   Save the instance variable value.
  198.     //
  199.     wpFree: override;
  200.  
  201.     //
  202.     // REMARKS:
  203.     //   Need to free any pen specific information associated with this
  204.     //   Program or ProgramFile Object.
  205.     //
  206.     wpAddObjectWindowPage: override;
  207.  
  208.     //
  209.     // REMARKS:
  210.     //   Override this method so we can assure that it only adds the page once.
  211.     //   We use a state variable to track this. (fObjectWindowPageAdded)
  212.     //
  213.     wpAddObjectGeneralPage: override;
  214.  
  215.     //
  216.     // REMARKS:
  217.     //   Override this method so we can assure that it only adds the page once.
  218.     //   We use a state variable to track this. (fObjectGeneralPageAdded)
  219.     //
  220.  
  221.     
  222.  
  223.   };
  224. #endif /* __SOMIDL__ */
  225. };
  226.  
  227. interface M_PenObject
  228.  
  229.  
  230. {
  231.  
  232. #ifdef __SOMIDL__
  233.   implementation {
  234.  
  235.     
  236.     externalstem = Penobj;
  237.     local;
  238.     externalprefix = pobM_;
  239.     majorversion = 1;
  240.     minorversion = 2;
  241.     filestem = penobj;
  242.     callstyle = oidl;
  243.  
  244.     
  245.     wpclsQueryIcon: override;
  246.  
  247.   };
  248. #endif /* __SOMIDL__ */
  249. };
  250.  
  251. #endif  /* penobj_idl */
  252.