summaryrefslogtreecommitdiff
path: root/iup/srcole/tOleHandler.h
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2009-11-04 11:56:41 -0800
committerPixel <pixel@nobis-crew.org>2009-11-04 11:59:33 -0800
commitd577d991b97ae2b5ee1af23641bcffc3f83af5b2 (patch)
tree590639d50205d1bcfaff2a7d2dc6ebf3f373c7ed /iup/srcole/tOleHandler.h
Initial import. Contains the im, cd and iup librairies, and a "working" Makefile for them under linux.
Diffstat (limited to 'iup/srcole/tOleHandler.h')
-rwxr-xr-xiup/srcole/tOleHandler.h139
1 files changed, 139 insertions, 0 deletions
diff --git a/iup/srcole/tOleHandler.h b/iup/srcole/tOleHandler.h
new file mode 100755
index 0000000..966cb30
--- /dev/null
+++ b/iup/srcole/tOleHandler.h
@@ -0,0 +1,139 @@
+// tOleHandler.h: interface for the tOleHandler class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_TOLEHANDLER_H__49B97C12_8DEB_11D3_A906_0004ACE655F9__INCLUDED_)
+#define AFX_TOLEHANDLER_H__49B97C12_8DEB_11D3_A906_0004ACE655F9__INCLUDED_
+
+#if _MSC_VER >= 1000
+#pragma once
+#endif // _MSC_VER >= 1000
+
+#include <windows.h>
+#include <olectl.h>
+
+#include "tOleClientSite.h"
+#include "tOleInPlaceSite.h"
+#include "tOleControlSite.h"
+#include "tDispatch.h"
+#include "tAmbientProperties.h"
+#include "tLegacy.h"
+
+#ifndef LPOLEINPLACEOBJECT
+typedef interface IOleInPlaceObject *LPOLEINPLACEOBJECT;
+#endif
+
+class tOleClientSite;
+
+class tOleHandler : public IUnknown
+{
+public:
+ friend class tOleClientSite;
+ friend class tOleInPlaceSite;
+ friend class tOleControlSite;
+ friend class tDispatch;
+ tOleHandler();
+ virtual ~tOleHandler();
+ tAmbientProperties m_ambientProp;
+
+ HWND m_hWnd;
+private:
+
+ DWORD m_cOpens; //Count calls to Open
+
+ BOOL m_fInitialized; //Something here?
+ LPUNKNOWN m_pObj; //The object here
+ LPSTORAGE m_pIStorage; //Sub-storage for tenant
+
+ FORMATETC m_fe; //Used to create the object
+ DWORD m_dwState; //State flags
+ RECTL m_rcl; //Space of this object
+ CLSID m_clsID; //Object class (for statics)
+ BOOL m_fSetExtent; //Call SetExtent on next run
+
+ ULONG m_cRef; //We're an object now
+ LPOLEOBJECT m_pIOleObject; //IOleObject on m_pObj
+ LPVIEWOBJECT2 m_pIViewObject2; //IViewObject2 on m_pObj
+ ULONG m_grfMisc; //OLEMISC flags
+ BOOL m_fRepaintEnabled; //No redundant paints
+
+ //Our interfaces
+ tOleClientSite *m_pImpIOleClientSite;
+
+ tOleInPlaceSite *m_pImpIOleIPSite; //Our interface
+ LPOLEINPLACEOBJECT m_pIOleIPObject; //The object
+ RECT m_rcPos; //Last object rect
+ BOOL m_fInRectSet; //Prevent reentrancy
+
+ //CHAPTER24MOD
+ tOleControlSite *m_pImpIOleControlSite; //Implemented
+ tDispatch *m_pImpIDispatch; //Implemented
+
+ //Control interfaces
+ LPOLECONTROL m_pIOleControl; //Used
+
+ //Other state information
+ BOOL m_fHaveControlInfo;
+ CONTROLINFO m_ctrlInfo;
+ ULONG m_cLockInPlace;
+ BOOL m_fPendingDeactivate;
+ //End CHAPTER24MOD
+
+
+/*
+* This flag is used exculsively by the implementation of
+* IOleUILinkContainer on the page we're in for the Links
+* Dialog. Since we never use it ourselves, public here
+* is no big deal.
+*/
+public:
+ BOOL m_fLinkAvail;
+
+protected:
+ void CalcNaturalSize(void);
+ long natural_height;
+ long natural_width;
+ BOOL ObjectInitialize(LPUNKNOWN);
+
+ //CHAPTER24MOD
+ BOOL ControlInitialize(void);
+ //End CHAPTER24MOD
+
+public:
+ void setDesignMode(bool value, bool notify);
+ void GetNaturalSize(long *pWidth, long *pHeight);
+ void OnShow(void);
+ //Gotta have an IUnknown for delegation
+ STDMETHODIMP QueryInterface(REFIID, LPVOID *);
+ STDMETHODIMP_(ULONG) AddRef(void);
+ STDMETHODIMP_(ULONG) Release(void);
+
+ UINT Create(LPVOID);
+ BOOL Open(LPSTORAGE);
+ void Close(BOOL);
+
+
+ BOOL Activate(LONG, LPMSG);
+
+ void EnableRepaint(BOOL);
+
+ void ObjectGet(LPUNKNOWN *);
+ void SizeGet(LPSIZEL, BOOL);
+ void SizeSet(LPSIZEL, BOOL, BOOL);
+ void RectGet(LPRECTL, BOOL);
+ void RectSet(LPRECTL, BOOL, BOOL);
+
+ void DeactivateInPlaceObject(BOOL);
+ void UpdateInPlaceObjectRects(LPCRECT, BOOL);
+ HWND ObjectWindow(void);
+
+ //CHAPTER24MOD
+ DWORD GetControlFlags();
+ BOOL TryMnemonic(LPMSG);
+ void AmbientChange(DISPID);
+ //End CHAPTER24MOD
+
+
+};
+
+#endif // !defined(AFX_TOLEHANDLER_H__49B97C12_8DEB_11D3_A906_0004ACE655F9__INCLUDED_)