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