Alexandre Julliard | 96b0b34 | 2003-09-04 02:00:46 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Defines the COM interfaces and APIs related to the IE Web browser |
| 3 | * |
| 4 | * Copyright (C) 2001 John R. Sheets (for CodeWeavers) |
| 5 | * Copyright (C) 2003 Alexandre Julliard |
| 6 | * |
| 7 | * This library is free software; you can redistribute it and/or |
| 8 | * modify it under the terms of the GNU Lesser General Public |
| 9 | * License as published by the Free Software Foundation; either |
| 10 | * version 2.1 of the License, or (at your option) any later version. |
| 11 | * |
| 12 | * This library is distributed in the hope that it will be useful, |
| 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 15 | * Lesser General Public License for more details. |
| 16 | * |
| 17 | * You should have received a copy of the GNU Lesser General Public |
| 18 | * License along with this library; if not, write to the Free Software |
| 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 20 | */ |
| 21 | |
| 22 | import "ocidl.idl"; |
| 23 | import "docobj.idl"; |
| 24 | |
| 25 | |
| 26 | /***************************************************************************** |
| 27 | * IWebBrowser interface |
| 28 | */ |
| 29 | [ |
| 30 | object, |
| 31 | oleautomation, |
| 32 | uuid(eab22ac1-30c1-11cf-a7eb-0000c05bae0b) |
| 33 | ] |
| 34 | interface IWebBrowser : IDispatch |
| 35 | { |
| 36 | typedef enum BrowserNavConstants |
| 37 | { |
| 38 | navOpenInNewWindow = 0x1, |
| 39 | navNoHistory = 0x2, |
| 40 | navNoReadFromCache = 0x4, |
| 41 | navNoWriteToCache = 0x8, |
| 42 | navAllowAutosearch = 0x10, |
| 43 | navBrowserBar = 0x20, |
| 44 | navHyperlink = 0x40, |
| 45 | navEnforceRestricted = 0x80 |
| 46 | } BrowserNavConstants; |
| 47 | |
| 48 | typedef enum RefreshConstants |
| 49 | { |
| 50 | REFRESH_NORMAL = 0, |
| 51 | REFRESH_IFEXPIRED = 1, |
| 52 | REFRESH_COMPLETELY = 3 |
| 53 | } RefreshConstants; |
| 54 | |
| 55 | HRESULT GoBack(); |
| 56 | HRESULT GoForward(); |
| 57 | HRESULT GoHome(); |
| 58 | HRESULT GoSearch(); |
| 59 | HRESULT Navigate( |
| 60 | [in] BSTR URL, |
| 61 | [in] VARIANT *Flags, |
| 62 | [in] VARIANT *TargetFrameName, |
| 63 | [in] VARIANT *PostData, |
| 64 | [in] VARIANT *Headers); |
| 65 | HRESULT Refresh(); |
| 66 | HRESULT Refresh2( [in] VARIANT *Level ); |
| 67 | HRESULT Stop(); |
| 68 | HRESULT get_Application([out] IDispatch** ppDisp); |
| 69 | HRESULT get_Parent([out] IDispatch** ppDisp); |
| 70 | HRESULT get_Container([out] IDispatch** ppDisp); |
| 71 | HRESULT get_Document([out] IDispatch** ppDisp); |
| 72 | HRESULT get_TopLevelContainer([out] VARIANT_BOOL* pBool); |
| 73 | HRESULT get_Type([out] BSTR* Type); |
| 74 | HRESULT get_Left([out] long *pl); |
| 75 | HRESULT put_Left([in] long Left); |
| 76 | HRESULT get_Top([out] long *pl); |
| 77 | HRESULT put_Top([in] long Top); |
| 78 | HRESULT get_Width([out] long *pl); |
| 79 | HRESULT put_Width([in] long Width); |
| 80 | HRESULT get_Height([out] long *pl); |
| 81 | HRESULT put_Height([in] long Height); |
| 82 | HRESULT get_LocationName([out] BSTR *LocationName); |
| 83 | HRESULT get_LocationURL([out] BSTR * LocationURL); |
| 84 | HRESULT get_Busy([out] VARIANT_BOOL *pBool); |
| 85 | } |
| 86 | |
| 87 | |
| 88 | /***************************************************************************** |
| 89 | * IWebBrowserApp interface |
| 90 | */ |
| 91 | [ |
| 92 | object, |
| 93 | oleautomation, |
| 94 | uuid(0002df05-0000-0000-c000-000000000046) |
| 95 | ] |
| 96 | interface IWebBrowserApp : IWebBrowser |
| 97 | { |
| 98 | HRESULT Quit(); |
| 99 | HRESULT ClientToWindow([in,out] int* pcx, [in,out] int* pcy); |
| 100 | HRESULT PutProperty([in] BSTR szProperty, [in] VARIANT vtValue); |
| 101 | HRESULT GetProperty([in] BSTR szProperty, [out] VARIANT *pvtValue); |
| 102 | HRESULT get_Name([out] BSTR* Name); |
| 103 | HRESULT get_HWND([out] long *pHWND); |
| 104 | HRESULT get_FullName([out] BSTR* FullName); |
| 105 | HRESULT get_Path([out] BSTR* Path); |
| 106 | HRESULT get_Visible([out] VARIANT_BOOL* pBool); |
| 107 | HRESULT put_Visible([in] VARIANT_BOOL Value); |
| 108 | HRESULT get_StatusBar([out] VARIANT_BOOL* pBool); |
| 109 | HRESULT put_StatusBar([in] VARIANT_BOOL Value); |
| 110 | HRESULT get_StatusText([out] BSTR *StatusText); |
| 111 | HRESULT put_StatusText([in] BSTR StatusText); |
| 112 | HRESULT get_ToolBar([out] int * Value); |
| 113 | HRESULT put_ToolBar([in] int Value); |
| 114 | HRESULT get_MenuBar([out] VARIANT_BOOL * Value); |
| 115 | HRESULT put_MenuBar([in] VARIANT_BOOL Value); |
| 116 | HRESULT get_FullScreen([out] VARIANT_BOOL * pbFullScreen); |
| 117 | HRESULT put_FullScreen([in] VARIANT_BOOL bFullScreen); |
| 118 | } |
| 119 | |
Mike McCormack | 773784e | 2004-06-01 19:42:07 +0000 | [diff] [blame] | 120 | [ |
| 121 | object, |
| 122 | oleautomation, |
| 123 | uuid(85cb6900-4d95-11cf-960c-0080c7f4ee85) |
| 124 | ] |
| 125 | interface IShellWindows : IDispatch |
| 126 | { |
| 127 | HRESULT get_Count( [out] long *Count ); |
| 128 | HRESULT Item( [in] VARIANT index, [out] IDispatch **Folder ); |
| 129 | HRESULT _NewEnum( [out] IUnknown **ppunk ); |
| 130 | HRESULT Register( [in] IDispatch *pid, [in] long hWnd, [in] int swClass, |
| 131 | [out] long *plCookie ); |
| 132 | HRESULT RegisterPending( [in] long lThread, [in] VARIANT *pvarloc, |
| 133 | [in] VARIANT *varlocRoot, [in] int swClass, [out] long *plCookie ); |
| 134 | HRESULT Revoke( [in] long Cookie ); |
| 135 | HRESULT OnNavigate( [in] long Cookie, [out] VARIANT *pvarLoc ); |
| 136 | HRESULT OnActivated( [in] long Cookie, [in] VARIANT fActive ); |
| 137 | HRESULT FindWindowSW( [in] VARIANT *pvarLoc, [in] VARIANT *pvarLocRoot, |
| 138 | [in] int swClass, [out] long *phwnd, int swfwOptions, |
| 139 | IDispatch **ppdispOut ); |
| 140 | HRESULT OnCreated( [in] long lCookie, [in] IUnknown *punk ); |
| 141 | HRESULT ProcessAttachDetach( [in] VARIANT_BOOL fAttach ); |
| 142 | } |
| 143 | |
Alexandre Julliard | 96b0b34 | 2003-09-04 02:00:46 +0000 | [diff] [blame] | 144 | /* FIXME */ |
| 145 | cpp_quote("DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9, 0x6b, 0x00, 0xc0, 0x4f, 0xd7, 0x05, 0xa2);") |