Jacek Caban : shdocvw: Added [get|put]_Visible implementation.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri May 5 14:08:01 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 9d9b909466f2742ec83edc691fe70d9a967e1865
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=9d9b909466f2742ec83edc691fe70d9a967e1865
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Apr 28 20:29:07 2006 +0200
shdocvw: Added [get|put]_Visible implementation.
---
dlls/shdocvw/shdocvw.h | 2 ++
dlls/shdocvw/webbrowser.c | 24 ++++++++++++++++++++----
2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h
index deabf20..11a9b26 100644
--- a/dlls/shdocvw/shdocvw.h
+++ b/dlls/shdocvw/shdocvw.h
@@ -115,6 +115,8 @@ typedef struct {
HWND shell_embedding_hwnd;
+ VARIANT_BOOL visible;
+
DocHost doc_host;
} WebBrowser;
diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c
index 74ad74e..8036511 100644
--- a/dlls/shdocvw/webbrowser.c
+++ b/dlls/shdocvw/webbrowser.c
@@ -21,6 +21,7 @@
#include "wine/debug.h"
#include "shdocvw.h"
+#include "exdispid.h"
WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
@@ -486,15 +487,28 @@ static HRESULT WINAPI WebBrowser_get_Pat
static HRESULT WINAPI WebBrowser_get_Visible(IWebBrowser2 *iface, VARIANT_BOOL *pBool)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
- FIXME("(%p)->(%p)\n", This, pBool);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%p)\n", This, pBool);
+
+ *pBool = This->visible;
+ return S_OK;
}
static HRESULT WINAPI WebBrowser_put_Visible(IWebBrowser2 *iface, VARIANT_BOOL Value)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
- FIXME("(%p)->(%x)\n", This, Value);
- return E_NOTIMPL;
+ VARIANTARG arg;
+ DISPPARAMS dispparams = {&arg, NULL, 1, 0};
+
+ TRACE("(%p)->(%x)\n", This, Value);
+
+ This->visible = Value;
+
+ V_VT(&arg) = VT_BOOL;
+ V_BOOL(&arg) = Value;
+ call_sink(This->doc_host.cp_wbe2, DISPID_ONVISIBLE, &dispparams);
+
+ return S_OK;
}
static HRESULT WINAPI WebBrowser_get_StatusBar(IWebBrowser2 *iface, VARIANT_BOOL *pBool)
@@ -842,6 +856,8 @@ HRESULT WebBrowser_Create(IUnknown *pOut
DocHost_Init(&ret->doc_host, (IDispatch*)WEBBROWSER2(ret));
+ ret->visible = VARIANT_TRUE;
+
WebBrowser_OleObject_Init(ret);
WebBrowser_ViewObject_Init(ret);
WebBrowser_Persist_Init(ret);
More information about the wine-cvs
mailing list