home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2api / winstdbo.def < prev    next >
Text File  |  1994-05-03  |  12KB  |  213 lines

  1. DEFINITION MODULE WINSTDBOOK;
  2.  
  3. (************************************************************************
  4.   OS/2 2.0 interface for Presentation Manager
  5.            CUA book control class.
  6.  
  7.   Copyright (c) 1992 by Juergen Neuhoff
  8. *************************************************************************)
  9.  
  10. (*$XL+       Modula-2 language extensions: '_' allowed for symbol names *)
  11. (*$CDECL+    C-style procedures                                         *)
  12. (*$A         default alignment for record fields                        *)
  13.  
  14. FROM OS2DEF        IMPORT TYPEPREFIX, PSZ, HWND, HBITMAP;
  15.  
  16. (*************************************************************************)
  17. (*    Message ids                                                        *)
  18. (*************************************************************************)
  19. CONST
  20.   BKM_CALCPAGERECT          = 0353H;  (* Calc book/page rectangle  *)
  21.   BKM_DELETEPAGE            = 0354H;  (* Delete page(s)            *)
  22.   BKM_INSERTPAGE            = 0355H;  (* Insert page               *)
  23.   BKM_INVALIDATETABS        = 0356H;  (* Invalidate tab area       *)
  24.   BKM_TURNTOPAGE            = 0357H;  (* Turn to page              *)
  25.   BKM_QUERYPAGECOUNT        = 0358H;  (* Query number of pages     *)
  26.   BKM_QUERYPAGEID           = 0359H;  (* Query page identifier     *)
  27.   BKM_QUERYPAGEDATA         = 035AH;  (* Query page user data      *)
  28.   BKM_QUERYPAGEWINDOWHWND   = 035BH;  (* Query page window handle  *)
  29.   BKM_QUERYTABBITMAP        = 035CH;  (* Query tab bitmap handle   *)
  30.   BKM_QUERYTABTEXT          = 035DH;  (* Query tab text pointer    *)
  31.   BKM_SETDIMENSIONS         = 035EH;  (* Set tab/dogear dimensions *)
  32.   BKM_SETPAGEDATA           = 035FH;  (* Set page user data        *)
  33.   BKM_SETPAGEWINDOWHWND     = 0360H;  (* Set page window handle    *)
  34.   BKM_SETSTATUSLINETEXT     = 0361H;  (* Set status line text      *)
  35.   BKM_SETTABBITMAP          = 0362H;  (* Set tab bitmap            *)
  36.   BKM_SETTABTEXT            = 0363H;  (* Set tab text              *)
  37.   BKM_SETNOTEBOOKCOLORS     = 0364H;  (* Set Notebook colors       *)
  38.   BKM_QUERYPAGESTYLE        = 0365H;  (* Query page style          *)
  39.   BKM_QUERYSTATUSLINETEXT   = 0366H;  (* Query status line text    *)
  40.   BKN_PAGESELECTED          = 130;    (* New page selected by user *)
  41.   BKN_NEWPAGESIZE           = 131;    (* App page size changed     *)
  42.   BKN_HELP                  = 132;    (* Help notification         *)
  43.   BKN_PAGEDELETED           = 133;    (* Page deleted notification *)
  44.  
  45. (*************************************************************************)
  46. (*    Page deletion flags (usDeleteFlag)                                 *)
  47. (*************************************************************************)
  48. CONST
  49.   BKA_ALL                   = 0001H;  (* all pages                 *)
  50.   BKA_SINGLE                = 0002H;  (* single page               *)
  51.   BKA_TAB                   = 0004H;  (* minor/major section       *)
  52.  
  53. (*************************************************************************)
  54. (*    Page insertion/query order (usPageOrder, usQueryOrder)             *)
  55. (*************************************************************************)
  56. CONST
  57.   BKA_LAST               = 0002H;  (* Insert/Query last page    *)
  58.   BKA_FIRST              = 0004H;  (* Insert/Query first page   *)
  59.   BKA_NEXT               = 0008H;  (* Insert/Query after page   *)
  60.   BKA_PREV               = 0010H;  (* Insert/Query before page  *)
  61.   BKA_TOP                = 0020H;  (* Query topmost page        *)
  62.  
  63. (*************************************************************************)
  64. (*    Notebook region types (usBookRegion, usType)                       *)
  65. (*************************************************************************)
  66. CONST
  67.   BKA_MAJORTAB           = 0001H;  (* Major Tab                 *)
  68.   BKA_MINORTAB           = 0002H;  (* Minor Tab                 *)
  69.   BKA_PAGEBUTTON         = 0100H;  (* Page Turning Button       *)
  70.  
  71. (*************************************************************************)
  72. (*    Page insertion/query styles (usPageStyle,usQueryEnd)               *)
  73. (*************************************************************************)
  74. CONST
  75.   BKA_STATUSTEXTON       = 0001H;  (* status area text          *)
  76.   BKA_MAJOR              = 0040H;  (* Major Tab                 *)
  77.   BKA_MINOR              = 0080H;  (* Minor Tab                 *)
  78.   BKA_AUTOPAGESIZE       = 0100H;  (* Page window position/size *)
  79.   BKA_END                = 0200H;  (* Query to end of book      *)
  80.  
  81. (*************************************************************************)
  82. (*    Tab window contents (usTabDisplay)                                 *)
  83. (*************************************************************************)
  84. CONST
  85.   BKA_TEXT               = 0400H;  (* text data                 *)
  86.   BKA_BITMAP             = 0800H;  (* bitmap                    *)
  87.  
  88. (*************************************************************************)
  89. (*    Notebook window styles (ulNotebookStyles)                          *)
  90. (*************************************************************************)
  91.  
  92. (*************************************************************************)
  93. (*    Backpage Orientation                                               *)
  94. (*************************************************************************)
  95.   BKS_BACKPAGESBR        = 00000001H;  (* Bottom right          *)
  96.   BKS_BACKPAGESBL        = 00000002H;  (* Bottom left           *)
  97.   BKS_BACKPAGESTR        = 00000004H;  (* Top right             *)
  98.   BKS_BACKPAGESTL        = 00000008H;  (* Top left              *)
  99.  
  100. (*************************************************************************)
  101. (*    Major Tab Side                                                     *)
  102. (*************************************************************************)
  103. CONST
  104.   BKS_MAJORTABRIGHT      = 00000010H;  (* Major tabs right      *)
  105.   BKS_MAJORTABLEFT       = 00000020H;  (* Major tabs left       *)
  106.   BKS_MAJORTABTOP        = 00000040H;  (* Major tabs top        *)
  107.   BKS_MAJORTABBOTTOM     = 00000080H;  (* Major tabs bottom     *)
  108.  
  109. (*************************************************************************)
  110. (*    Tab Type                                                           *)
  111. (*************************************************************************)
  112. CONST
  113.   BKS_SQUARETABS         = 00000000H;  (* Square edged tabs     *)
  114.   BKS_ROUNDEDTABS        = 00000100H;  (* Round edged tabs      *)
  115.   BKS_POLYGONTABS        = 00000200H;  (* Polygon edged tabs    *)
  116.  
  117. (*************************************************************************)
  118. (*    Binding type                                                       *)
  119. (*************************************************************************)
  120. CONST
  121.   BKS_SOLIDBIND          = 00000000H;  (* Solid binding         *)
  122.   BKS_SPIRALBIND         = 00000400H;  (* Spiral binding        *)
  123.  
  124. (*************************************************************************)
  125. (*    Status line text justification                                     *)
  126. (*************************************************************************)
  127. CONST
  128.   BKS_STATUSTEXTLEFT     = 00000000H;  (* Left justify text     *)
  129.   BKS_STATUSTEXTRIGHT    = 00001000H;  (* Right justify text    *)
  130.   BKS_STATUSTEXTCENTER   = 00002000H;  (* Center text           *)
  131.  
  132. (*************************************************************************)
  133. (*    Tab text justification                                             *)
  134. (*************************************************************************)
  135. CONST
  136.   BKS_TABTEXTLEFT        = 00000000H;  (* Left justify tab text *)
  137.   BKS_TABTEXTRIGHT       = 00004000H;  (* Right justify tab text*)
  138.   BKS_TABTEXTCENTER      = 00008000H;  (* Center tab text       *)
  139.  
  140. (*************************************************************************)
  141. (*    Notebook color presentation param attributes                       *)
  142. (*************************************************************************)
  143. CONST
  144.   BKA_BACKGROUNDPAGECOLORINDEX  = 0001H; (* Page Background       *)
  145.   BKA_BACKGROUNDPAGECOLOR       = 0002H;
  146.   BKA_BACKGROUNDMAJORCOLORINDEX = 0003H; (* Major Tab Background  *)
  147.   BKA_BACKGROUNDMAJORCOLOR      = 0004H;
  148.   BKA_BACKGROUNDMINORCOLORINDEX = 0005H; (* Minor Tab Background  *)
  149.   BKA_BACKGROUNDMINORCOLOR      = 0006H;
  150.   BKA_FOREGROUNDMAJORCOLORINDEX = 0007H; (* Major Tab Text        *)
  151.   BKA_FOREGROUNDMAJORCOLOR      = 0008H;
  152.   BKA_FOREGROUNDMINORCOLORINDEX = 0009H; (* Minor Tab Text        *)
  153.   BKA_FOREGROUNDMINORCOLOR      = 000AH;
  154.  
  155. (*************************************************************************)
  156. (*    Error message ids                                                  *)
  157. (*************************************************************************)
  158. CONST
  159.   BOOKERR_INVALID_PARAMETERS  = -1; (* Invalid parameters        *)
  160.  
  161. (*************************************************************************)
  162. (*    BKM_QUERYTABTEXT and BKM_QUERYSTATUSLINETEXT message structure     *)
  163. (*************************************************************************)
  164. TYPE
  165.   BOOKTEXT                    = RECORD       (* booktxt *)
  166.     CASE                        : TYPEPREFIX OF
  167.     | TRUE                      :
  168.       pString                   : PSZ;       (* ptr to string buffer      *)
  169.       textLen                   : LONGCARD;  (* length of string to query *)
  170.     | FALSE                     :
  171.       String                    : PSZ;       (* ptr to string buffer      *)
  172.       TextLen                   : LONGCARD;  (* length of string to query *)
  173.     END;                        END;
  174.   PBOOKTEXT                   = POINTER TO BOOKTEXT;
  175.  
  176. (*************************************************************************)
  177. (*    BKN_PAGEDELETED notify message structure                           *)
  178. (*************************************************************************)
  179. TYPE
  180.   DELETENOTIFY                = RECORD       (* delntfy *)
  181.     CASE                        : TYPEPREFIX OF
  182.     | TRUE                      :
  183.       hwndBook                  : HWND;      (* Notebook window handle   *)
  184.       hwndPage                  : HWND;      (* App. page window handle  *)
  185.       ulAppPageData             : LONGCARD;  (* App. page data           *)
  186.       hbmTab                    : HBITMAP;   (* App. tab bitmap handle   *)
  187.     | FALSE                     :
  188.       BookWinHandle             : HWND;      (* Notebook window handle   *)
  189.       PageWinHandle             : HWND;      (* App. page window handle  *)
  190.       AppPageData               : LONGCARD;  (* App. page data           *)
  191.       TabBitMapHandle           : HBITMAP;   (* App. tab bitmap handle   *)
  192.     END;                        END;
  193.   PDELETENOTIFY               = POINTER TO DELETENOTIFY;
  194.  
  195. (*************************************************************************)
  196. (*    BKN_PAGESELECTED notify message structure                          *)
  197. (*************************************************************************)
  198. TYPE
  199.   PAGESELECTNOTIFY            = RECORD       (* pgsntfy *)
  200.     CASE                        : TYPEPREFIX OF
  201.     | TRUE                      :
  202.       hwndBook                  : HWND;      (* Notebook window handle   *)
  203.       ulPageIdCur               : LONGCARD;  (* Previous top page id     *)
  204.       ulPageIdNew               : LONGCARD;  (* New top Page id          *)
  205.     | FALSE                     :
  206.       BookWinHandle             : HWND;      (* Notebook window handle   *)
  207.       PageIdCur                 : LONGCARD;  (* Previous top page id     *)
  208.       PageIdNew                 : LONGCARD;  (* New top Page id          *)
  209.     END;                        END;
  210.   PPAGESELECTNOTIFY           = POINTER TO PAGESELECTNOTIFY;
  211.  
  212. END WINSTDBOOK.
  213.