home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / bpos2i.zip / HELPMGR.PAS < prev    next >
Pascal/Delphi Source File  |  1994-05-31  |  12KB  |  329 lines

  1. (* ====================================================== *)
  2. (*                       HELPMGR.PAS                      *)
  3. (*     Implementation of the functions of HLPMGR.DLL      *)
  4. (*          Translated to Pascal by wr / toolbox mag      *)
  5. (* ====================================================== *)
  6. {$IFNDEF OS2}
  7.   Error: Wrong target/Compiler not patched
  8. {$ENDIF}
  9.  
  10. UNIT HelpMgr;
  11.  
  12. INTERFACE
  13.  
  14. USES
  15.   Os2Def;
  16.  
  17.  
  18. (**********************************************************)
  19. (* HelpSubTable entry structure                           *)
  20. (**********************************************************)
  21.  
  22. TYPE
  23.   HelpSubTable = INTEGER;
  24.  
  25. (**********************************************************)
  26. (* HelpTable entry structure                              *)
  27. (**********************************************************)
  28.  
  29. TYPE
  30.   HelpTable = RECORD   (* ht *)
  31.     idAppWindow      : WORD;
  32.     phstHelpSubTable : ^HelpSubTable;
  33.     idExtPanel       : WORD;
  34.   END;
  35.  
  36. (**********************************************************)
  37. (* IPF Initialization Structure used on the               *)
  38. (* WinCreateHelpInstance() call.                          *)
  39. (**********************************************************)
  40.  
  41. TYPE
  42.   HelpInit = RECORD  (* hinit *)
  43.     cb                       : WORD;
  44.     ulReturnCode             : LongInt;
  45.     pszTutorialName          : pChar;
  46.     phtHelpTable             : ^HelpTable;
  47.     hmodHelpTableModule      : hModule;
  48.     hmodAccelActionBarModule : hModule;
  49.     idAccelTable             : WORD;
  50.     idActionBar              : WORD;
  51.     pszHelpWindowTitle       : pChar;
  52.     usShowPanelId            : WORD;
  53.     pszHelpLibraryName       : pChar;
  54.   END;
  55.  
  56.  
  57. (**********************************************************)
  58. (* Search parent chain indicator for                      *)
  59. (* HM_SET_ACTIVE_WINDOW message.                          *)
  60. (**********************************************************)
  61.  
  62. CONST
  63.   HWND_PARENT  = 0;
  64.  
  65. (**********************************************************)
  66. (* Constants used to define whether user wants to display *)
  67. (*  panel using panel number or panel name.               *)
  68. (**********************************************************)
  69.  
  70. CONST
  71.   HM_RESOURCEID      = 0;
  72.   HM_PANELNAME       = 1;
  73.  
  74.   HMPANELTYPE_NUMBER = 0;
  75.   HMPANELTYPE_NAME   = 1;
  76.  
  77. (**********************************************************)
  78. (* Constants used to define the how the panel IDs are     *)
  79. (* displayed on help panels.                              *)
  80. (**********************************************************)
  81.  
  82. CONST
  83.   CMIC_HIDE_PANEL_ID    = $0000;
  84.   CMIC_SHOW_PANEL_ID    = $0001;
  85.   CMIC_TOGGLE_PANEL_ID  = $0002;
  86.  
  87. (**********************************************************)
  88. (* Window Help function declarations.                     *)
  89. (**********************************************************)
  90.  
  91. FUNCTION WinDestroyHelpInstance(a : hWnd): BOOL;
  92.  
  93. FUNCTION WinCreateHelpInstance(a: HAB; b: HelpInit): hWnd;
  94.  
  95. FUNCTION WinAssociateHelpInstance(a : hWnd; b: hWnd): BOOL;
  96.  
  97. FUNCTION WinQueryHelpInstance(a : hWnd): hWnd;
  98.  
  99. FUNCTION WinLoadHelpTable(a : hWnd;
  100.                           b : WORD;
  101.                           d : hModule) : BOOL;
  102.  
  103. FUNCTION WinCreateHelpTable(a : hWnd;
  104.                             b : HelpTable) : BOOL;
  105.  
  106. (**********************************************************)
  107. (* IPF message base.                                      *)
  108. (**********************************************************)
  109.  
  110. CONST
  111.   HM_MSG_BASE               = $0220;
  112.  
  113. (**********************************************************)
  114. (* Messages applications can send to the IPF.             *)
  115. (**********************************************************)
  116.  
  117. CONST
  118.   HM_DISMISS_WINDOW         = HM_MSG_BASE + $0001;
  119.   HM_DISPLAY_HELP           = HM_MSG_BASE + $0002;
  120.   HM_EXT_HELP               = HM_MSG_BASE + $0003;
  121.   HM_SET_ACTIVE_WINDOW      = HM_MSG_BASE + $0004;
  122.   HM_LOAD_HELP_TABLE        = HM_MSG_BASE + $0005;
  123.   HM_CREATE_HELP_TABLE      = HM_MSG_BASE + $0006;
  124.   HM_SET_HELP_WINDOW_TITLE  = HM_MSG_BASE + $0007;
  125.   HM_SET_SHOW_PANEL_ID      = HM_MSG_BASE + $0008;
  126.   HM_REPLACE_HELP_FOR_HELP  = HM_MSG_BASE + $0009;
  127.   HM_HELP_INDEX             = HM_MSG_BASE + $000A;
  128.   HM_HELP_CONTENTS          = HM_MSG_BASE + $000B;
  129.   HM_KEYS_HELP              = HM_MSG_BASE + $000C;
  130.   HM_SET_HELP_LIBRARY_NAME  = HM_MSG_BASE + $000D;
  131.  
  132. (**********************************************************)
  133. (* Messages the IPF sends to the applications active      *)
  134. (* window as defined by the IPF.                          *)
  135. (**********************************************************)
  136.  
  137. CONST
  138.   HM_ERROR                  = HM_MSG_BASE + $000E;
  139.   HM_HELPSUBITEM_NOT_FOUND  = HM_MSG_BASE + $000F;
  140.   HM_QUERY_KEYS_HELP        = HM_MSG_BASE + $0010;
  141.   HM_TUTORIAL               = HM_MSG_BASE + $0011;
  142.   HM_EXT_HELP_UNDEFINED     = HM_MSG_BASE + $0012;
  143.   HM_ACTIONBAR_COMMAND      = HM_MSG_BASE + $0013;
  144.   HM_INFORM                 = HM_MSG_BASE + $0014;
  145.  
  146. (**********************************************************)
  147. (* HMERR_NO_FRAME_WND_IN_CHAIN - There is no frame window *)
  148. (* in the window chain from which to find or set the      *)
  149. (* associated help instance.                              *)
  150. (**********************************************************)
  151.  
  152. CONST
  153.   HMERR_NO_FRAME_WND_IN_CHAIN  = $00001001;
  154.  
  155. (**********************************************************)
  156. (* HMERR_INVALID_ASSOC_APP_WND - The application window   *)
  157. (* handle specified on the WinAssociateHelpInstance()     *)
  158. (* call is not a valid window handle.                     *)
  159. (**********************************************************)
  160.  
  161. CONST
  162.   HMERR_INVALID_ASSOC_APP_WND = $00001002;
  163.  
  164. (**********************************************************)
  165. (* HMERR_INVALID_ASSOC_HELP_INST - The help instance      *)
  166. (* handle specified on the WinAssociateHelpInstance()     *)
  167. (* call is not a valid window handle.                     *)
  168. (**********************************************************)
  169.  
  170. CONST
  171.   HMERR_INVALID_ASSOC_HELP_INST = $00001003;
  172.  
  173. (**********************************************************)
  174. (* HMERR_INVALID_DESTROY_HELP_INST - The window handle    *)
  175. (* specified as the help instance to destroy is not of    *)
  176. (* the help instance class.                               *)
  177. (**********************************************************)
  178.  
  179. CONST
  180.   HMERR_INVALID_DESTROY_HELP_INST  = $00001004;
  181.  
  182. (**********************************************************)
  183. (* HMERR_NO_HELP_INST_IN_CHAIN - The parent or owner      *)
  184. (* chain of the application window specified does not     *)
  185. (* have a help instance associated with it.               *)
  186. (**********************************************************)
  187.  
  188. CONST
  189.   HMERR_NO_HELP_INST_IN_CHAIN  = $00001005;
  190.  
  191. (**********************************************************)
  192. (* HMERR_INVALID_HELP_INSTANCE_HDL - The handle specified *)
  193. (* to be a help instance does not have the class name of  *)
  194. (* a IPF help instance.                                   *)
  195. (**********************************************************)
  196.  
  197. CONST
  198.   HMERR_INVALID_HELP_INSTANCE_HDL  = $00001006;
  199.  
  200. (**********************************************************)
  201. (* HMERR_INVALID_QUERY_APP_WND - The application window   *)
  202. (* specified on a WinQueryHelpInstance() call is not a    *)
  203. (* valid window handle.                                   *)
  204. (**********************************************************)
  205.  
  206. CONST
  207.   HMERR_INVALID_QUERY_APP_WND = $00001007;
  208.  
  209. (**********************************************************)
  210. (* HMERR_HELP_INST_CALLED_INVALID -  The handle of the    *)
  211. (* help instance specified on an API call to the IPF does *)
  212. (* not have the class name of an IPF help instance.       *)
  213. (**********************************************************)
  214.  
  215. CONST
  216.   HMERR_HELP_INST_CALLED_INVALID   = $00001008;
  217.   HMERR_HELPTABLE_UNDEFINE         = $00001009;
  218.   HMERR_HELP_INSTANCE_UNDEFINE     = $0000100A;
  219.   HMERR_HELPITEM_NOT_FOUND         = $0000100B;
  220.   HMERR_INVALID_HELPSUBITEM_SIZE   = $0000100C;
  221.   HMERR_HELPSUBITEM_NOT_FOUND      = $0000100D;
  222.  
  223. (**********************************************************)
  224. (* HMERR_INDEX_NOT_FOUND - No index in library file.      *)
  225. (**********************************************************)
  226.  
  227. CONST
  228.   HMERR_INDEX_NOT_FOUND = $00002001;
  229.  
  230. (**********************************************************)
  231. (* HMERR_CONTENT_NOT_FOUND -                              *)
  232. (* Library file does not have any content                 *)
  233. (**********************************************************)
  234.  
  235. CONST
  236.   HMERR_CONTENT_NOT_FOUND = $00002002;
  237.  
  238. (**********************************************************)
  239. (* HMERR_OPEN_LIB_FILE     - Cannot open library file     *)
  240. (**********************************************************)
  241.  
  242. CONST
  243.   HMERR_OPEN_LIB_FILE = $00002003;
  244.  
  245. (**********************************************************)
  246. (* HMERR_READ_LIB_FILE     - Cannot read library file     *)
  247. (**********************************************************)
  248.  
  249. CONST
  250.   HMERR_READ_LIB_FILE = $00002004;
  251.  
  252. (**********************************************************)
  253. (* HMERR_CLOSE_LIB_FILE    - Cannot close library file    *)
  254. (**********************************************************)
  255.  
  256. CONST
  257.   HMERR_CLOSE_LIB_FILE = $00002005;
  258.  
  259. (**********************************************************)
  260. (* HMERR_INVALID_LIB_FILE - Improper library file         *)
  261. (* provided                                               *)
  262. (**********************************************************)
  263.  
  264. CONST
  265.   HMERR_INVALID_LIB_FILE  = $00002006;
  266.  
  267. (**********************************************************)
  268. (* HMERR_NO_MEMORY - Unable to allocate the requested     *)
  269. (*  amount of memory                                      *)
  270. (**********************************************************)
  271.  
  272. CONST
  273.   HMERR_NO_MEMORY = $00002007;
  274.  
  275. (**********************************************************)
  276. (* HMERR_ALLOCATE_SEGMENT - Unable                        *)
  277. (* to allocate a segment of memory for memory allocation  *)
  278. (* requested                                              *)
  279. (* from the IPF.                                          *)
  280. (**********************************************************)
  281.  
  282. CONST
  283.   HMERR_ALLOCATE_SEGMENT = $00002008;
  284.  
  285. (**********************************************************)
  286. (* HMERR_FREE_MEMORY - Unable to free allocated  memory.  *)
  287. (**********************************************************)
  288.  
  289. CONST
  290.   HMERR_FREE_MEMORY = $00002009;
  291.  
  292. (**********************************************************)
  293. (* HMERR_PANEL_NOT_FOUND  - Unable                        *)
  294. (* to find a help panel requested to IPF.                 *)
  295. (**********************************************************)
  296.  
  297. CONST
  298.   HMERR_PANEL_NOT_FOUND = $00002010;
  299.  
  300. (**********************************************************)
  301. (* HMERR_DATABASE_NOT_OPEN - Unable to read the unopened  *)
  302. (* database.                                              *)
  303. (**********************************************************)
  304.  
  305. CONST
  306.   HMERR_DATABASE_NOT_OPEN = $00002011;
  307.  
  308. IMPLEMENTATION
  309.  
  310.   FUNCTION WinCreateHelpInstance;
  311.     EXTERNAL 'HELPMGR' INDEX 1;
  312.  
  313.   FUNCTION WinDestroyHelpInstance;
  314.     EXTERNAL 'HELPMGR' INDEX 2;
  315.  
  316.   FUNCTION WinQueryHelpInstance; EXTERNAL 'HELPMGR' INDEX 3;
  317.  
  318.   FUNCTION WinAssociateHelpInstance;
  319.     EXTERNAL 'HELPMGR' INDEX 4;
  320.  
  321.   FUNCTION WinLoadHelpTable;     EXTERNAL 'HELPMGR' INDEX 5;
  322.  
  323.   FUNCTION WinCreateHelpTable;   EXTERNAL 'HELPMGR' INDEX 6;
  324.  
  325. END.
  326.  
  327. (* ====================================================== *)
  328. (*                   Ende von HELPMGR.PAS                 *)
  329.