]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/htmlhelp.h
use GlobalPtrLock (modified to allow not initializing it if the ptr is NULL) in wxGet...
[wxWidgets.git] / include / wx / msw / htmlhelp.h
CommitLineData
92199f4c
JS
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__ */