ReactOS  0.4.13-dev-985-gcbf4784
frame.c
Go to the documentation of this file.
1 /*
2  * Copyright 2005 Jacek Caban for CodeWeavers
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 #include "ieframe.h"
20 
21 #include "wine/debug.h"
22 
24 
26 {
27  return CONTAINING_RECORD(iface, DocHost, IOleInPlaceFrame_iface);
28 }
29 
31  REFIID riid, void **ppv)
32 {
34 
36  TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
37  *ppv = &This->IOleInPlaceFrame_iface;
38  }else if(IsEqualGUID(&IID_IOleWindow, riid)) {
39  TRACE("(%p)->(IID_IOleWindow %p)\n", This, ppv);
40  *ppv = &This->IOleInPlaceFrame_iface;
42  TRACE("(%p)->(IID_IOleInPlaceUIWindow %p)\n", This, ppv);
43  *ppv = &This->IOleInPlaceFrame_iface;
45  TRACE("(%p)->(IID_IOleInPlaceFrame %p)\n", This, ppv);
46  *ppv = &This->IOleInPlaceFrame_iface;
47  }else {
48  *ppv = NULL;
49  WARN("Unsopported interface %s\n", debugstr_guid(riid));
50  return E_NOINTERFACE;
51  }
52 
53 
54  IUnknown_AddRef((IUnknown*)*ppv);
55  return S_OK;
56 }
57 
59 {
61  return IOleClientSite_AddRef(&This->IOleClientSite_iface);
62 }
63 
65 {
67  return IOleClientSite_Release(&This->IOleClientSite_iface);
68 }
69 
71 {
73  FIXME("(%p)->(%p)\n", This, phwnd);
74  return E_NOTIMPL;
75 }
76 
78  BOOL fEnterMode)
79 {
81  FIXME("(%p)->(%x)\n", This, fEnterMode);
82  return E_NOTIMPL;
83 }
84 
86 {
88  FIXME("(%p)->(%p)\n", This, lprectBorder);
89  return E_NOTIMPL;
90 }
91 
93  LPCBORDERWIDTHS pborderwidths)
94 {
96  FIXME("(%p)->(%p)\n", This, pborderwidths);
97  return E_NOTIMPL;
98 }
99 
101  LPCBORDERWIDTHS pborderwidths)
102 {
104  FIXME("(%p)->(%p)\n", This, pborderwidths);
105  return E_NOTIMPL;
106 }
107 
109  IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName)
110 {
112  FIXME("(%p)->(%p %s)\n", This, pActiveObject, debugstr_w(pszObjName));
113  return E_NOTIMPL;
114 }
115 
117  LPOLEMENUGROUPWIDTHS lpMenuWidths)
118 {
120  FIXME("(%p)->(%p %p)\n", This, hmenuShared, lpMenuWidths);
121  return E_NOTIMPL;
122 }
123 
125  HOLEMENU holemenu, HWND hwndActiveObject)
126 {
128  FIXME("(%p)->(%p %p %p)\n", This, hmenuShared, holemenu, hwndActiveObject);
129  return E_NOTIMPL;
130 }
131 
133 {
135  FIXME("(%p)->(%p)\n", This, hmenuShared);
136  return E_NOTIMPL;
137 }
138 
140  LPCOLESTR pszStatusText)
141 {
143  TRACE("(%p)->(%s)\n", This, debugstr_w(pszStatusText));
144  return This->container_vtbl->set_status_text(This, pszStatusText);
145 }
146 
148 {
150  FIXME("(%p)->(%x)\n", This, fEnable);
151  return E_NOTIMPL;
152 }
153 
155  WORD wID)
156 {
158  FIXME("(%p)->(%p %d)\n", This, lpmsg, wID);
159  return E_NOTIMPL;
160 }
161 
162 #undef impl_from_IOleInPlaceFrame
163 
164 static const IOleInPlaceFrameVtbl OleInPlaceFrameVtbl = {
180 };
181 
183 {
184  This->IOleInPlaceFrame_iface.lpVtbl = &OleInPlaceFrameVtbl;
185 }
const GUID IID_IOleInPlaceFrame
#define REFIID
Definition: guiddef.h:118
#define E_NOINTERFACE
Definition: winerror.h:2364
static HRESULT WINAPI InPlaceFrame_RemoveMenus(IOleInPlaceFrame *iface, HMENU hmenuShared)
Definition: frame.c:132
static const IOleInPlaceFrameVtbl OleInPlaceFrameVtbl
Definition: frame.c:164
static HRESULT WINAPI InPlaceFrame_GetWindow(IOleInPlaceFrame *iface, HWND *phwnd)
Definition: frame.c:70
static HRESULT WINAPI InPlaceFrame_TranslateAccelerator(IOleInPlaceFrame *iface, LPMSG lpmsg, WORD wID)
Definition: frame.c:154
REFIID riid
Definition: precomp.h:44
#define WARN(fmt,...)
Definition: debug.h:111
REFIID LPVOID * ppv
Definition: atlbase.h:39
static ULONG WINAPI InPlaceFrame_Release(IOleInPlaceFrame *iface)
Definition: frame.c:64
WINE_DEFAULT_DEBUG_CHANNEL(d3drm)
static HRESULT WINAPI InPlaceFrame_GetBorder(IOleInPlaceFrame *iface, LPRECT lprectBorder)
Definition: frame.c:85
unsigned int BOOL
Definition: ntddk_ex.h:94
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
static HRESULT WINAPI InPlaceFrame_QueryInterface(IOleInPlaceFrame *iface, REFIID riid, void **ppv)
Definition: frame.c:30
const GUID IID_IUnknown
#define WINAPI
Definition: msvc.h:8
void DocHost_Frame_Init(DocHost *This)
Definition: frame.c:182
unsigned short WORD
Definition: ntddk_ex.h:93
static HRESULT WINAPI InPlaceFrame_EnableModeless(IOleInPlaceFrame *iface, BOOL fEnable)
Definition: frame.c:147
static ULONG WINAPI InPlaceFrame_AddRef(IOleInPlaceFrame *iface)
Definition: frame.c:58
static HRESULT WINAPI InPlaceFrame_SetMenu(IOleInPlaceFrame *iface, HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject)
Definition: frame.c:124
static HRESULT WINAPI InPlaceFrame_SetBorderSpace(IOleInPlaceFrame *iface, LPCBORDERWIDTHS pborderwidths)
Definition: frame.c:100
#define S_OK
Definition: intsafe.h:59
static DocHost * impl_from_IOleInPlaceFrame(IOleInPlaceFrame *iface)
Definition: frame.c:25
static HRESULT WINAPI InPlaceFrame_SetStatusText(IOleInPlaceFrame *iface, LPCOLESTR pszStatusText)
Definition: frame.c:139
#define E_NOTIMPL
Definition: ddrawi.h:99
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4021
static HRESULT WINAPI InPlaceFrame_RequestBorderSpace(IOleInPlaceFrame *iface, LPCBORDERWIDTHS pborderwidths)
Definition: frame.c:92
const GUID IID_IOleWindow
unsigned int ULONG
Definition: retypes.h:1
const GUID IID_IOleInPlaceUIWindow
static HRESULT WINAPI InPlaceFrame_ContextSensitiveHelp(IOleInPlaceFrame *iface, BOOL fEnterMode)
Definition: frame.c:77
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
static HRESULT WINAPI InPlaceFrame_InsertMenus(IOleInPlaceFrame *iface, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
Definition: frame.c:116
static HRESULT WINAPI InPlaceFrame_SetActiveObject(IOleInPlaceFrame *iface, IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName)
Definition: frame.c:108