home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cl-lib07.zip / pm.zip / usr / include / pm / window.h < prev    next >
C/C++ Source or Header  |  1995-06-27  |  2KB  |  110 lines

  1. #ifndef _WINDOW_H_
  2. #define _WINDOW_H_
  3.  
  4. #define INCL_PM
  5. #define INCL_SPLDOSPRINT
  6. #include <objc/os2.h>
  7. #include <objc/Object.h>
  8.  
  9. #ifndef _ARCHIVING_H_
  10. #include <pm/Archiving.h>
  11. #endif
  12.  
  13. #define WINDOW_CLASS "ObjcWindow"
  14.  
  15. @interface Window : Object <Archiving>
  16. {
  17.   HWND    window;
  18.  
  19.   Window *child;
  20.   Window *sibling;
  21.   int     tag;
  22.  
  23.   SWP     windowSwp;
  24.   char   *windowText;
  25.   ULONG   pmId;
  26.   ULONG   windowFlags;
  27.  
  28.   char   *presParam_font;
  29. }
  30.  
  31. // initializers and destructors
  32. - init;
  33. - associate: (HWND) hwnd;
  34. - free;
  35.  
  36. - destroy;
  37.  
  38. // user defined integer data: tag
  39. - (int) tag;
  40. - setTag: (int) aTag;
  41.  
  42. // methods concerning window hierarchy
  43. - createObjects;
  44. - insertChild: aChild;
  45. - insertSibling: aSibling;
  46. - deleteChild: aChild;
  47. - deleteSibling: aSibling;
  48.  
  49. - findFromID: (ULONG) anId;
  50. - findFromHWND: (HWND) aHwnd;
  51.  
  52. - setChild: (Window *) aChild;
  53. - (Window *) child;
  54. - setSibling: (Window *) aSibling;
  55. - (Window *) sibling;
  56.  
  57. // methods for access to window words
  58. - (char *) text: (char *) buffer;
  59. - (int) textLength;
  60. - setText: (const char *) buffer;
  61. - setSize: (LONG) x : (LONG) y : (LONG) w : (LONG) h;
  62. - setRect: (LONG) w : (LONG) h;
  63. - size: (PSWP) aSize;
  64. - (LONG) width;   // width of window
  65. - (LONG) height;  // height of window
  66. - (LONG) xoffset; // horizontal offset of lower left corner
  67. - (LONG) yoffset; // vertical offset of lower left corner
  68.  
  69. - (PFNWP) windowProcedure; // address of window procedure
  70. - (HMQ) messageQueue;      // handle of message queue
  71. - (ULONG) windowStyle;     // window Style flags
  72.  
  73. - setWindowStyle: (ULONG) styleFlags; // set window style flags
  74.  
  75. // methods for access to instance variables
  76. - (HWND) window;
  77. - (ULONG) pmId;
  78. - setPmId: (ULONG) anId;
  79.  
  80. // methods for access to PM messages
  81. - enable;     // enable window
  82. - disable;    // disable window
  83. - activate;   // activate window
  84. - deactivate; // deactivate window
  85.  
  86. // methods for controlling display behaviour of windows
  87. - invalidate; // invalidate whole window rect
  88. - show;       // show window
  89. - hide;       // hide window
  90.  
  91. /*
  92.  * Methods for protocol "Archiving"
  93.  */
  94.  
  95. - awake;
  96. - read: (TypedStream *) aStream;
  97. - write: (TypedStream *) aStream;
  98.  
  99. - createInPMWindow: (HWND) hwnd;
  100.  
  101. // message loop
  102. - (MRESULT) handleMessage: (ULONG) msg
  103.             withParams: (MPARAM) mp1 and: (MPARAM) mp2;
  104.  
  105. @end
  106.  
  107. MRESULT EXPENTRY __windowFunction (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
  108.  
  109. #endif
  110.