453 lines
12 KiB
C
453 lines
12 KiB
C
/*
|
|
* Copyright 2004 Jacek Caban
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
*/
|
|
|
|
#ifndef __HTMLHELP_H__
|
|
#define __HTMLHELP_H__
|
|
|
|
#define HH_DISPLAY_TOPIC 0x00
|
|
#define HH_HELP_FINDER 0x00
|
|
#define HH_DISPLAY_TOC 0x01
|
|
#define HH_DISPLAY_INDEX 0x02
|
|
#define HH_DISPLAY_SEARCH 0x03
|
|
#define HH_SET_WIN_TYPE 0x04
|
|
#define HH_GET_WIN_TYPE 0x05
|
|
#define HH_GET_WIN_HANDLE 0x06
|
|
#define HH_ENUM_INFO_TYPE 0x07
|
|
#define HH_SET_INFO_TYPE 0x08
|
|
#define HH_SYNC 0x09
|
|
#define HH_RESERVED1 0x0A
|
|
#define HH_RESERVED2 0x0B
|
|
#define HH_RESERVED3 0x0C
|
|
#define HH_KEYWORD_LOOKUP 0x0D
|
|
#define HH_DISPLAY_TEXT_POPUP 0x0E
|
|
#define HH_HELP_CONTEXT 0x0F
|
|
#define HH_TP_HELP_CONTEXTMENU 0x10
|
|
#define HH_TP_HELP_WM_HELP 0x11
|
|
#define HH_CLOSE_ALL 0x12
|
|
#define HH_ALINK_LOOKUP 0x13
|
|
#define HH_GET_LAST_ERROR 0x14
|
|
#define HH_ENUM_CATEGORY 0x15
|
|
#define HH_ENUM_CATEGORY_IT 0x16
|
|
#define HH_RESET_IT_FILTER 0x17
|
|
#define HH_SET_INCLUSIVE_FILTER 0x18
|
|
#define HH_SET_EXCLUSIVE_FILTER 0x19
|
|
#define HH_INITIALIZE 0x1C
|
|
#define HH_UNINITIALIZE 0x1D
|
|
#define HH_SAFE_DISPLAY_TOPIC 0x20
|
|
#define HH_PRETRANSLATEMESSAGE 0xFD
|
|
#define HH_SET_GLOBAL_PROPERTY 0xFC
|
|
|
|
#define HHWIN_PROP_TAB_AUTOHIDESHOW 0x00000001
|
|
#define HHWIN_PROP_ONTOP 0x00000002
|
|
#define HHWIN_PROP_NOTITLEBAR 0x00000004
|
|
#define HHWIN_PROP_NODEF_STYLES 0x00000008
|
|
#define HHWIN_PROP_NODEF_EXSTYLES 0x00000010
|
|
#define HHWIN_PROP_TRI_PANE 0x00000020
|
|
#define HHWIN_PROP_NOTB_TEXT 0x00000040
|
|
#define HHWIN_PROP_POST_QUIT 0x00000080
|
|
#define HHWIN_PROP_AUTO_SYNC 0x00000100
|
|
#define HHWIN_PROP_TRACKING 0x00000200
|
|
#define HHWIN_PROP_TAB_SEARCH 0x00000400
|
|
#define HHWIN_PROP_TAB_HISTORY 0x00000800
|
|
#define HHWIN_PROP_TAB_FAVORITES 0x00001000
|
|
#define HHWIN_PROP_CHANGE_TITLE 0x00002000
|
|
#define HHWIN_PROP_NAV_ONLY_WIN 0x00004000
|
|
#define HHWIN_PROP_NO_TOOLBAR 0x00008000
|
|
#define HHWIN_PROP_MENU 0x00010000
|
|
#define HHWIN_PROP_TAB_ADVSEARCH 0x00020000
|
|
#define HHWIN_PROP_USER_POS 0x00040000
|
|
#define HHWIN_PROP_TAB_CUSTOM1 0x00080000
|
|
#define HHWIN_PROP_TAB_CUSTOM2 0x00100000
|
|
#define HHWIN_PROP_TAB_CUSTOM3 0x00200000
|
|
#define HHWIN_PROP_TAB_CUSTOM4 0x00400000
|
|
#define HHWIN_PROP_TAB_CUSTOM5 0x00800000
|
|
#define HHWIN_PROP_TAB_CUSTOM6 0x01000000
|
|
#define HHWIN_PROP_TAB_CUSTOM7 0x02000000
|
|
#define HHWIN_PROP_TAB_CUSTOM8 0x04000000
|
|
#define HHWIN_PROP_TAB_CUSTOM9 0x08000000
|
|
#define HHWIN_TB_MARGIN 0x10000000
|
|
|
|
#define HHWIN_PARAM_PROPERTIES 0x00000002
|
|
#define HHWIN_PARAM_STYLES 0x00000004
|
|
#define HHWIN_PARAM_EXSTYLES 0x00000008
|
|
#define HHWIN_PARAM_RECT 0x00000010
|
|
#define HHWIN_PARAM_NAV_WIDTH 0x00000020
|
|
#define HHWIN_PARAM_SHOWSTATE 0x00000040
|
|
#define HHWIN_PARAM_INFOTYPES 0x00000080
|
|
#define HHWIN_PARAM_TB_FLAGS 0x00000100
|
|
#define HHWIN_PARAM_EXPANSION 0x00000200
|
|
#define HHWIN_PARAM_TABPOS 0x00000400
|
|
#define HHWIN_PARAM_TABORDER 0x00000800
|
|
#define HHWIN_PARAM_HISTORY_COUNT 0x00001000
|
|
#define HHWIN_PARAM_CUR_TAB 0x00002000
|
|
|
|
#define HHWIN_BUTTON_EXPAND 0x00000002
|
|
#define HHWIN_BUTTON_BACK 0x00000004
|
|
#define HHWIN_BUTTON_FORWARD 0x00000008
|
|
#define HHWIN_BUTTON_STOP 0x00000010
|
|
#define HHWIN_BUTTON_REFRESH 0x00000020
|
|
#define HHWIN_BUTTON_HOME 0x00000040
|
|
#define HHWIN_BUTTON_BROWSE_FWD 0x00000080
|
|
#define HHWIN_BUTTON_BROWSE_BCK 0x00000100
|
|
#define HHWIN_BUTTON_NOTES 0x00000200
|
|
#define HHWIN_BUTTON_CONTENTS 0x00000400
|
|
#define HHWIN_BUTTON_SYNC 0x00000800
|
|
#define HHWIN_BUTTON_OPTIONS 0x00001000
|
|
#define HHWIN_BUTTON_PRINT 0x00002000
|
|
#define HHWIN_BUTTON_INDEX 0x00004000
|
|
#define HHWIN_BUTTON_SEARCH 0x00008000
|
|
#define HHWIN_BUTTON_HISTORY 0x00010000
|
|
#define HHWIN_BUTTON_FAVORITES 0x00020000
|
|
#define HHWIN_BUTTON_JUMP1 0x00040000
|
|
#define HHWIN_BUTTON_JUMP2 0x00080000
|
|
#define HHWIN_BUTTON_ZOOM 0x00100000
|
|
#define HHWIN_BUTTON_TOC_NEXT 0x00200000
|
|
#define HHWIN_BUTTON_TOC_PREV 0x00400000
|
|
|
|
#define HHWIN_DEF_BUTTONS \
|
|
(HHWIN_BUTTON_EXPAND | HHWIN_BUTTON_BACK | HHWIN_BUTTON_OPTIONS | HHWIN_BUTTON_PRINT)
|
|
|
|
#define IDTB_EXPAND 200
|
|
#define IDTB_CONTRACT 201
|
|
#define IDTB_STOP 202
|
|
#define IDTB_REFRESH 203
|
|
#define IDTB_BACK 204
|
|
#define IDTB_HOME 205
|
|
#define IDTB_SYNC 206
|
|
#define IDTB_PRINT 207
|
|
#define IDTB_OPTIONS 208
|
|
#define IDTB_FORWARD 209
|
|
#define IDTB_NOTES 210
|
|
#define IDTB_BROWSE_FWD 211
|
|
#define IDTB_BROWSE_BACK 212
|
|
#define IDTB_CONTENTS 213
|
|
#define IDTB_INDEX 214
|
|
#define IDTB_SEARCH 215
|
|
#define IDTB_HISTORY 216
|
|
#define IDTB_FAVORITES 217
|
|
#define IDTB_JUMP1 218
|
|
#define IDTB_JUMP2 219
|
|
#define IDTB_CUSTOMIZE 221
|
|
#define IDTB_ZOOM 222
|
|
#define IDTB_TOC_NEXT 223
|
|
#define IDTB_TOC_PREV 224
|
|
|
|
#define HHN_FIRST (0U-860U)
|
|
#define HHN_LAST (0U-879U)
|
|
#define HHN_NAVCOMPLETE HHN_FIRST
|
|
#define HHN_TRACK (HHN_FIRST-1)
|
|
#define HHN_WINDOW_CREATE (HHN_FIRST-2)
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct tagHH_NOTIFY {
|
|
NMHDR hdr;
|
|
PCSTR pszurl;
|
|
} HH_NOTIFY;
|
|
|
|
typedef struct tagHH_POPUPA {
|
|
int cbStruct;
|
|
HINSTANCE hinst;
|
|
UINT idString;
|
|
LPCSTR pszText;
|
|
POINT pt;
|
|
COLORREF clrForeground;
|
|
COLORREF clrBackground;
|
|
RECT rcMargins;
|
|
LPCSTR pszFont;
|
|
} HH_POPUPA;
|
|
|
|
typedef struct tagHH_POPUPW {
|
|
int cbStruct;
|
|
HINSTANCE hinst;
|
|
UINT idString;
|
|
LPCWSTR pszText;
|
|
POINT pt;
|
|
COLORREF clrForeground;
|
|
COLORREF clrBackground;
|
|
RECT rcMargins;
|
|
LPCWSTR pszFont;
|
|
} HH_POPUPW;
|
|
|
|
DECL_WINELIB_TYPE_AW(HH_POPUP)
|
|
|
|
typedef struct tagHH_ALINKA {
|
|
int cbStruct;
|
|
BOOL fReserved;
|
|
LPCSTR pszKeywords;
|
|
LPCSTR pszUrl;
|
|
LPCSTR pszMsgText;
|
|
LPCSTR pszMsgTitle;
|
|
LPCSTR pszWindow;
|
|
BOOL fIndexOnFail;
|
|
} HH_ALINKA;
|
|
|
|
typedef struct tagHH_ALINKW {
|
|
int cbStruct;
|
|
BOOL fReserved;
|
|
LPCWSTR pszKeywords;
|
|
LPCWSTR pszUrl;
|
|
LPCWSTR pszMsgText;
|
|
LPCWSTR pszMsgTitle;
|
|
LPCWSTR pszWindow;
|
|
BOOL fIndexOnFail;
|
|
} HH_ALINKW;
|
|
|
|
DECL_WINELIB_TYPE_AW(HH_ALINK)
|
|
|
|
enum {
|
|
HHWIN_NAVTYPE_TOC,
|
|
HHWIN_NAVTYPE_INDEX,
|
|
HHWIN_NAVTYPE_SEARCH,
|
|
HHWIN_NAVTYPE_FAVORITES,
|
|
HHWIN_NAVTYPE_HISTORY,
|
|
HHWIN_NAVTYPE_AUTHOR,
|
|
HHWIN_NAVTYPE_CUSTOM_FIRST = 11
|
|
};
|
|
|
|
enum {
|
|
IT_INCLUSIVE,
|
|
IT_EXCLUSIVE,
|
|
IT_HIDDEN
|
|
};
|
|
|
|
typedef struct tagHH_ENUM_IT {
|
|
int cbStruct;
|
|
int iType;
|
|
LPCSTR pszCatName;
|
|
LPCSTR pszITName;
|
|
LPCSTR pszITDescription;
|
|
} HH_ENUM_IT, *PHH_ENUM_IT;
|
|
|
|
typedef struct tagHH_ENUM_CAT {
|
|
int cbStruct;
|
|
LPCSTR pszCatName;
|
|
LPCSTR pszCatDescription;
|
|
} HH_ENUM_CAT, *PHH_ENUM_CAT;
|
|
|
|
typedef struct tagHH_SET_INFOTYPE {
|
|
int cbStruct;
|
|
LPCSTR pszCatName;
|
|
LPCSTR pszInfoTypeName;
|
|
} HH_SET_INFOTYPE;
|
|
|
|
typedef DWORD HH_INFOTYPE, *PHH_INFOTYPE;
|
|
|
|
enum {
|
|
HHWIN_NAVTAB_TOP,
|
|
HHWIN_NAVTAB_LEFT,
|
|
HHWIN_NAVTAB_BOTTOM
|
|
};
|
|
|
|
#define HH_MAX_TABS 19
|
|
|
|
enum {
|
|
HH_TAB_CONTENTS,
|
|
HH_TAB_INDEX,
|
|
HH_TAB_SEARCH,
|
|
HH_TAB_FAVORITES,
|
|
HH_TAB_HISTORY,
|
|
HH_TAB_AUTHOR,
|
|
HH_TAB_CUSTOM_FIRST = 11,
|
|
HH_TAB_CUSTOM_LAST = HH_MAX_TABS
|
|
};
|
|
|
|
#define HH_MAX_TABS_CUSTOM (HH_TAB_CUSTOM_LAST-HH_TAB_CUSTOM_FIRST+1)
|
|
#define HH_FTS_DEFAULT_PROXIMITY -1
|
|
|
|
typedef struct tagHH_FTS_QUERYA {
|
|
int cbStruct;
|
|
BOOL fUniCodeStrings;
|
|
LPCSTR pszSearchQuery;
|
|
LONG iProximity;
|
|
BOOL fStemmedSearch;
|
|
BOOL fTitleOnly;
|
|
BOOL fExecute;
|
|
LPCSTR pszWindow;
|
|
} HH_FTS_QUERYA;
|
|
|
|
typedef struct tagHH_FTS_QUERYW {
|
|
int cbStruct;
|
|
BOOL fUniCodeStrings;
|
|
LPCWSTR pszSearchQuery;
|
|
LONG iProximity;
|
|
BOOL fStemmedSearch;
|
|
BOOL fTitleOnly;
|
|
BOOL fExecute;
|
|
LPCWSTR pszWindow;
|
|
} HH_FTS_QUERYW;
|
|
|
|
DECL_WINELIB_TYPE_AW(HH_FTS_QUERY)
|
|
|
|
typedef struct tagHH_WINTYPEA {
|
|
int cbStruct;
|
|
BOOL fUniCodeStrings;
|
|
LPCSTR pszType;
|
|
DWORD fsValidMembers;
|
|
DWORD fsWinProperties;
|
|
LPCSTR pszCaption;
|
|
DWORD dwStyles;
|
|
DWORD dwExStyles;
|
|
RECT rcWindowPos;
|
|
int nShowState;
|
|
HWND hwndHelp;
|
|
HWND hwndCaller;
|
|
PHH_INFOTYPE paInfoTypes;
|
|
HWND hwndToolBar;
|
|
HWND hwndNavigation;
|
|
HWND hwndHTML;
|
|
int iNavWidth;
|
|
RECT rcHTML;
|
|
LPCSTR pszToc;
|
|
LPCSTR pszIndex;
|
|
LPCSTR pszFile;
|
|
LPCSTR pszHome;
|
|
DWORD fsToolBarFlags;
|
|
BOOL fNotExpanded;
|
|
int curNavType;
|
|
int tabpos;
|
|
int idNotify;
|
|
BYTE tabOrder[HH_MAX_TABS+1];
|
|
int cHistory;
|
|
LPCSTR pszJump1;
|
|
LPCSTR pszJump2;
|
|
LPCSTR pszUrlJump1;
|
|
LPCSTR pszUrlJump2;
|
|
RECT rcMinSize;
|
|
int cbInfoTypes;
|
|
LPCSTR pszCustomTabs;
|
|
} HH_WINTYPEA, *PHH_WINTYPEA;
|
|
|
|
typedef struct tagHH_WINTYPEW {
|
|
int cbStruct;
|
|
BOOL fUniCodeStrings;
|
|
LPCWSTR pszType;
|
|
DWORD fsValidMembers;
|
|
DWORD fsWinProperties;
|
|
LPCWSTR pszCaption;
|
|
DWORD dwStyles;
|
|
DWORD dwExStyles;
|
|
RECT rcWindowPos;
|
|
int nShowState;
|
|
HWND hwndHelp;
|
|
HWND hwndCaller;
|
|
PHH_INFOTYPE paInfoTypes;
|
|
HWND hwndToolBar;
|
|
HWND hwndNavigation;
|
|
HWND hwndHTML;
|
|
int iNavWidth;
|
|
RECT rcHTML;
|
|
LPCWSTR pszToc;
|
|
LPCWSTR pszIndex;
|
|
LPCWSTR pszFile;
|
|
LPCWSTR pszHome;
|
|
DWORD fsToolBarFlags;
|
|
BOOL fNotExpanded;
|
|
int curNavType;
|
|
int tabpos;
|
|
int idNotify;
|
|
BYTE tabOrder[HH_MAX_TABS+1];
|
|
int cHistory;
|
|
LPCWSTR pszJump1;
|
|
LPCWSTR pszJump2;
|
|
LPCWSTR pszUrlJump1;
|
|
LPCWSTR pszUrlJump2;
|
|
RECT rcMinSize;
|
|
int cbInfoTypes;
|
|
LPCWSTR pszCustomTabs;
|
|
} HH_WINTYPEW, *PHH_WINTYPEW;
|
|
|
|
DECL_WINELIB_TYPE_AW(HH_WINTYPE)
|
|
|
|
enum {
|
|
HHACT_TAB_CONTENTS,
|
|
HHACT_TAB_INDEX,
|
|
HHACT_TAB_SEARCH,
|
|
HHACT_TAB_HISTORY,
|
|
HHACT_TAB_FAVORITES,
|
|
HHACT_EXPAND,
|
|
HHACT_CONTRACT,
|
|
HHACT_BACK,
|
|
HHACT_FORWARD,
|
|
HHACT_STOP,
|
|
HHACT_REFRESH,
|
|
HHACT_HOME,
|
|
HHACT_SYNC,
|
|
HHACT_OPTIONS,
|
|
HHACT_PRINT,
|
|
HHACT_HIGHLIGHT,
|
|
HHACT_CUSTOMIZE,
|
|
HHACT_JUMP1,
|
|
HHACT_JUMP2,
|
|
HHACT_ZOOM,
|
|
HHACT_TOC_NEXT,
|
|
HHACT_TOC_PREV,
|
|
HHACT_NOTES,
|
|
HHACT_LAST_ENUM
|
|
};
|
|
|
|
typedef struct tagHH_NTRACKA {
|
|
NMHDR hdr;
|
|
PCSTR pszCurUrl;
|
|
int idAction;
|
|
PHH_WINTYPEA phhWinType;
|
|
} HH_NTRACKA;
|
|
|
|
typedef struct tagHH_NTRACKW {
|
|
NMHDR hdr;
|
|
PCSTR pszCurUrl;
|
|
int idAction;
|
|
PHH_WINTYPEW phhWinType;
|
|
} HH_NTRACKW;
|
|
|
|
DECL_WINELIB_TYPE_AW(HH_NTRACK)
|
|
|
|
HWND WINAPI HtmlHelpA(HWND,LPCSTR,UINT,DWORD_PTR);
|
|
HWND WINAPI HtmlHelpW(HWND,LPCWSTR,UINT,DWORD_PTR);
|
|
#define HtmlHelp WINELIB_NAME_AW(HtmlHelp)
|
|
|
|
#define ATOM_HTMLHELP_API_ANSI (LPTSTR)14
|
|
#define ATOM_HTMLHELP_API_UNICODE (LPTSTR)15
|
|
|
|
typedef enum tagHH_GPROPID {
|
|
HH_GPROPID_SINGLETHREAD = 1,
|
|
HH_GPROPID_TOOLBAR_MARGIN = 2,
|
|
HH_GPROPID_UI_LANGUAGE = 3,
|
|
HH_GPROPID_CURRENT_SUBSET = 4,
|
|
HH_GPROPID_CONTENT_LANGUAGE = 5
|
|
} HH_GPROPID;
|
|
|
|
#ifdef __oaidl_h__
|
|
|
|
typedef struct tagHH_GLOBAL_PROPERTY
|
|
{
|
|
HH_GPROPID id;
|
|
VARIANT var;
|
|
} HH_GLOBAL_PROPERTY ;
|
|
|
|
#endif /* __oaidl_h__ */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __HTMLHELP_H__ */
|