htmlhelp.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452
  1. /*
  2. * Copyright 2004 Jacek Caban
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2.1 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the Free Software
  16. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  17. */
  18. #ifndef __HTMLHELP_H__
  19. #define __HTMLHELP_H__
  20. #define HH_DISPLAY_TOPIC 0x00
  21. #define HH_HELP_FINDER 0x00
  22. #define HH_DISPLAY_TOC 0x01
  23. #define HH_DISPLAY_INDEX 0x02
  24. #define HH_DISPLAY_SEARCH 0x03
  25. #define HH_SET_WIN_TYPE 0x04
  26. #define HH_GET_WIN_TYPE 0x05
  27. #define HH_GET_WIN_HANDLE 0x06
  28. #define HH_ENUM_INFO_TYPE 0x07
  29. #define HH_SET_INFO_TYPE 0x08
  30. #define HH_SYNC 0x09
  31. #define HH_RESERVED1 0x0A
  32. #define HH_RESERVED2 0x0B
  33. #define HH_RESERVED3 0x0C
  34. #define HH_KEYWORD_LOOKUP 0x0D
  35. #define HH_DISPLAY_TEXT_POPUP 0x0E
  36. #define HH_HELP_CONTEXT 0x0F
  37. #define HH_TP_HELP_CONTEXTMENU 0x10
  38. #define HH_TP_HELP_WM_HELP 0x11
  39. #define HH_CLOSE_ALL 0x12
  40. #define HH_ALINK_LOOKUP 0x13
  41. #define HH_GET_LAST_ERROR 0x14
  42. #define HH_ENUM_CATEGORY 0x15
  43. #define HH_ENUM_CATEGORY_IT 0x16
  44. #define HH_RESET_IT_FILTER 0x17
  45. #define HH_SET_INCLUSIVE_FILTER 0x18
  46. #define HH_SET_EXCLUSIVE_FILTER 0x19
  47. #define HH_INITIALIZE 0x1C
  48. #define HH_UNINITIALIZE 0x1D
  49. #define HH_PRETRANSLATEMESSAGE 0xFD
  50. #define HH_SET_GLOBAL_PROPERTY 0xFC
  51. #define HHWIN_PROP_TAB_AUTOHIDESHOW 0x00000001
  52. #define HHWIN_PROP_ONTOP 0x00000002
  53. #define HHWIN_PROP_NOTITLEBAR 0x00000004
  54. #define HHWIN_PROP_NODEF_STYLES 0x00000008
  55. #define HHWIN_PROP_NODEF_EXSTYLES 0x00000010
  56. #define HHWIN_PROP_TRI_PANE 0x00000020
  57. #define HHWIN_PROP_NOTB_TEXT 0x00000040
  58. #define HHWIN_PROP_POST_QUIT 0x00000080
  59. #define HHWIN_PROP_AUTO_SYNC 0x00000100
  60. #define HHWIN_PROP_TRACKING 0x00000200
  61. #define HHWIN_PROP_TAB_SEARCH 0x00000400
  62. #define HHWIN_PROP_TAB_HISTORY 0x00000800
  63. #define HHWIN_PROP_TAB_FAVORITES 0x00001000
  64. #define HHWIN_PROP_CHANGE_TITLE 0x00002000
  65. #define HHWIN_PROP_NAV_ONLY_WIN 0x00004000
  66. #define HHWIN_PROP_NO_TOOLBAR 0x00008000
  67. #define HHWIN_PROP_MENU 0x00010000
  68. #define HHWIN_PROP_TAB_ADVSEARCH 0x00020000
  69. #define HHWIN_PROP_USER_POS 0x00040000
  70. #define HHWIN_PROP_TAB_CUSTOM1 0x00080000
  71. #define HHWIN_PROP_TAB_CUSTOM2 0x00100000
  72. #define HHWIN_PROP_TAB_CUSTOM3 0x00200000
  73. #define HHWIN_PROP_TAB_CUSTOM4 0x00400000
  74. #define HHWIN_PROP_TAB_CUSTOM5 0x00800000
  75. #define HHWIN_PROP_TAB_CUSTOM6 0x01000000
  76. #define HHWIN_PROP_TAB_CUSTOM7 0x02000000
  77. #define HHWIN_PROP_TAB_CUSTOM8 0x04000000
  78. #define HHWIN_PROP_TAB_CUSTOM9 0x08000000
  79. #define HHWIN_TB_MARGIN 0x10000000
  80. #define HHWIN_PARAM_PROPERTIES 0x00000002
  81. #define HHWIN_PARAM_STYLES 0x00000004
  82. #define HHWIN_PARAM_EXSTYLES 0x00000008
  83. #define HHWIN_PARAM_RECT 0x00000010
  84. #define HHWIN_PARAM_NAV_WIDTH 0x00000020
  85. #define HHWIN_PARAM_SHOWSTATE 0x00000040
  86. #define HHWIN_PARAM_INFOTYPES 0x00000080
  87. #define HHWIN_PARAM_TB_FLAGS 0x00000100
  88. #define HHWIN_PARAM_EXPANSION 0x00000200
  89. #define HHWIN_PARAM_TABPOS 0x00000400
  90. #define HHWIN_PARAM_TABORDER 0x00000800
  91. #define HHWIN_PARAM_HISTORY_COUNT 0x00001000
  92. #define HHWIN_PARAM_CUR_TAB 0x00002000
  93. #define HHWIN_BUTTON_EXPAND 0x00000002
  94. #define HHWIN_BUTTON_BACK 0x00000004
  95. #define HHWIN_BUTTON_FORWARD 0x00000008
  96. #define HHWIN_BUTTON_STOP 0x00000010
  97. #define HHWIN_BUTTON_REFRESH 0x00000020
  98. #define HHWIN_BUTTON_HOME 0x00000040
  99. #define HHWIN_BUTTON_BROWSE_FWD 0x00000080
  100. #define HHWIN_BUTTON_BROWSE_BCK 0x00000100
  101. #define HHWIN_BUTTON_NOTES 0x00000200
  102. #define HHWIN_BUTTON_CONTENTS 0x00000400
  103. #define HHWIN_BUTTON_SYNC 0x00000800
  104. #define HHWIN_BUTTON_OPTIONS 0x00001000
  105. #define HHWIN_BUTTON_PRINT 0x00002000
  106. #define HHWIN_BUTTON_INDEX 0x00004000
  107. #define HHWIN_BUTTON_SEARCH 0x00008000
  108. #define HHWIN_BUTTON_HISTORY 0x00010000
  109. #define HHWIN_BUTTON_FAVORITES 0x00020000
  110. #define HHWIN_BUTTON_JUMP1 0x00040000
  111. #define HHWIN_BUTTON_JUMP2 0x00080000
  112. #define HHWIN_BUTTON_ZOOM 0x00100000
  113. #define HHWIN_BUTTON_TOC_NEXT 0x00200000
  114. #define HHWIN_BUTTON_TOC_PREV 0x00400000
  115. #define HHWIN_DEF_BUTTONS \
  116. (HHWIN_BUTTON_EXPAND | HHWIN_BUTTON_BACK | HHWIN_BUTTON_OPTIONS | HHWIN_BUTTON_PRINT)
  117. #define IDTB_EXPAND 200
  118. #define IDTB_CONTRACT 201
  119. #define IDTB_STOP 202
  120. #define IDTB_REFRESH 203
  121. #define IDTB_BACK 204
  122. #define IDTB_HOME 205
  123. #define IDTB_SYNC 206
  124. #define IDTB_PRINT 207
  125. #define IDTB_OPTIONS 208
  126. #define IDTB_FORWARD 209
  127. #define IDTB_NOTES 210
  128. #define IDTB_BROWSE_FWD 211
  129. #define IDTB_BROWSE_BACK 212
  130. #define IDTB_CONTENTS 213
  131. #define IDTB_INDEX 214
  132. #define IDTB_SEARCH 215
  133. #define IDTB_HISTORY 216
  134. #define IDTB_FAVORITES 217
  135. #define IDTB_JUMP1 218
  136. #define IDTB_JUMP2 219
  137. #define IDTB_CUSTOMIZE 221
  138. #define IDTB_ZOOM 222
  139. #define IDTB_TOC_NEXT 223
  140. #define IDTB_TOC_PREV 224
  141. #define HHN_FIRST (0U-860U)
  142. #define HHN_LAST (0U-879U)
  143. #define HHN_NAVCOMPLETE HHN_FIRST
  144. #define HHN_TRACK (HHN_FIRST-1)
  145. #define HHN_WINDOW_CREATE (HHN_FIRST-2)
  146. #ifdef __cplusplus
  147. extern "C" {
  148. #endif
  149. typedef struct tagHH_NOTIFY {
  150. NMHDR hdr;
  151. PCSTR pszurl;
  152. } HH_NOTIFY;
  153. typedef struct tagHH_POPUPA {
  154. int cbStruct;
  155. HINSTANCE hinst;
  156. UINT idString;
  157. LPCSTR pszText;
  158. POINT pt;
  159. COLORREF clrForeground;
  160. COLORREF clrBackground;
  161. RECT rcMargins;
  162. LPCSTR pszFont;
  163. } HH_POPUPA;
  164. typedef struct tagHH_POPUPW {
  165. int cbStruct;
  166. HINSTANCE hinst;
  167. UINT idString;
  168. LPCWSTR pszText;
  169. POINT pt;
  170. COLORREF clrForeground;
  171. COLORREF clrBackground;
  172. RECT rcMargins;
  173. LPCWSTR pszFont;
  174. } HH_POPUPW;
  175. DECL_WINELIB_TYPE_AW(HH_POPUP)
  176. typedef struct tagHH_ALINKA {
  177. int cbStruct;
  178. BOOL fReserved;
  179. LPCSTR pszKeywords;
  180. LPCSTR pszUrl;
  181. LPCSTR pszMsgText;
  182. LPCSTR pszMsgTitle;
  183. LPCSTR pszWindow;
  184. BOOL fIndexOnFail;
  185. } HH_ALINKA;
  186. typedef struct tagHH_ALINKW {
  187. int cbStruct;
  188. BOOL fReserved;
  189. LPCWSTR pszKeywords;
  190. LPCWSTR pszUrl;
  191. LPCWSTR pszMsgText;
  192. LPCWSTR pszMsgTitle;
  193. LPCWSTR pszWindow;
  194. BOOL fIndexOnFail;
  195. } HH_ALINKW;
  196. DECL_WINELIB_TYPE_AW(HH_ALINK)
  197. enum {
  198. HHWIN_NAVTYPE_TOC,
  199. HHWIN_NAVTYPE_INDEX,
  200. HHWIN_NAVTYPE_SEARCH,
  201. HHWIN_NAVTYPE_FAVORITES,
  202. HHWIN_NAVTYPE_HISTORY,
  203. HHWIN_NAVTYPE_AUTHOR,
  204. HHWIN_NAVTYPE_CUSTOM_FIRST = 11
  205. };
  206. enum {
  207. IT_INCLUSIVE,
  208. IT_EXCLUSIVE,
  209. IT_HIDDEN
  210. };
  211. typedef struct tagHH_ENUM_IT {
  212. int cbStruct;
  213. int iType;
  214. LPCSTR pszCatName;
  215. LPCSTR pszITName;
  216. LPCSTR pszITDescription;
  217. } HH_ENUM_IT, *PHH_ENUM_IT;
  218. typedef struct tagHH_ENUM_CAT {
  219. int cbStruct;
  220. LPCSTR pszCatName;
  221. LPCSTR pszCatDescription;
  222. } HH_ENUM_CAT, *PHH_ENUM_CAT;
  223. typedef struct tagHH_SET_INFOTYPE {
  224. int cbStruct;
  225. LPCSTR pszCatName;
  226. LPCSTR pszInfoTypeName;
  227. } HH_SET_INFOTYPE;
  228. typedef DWORD HH_INFOTYPE, *PHH_INFOTYPE;
  229. enum {
  230. HHWIN_NAVTAB_TOP,
  231. HHWIN_NAVTAB_LEFT,
  232. HHWIN_NAVTAB_BOTTOM
  233. };
  234. #define HH_MAX_TABS 19
  235. enum {
  236. HH_TAB_CONTENTS,
  237. HH_TAB_INDEX,
  238. HH_TAB_SEARCH,
  239. HH_TAB_FAVORITES,
  240. HH_TAB_HISTORY,
  241. HH_TAB_AUTHOR,
  242. HH_TAB_CUSTOM_FIRST = 11,
  243. HH_TAB_CUSTOM_LAST = HH_MAX_TABS
  244. };
  245. #define HH_MAX_TABS_CUSTOM (HH_TAB_CUSTOM_LAST-HH_TAB_CUSTOM_FIRST+1)
  246. #define HH_FTS_DEFAULT_PROXIMITY -1
  247. typedef struct tagHH_FTS_QUERYA {
  248. int cbStruct;
  249. BOOL fUniCodeStrings;
  250. LPCSTR pszSearchQuery;
  251. LONG iProximity;
  252. BOOL fStemmedSearch;
  253. BOOL fTitleOnly;
  254. BOOL fExecute;
  255. LPCSTR pszWindow;
  256. } HH_FTS_QUERYA;
  257. typedef struct tagHH_FTS_QUERYW {
  258. int cbStruct;
  259. BOOL fUniCodeStrings;
  260. LPCWSTR pszSearchQuery;
  261. LONG iProximity;
  262. BOOL fStemmedSearch;
  263. BOOL fTitleOnly;
  264. BOOL fExecute;
  265. LPCWSTR pszWindow;
  266. } HH_FTS_QUERYW;
  267. DECL_WINELIB_TYPE_AW(HH_FTS_QUERY)
  268. typedef struct tagHH_WINTYPEA {
  269. int cbStruct;
  270. BOOL fUniCodeStrings;
  271. LPCSTR pszType;
  272. DWORD fsValidMembers;
  273. DWORD fsWinProperties;
  274. LPCSTR pszCaption;
  275. DWORD dwStyles;
  276. DWORD dwExStyles;
  277. RECT rcWindowPos;
  278. int nShowState;
  279. HWND hwndHelp;
  280. HWND hwndCaller;
  281. PHH_INFOTYPE paInfoTypes;
  282. HWND hwndToolBar;
  283. HWND hwndNavigation;
  284. HWND hwndHTML;
  285. int iNavWidth;
  286. RECT rcHTML;
  287. LPCSTR pszToc;
  288. LPCSTR pszIndex;
  289. LPCSTR pszFile;
  290. LPCSTR pszHome;
  291. DWORD fsToolBarFlags;
  292. BOOL fNotExpanded;
  293. int curNavType;
  294. int tabpos;
  295. int idNotify;
  296. BYTE tabOrder[HH_MAX_TABS+1];
  297. int cHistory;
  298. LPCSTR pszJump1;
  299. LPCSTR pszJump2;
  300. LPCSTR pszUrlJump1;
  301. LPCSTR pszUrlJump2;
  302. RECT rcMinSize;
  303. int cbInfoTypes;
  304. LPCSTR pszCustomTabs;
  305. } HH_WINTYPEA, *PHH_WINTYPEA;
  306. typedef struct tagHH_WINTYPEW {
  307. int cbStruct;
  308. BOOL fUniCodeStrings;
  309. LPCWSTR pszType;
  310. DWORD fsValidMembers;
  311. DWORD fsWinProperties;
  312. LPCWSTR pszCaption;
  313. DWORD dwStyles;
  314. DWORD dwExStyles;
  315. RECT rcWindowPos;
  316. int nShowState;
  317. HWND hwndHelp;
  318. HWND hwndCaller;
  319. PHH_INFOTYPE paInfoTypes;
  320. HWND hwndToolBar;
  321. HWND hwndNavigation;
  322. HWND hwndHTML;
  323. int iNavWidth;
  324. RECT rcHTML;
  325. LPCWSTR pszToc;
  326. LPCWSTR pszIndex;
  327. LPCWSTR pszFile;
  328. LPCWSTR pszHome;
  329. DWORD fsToolBarFlags;
  330. BOOL fNotExpanded;
  331. int curNavType;
  332. int tabpos;
  333. int idNotify;
  334. BYTE tabOrder[HH_MAX_TABS+1];
  335. int cHistory;
  336. LPCWSTR pszJump1;
  337. LPCWSTR pszJump2;
  338. LPCWSTR pszUrlJump1;
  339. LPCWSTR pszUrlJump2;
  340. RECT rcMinSize;
  341. int cbInfoTypes;
  342. LPCWSTR pszCustomTabs;
  343. } HH_WINTYPEW, *PHH_WINTYPEW;
  344. DECL_WINELIB_TYPE_AW(HH_WINTYPE)
  345. enum {
  346. HHACT_TAB_CONTENTS,
  347. HHACT_TAB_INDEX,
  348. HHACT_TAB_SEARCH,
  349. HHACT_TAB_HISTORY,
  350. HHACT_TAB_FAVORITES,
  351. HHACT_EXPAND,
  352. HHACT_CONTRACT,
  353. HHACT_BACK,
  354. HHACT_FORWARD,
  355. HHACT_STOP,
  356. HHACT_REFRESH,
  357. HHACT_HOME,
  358. HHACT_SYNC,
  359. HHACT_OPTIONS,
  360. HHACT_PRINT,
  361. HHACT_HIGHLIGHT,
  362. HHACT_CUSTOMIZE,
  363. HHACT_JUMP1,
  364. HHACT_JUMP2,
  365. HHACT_ZOOM,
  366. HHACT_TOC_NEXT,
  367. HHACT_TOC_PREV,
  368. HHACT_NOTES,
  369. HHACT_LAST_ENUM
  370. };
  371. typedef struct tagHH_NTRACKA {
  372. NMHDR hdr;
  373. PCSTR pszCurUrl;
  374. int idAction;
  375. PHH_WINTYPEA phhWinType;
  376. } HH_NTRACKA;
  377. typedef struct tagHH_NTRACKW {
  378. NMHDR hdr;
  379. PCSTR pszCurUrl;
  380. int idAction;
  381. PHH_WINTYPEW phhWinType;
  382. } HH_NTRACKW;
  383. DECL_WINELIB_TYPE_AW(HH_NTRACK)
  384. HWND WINAPI HtmlHelpA(HWND,LPCSTR,UINT,DWORD);
  385. HWND WINAPI HtmlHelpW(HWND,LPCWSTR,UINT,DWORD);
  386. #define HtmlHelp WINELIB_NAME_AW(HtmlHelp)
  387. #define ATOM_HTMLHELP_API_ANSI (LPTSTR)14
  388. #define ATOM_HTMLHELP_API_UNICODE (LPTSTR)15
  389. typedef enum tagHH_GPROPID {
  390. HH_GPROPID_SINGLETHREAD = 1,
  391. HH_GPROPID_TOOLBAR_MARGIN = 2,
  392. HH_GPROPID_UI_LANGUAGE = 3,
  393. HH_GPROPID_CURRENT_SUBSET = 4,
  394. HH_GPROPID_CONTENT_LANGUAGE = 5
  395. } HH_GPROPID;
  396. #ifdef __WIDL_OAIDL_H
  397. typedef struct tagHH_GLOBAL_PROPERTY
  398. {
  399. HH_GPROPID id;
  400. VARIANT var;
  401. } HH_GLOBAL_PROPERTY ;
  402. #endif /* __WIDL_OAIDL_H */
  403. #ifdef __cplusplus
  404. }
  405. #endif
  406. #endif /* __HTMLHELP_H__ */