2 * Copyright 2005 Jacek Caban
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.
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.
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
25 /*****************************************************************************
26 * IDocHostUIHandler interface
29 typedef enum tagDOCHOSTUIFLAG
31 DOCHOSTUIFLAG_DIALOG = 0x00000001,
32 DOCHOSTUIFLAG_DISABLE_HELP_MENU = 0x00000002,
33 DOCHOSTUIFLAG_NO3DBORDER = 0x00000004,
34 DOCHOSTUIFLAG_SCROLL_NO = 0x00000008,
35 DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 0x00000010,
36 DOCHOSTUIFLAG_OPENNEWWIN = 0x00000020,
37 DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 0x00000040,
38 DOCHOSTUIFLAG_FLAT_SCROLLBAR = 0x00000080,
39 DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 0x00000100,
40 DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 0x00000200,
41 DOCHOSTUIFLAG_OVERRIDEBEHAVIORFACTORY = 0x00000400,
42 DOCHOSTUIFLAG_CODEPAGELINKEDFONTS = 0x00000800,
43 DOCHOSTUIFLAG_URL_ENCODING_DISABLE_UTF8 = 0x00001000,
44 DOCHOSTUIFLAG_URL_ENCODING_ENABLE_UTF8 = 0x00002000,
45 DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE = 0x00004000,
46 DOCHOSTUIFLAG_ENABLE_INPLACE_NAVIGATION = 0x00010000,
47 DOCHOSTUIFLAG_IME_ENABLE_RECONVERSION = 0x00020000,
48 DOCHOSTUIFLAG_THEME = 0x00040000,
49 DOCHOSTUIFLAG_NOTHEME = 0x00080000,
50 DOCHOSTUIFLAG_NOPICS = 0x00100000,
51 DOCHOSTUIFLAG_NO3DOUTERBORDER = 0x00200000,
52 DOCHOSTUIFLAG_DISABLE_EDIT_NS_FIXUP = 0x00400000,
53 DOCHOSTUIFLAG_LOCAL_MACHINE_ACCESS_CHECK = 0x00800000,
54 DOCHOSTUIFLAG_DISABLE_UNTRUSTEDPROTOCOL = 0x01000000
59 uuid(BD3F23C0-D43E-11CF-893B-00AA00BDCE1A),
60 pointer_default(unique),
63 interface IDocHostUIHandler : IUnknown
65 typedef struct _DOCHOSTUIINFO
74 HRESULT ShowContextMenu(
77 [in] IUnknown *pcmdtReserved,
78 [in] IDispatch *pdispReserved);
80 HRESULT GetHostInfo([in, out] DOCHOSTUIINFO *pInfo);
84 [in] IOleInPlaceActiveObject *pActiveObject,
85 [in] IOleCommandTarget *pCommandTarget,
86 [in] IOleInPlaceFrame *pFrame,
87 [in] IOleInPlaceUIWindow *pDoc);
93 HRESULT EnableModeless([in] BOOL fEnable);
95 HRESULT OnDocWindowActivate([in] BOOL fActivate);
97 HRESULT OnFrameWindowActivate([in] BOOL fActivate);
100 [in] LPCRECT prcBorder,
101 [in] IOleInPlaceUIWindow *pUIWindow,
102 [in] BOOL fRameWindow);
104 HRESULT TranslateAccelerator(
106 [in] const GUID *pguidCmdGroup,
109 HRESULT GetOptionKeyPath(
110 [out] LPOLESTR *pchKey,
113 HRESULT GetDropTarget(
114 [in] IDropTarget *pDropTarget,
115 [out] IDropTarget **ppDropTarget);
117 HRESULT GetExternal([out] IDispatch **ppDispatch);
119 HRESULT TranslateUrl(
120 [in] DWORD dwTranslate,
121 [in] OLECHAR *pchURLIn,
122 [out] OLECHAR **ppchURLOut);
124 HRESULT FilterDataObject(
125 [in] IDataObject *pDO,
126 [out] IDataObject **ppDORet);
131 uuid(3050F6D0-98b5-11CF-BB82-00AA00BDCE0B),
132 pointer_default(unique),
135 interface IDocHostUIHandler2 : IDocHostUIHandler
137 HRESULT GetOverrideKeyPath(
138 [out] LPOLESTR *pchKey,
142 cpp_quote("typedef HRESULT WINAPI SHOWHTMLDIALOGFN(HWND,IMoniker*,VARIANT*,WCHAR*,VARIANT*);");
143 cpp_quote("typedef HRESULT WINAPI SHOWHTMLDIALOGEXFN(HWND,IMoniker*,DWORD,VARIANT*,WCHAR*,VARIANT*);");
144 cpp_quote("typedef HRESULT WINAPI SHOWMODELESSHTMLDIALOGFN(HWND,IMoniker*,VARIANT*,VARIANT*,IHTMLWindow2**);");
146 cpp_quote("EXTERN_C HRESULT WINAPI ShowHTMLDialog(HWND,IMoniker*,VARIANT*,WCHAR*,VARIANT*);");
147 cpp_quote("EXTERN_C HRESULT WINAPI ShowHTMLDialogEx(HWND,IMoniker*,DWORD,VARIANT*,WCHAR,VARIANT*);");
148 cpp_quote("EXTERN_C HRESULT WINAPI ShowModelessHTMLDialog(HWND,IMoniker*,VARIANT,IHTMLWindow2**);");
149 cpp_quote("EXTERN_C HRESULT WINAPI RunHTMLApplication(HINSTANCE,HINSTANCE,LPSTR,int);");
150 cpp_quote("EXTERN_C HRESULT WINAPI CreateHTMLPropertyPage(IMoniker*,IPropertyPage**);");