1 /*
2     Copyright (c) 2009 NetAllied Systems GmbH
3 
4 	  This file is part of G3DWarehouseBrowser.
5 
6     Licensed under the MIT Open Source License,
7     for details please see LICENSE file or the website
8     http://www.opensource.org/licenses/mit-license.php
9 */
10 
11 #ifndef __G3D_OLE_IN_PLACE_FRAME_H__
12 #define __G3D_OLE_IN_PLACE_FRAME_H__
13 
14 #include "G3DPrerequisites.h"
15 #define NOTIMPLEMENTED assert(0); return(E_NOTIMPL)
16 
17 namespace G3D
18 {
19 	class OleInPlaceFrame : public IOleInPlaceFrame
20 	{
21 	private:
22 		HWND mHwnd;
23 
24 	public:
OleInPlaceFrame(HWND hwnd)25 		OleInPlaceFrame(HWND hwnd):mHwnd(hwnd){}
~OleInPlaceFrame()26 		virtual ~OleInPlaceFrame(){mHwnd = 0;}
27 
28 	public:  // IOleInPlaceFrame interface
QueryInterface(REFIID riid,LPVOID FAR * ppvObj)29 	  HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, LPVOID FAR* ppvObj) {
30   		NOTIMPLEMENTED;
31 	  }
32 
AddRef()33 	  ULONG STDMETHODCALLTYPE AddRef() { return 1; }
34 
Release()35 	  ULONG STDMETHODCALLTYPE Release() { return 1; }
36 
GetWindow(HWND FAR * lphwnd)37 	  HRESULT STDMETHODCALLTYPE GetWindow( HWND FAR* lphwnd) {
38 		*lphwnd = mHwnd;
39   		return S_OK;
40 	  }
41 
ContextSensitiveHelp(BOOL fEnterMode)42 	  HRESULT STDMETHODCALLTYPE ContextSensitiveHelp( BOOL fEnterMode) { NOTIMPLEMENTED; }
43 
GetBorder(LPRECT lprectBorder)44 	  HRESULT STDMETHODCALLTYPE GetBorder( LPRECT lprectBorder) { NOTIMPLEMENTED; }
45 
RequestBorderSpace(LPCBORDERWIDTHS pborderwidths)46 	  HRESULT STDMETHODCALLTYPE RequestBorderSpace( LPCBORDERWIDTHS pborderwidths) { NOTIMPLEMENTED; }
47 
SetBorderSpace(LPCBORDERWIDTHS pborderwidths)48 	  HRESULT STDMETHODCALLTYPE SetBorderSpace( LPCBORDERWIDTHS pborderwidths) { NOTIMPLEMENTED; }
49 
SetActiveObject(IOleInPlaceActiveObject * pActiveObject,LPCOLESTR pszObjName)50 	  HRESULT STDMETHODCALLTYPE SetActiveObject( IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName) { return S_OK; }
51 
InsertMenus(HMENU hmenuShared,LPOLEMENUGROUPWIDTHS lpMenuWidths)52 	  HRESULT STDMETHODCALLTYPE InsertMenus( HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) { NOTIMPLEMENTED; }
53 
SetMenu(HMENU hmenuShared,HOLEMENU holemenu,HWND hwndActiveObject)54 	  HRESULT STDMETHODCALLTYPE SetMenu( HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject) { return S_OK; }
55 
RemoveMenus(HMENU hmenuShared)56 	  HRESULT STDMETHODCALLTYPE RemoveMenus( HMENU hmenuShared) { NOTIMPLEMENTED; }
57 
SetStatusText(LPCOLESTR pszStatusText)58 	  HRESULT STDMETHODCALLTYPE SetStatusText( LPCOLESTR pszStatusText) { return S_OK; }
59 
EnableModeless(BOOL fEnable)60 	  HRESULT STDMETHODCALLTYPE EnableModeless( BOOL fEnable) { return S_FALSE; }
61 
TranslateAccelerator(LPMSG lpmsg,WORD wID)62 	  HRESULT STDMETHODCALLTYPE TranslateAccelerator( LPMSG lpmsg, WORD wID) {
63 		  NOTIMPLEMENTED;
64 	  }
65 	};
66 }
67 #endif // __G3D_OLE_IN_PLACE_FRAME_H__