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