2003-09-04 04:00:46 +02:00
|
|
|
/*
|
|
|
|
* Defines the COM interfaces and APIs related to the IE Web browser
|
|
|
|
*
|
|
|
|
* Copyright (C) 2001 John R. Sheets (for CodeWeavers)
|
|
|
|
* Copyright (C) 2003 Alexandre Julliard
|
|
|
|
*
|
|
|
|
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
*/
|
|
|
|
|
|
|
|
import "ocidl.idl";
|
|
|
|
import "docobj.idl";
|
|
|
|
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IWebBrowser interface
|
|
|
|
*/
|
|
|
|
[
|
|
|
|
object,
|
|
|
|
oleautomation,
|
|
|
|
uuid(eab22ac1-30c1-11cf-a7eb-0000c05bae0b)
|
|
|
|
]
|
|
|
|
interface IWebBrowser : IDispatch
|
|
|
|
{
|
|
|
|
typedef enum BrowserNavConstants
|
|
|
|
{
|
|
|
|
navOpenInNewWindow = 0x1,
|
|
|
|
navNoHistory = 0x2,
|
|
|
|
navNoReadFromCache = 0x4,
|
|
|
|
navNoWriteToCache = 0x8,
|
|
|
|
navAllowAutosearch = 0x10,
|
|
|
|
navBrowserBar = 0x20,
|
|
|
|
navHyperlink = 0x40,
|
|
|
|
navEnforceRestricted = 0x80
|
|
|
|
} BrowserNavConstants;
|
|
|
|
|
|
|
|
typedef enum RefreshConstants
|
|
|
|
{
|
|
|
|
REFRESH_NORMAL = 0,
|
|
|
|
REFRESH_IFEXPIRED = 1,
|
|
|
|
REFRESH_COMPLETELY = 3
|
|
|
|
} RefreshConstants;
|
|
|
|
|
|
|
|
HRESULT GoBack();
|
|
|
|
HRESULT GoForward();
|
|
|
|
HRESULT GoHome();
|
|
|
|
HRESULT GoSearch();
|
|
|
|
HRESULT Navigate(
|
|
|
|
[in] BSTR URL,
|
|
|
|
[in] VARIANT *Flags,
|
|
|
|
[in] VARIANT *TargetFrameName,
|
|
|
|
[in] VARIANT *PostData,
|
|
|
|
[in] VARIANT *Headers);
|
|
|
|
HRESULT Refresh();
|
|
|
|
HRESULT Refresh2( [in] VARIANT *Level );
|
|
|
|
HRESULT Stop();
|
2004-10-05 04:16:11 +02:00
|
|
|
[propget] HRESULT Application([out] IDispatch** ppDisp);
|
|
|
|
[propget] HRESULT Parent([out] IDispatch** ppDisp);
|
|
|
|
[propget] HRESULT Container([out] IDispatch** ppDisp);
|
|
|
|
[propget] HRESULT Document([out] IDispatch** ppDisp);
|
|
|
|
[propget] HRESULT TopLevelContainer([out] VARIANT_BOOL* pBool);
|
|
|
|
[propget] HRESULT Type([out] BSTR* Type);
|
|
|
|
[propget] HRESULT Left([out] long *pl);
|
|
|
|
[propput] HRESULT Left([in] long Left);
|
|
|
|
[propget] HRESULT Top([out] long *pl);
|
|
|
|
[propput] HRESULT Top([in] long Top);
|
|
|
|
[propget] HRESULT Width([out] long *pl);
|
|
|
|
[propput] HRESULT Width([in] long Width);
|
|
|
|
[propget] HRESULT Height([out] long *pl);
|
|
|
|
[propput] HRESULT Height([in] long Height);
|
|
|
|
[propget] HRESULT LocationName([out] BSTR *LocationName);
|
|
|
|
[propget] HRESULT LocationURL([out] BSTR * LocationURL);
|
|
|
|
[propget] HRESULT Busy([out] VARIANT_BOOL *pBool);
|
2003-09-04 04:00:46 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IWebBrowserApp interface
|
|
|
|
*/
|
|
|
|
[
|
|
|
|
object,
|
|
|
|
oleautomation,
|
|
|
|
uuid(0002df05-0000-0000-c000-000000000046)
|
|
|
|
]
|
|
|
|
interface IWebBrowserApp : IWebBrowser
|
|
|
|
{
|
|
|
|
HRESULT Quit();
|
|
|
|
HRESULT ClientToWindow([in,out] int* pcx, [in,out] int* pcy);
|
|
|
|
HRESULT PutProperty([in] BSTR szProperty, [in] VARIANT vtValue);
|
|
|
|
HRESULT GetProperty([in] BSTR szProperty, [out] VARIANT *pvtValue);
|
2004-10-05 04:16:11 +02:00
|
|
|
[propget] HRESULT Name([out] BSTR* Name);
|
|
|
|
/* FIXME: get_HWND should be propget too but widl gets confused by the HWND */
|
2003-09-04 04:00:46 +02:00
|
|
|
HRESULT get_HWND([out] long *pHWND);
|
2004-10-05 04:16:11 +02:00
|
|
|
[propget] HRESULT FullName([out] BSTR* FullName);
|
|
|
|
[propget] HRESULT Path([out] BSTR* Path);
|
|
|
|
[propget] HRESULT Visible([out] VARIANT_BOOL* pBool);
|
|
|
|
[propput] HRESULT Visible([in] VARIANT_BOOL Value);
|
|
|
|
[propget] HRESULT StatusBar([out] VARIANT_BOOL* pBool);
|
|
|
|
[propput] HRESULT StatusBar([in] VARIANT_BOOL Value);
|
|
|
|
[propget] HRESULT StatusText([out] BSTR *StatusText);
|
|
|
|
[propput] HRESULT StatusText([in] BSTR StatusText);
|
|
|
|
[propget] HRESULT ToolBar([out] int * Value);
|
|
|
|
[propput] HRESULT ToolBar([in] int Value);
|
|
|
|
[propget] HRESULT MenuBar([out] VARIANT_BOOL * Value);
|
|
|
|
[propput] HRESULT MenuBar([in] VARIANT_BOOL Value);
|
|
|
|
[propget] HRESULT FullScreen([out] VARIANT_BOOL * pbFullScreen);
|
|
|
|
[propput] HRESULT FullScreen([in] VARIANT_BOOL bFullScreen);
|
2003-09-04 04:00:46 +02:00
|
|
|
}
|
|
|
|
|
2004-06-01 21:42:07 +02:00
|
|
|
[
|
|
|
|
object,
|
|
|
|
oleautomation,
|
|
|
|
uuid(85cb6900-4d95-11cf-960c-0080c7f4ee85)
|
|
|
|
]
|
|
|
|
interface IShellWindows : IDispatch
|
|
|
|
{
|
2004-10-05 04:16:11 +02:00
|
|
|
[propget] HRESULT Count( [out] long *Count );
|
2004-06-01 21:42:07 +02:00
|
|
|
HRESULT Item( [in] VARIANT index, [out] IDispatch **Folder );
|
|
|
|
HRESULT _NewEnum( [out] IUnknown **ppunk );
|
|
|
|
HRESULT Register( [in] IDispatch *pid, [in] long hWnd, [in] int swClass,
|
|
|
|
[out] long *plCookie );
|
|
|
|
HRESULT RegisterPending( [in] long lThread, [in] VARIANT *pvarloc,
|
|
|
|
[in] VARIANT *varlocRoot, [in] int swClass, [out] long *plCookie );
|
|
|
|
HRESULT Revoke( [in] long Cookie );
|
|
|
|
HRESULT OnNavigate( [in] long Cookie, [out] VARIANT *pvarLoc );
|
|
|
|
HRESULT OnActivated( [in] long Cookie, [in] VARIANT fActive );
|
|
|
|
HRESULT FindWindowSW( [in] VARIANT *pvarLoc, [in] VARIANT *pvarLocRoot,
|
|
|
|
[in] int swClass, [out] long *phwnd, int swfwOptions,
|
|
|
|
IDispatch **ppdispOut );
|
|
|
|
HRESULT OnCreated( [in] long lCookie, [in] IUnknown *punk );
|
|
|
|
HRESULT ProcessAttachDetach( [in] VARIANT_BOOL fAttach );
|
|
|
|
}
|
|
|
|
|
2003-09-04 04:00:46 +02:00
|
|
|
/* FIXME */
|
|
|
|
cpp_quote("DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9, 0x6b, 0x00, 0xc0, 0x4f, 0xd7, 0x05, 0xa2);")
|