]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/htmlhelp.h
Revert HasModifiers() change in behaviour, add HasAnyModifiers().
[wxWidgets.git] / include / wx / msw / htmlhelp.h
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__ */