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 License by kind permission of the author. 7 * 8 * License: wxWindows License 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 149extern "C" { 150#endif 151 152typedef struct tagHH_NOTIFY { 153 NMHDR hdr; 154 PCSTR pszurl; 155} HH_NOTIFY; 156 157typedef 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 169typedef 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 182typedef HH_POPUPW HH_POPUP; 183#else 184typedef HH_POPUPA HH_POPUP; 185#endif 186 187typedef 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 198typedef 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 210typedef HH_ALINKW HH_ALINK; 211typedef HH_ALINKW HH_AKLINK; 212#else 213typedef HH_ALINKA HH_ALINK; 214typedef HH_ALINKA HH_AKLINK; 215#endif 216 217enum { 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 227enum { 228 IT_INCLUSIVE, 229 IT_EXCLUSIVE, 230 IT_HIDDEN 231}; 232 233typedef 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 241typedef struct tagHH_ENUM_CAT { 242 int cbStruct; 243 LPCSTR pszCatName; 244 LPCSTR pszCatDescription; 245} HH_ENUM_CAT, *PHH_ENUM_CAT; 246 247typedef struct tagHH_SET_INFOTYPE { 248 int cbStruct; 249 LPCSTR pszCatName; 250 LPCSTR pszInfoTypeName; 251} HH_SET_INFOTYPE; 252 253typedef DWORD HH_INFOTYPE, *PHH_INFOTYPE; 254 255enum { 256 HHWIN_NAVTAB_TOP, 257 HHWIN_NAVTAB_LEFT, 258 HHWIN_NAVTAB_BOTTOM 259}; 260 261#define HH_MAX_TABS 19 262 263enum { 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 277typedef 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 288typedef 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 300typedef HH_FTS_QUERYW HH_FTS_QUERY; 301#else 302typedef HH_FTS_QUERYA HH_FTS_QUERY; 303#endif 304 305typedef 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 344typedef 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 384typedef HH_WINTYPEW HH_WINTYPE; 385#else 386typedef HH_WINTYPEA HH_WINTYPE; 387#endif 388 389enum { 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 416typedef struct tagHH_NTRACKA { 417 NMHDR hdr; 418 PCSTR pszCurUrl; 419 int idAction; 420 PHH_WINTYPEA phhWinType; 421} HH_NTRACKA; 422 423typedef struct tagHH_NTRACKW { 424 NMHDR hdr; 425 PCSTR pszCurUrl; 426 int idAction; 427 PHH_WINTYPEW phhWinType; 428} HH_NTRACKW; 429 430#ifdef _UNICODE 431typedef HH_NTRACKW HH_NTRACK; 432#else 433typedef HH_NTRACKA HH_NTRACK; 434#endif 435 436HWND WINAPI HtmlHelpA(HWND,LPCSTR,UINT,DWORD); 437HWND 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 443typedef 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 453typedef 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