diff options
Diffstat (limited to 'patches/vba/api-application-caller.diff')
-rw-r--r-- | patches/vba/api-application-caller.diff | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/patches/vba/api-application-caller.diff b/patches/vba/api-application-caller.diff deleted file mode 100644 index 39262b119..000000000 --- a/patches/vba/api-application-caller.diff +++ /dev/null @@ -1,63 +0,0 @@ -diff --git oovbaapi/ooo/vba/excel/XApplication.idl oovbaapi/ooo/vba/excel/XApplication.idl -index 8b0bde9..82533a5 100644 ---- oovbaapi/ooo/vba/excel/XApplication.idl -+++ oovbaapi/ooo/vba/excel/XApplication.idl -@@ -110,6 +110,7 @@ interface XApplication - raises(com::sun::star::script::BasicErrorException); - void Volatile([in] any Volatile); - void DoEvents(); -+ any Caller( [in] any aIndex ); - }; - - }; }; }; -diff --git sc/source/ui/vba/vbaapplication.cxx sc/source/ui/vba/vbaapplication.cxx -index 431090c..c554faa 100644 ---- sc/source/ui/vba/vbaapplication.cxx -+++ sc/source/ui/vba/vbaapplication.cxx -@@ -110,6 +110,8 @@ using ::rtl::OUString; - - #define EXCELVERSION "11.0" - -+uno::Any sbxToUnoValue( SbxVariable* pVar ); -+ - class ActiveWorkbook : public ScVbaWorkbook - { - protected: -@@ -1302,6 +1304,25 @@ ScVbaApplication::setDisplayFormulaBar( ::sal_Bool _displayformulabar ) throw ( - } - } - -+uno::Any SAL_CALL -+ScVbaApplication::Caller( const uno::Any& /*aIndex*/ ) throw ( uno::RuntimeException ) -+{ -+ StarBASIC* pBasic = SFX_APP()->GetBasic(); -+ SFX_APP()->EnterBasicCall(); -+ SbMethod* pMeth = (SbMethod*)pBasic->GetRtl()->Find( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("FuncCaller") ), SbxCLASS_METHOD ); -+ uno::Any aRet; -+ if ( pMeth ) -+ { -+ SbxVariableRef refTemp = pMeth; -+ // forces a broadcast -+ SbxVariableRef pNew = new SbxMethod( *((SbxMethod*)pMeth)); -+ OSL_TRACE("pNew has type %d and string value %s", pNew->GetType(), rtl::OUStringToOString( pNew->GetString(), RTL_TEXTENCODING_UTF8 ).getStr() ); -+ aRet = sbxToUnoValue( pNew ); -+ } -+ SFX_APP()->LeaveBasicCall(); -+ return aRet; -+} -+ - rtl::OUString& - ScVbaApplication::getServiceImplName() - { -diff --git sc/source/ui/vba/vbaapplication.hxx sc/source/ui/vba/vbaapplication.hxx -index 1c2631e..754885e 100644 ---- sc/source/ui/vba/vbaapplication.hxx -+++ sc/source/ui/vba/vbaapplication.hxx -@@ -103,6 +103,7 @@ public: - virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Union( const css::uno::Reference< ov::excel::XRange >& Arg1, const css::uno::Reference< ov::excel::XRange >& Arg2, const css::uno::Any& Arg3, const css::uno::Any& Arg4, const css::uno::Any& Arg5, const css::uno::Any& Arg6, const css::uno::Any& Arg7, const css::uno::Any& Arg8, const css::uno::Any& Arg9, const css::uno::Any& Arg10, const css::uno::Any& Arg11, const css::uno::Any& Arg12, const css::uno::Any& Arg13, const css::uno::Any& Arg14, const css::uno::Any& Arg15, const css::uno::Any& Arg16, const css::uno::Any& Arg17, const css::uno::Any& Arg18, const css::uno::Any& Arg19, const css::uno::Any& Arg20, const css::uno::Any& Arg21, const css::uno::Any& Arg22, const css::uno::Any& Arg23, const css::uno::Any& Arg24, const css::uno::Any& Arg25, const css::uno::Any& Arg26, const css::uno::Any& Arg27, const css::uno::Any& Arg28, const css::uno::Any& Arg29, const css::uno::Any& Arg30 ) throw (css::script::BasicErrorException, css::uno::RuntimeException); - virtual void SAL_CALL Volatile( const css::uno::Any& Volatile ) throw (css::uno::RuntimeException ); - virtual void SAL_CALL DoEvents() throw (css::uno::RuntimeException); -+ virtual css::uno::Any SAL_CALL Caller( const css::uno::Any& aIndex ) throw (css::uno::RuntimeException); - // XHelperInterface - virtual rtl::OUString& getServiceImplName(); - virtual css::uno::Sequence<rtl::OUString> getServiceNames(); |