shdocvw: Add IOleControlSite interface to dochost.
This commit is contained in:
parent
910cac49a4
commit
42ef5a0fce
|
@ -55,6 +55,9 @@ static HRESULT WINAPI ClientSite_QueryInterface(IOleClientSite *iface, REFIID ri
|
||||||
}else if(IsEqualGUID(&IID_IOleDocumentSite, riid)) {
|
}else if(IsEqualGUID(&IID_IOleDocumentSite, riid)) {
|
||||||
TRACE("(%p)->(IID_IOleDocumentSite %p)\n", This, ppv);
|
TRACE("(%p)->(IID_IOleDocumentSite %p)\n", This, ppv);
|
||||||
*ppv = &This->IOleDocumentSite_iface;
|
*ppv = &This->IOleDocumentSite_iface;
|
||||||
|
}else if(IsEqualGUID(&IID_IOleControlSite, riid)) {
|
||||||
|
TRACE("(%p)->(IID_IOleControlSite %p)\n", This, ppv);
|
||||||
|
*ppv = &This->IOleControlSite_iface;
|
||||||
}else if(IsEqualGUID(&IID_IOleCommandTarget, riid)) {
|
}else if(IsEqualGUID(&IID_IOleCommandTarget, riid)) {
|
||||||
TRACE("(%p)->(IID_IOleCommandTarget %p)\n", This, ppv);
|
TRACE("(%p)->(IID_IOleCommandTarget %p)\n", This, ppv);
|
||||||
*ppv = &This->IOleCommandTarget_iface;
|
*ppv = &This->IOleCommandTarget_iface;
|
||||||
|
@ -356,6 +359,93 @@ static const IOleDocumentSiteVtbl OleDocumentSiteVtbl = {
|
||||||
OleDocumentSite_ActivateMe
|
OleDocumentSite_ActivateMe
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static inline DocHost *impl_from_IOleControlSite(IOleControlSite *iface)
|
||||||
|
{
|
||||||
|
return (DocHost*)((char*)iface - FIELD_OFFSET(DocHost, IOleControlSite_iface));
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ControlSite_QueryInterface(IOleControlSite *iface, REFIID riid, void **ppv)
|
||||||
|
{
|
||||||
|
DocHost *This = impl_from_IOleControlSite(iface);
|
||||||
|
return IOleClientSite_QueryInterface(&This->IOleClientSite_iface, riid, ppv);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI ControlSite_AddRef(IOleControlSite *iface)
|
||||||
|
{
|
||||||
|
DocHost *This = impl_from_IOleControlSite(iface);
|
||||||
|
return IOleClientSite_AddRef(&This->IOleClientSite_iface);
|
||||||
|
}
|
||||||
|
|
||||||
|
static ULONG WINAPI ControlSite_Release(IOleControlSite *iface)
|
||||||
|
{
|
||||||
|
DocHost *This = impl_from_IOleControlSite(iface);
|
||||||
|
return IOleClientSite_Release(&This->IOleClientSite_iface);
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ControlSite_OnControlInfoChanged(IOleControlSite *iface)
|
||||||
|
{
|
||||||
|
DocHost *This = impl_from_IOleControlSite(iface);
|
||||||
|
FIXME("(%p)\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ControlSite_LockInPlaceActive(IOleControlSite *iface, BOOL fLock)
|
||||||
|
{
|
||||||
|
DocHost *This = impl_from_IOleControlSite(iface);
|
||||||
|
FIXME("(%p)->(%d)\n", This, fLock);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ControlSite_GetExtendedControl(IOleControlSite *iface, IDispatch **ppDisp)
|
||||||
|
{
|
||||||
|
DocHost *This = impl_from_IOleControlSite(iface);
|
||||||
|
FIXME("(%p)->(%p)\n", This, ppDisp);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ControlSite_TransformCoords(IOleControlSite *iface, POINTL *pPtlHimetric,
|
||||||
|
POINTF *pPtfContainer, DWORD dwFlags)
|
||||||
|
{
|
||||||
|
DocHost *This = impl_from_IOleControlSite(iface);
|
||||||
|
FIXME("(%p)->(%p, %p, %08x)\n", This, pPtlHimetric, pPtfContainer, dwFlags);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ControlSite_TranslateAccelerator(IOleControlSite *iface, MSG *pMsg,
|
||||||
|
DWORD grfModifiers)
|
||||||
|
{
|
||||||
|
DocHost *This = impl_from_IOleControlSite(iface);
|
||||||
|
FIXME("(%p)->(%p, %08x)\n", This, pMsg, grfModifiers);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ControlSite_OnFocus(IOleControlSite *iface, BOOL fGotFocus)
|
||||||
|
{
|
||||||
|
DocHost *This = impl_from_IOleControlSite(iface);
|
||||||
|
FIXME("(%p)->(%d)\n", This, fGotFocus);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static HRESULT WINAPI ControlSite_ShowPropertyFrame(IOleControlSite *iface)
|
||||||
|
{
|
||||||
|
DocHost *This = impl_from_IOleControlSite(iface);
|
||||||
|
FIXME("(%p)\n", This);
|
||||||
|
return E_NOTIMPL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static IOleControlSiteVtbl OleControlSiteVtbl = {
|
||||||
|
ControlSite_QueryInterface,
|
||||||
|
ControlSite_AddRef,
|
||||||
|
ControlSite_Release,
|
||||||
|
ControlSite_OnControlInfoChanged,
|
||||||
|
ControlSite_LockInPlaceActive,
|
||||||
|
ControlSite_GetExtendedControl,
|
||||||
|
ControlSite_TransformCoords,
|
||||||
|
ControlSite_TranslateAccelerator,
|
||||||
|
ControlSite_OnFocus,
|
||||||
|
ControlSite_ShowPropertyFrame
|
||||||
|
};
|
||||||
|
|
||||||
static inline DocHost *impl_from_IDispatch(IDispatch *iface)
|
static inline DocHost *impl_from_IDispatch(IDispatch *iface)
|
||||||
{
|
{
|
||||||
return (DocHost*)((char*)iface - FIELD_OFFSET(DocHost, IDispatch_iface));
|
return (DocHost*)((char*)iface - FIELD_OFFSET(DocHost, IDispatch_iface));
|
||||||
|
@ -521,6 +611,7 @@ void DocHost_ClientSite_Init(DocHost *This)
|
||||||
This->IOleClientSite_iface.lpVtbl = &OleClientSiteVtbl;
|
This->IOleClientSite_iface.lpVtbl = &OleClientSiteVtbl;
|
||||||
This->IOleInPlaceSite_iface.lpVtbl = &OleInPlaceSiteVtbl;
|
This->IOleInPlaceSite_iface.lpVtbl = &OleInPlaceSiteVtbl;
|
||||||
This->IOleDocumentSite_iface.lpVtbl = &OleDocumentSiteVtbl;
|
This->IOleDocumentSite_iface.lpVtbl = &OleDocumentSiteVtbl;
|
||||||
|
This->IOleControlSite_iface.lpVtbl = &OleControlSiteVtbl;
|
||||||
This->IDispatch_iface.lpVtbl = &DispatchVtbl;
|
This->IDispatch_iface.lpVtbl = &DispatchVtbl;
|
||||||
This->IServiceProvider_iface.lpVtbl = &ServiceProviderVtbl;
|
This->IServiceProvider_iface.lpVtbl = &ServiceProviderVtbl;
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,6 +97,7 @@ struct DocHost {
|
||||||
IOleInPlaceSite IOleInPlaceSite_iface;
|
IOleInPlaceSite IOleInPlaceSite_iface;
|
||||||
IDocHostUIHandler2 IDocHostUIHandler2_iface;
|
IDocHostUIHandler2 IDocHostUIHandler2_iface;
|
||||||
IOleDocumentSite IOleDocumentSite_iface;
|
IOleDocumentSite IOleDocumentSite_iface;
|
||||||
|
IOleControlSite IOleControlSite_iface;
|
||||||
IOleCommandTarget IOleCommandTarget_iface;
|
IOleCommandTarget IOleCommandTarget_iface;
|
||||||
IDispatch IDispatch_iface;
|
IDispatch IDispatch_iface;
|
||||||
IPropertyNotifySink IPropertyNotifySink_iface;
|
IPropertyNotifySink IPropertyNotifySink_iface;
|
||||||
|
|
Loading…
Reference in New Issue