~ubuntu-branches/ubuntu/wily/opencollada/wily

« back to all changes in this revision

Viewing changes to G3DWarehouseBrowser/include/G3DOleInPlaceSite.h

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2015-05-14 17:23:27 UTC
  • Revision ID: package-import@ubuntu.com-20150514172327-f862u8envms01fra
Tags: upstream-0.1.0~20140703.ddf8f47+dfsg1
ImportĀ upstreamĀ versionĀ 0.1.0~20140703.ddf8f47+dfsg1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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_SITE_H__
 
12
#define __G3D_OLE_IN_PLACE_SITE_H__
 
13
 
 
14
#include "G3DPrerequisites.h"
 
15
#include "G3DOleClientSite.h"
 
16
#include "G3DOleInPlaceFrame.h"
 
17
 
 
18
#include <windows.h>
 
19
 
 
20
namespace G3D
 
21
{
 
22
        class OleInPlaceSite : public IOleInPlaceSite {
 
23
        private:
 
24
                OleClientSite*   mClientSite;
 
25
                OleInPlaceFrame* mInPlaceFrame;
 
26
                IOleObject*        mBrowserObject;
 
27
                HWND              mHwnd;
 
28
 
 
29
        public:
 
30
                OleInPlaceSite(IOleObject* browserObject, OleInPlaceFrame* inPlaceFrame, HWND h);
 
31
                virtual ~OleInPlaceSite(){
 
32
                        mClientSite -> Release();
 
33
//                      mInPlaceFrame -> Release();
 
34
                        mBrowserObject -> Release();
 
35
                        mHwnd = 0;
 
36
                 }
 
37
                void setBrowserObject(IOleObject* o);
 
38
 
 
39
                void setClientSite(OleClientSite* o) {mClientSite=o;}
 
40
 
 
41
        public: // IOleInPlaceSite interface
 
42
          HRESULT STDMETHODCALLTYPE QueryInterface( REFIID riid, LPVOID FAR* ppvObj); 
 
43
 
 
44
          ULONG STDMETHODCALLTYPE AddRef() {
 
45
                return(1);
 
46
          }
 
47
          
 
48
          ULONG STDMETHODCALLTYPE Release() {
 
49
                return(1);
 
50
          }
 
51
          
 
52
          HRESULT STDMETHODCALLTYPE GetWindow( HWND FAR* lphwnd) {
 
53
                *lphwnd = mHwnd;
 
54
                return(S_OK);
 
55
          }
 
56
          
 
57
          HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode) {
 
58
                NOTIMPLEMENTED;
 
59
          }
 
60
          
 
61
          HRESULT STDMETHODCALLTYPE CanInPlaceActivate() {
 
62
                return S_OK;
 
63
          }
 
64
          
 
65
          HRESULT STDMETHODCALLTYPE OnInPlaceActivate() {
 
66
                return S_OK;
 
67
          }
 
68
          
 
69
          HRESULT STDMETHODCALLTYPE OnUIActivate() { return(S_OK); }
 
70
          
 
71
          HRESULT STDMETHODCALLTYPE GetWindowContext( LPOLEINPLACEFRAME FAR* lplpFrame, LPOLEINPLACEUIWINDOW FAR* lplpDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo) {
 
72
                *lplpFrame = mInPlaceFrame;
 
73
                *lplpDoc = 0;
 
74
          
 
75
                lpFrameInfo->fMDIApp = FALSE;
 
76
                lpFrameInfo->hwndFrame = mHwnd;
 
77
                lpFrameInfo->haccel = 0;
 
78
                lpFrameInfo->cAccelEntries = 0;
 
79
          
 
80
                return S_OK;
 
81
          }
 
82
          
 
83
          HRESULT STDMETHODCALLTYPE Scroll(SIZE scrollExtent) { NOTIMPLEMENTED; }
 
84
          
 
85
          HRESULT STDMETHODCALLTYPE OnUIDeactivate( BOOL fUndoable) { return S_OK; }
 
86
          
 
87
          HRESULT STDMETHODCALLTYPE OnInPlaceDeactivate() { return S_OK; }
 
88
          
 
89
          HRESULT STDMETHODCALLTYPE DiscardUndoState() { NOTIMPLEMENTED; }
 
90
          
 
91
          HRESULT STDMETHODCALLTYPE DeactivateAndUndo() { NOTIMPLEMENTED; }
 
92
          
 
93
          HRESULT STDMETHODCALLTYPE OnPosRectChange( LPCRECT lprcPosRect) {
 
94
                IOleInPlaceObject       *inplace;
 
95
                if (!mBrowserObject->QueryInterface(IID_IOleInPlaceObject, (void**)&inplace)) {
 
96
                        inplace->SetObjectRects(lprcPosRect, lprcPosRect);
 
97
                }
 
98
                return(S_OK);
 
99
          }
 
100
        };
 
101
}
 
102
#endif // __G3D_OLE_IN_PLACE_SITE_H__