htmlhelp.h 12 KB

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