static HRESULT WINAPI InPlaceSite_OnPosRectChange(IOleInPlaceSiteEx *iface, LPCRECT lprcPosRect) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); FIXME("(%p)->(%p)\n", This, lprcPosRect); return E_NOTIMPL; }
static HRESULT WINAPI PHInPlaceSite_OnUIActivate(IOleInPlaceSiteEx *iface) { PluginHost *This = impl_from_IOleInPlaceSiteEx(iface); DISPPARAMS args = {NULL, NULL, 0, 0}; IDispatch *disp; ULONG err = 0; VARIANT res; HRESULT hres; TRACE("(%p)\n", This); if(!This->plugin_unk) { ERR("No plugin object\n"); return E_UNEXPECTED; } This->ui_active = TRUE; hres = IUnknown_QueryInterface(This->plugin_unk, &IID_IDispatch, (void**)&disp); if(FAILED(hres)) { FIXME("Could not get IDispatch iface: %08x\n", hres); return hres; } V_VT(&res) = VT_EMPTY; hres = IDispatch_Invoke(disp, DISPID_ENABLED, &IID_NULL, 0/*FIXME*/, DISPATCH_PROPERTYGET, &args, &res, NULL, &err); IDispatch_Release(disp); if(SUCCEEDED(hres)) { FIXME("Got enabled %s\n", debugstr_variant(&res)); VariantClear(&res); } return S_OK; }
static HRESULT WINAPI InPlaceSite_RequestUIActivate(IOleInPlaceSiteEx *iface) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); TRACE("(%p)\n", This); /* OnUIActivate is always possible */ return S_OK; }
static HRESULT WINAPI InPlaceSite_OnInPlaceDeactivate(IOleInPlaceSiteEx *iface) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); TRACE("(%p)\n", This); /* Nothing to do here */ return S_OK; }
static HRESULT WINAPI InPlaceSite_GetWindow(IOleInPlaceSiteEx *iface, HWND *phwnd) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); TRACE("(%p)->(%p)\n", This, phwnd); *phwnd = This->hwnd; return S_OK; }
static HRESULT WINAPI PHInPlaceSite_OnInPlaceDeactivate(IOleInPlaceSiteEx *iface) { PluginHost *This = impl_from_IOleInPlaceSiteEx(iface); TRACE("(%p)\n", This); if(This->ip_object) { IOleInPlaceObject_Release(This->ip_object); This->ip_object = NULL; } return S_OK; }
static HRESULT WINAPI InPlaceSite_OnInPlaceDeactivateEx(IOleInPlaceSiteEx *iface, BOOL fNoRedraw) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); TRACE("(%p)->(%x)\n", This, fNoRedraw); if (fNoRedraw) { FIXME("fNoRedraw (%x) ignored\n", fNoRedraw); } /* Nothing to do here */ return S_OK; }
static HRESULT WINAPI PHInPlaceSite_OnUIActivate(IOleInPlaceSiteEx *iface) { PluginHost *This = impl_from_IOleInPlaceSiteEx(iface); TRACE("(%p)\n", This); if(!This->plugin_unk) { ERR("No plugin object\n"); return E_UNEXPECTED; } This->ui_active = TRUE; notif_enabled(This); return S_OK; }
static HRESULT WINAPI InPlaceSite_OnInPlaceActivateEx(IOleInPlaceSiteEx *iface, BOOL *pfNoRedraw, DWORD dwFlags) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); TRACE("(%p)->(%p, %x)\n", This, pfNoRedraw, dwFlags); /* FIXME: Avoid redraw, when possible */ pfNoRedraw = FALSE; if (dwFlags) { FIXME("dwFlags not supported (%x)\n", dwFlags); } /* Nothing to do here */ return S_OK; }
static HRESULT WINAPI PHInPlaceSite_GetWindowContext(IOleInPlaceSiteEx *iface, IOleInPlaceFrame **ppFrame, IOleInPlaceUIWindow **ppDoc, RECT *lprcPosRect, RECT *lprcClipRect, OLEINPLACEFRAMEINFO *frame_info) { PluginHost *This = impl_from_IOleInPlaceSiteEx(iface); IOleInPlaceUIWindow *ip_window; IOleInPlaceFrame *ip_frame; RECT pr, cr; HRESULT hres; TRACE("(%p)->(%p %p %p %p %p)\n", This, ppFrame, ppDoc, lprcPosRect, lprcClipRect, frame_info); if(!This->doc || !This->doc->basedoc.doc_obj || !This->doc->basedoc.doc_obj->ipsite) { FIXME("No ipsite\n"); return E_UNEXPECTED; } hres = IOleInPlaceSite_GetWindowContext(This->doc->basedoc.doc_obj->ipsite, &ip_frame, &ip_window, &pr, &cr, frame_info); if(FAILED(hres)) { WARN("GetWindowContext failed: %08x\n", hres); return hres; } if(ip_window) IOleInPlaceUIWindow_Release(ip_window); if(ip_frame) IOleInPlaceFrame_Release(ip_frame); hres = create_ip_frame(&ip_frame); if(FAILED(hres)) return hres; hres = create_ip_window(ppDoc); if(FAILED(hres)) return hres; *ppFrame = ip_frame; *lprcPosRect = This->rect; *lprcClipRect = This->rect; return S_OK; }
static HRESULT WINAPI PHInPlaceSiteEx_OnInPlaceActivateEx(IOleInPlaceSiteEx *iface, BOOL *pfNoRedraw, DWORD dwFlags) { PluginHost *This = impl_from_IOleInPlaceSiteEx(iface); HWND hwnd; HRESULT hres; TRACE("(%p)->(%p %x)\n", This, pfNoRedraw, dwFlags); if(This->ip_object) return S_OK; hres = IUnknown_QueryInterface(This->plugin_unk, &IID_IOleInPlaceObject, (void**)&This->ip_object); if(FAILED(hres)) return hres; hres = IOleInPlaceObject_GetWindow(This->ip_object, &hwnd); if(SUCCEEDED(hres)) FIXME("Use hwnd %p\n", hwnd); *pfNoRedraw = FALSE; return S_OK; }
static HRESULT WINAPI InPlaceSite_GetWindowContext(IOleInPlaceSiteEx *iface, IOleInPlaceFrame **ppFrame, IOleInPlaceUIWindow **ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); TRACE("(%p)->(%p %p %p %p %p)\n", This, ppFrame, ppDoc, lprcPosRect, lprcClipRect, lpFrameInfo); IOleInPlaceFrame_AddRef(&This->IOleInPlaceFrame_iface); *ppFrame = &This->IOleInPlaceFrame_iface; *ppDoc = NULL; GetClientRect(This->hwnd, lprcPosRect); *lprcClipRect = *lprcPosRect; lpFrameInfo->fMDIApp = FALSE; lpFrameInfo->hwndFrame = This->frame_hwnd; lpFrameInfo->haccel = NULL; lpFrameInfo->cAccelEntries = 0; /* FIXME: should be 5 */ return S_OK; }
static HRESULT WINAPI PHInPlaceSiteEx_OnInPlaceDeactivateEx(IOleInPlaceSiteEx *iface, BOOL fNoRedraw) { PluginHost *This = impl_from_IOleInPlaceSiteEx(iface); FIXME("(%p)->(%x)\n", This, fNoRedraw); return E_NOTIMPL; }
static HRESULT WINAPI PHInPlaceSiteEx_RequestUIActivate(IOleInPlaceSiteEx *iface) { PluginHost *This = impl_from_IOleInPlaceSiteEx(iface); FIXME("(%p)\n", This); return E_NOTIMPL; }
static HRESULT WINAPI InPlaceSite_DeactivateAndUndo(IOleInPlaceSiteEx *iface) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); FIXME("(%p)\n", This); return E_NOTIMPL; }
static HRESULT WINAPI InPlaceSite_OnUIDeactivate(IOleInPlaceSiteEx *iface, BOOL fUndoable) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); FIXME("(%p)->(%x)\n", This, fUndoable); return E_NOTIMPL; }
static HRESULT WINAPI InPlaceSite_Scroll(IOleInPlaceSiteEx *iface, SIZE scrollExtent) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); FIXME("(%p)->({%d %d})\n", This, scrollExtent.cx, scrollExtent.cy); return E_NOTIMPL; }
static HRESULT WINAPI PHInPlaceSite_DiscardUndoState(IOleInPlaceSiteEx *iface) { PluginHost *This = impl_from_IOleInPlaceSiteEx(iface); FIXME("(%p)\n", This); return E_NOTIMPL; }
static ULONG WINAPI InPlaceSite_Release(IOleInPlaceSiteEx *iface) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); return IOleClientSite_Release(&This->IOleClientSite_iface); }
static HRESULT WINAPI InPlaceSite_QueryInterface(IOleInPlaceSiteEx *iface, REFIID riid, void **ppv) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv); }
static HRESULT WINAPI InPlaceSite_ContextSensitiveHelp(IOleInPlaceSiteEx *iface, BOOL fEnterMode) { DocHost *This = impl_from_IOleInPlaceSiteEx(iface); FIXME("(%p)->(%x)\n", This, fEnterMode); return E_NOTIMPL; }
static ULONG WINAPI PHInPlaceSite_AddRef(IOleInPlaceSiteEx *iface) { PluginHost *This = impl_from_IOleInPlaceSiteEx(iface); return IOleClientSite_AddRef(&This->IOleClientSite_iface); }