diff options
Diffstat (limited to '')
-rw-r--r-- | public/sdk/inc/mfc42/afxdocob.h | 391 |
1 files changed, 391 insertions, 0 deletions
diff --git a/public/sdk/inc/mfc42/afxdocob.h b/public/sdk/inc/mfc42/afxdocob.h new file mode 100644 index 000000000..d0ba95726 --- /dev/null +++ b/public/sdk/inc/mfc42/afxdocob.h @@ -0,0 +1,391 @@ +// This is a part of the Microsoft Foundation Classes C++ library. +// Copyright (C) 1996 Microsoft Corporation +// All rights reserved. +// +// This source code is only intended as a supplement to the +// Microsoft Foundation Classes Reference and related +// electronic documentation provided with the library. +// See these sources for detailed information regarding the +// Microsoft Foundation Classes product. + +#ifndef __AFXDOCOB_H__ +#define __AFXDOCOB_H__ + +//WINBUG: these error codes are needed by MFC's IPrint implementation +// but aren't available in the SDK headers. Someday, these #define's +// can be removed. + +#ifndef PRINT_E_CANCELLED +#define PRINT_E_CANCELLED 0x80040160L +#endif +#ifndef PRINT_E_NOSUCHPAGE +#define PRINT_E_NOSUCHPAGE 0x80040161L +#endif + +#ifdef _AFX_NO_OLE_SUPPORT + #error OLE classes not supported in this library variant. +#endif + +#ifndef __AFXOLE_H__ + #include <afxole.h> +#endif + +#ifndef __docobj_h__ + #include <docobj.h> // defines Document Object interfaces +#endif + +#ifdef _AFX_MINREBUILD +#pragma component(minrebuild, off) +#endif +#ifndef _AFX_FULLTYPEINFO +#pragma component(mintypeinfo, on) +#endif + +#ifdef _AFX_PACKING +#pragma pack(push, _AFX_PACKING) +#endif + +// AFXDLL support +#undef AFX_DATA +#define AFX_DATA AFX_OLE_DATA + + +///////////////////////////////////////////////////////////////////////////// +// AFXDOCOB.H - MFC OLE Document Object support + +//CCmdUI +class COleCmdUI; + +//CCmdTarg +class CDocObjectServer; + +//COleIPFrameWnd +class COleDocIPFrameWnd; + + +///////////////////////////////////////////////////////////////////////////// +// COleCmdUI + +class COleCmdUI : public CCmdUI +{ +public: + COleCmdUI(OLECMD* rgCmds, ULONG cCmds, const GUID* m_pGroup); + virtual void Enable(BOOL bOn); + virtual void SetCheck(int nCheck); + virtual void SetText(LPCTSTR lpszText); + virtual BOOL DoUpdate(CCmdTarget* pTarget, BOOL bDisableIfNoHandler); + DWORD m_nCmdTextFlag; + +protected: + OLECMD* m_rgCmds; + const GUID* m_pguidCmdGroup; +public: + CString m_strText; + + friend class CCmdTarget; +}; + + +#define ON_OLECMD(pguid, olecmdid, id) \ + { pguid, (ULONG)olecmdid, (UINT)id }, + +#define ON_OLECMD_OPEN() \ + ON_OLECMD(NULL, OLECMDID_OPEN, ID_FILE_OPEN) + +#define ON_OLECMD_NEW() \ + ON_OLECMD(NULL, OLECMDID_NEW, ID_FILE_NEW) + +#define ON_OLECMD_SAVE() \ + ON_OLECMD(NULL, OLECMDID_SAVE, ID_FILE_SAVE) + +#define ON_OLECMD_SAVE_AS() \ + ON_OLECMD(NULL, OLECMDID_SAVEAS, ID_FILE_SAVE_AS) + +#define ON_OLECMD_SAVE_COPY_AS() \ + ON_OLECMD(NULL, OLECMDID_SAVECOPYAS, ID_FILE_SAVE_COPY_AS) + +#define ON_OLECMD_PRINT() \ + ON_OLECMD(NULL, OLECMDID_PRINT, ID_FILE_PRINT) + +#define ON_OLECMD_PRINTPREVIEW() \ + ON_OLECMD(NULL, OLECMDID_PRINTPREVIEW, ID_FILE_PRINT_PREVIEW) + +#define ON_OLECMD_PAGESETUP() \ + ON_OLECMD(NULL, OLECMDID_PAGESETUP, ID_FILE_PAGE_SETUP) + +#define ON_OLECMD_CUT() \ + ON_OLECMD(NULL, OLECMDID_CUT, ID_EDIT_CUT) + +#define ON_OLECMD_COPY() \ + ON_OLECMD(NULL, OLECMDID_COPY, ID_EDIT_COPY) + +#define ON_OLECMD_PASTE() \ + ON_OLECMD(NULL, OLECMDID_PASTE, ID_EDIT_PASTE) + +#define ON_OLECMD_PASTESPECIAL() \ + ON_OLECMD(NULL, OLECMDID_PASTESPECIAL, ID_EDIT_PASTE_SPECIAL) + +#define ON_OLECMD_UNDO() \ + ON_OLECMD(NULL, OLECMDID_UNDO, ID_EDIT_UNDO) + +#define ON_OLECMD_REDO() \ + ON_OLECMD(NULL, OLECMDID_REDO, ID_EDIT_REDO) + +#define ON_OLECMD_SELECTALL() \ + ON_OLECMD(NULL, OLECMDID_SELECTALL, ID_EDIT_SELECT_ALL) + +#define ON_OLECMD_CLEARSELECTION() \ + ON_OLECMD(NULL, OLECMDID_CLEARSELECTION, ID_EDIT_CLEAR) + + +///////////////////////////////////////////////////////////////////////////// +// CDocObjectServer class + +class CDocObjectServer : public CCmdTarget +{ + DECLARE_DYNAMIC(CDocObjectServer) + +// Constructors +public: + CDocObjectServer(COleServerDoc* pOwner, + LPOLEDOCUMENTSITE pDocSite = NULL); + +// Attributes +public: + +// Operations +public: + void ActivateDocObject(); + +// Overridables +protected: + // Document Overridables + + // View Overridables + virtual void OnApplyViewState(CArchive& ar); + virtual void OnSaveViewState(CArchive& ar); + virtual HRESULT OnActivateView(); + +// Implementation +public: + virtual ~CDocObjectServer(); + void ReleaseDocSite(); + void SetDocSite(LPOLEDOCUMENTSITE pNewSite); + COleDocIPFrameWnd* GetControllingFrame() const; +protected: + STDMETHODIMP OnExecOleCmd(const GUID* pguidCmdGroup, + DWORD nCmdID, DWORD nCmdExecOpt, VARIANTARG* pvarargIn, + VARIANTARG* pvarargOut); + BOOL DoPreparePrinting(CView* pView, CPrintInfo* printInfo); + void DoPrepareDC(CView* pView, CDC* pdcPrint, CPrintInfo* pprintInfo); + void DoPrint(CView* pView, CDC* pdcPrint, CPrintInfo* pprintInfo); + void DoBeginPrinting(CView* pView, CDC* pDC, CPrintInfo* pprintInfo); + void DoEndPrinting(CView* pView, CDC* pDC, CPrintInfo* pprintInfo); + +#ifdef _DEBUG + virtual void AssertValid() const; + virtual void Dump(CDumpContext& dc) const; +#endif + + // Overrides +protected: + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CDocObjectServer) + public: + virtual void OnCloseDocument(); + //}}AFX_VIRTUAL + + // Implementation Data +protected: + // Document Data + LPOLEDOCUMENTSITE m_pDocSite; + COleServerDoc* m_pOwner; + + // Print Data + LONG m_nFirstPage; + LPCONTINUECALLBACK m_pContinueCallback; + + // View Data + LPOLEINPLACESITE m_pViewSite; + + // Implementation Helpers +protected: + void OnSetItemRects(LPRECT lprcPosRect, LPRECT lprcClipRect); +// LPUNKNOWN GetInterfaceHook(const void* iid); + + // Generated message map functions +protected: + //{{AFX_MSG(CDocObjectServer) + // NOTE - the ClassWizard will add and remove member functions here. + //}}AFX_MSG + DECLARE_MESSAGE_MAP() + +// Interface Maps +public: + BEGIN_INTERFACE_PART(OleObject, IOleObject) + INIT_INTERFACE_PART(CDocObjServerDoc, DocOleObject) + STDMETHOD(SetClientSite)(LPOLECLIENTSITE); + STDMETHOD(GetClientSite)(LPOLECLIENTSITE*); + STDMETHOD(SetHostNames)(LPCOLESTR, LPCOLESTR); + STDMETHOD(Close)(DWORD); + STDMETHOD(SetMoniker)(DWORD, LPMONIKER); + STDMETHOD(GetMoniker)(DWORD, DWORD, LPMONIKER*); + STDMETHOD(InitFromData)(LPDATAOBJECT, BOOL, DWORD); + STDMETHOD(GetClipboardData)(DWORD, LPDATAOBJECT*); + STDMETHOD(DoVerb)(LONG, LPMSG, LPOLECLIENTSITE, LONG, HWND, LPCRECT); + STDMETHOD(EnumVerbs)(IEnumOLEVERB**); + STDMETHOD(Update)(); + STDMETHOD(IsUpToDate)(); + STDMETHOD(GetUserClassID)(CLSID*); + STDMETHOD(GetUserType)(DWORD, LPOLESTR*); + STDMETHOD(SetExtent)(DWORD, LPSIZEL); + STDMETHOD(GetExtent)(DWORD, LPSIZEL); + STDMETHOD(Advise)(LPADVISESINK, LPDWORD); + STDMETHOD(Unadvise)(DWORD); + STDMETHOD(EnumAdvise)(LPENUMSTATDATA*); + STDMETHOD(GetMiscStatus)(DWORD, LPDWORD); + STDMETHOD(SetColorScheme)(LPLOGPALETTE); + END_INTERFACE_PART(OleObject) + + BEGIN_INTERFACE_PART(OleDocument, IOleDocument) + INIT_INTERFACE_PART(CDocObjectServer, OleDocument) + STDMETHOD(CreateView)(LPOLEINPLACESITE, LPSTREAM, DWORD, LPOLEDOCUMENTVIEW*); + STDMETHOD(GetDocMiscStatus)(LPDWORD); + STDMETHOD(EnumViews)(LPENUMOLEDOCUMENTVIEWS*, LPOLEDOCUMENTVIEW*); + END_INTERFACE_PART(OleDocument) + + BEGIN_INTERFACE_PART(OleDocumentView, IOleDocumentView) + INIT_INTERFACE_PART(CDocObjectServer, OleDocumentView) + STDMETHOD(SetInPlaceSite)(LPOLEINPLACESITE); + STDMETHOD(GetInPlaceSite)(LPOLEINPLACESITE*); + STDMETHOD(GetDocument)(LPUNKNOWN*); + STDMETHOD(SetRect)(LPRECT); + STDMETHOD(GetRect)(LPRECT); + STDMETHOD(SetRectComplex)(LPRECT, LPRECT, LPRECT, LPRECT); + STDMETHOD(Show)(BOOL); + STDMETHOD(UIActivate)(BOOL); + STDMETHOD(Open)(); + STDMETHOD(CloseView)(DWORD); + STDMETHOD(SaveViewState)(LPSTREAM); + STDMETHOD(ApplyViewState)(LPSTREAM); + STDMETHOD(Clone)(LPOLEINPLACESITE, LPOLEDOCUMENTVIEW*); + END_INTERFACE_PART(OleDocumentView) + + BEGIN_INTERFACE_PART(OleCommandTarget, IOleCommandTarget) + INIT_INTERFACE_PART(CDocObjectServer, OleCommandTarget) + STDMETHOD(QueryStatus)(const GUID*, ULONG, OLECMD[], OLECMDTEXT*); + STDMETHOD(Exec)(const GUID*, DWORD, DWORD, VARIANTARG*, VARIANTARG*); + END_INTERFACE_PART(OleCommandTarget) + + BEGIN_INTERFACE_PART(Print, IPrint) + INIT_INTERFACE_PART(COleServerDoc, Print) + STDMETHOD(SetInitialPageNum)(LONG); + STDMETHOD(GetPageInfo)(LPLONG, LPLONG); + STDMETHOD(Print)(DWORD, DVTARGETDEVICE**, PAGESET**, LPSTGMEDIUM, + LPCONTINUECALLBACK, LONG, LPLONG, LPLONG); + END_INTERFACE_PART(Print) + + DECLARE_INTERFACE_MAP() +}; + + +///////////////////////////////////////////////////////////////////////////// +// COleDocIPFrameWnd class + +class COleDocIPFrameWnd : public COleIPFrameWnd +{ + DECLARE_DYNCREATE(COleDocIPFrameWnd) + +// Constructors +public: + COleDocIPFrameWnd(); + +// Attributes +public: + +// Operations +public: + +// Overridables +protected: + +// Implementation +public: + virtual ~COleDocIPFrameWnd(); +#ifdef _DEBUG + virtual void AssertValid() const; + virtual void Dump(CDumpContext& dc) const; +#endif + + // Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(COleDocIPFrameWnd) + //}}AFX_VIRTUAL +protected: + virtual void OnRequestPositionChange(LPCRECT lpRect); + virtual void RecalcLayout(BOOL bNotify = TRUE); + + // Menu Merging support + HMENU m_hMenuHelpPopup; + virtual BOOL BuildSharedMenu(); + virtual void DestroySharedMenu(); + + // Generated message map functions + //{{AFX_MSG(COleDocIPFrameWnd) + // NOTE - the ClassWizard will add and remove member functions here. + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +}; + + +class CDocObjectServerItem : public COleServerItem +{ + DECLARE_DYNAMIC(CDocObjectServerItem) + +// Constructors +protected: + CDocObjectServerItem(COleServerDoc* pServerDoc, BOOL bAutoDelete); + +// Attributes +public: + COleServerDoc* GetDocument() const + { return (COleServerDoc*) COleServerItem::GetDocument(); } + +// Overridables +public: + +// Implementation +public: + virtual ~CDocObjectServerItem(); +#ifdef _DEBUG + virtual void AssertValid() const; + virtual void Dump(CDumpContext& dc) const; +#endif + + // Overrides +protected: + virtual void OnDoVerb(LONG iVerb); + virtual void OnHide(); + virtual void OnOpen(); + virtual void OnShow(); + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CDocObjectServerItem) + //}}AFX_VIRTUAL + +}; + +///////////////////////////////////////////////////////////////////////////// + +#undef AFX_DATA +#define AFX_DATA + +#ifdef _AFX_MINREBUILD +#pragma component(minrebuild, on) +#endif +#ifndef _AFX_FULLTYPEINFO +#pragma component(mintypeinfo, off) +#endif + +#endif //__AFXDOCOB_H__ + +///////////////////////////////////////////////////////////////////////////// |