Jacek Caban : shdocvw: Added WebBrowser::[get|put]_ToolBar implementation.

Alexandre Julliard julliard at wine.codeweavers.com
Fri May 5 14:08:05 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: e4ad9dfdb2f3419b7809a1190f6b623386a53612
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=e4ad9dfdb2f3419b7809a1190f6b623386a53612

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sat Apr 29 13:35:29 2006 +0200

shdocvw: Added WebBrowser::[get|put]_ToolBar implementation.

---

 dlls/shdocvw/shdocvw.h    |    1 +
 dlls/shdocvw/webbrowser.c |   22 ++++++++++++++++++----
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h
index ccdbcef..49fb9cb 100644
--- a/dlls/shdocvw/shdocvw.h
+++ b/dlls/shdocvw/shdocvw.h
@@ -119,6 +119,7 @@ typedef struct {
     VARIANT_BOOL menu_bar;
     VARIANT_BOOL address_bar;
     VARIANT_BOOL status_bar;
+    VARIANT_BOOL tool_bar;
 
     DocHost doc_host;
 } WebBrowser;
diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c
index fcbe728..ff45c40 100644
--- a/dlls/shdocvw/webbrowser.c
+++ b/dlls/shdocvw/webbrowser.c
@@ -558,15 +558,28 @@ static HRESULT WINAPI WebBrowser_put_Sta
 static HRESULT WINAPI WebBrowser_get_ToolBar(IWebBrowser2 *iface, int *Value)
 {
     WebBrowser *This = WEBBROWSER_THIS(iface);
-    FIXME("(%p)->(%p)\n", This, Value);
-    return E_NOTIMPL;
+
+    TRACE("(%p)->(%p)\n", This, Value);
+
+    *Value = This->tool_bar;
+    return S_OK;
 }
 
 static HRESULT WINAPI WebBrowser_put_ToolBar(IWebBrowser2 *iface, int Value)
 {
     WebBrowser *This = WEBBROWSER_THIS(iface);
-    FIXME("(%p)->(%d)\n", This, Value);
-    return E_NOTIMPL;
+    VARIANTARG arg;
+    DISPPARAMS dispparams = {&arg, NULL, 1, 0};
+
+    TRACE("(%p)->(%x)\n", This, Value);
+
+    This->tool_bar = Value ? VARIANT_TRUE : VARIANT_FALSE;
+
+    V_VT(&arg) = VT_BOOL;
+    V_BOOL(&arg) = Value;
+    call_sink(This->doc_host.cp_wbe2, DISPID_ONTOOLBAR, &dispparams);
+
+    return S_OK;
 }
 
 static HRESULT WINAPI WebBrowser_get_MenuBar(IWebBrowser2 *iface, VARIANT_BOOL *Value)
@@ -902,6 +915,7 @@ HRESULT WebBrowser_Create(IUnknown *pOut
     ret->menu_bar = VARIANT_TRUE;
     ret->address_bar = VARIANT_TRUE;
     ret->status_bar = VARIANT_TRUE;
+    ret->tool_bar = VARIANT_TRUE;
 
     WebBrowser_OleObject_Init(ret);
     WebBrowser_ViewObject_Init(ret);




More information about the wine-cvs mailing list