ReactOS 0.4.15-dev-7924-g5949c20
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
164static const IOleInPlaceFrameVtbl OleInPlaceFrameVtbl = {
180};
181
183{
184 This->IOleInPlaceFrame_iface.lpVtbl = &OleInPlaceFrameVtbl;
185}
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
const GUID IID_IUnknown
#define FIXME(fmt,...)
Definition: debug.h:111
#define WARN(fmt,...)
Definition: debug.h:112
#define E_NOTIMPL
Definition: ddrawi.h:99
#define NULL
Definition: types.h:112
static HRESULT WINAPI InPlaceFrame_InsertMenus(IOleInPlaceFrame *iface, HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths)
Definition: frame.c:116
static HRESULT WINAPI InPlaceFrame_EnableModeless(IOleInPlaceFrame *iface, BOOL fEnable)
Definition: frame.c:147
static HRESULT WINAPI InPlaceFrame_GetWindow(IOleInPlaceFrame *iface, HWND *phwnd)
Definition: frame.c:70
static HRESULT WINAPI InPlaceFrame_GetBorder(IOleInPlaceFrame *iface, LPRECT lprectBorder)
Definition: frame.c:85
static ULONG WINAPI InPlaceFrame_Release(IOleInPlaceFrame *iface)
Definition: frame.c:64
static const IOleInPlaceFrameVtbl OleInPlaceFrameVtbl
Definition: frame.c:164
static HRESULT WINAPI InPlaceFrame_SetActiveObject(IOleInPlaceFrame *iface, IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName)
Definition: frame.c:108
static HRESULT WINAPI InPlaceFrame_ContextSensitiveHelp(IOleInPlaceFrame *iface, BOOL fEnterMode)
Definition: frame.c:77
static HRESULT WINAPI InPlaceFrame_SetStatusText(IOleInPlaceFrame *iface, LPCOLESTR pszStatusText)
Definition: frame.c:139
static HRESULT WINAPI InPlaceFrame_SetMenu(IOleInPlaceFrame *iface, HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject)
Definition: frame.c:124
static HRESULT WINAPI InPlaceFrame_RemoveMenus(IOleInPlaceFrame *iface, HMENU hmenuShared)
Definition: frame.c:132
void DocHost_Frame_Init(DocHost *This)
Definition: frame.c:182
static HRESULT WINAPI InPlaceFrame_TranslateAccelerator(IOleInPlaceFrame *iface, LPMSG lpmsg, WORD wID)
Definition: frame.c:154
static HRESULT WINAPI InPlaceFrame_QueryInterface(IOleInPlaceFrame *iface, REFIID riid, void **ppv)
Definition: frame.c:30
static ULONG WINAPI InPlaceFrame_AddRef(IOleInPlaceFrame *iface)
Definition: frame.c:58
static HRESULT WINAPI InPlaceFrame_SetBorderSpace(IOleInPlaceFrame *iface, LPCBORDERWIDTHS pborderwidths)
Definition: frame.c:100
static DocHost * impl_from_IOleInPlaceFrame(IOleInPlaceFrame *iface)
Definition: frame.c:25
static HRESULT WINAPI InPlaceFrame_RequestBorderSpace(IOleInPlaceFrame *iface, LPCBORDERWIDTHS pborderwidths)
Definition: frame.c:92
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned short WORD
Definition: ntddk_ex.h:93
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define S_OK
Definition: intsafe.h:52
#define debugstr_guid
Definition: kernel32.h:35
#define debugstr_w
Definition: kernel32.h:32
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
const GUID IID_IOleInPlaceFrame
const GUID IID_IOleWindow
const GUID IID_IOleInPlaceUIWindow
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define REFIID
Definition: guiddef.h:118
#define TRACE(s)
Definition: solgame.cpp:4
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
uint32_t ULONG
Definition: typedefs.h:59
#define WINAPI
Definition: msvc.h:6
#define E_NOINTERFACE
Definition: winerror.h:2364