diff options
author | Rüdiger Timm <rt@openoffice.org> | 2006-02-09 12:48:57 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2006-02-09 12:48:57 +0000 |
commit | 6b75042decfe7e08b46b7240facadee29f48f956 (patch) | |
tree | 58a18c32351ea6b81fef4f12f9350cf6e4071980 /extensions/source/activex/main | |
parent | c1b9ea53cdd5a7c23fe6d23bc8608a4c0fc36cda (diff) |
INTEGRATION: CWS fwk32 (1.1.2); FILE ADDED
2006/01/30 11:00:24 mav 1.1.2.1: #120410# let the document be locked from closing while the control is running, use DocumentCloser to close the frame
Diffstat (limited to 'extensions/source/activex/main')
-rw-r--r-- | extensions/source/activex/main/SOActionsApproval.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/extensions/source/activex/main/SOActionsApproval.h b/extensions/source/activex/main/SOActionsApproval.h new file mode 100644 index 000000000000..80ca18d2d3be --- /dev/null +++ b/extensions/source/activex/main/SOActionsApproval.h @@ -0,0 +1,79 @@ +// SOActionsApproval.h: Definition of the SOActionsApproval class +// +////////////////////////////////////////////////////////////////////// + +#if !defined __SODOCUMENTEVENTLISTENER_H_ +#define __SODOCUMENTEVENTLISTENER_H_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#include "resource.h" // main symbols +#include <ExDispID.h> +#include <ExDisp.h> +#include <shlguid.h> + +#if defined(_MSC_VER) && (_MSC_VER >= 1300) +#undef _DEBUG +#endif +#include <atlctl.h> + +#include "so_activex.h" + +///////////////////////////////////////////////////////////////////////////// +// SOActionsApproval + +class SOActionsApproval : + public IDispatchImpl<ISOActionsApproval, &IID_ISOActionsApproval, &LIBID_SO_ACTIVEXLib>, + public ISupportErrorInfo, + public CComObjectRoot, + public CComCoClass<SOActionsApproval,&CLSID_SOActionsApproval> +{ +public: + SOActionsApproval() {} + +BEGIN_COM_MAP(SOActionsApproval) + COM_INTERFACE_ENTRY(IDispatch) + COM_INTERFACE_ENTRY(ISOActionsApproval) + COM_INTERFACE_ENTRY(ISupportErrorInfo) +END_COM_MAP() +DECLARE_NOT_AGGREGATABLE(SOActionsApproval) +// Remove the comment from the line above if you don't want your object to +// support aggregation. + +DECLARE_REGISTRY_RESOURCEID(IDR_SODOCUMENTEVENTLISTENER) + +// ISupportsErrorInfo + STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid); + +// ISOActionsApproval + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE approveAction( + /* [in] */ long nActionID, + /* [retval][out] */ boolean *pbApproval) + { + // only PreventClose is approved + USES_CONVERSION; + *pbApproval = ( nActionID == 1 ); + + return S_OK; + } + + virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Bridge_implementedInterfaces( + /* [retval][out] */ SAFEARRAY __RPC_FAR * __RPC_FAR *pVal) + { + *pVal = SafeArrayCreateVector( VT_BSTR, 0, 1 ); + + if( !*pVal ) + return E_FAIL; + + long ix = 0; + CComBSTR aInterface( OLESTR( "com.sun.star.embed.XActionsApproval" ) ); + SafeArrayPutElement( *pVal, &ix, aInterface ); + + return S_OK; + } +}; + +#endif // __SODOCUMENTEVENTLISTENER_H_ + |