ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

frame.c
Go to the documentation of this file.
00001 /*
00002  * Copyright 2005 Jacek Caban for CodeWeavers
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #include "wine/debug.h"
00020 #include "shdocvw.h"
00021 
00022 WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
00023 
00024 #define INPLACEFRAME_THIS(iface) DEFINE_THIS(DocHost, OleInPlaceFrame, iface)
00025 
00026 static HRESULT WINAPI InPlaceFrame_QueryInterface(IOleInPlaceFrame *iface,
00027                                                   REFIID riid, void **ppv)
00028 {
00029     DocHost *This = INPLACEFRAME_THIS(iface);
00030 
00031     *ppv = NULL;
00032 
00033     if(IsEqualGUID(&IID_IUnknown, riid)) {
00034         TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
00035         *ppv = INPLACEFRAME(This);
00036     }else if(IsEqualGUID(&IID_IOleWindow, riid)) {
00037         TRACE("(%p)->(IID_IOleWindow %p)\n", This, ppv);
00038         *ppv = INPLACEFRAME(This);
00039     }else if(IsEqualGUID(&IID_IOleInPlaceUIWindow, riid)) {
00040         TRACE("(%p)->(IID_IOleInPlaceUIWindow %p)\n", This, ppv);
00041         *ppv = INPLACEFRAME(This);
00042     }else if(IsEqualGUID(&IID_IOleInPlaceFrame, riid)) {
00043         TRACE("(%p)->(IID_IOleInPlaceFrame %p)\n", This, ppv);
00044         *ppv = INPLACEFRAME(This);
00045     }
00046 
00047     if(*ppv) {
00048         IOleInPlaceFrame_AddRef(INPLACEFRAME(This));
00049         return S_OK;
00050     }
00051 
00052     WARN("Unsopported interface %s\n", debugstr_guid(riid));
00053     return E_NOINTERFACE;
00054 }
00055 
00056 static ULONG WINAPI InPlaceFrame_AddRef(IOleInPlaceFrame *iface)
00057 {
00058     DocHost *This = INPLACEFRAME_THIS(iface);
00059     return IOleClientSite_AddRef(CLIENTSITE(This));
00060 }
00061 
00062 static ULONG WINAPI InPlaceFrame_Release(IOleInPlaceFrame *iface)
00063 {
00064     DocHost *This = INPLACEFRAME_THIS(iface);
00065     return IOleClientSite_Release(CLIENTSITE(This));
00066 }
00067 
00068 static HRESULT WINAPI InPlaceFrame_GetWindow(IOleInPlaceFrame *iface, HWND *phwnd)
00069 {
00070     DocHost *This = INPLACEFRAME_THIS(iface);
00071     FIXME("(%p)->(%p)\n", This, phwnd);
00072     return E_NOTIMPL;
00073 }
00074 
00075 static HRESULT WINAPI InPlaceFrame_ContextSensitiveHelp(IOleInPlaceFrame *iface,
00076                                                         BOOL fEnterMode)
00077 {
00078     DocHost *This = INPLACEFRAME_THIS(iface);
00079     FIXME("(%p)->(%x)\n", This, fEnterMode);
00080     return E_NOTIMPL;
00081 }
00082 
00083 static HRESULT WINAPI InPlaceFrame_GetBorder(IOleInPlaceFrame *iface, LPRECT lprectBorder)
00084 {
00085     DocHost *This = INPLACEFRAME_THIS(iface);
00086     FIXME("(%p)->(%p)\n", This, lprectBorder);
00087     return E_NOTIMPL;
00088 }
00089 
00090 static HRESULT WINAPI InPlaceFrame_RequestBorderSpace(IOleInPlaceFrame *iface,
00091                                                       LPCBORDERWIDTHS pborderwidths)
00092 {
00093     DocHost *This = INPLACEFRAME_THIS(iface);
00094     FIXME("(%p)->(%p)\n", This, pborderwidths);
00095     return E_NOTIMPL;
00096 }
00097 
00098 static HRESULT WINAPI InPlaceFrame_SetBorderSpace(IOleInPlaceFrame *iface,
00099                                                   LPCBORDERWIDTHS pborderwidths)
00100 {
00101     DocHost *This = INPLACEFRAME_THIS(iface);
00102     FIXME("(%p)->(%p)\n", This, pborderwidths);
00103     return E_NOTIMPL;
00104 }
00105 
00106 static HRESULT WINAPI InPlaceFrame_SetActiveObject(IOleInPlaceFrame *iface,
00107         IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName)
00108 {
00109     DocHost *This = INPLACEFRAME_THIS(iface);
00110     FIXME("(%p)->(%p %s)\n", This, pActiveObject, debugstr_w(pszObjName));
00111     return E_NOTIMPL;
00112 }
00113 
00114 static HRESULT WINAPI InPlaceFrame_InsertMenus(IOleInPlaceFrame *iface, HMENU hmenuShared,
00115         LPOLEMENUGROUPWIDTHS lpMenuWidths)
00116 {
00117     DocHost *This = INPLACEFRAME_THIS(iface);
00118     FIXME("(%p)->(%p %p)\n", This, hmenuShared, lpMenuWidths);
00119     return E_NOTIMPL;
00120 }
00121 
00122 static HRESULT WINAPI InPlaceFrame_SetMenu(IOleInPlaceFrame *iface, HMENU hmenuShared,
00123         HOLEMENU holemenu, HWND hwndActiveObject)
00124 {
00125     DocHost *This = INPLACEFRAME_THIS(iface);
00126     FIXME("(%p)->(%p %p %p)\n", This, hmenuShared, holemenu, hwndActiveObject);
00127     return E_NOTIMPL;
00128 }
00129 
00130 static HRESULT WINAPI InPlaceFrame_RemoveMenus(IOleInPlaceFrame *iface, HMENU hmenuShared)
00131 {
00132     DocHost *This = INPLACEFRAME_THIS(iface);
00133     FIXME("(%p)->(%p)\n", This, hmenuShared);
00134     return E_NOTIMPL;
00135 }
00136 
00137 static HRESULT WINAPI InPlaceFrame_SetStatusText(IOleInPlaceFrame *iface,
00138                                                  LPCOLESTR pszStatusText)
00139 {
00140     DocHost *This = INPLACEFRAME_THIS(iface);
00141     TRACE("(%p)->(%s)\n", This, debugstr_w(pszStatusText));
00142     return This->container_vtbl->SetStatusText(This, pszStatusText);
00143 }
00144 
00145 static HRESULT WINAPI InPlaceFrame_EnableModeless(IOleInPlaceFrame *iface, BOOL fEnable)
00146 {
00147     DocHost *This = INPLACEFRAME_THIS(iface);
00148     FIXME("(%p)->(%x)\n", This, fEnable);
00149     return E_NOTIMPL;
00150 }
00151 
00152 static HRESULT WINAPI InPlaceFrame_TranslateAccelerator(IOleInPlaceFrame *iface, LPMSG lpmsg,
00153                                                         WORD wID)
00154 {
00155     DocHost *This = INPLACEFRAME_THIS(iface);
00156     FIXME("(%p)->(%p %d)\n", This, lpmsg, wID);
00157     return E_NOTIMPL;
00158 }
00159 
00160 #undef INPLACEFRAME_THIS
00161 
00162 static const IOleInPlaceFrameVtbl OleInPlaceFrameVtbl = {
00163     InPlaceFrame_QueryInterface,
00164     InPlaceFrame_AddRef,
00165     InPlaceFrame_Release,
00166     InPlaceFrame_GetWindow,
00167     InPlaceFrame_ContextSensitiveHelp,
00168     InPlaceFrame_GetBorder,
00169     InPlaceFrame_RequestBorderSpace,
00170     InPlaceFrame_SetBorderSpace,
00171     InPlaceFrame_SetActiveObject,
00172     InPlaceFrame_InsertMenus,
00173     InPlaceFrame_SetMenu,
00174     InPlaceFrame_RemoveMenus,
00175     InPlaceFrame_SetStatusText,
00176     InPlaceFrame_EnableModeless,
00177     InPlaceFrame_TranslateAccelerator
00178 };
00179 
00180 void DocHost_Frame_Init(DocHost *This)
00181 {
00182     This->lpOleInPlaceFrameVtbl = &OleInPlaceFrameVtbl;
00183 }

Generated on Sun May 27 2012 04:26:14 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.