ooo-build r13063 - in trunk: . patches/dev300 patches/vba
- From: pflin svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r13063 - in trunk: . patches/dev300 patches/vba
- Date: Fri, 4 Jul 2008 08:21:53 +0000 (UTC)
Author: pflin
Date: Fri Jul 4 08:21:53 2008
New Revision: 13063
URL: http://svn.gnome.org/viewvc/ooo-build?rev=13063&view=rev
Log:
Add to support Application.Union
Added:
trunk/patches/vba/vba-application-union.diff
Modified:
trunk/ChangeLog
trunk/patches/dev300/apply
Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply (original)
+++ trunk/patches/dev300/apply Fri Jul 4 08:21:53 2008
@@ -1525,6 +1525,8 @@
vba-pagebreak-object.diff, n#405312, Fong
# Add Worksheet.EnableSelection
vba-worksheet-enableselection.diff, n#405312, Fong
+# Add to support Application.Union
+vba-application-union.diff, n#405313, Fong
[ VBAUntested ]
SectionOwner => noelpwer
vba-basic-null.diff i#85349, jjiao
Added: trunk/patches/vba/vba-application-union.diff
==============================================================================
--- (empty file)
+++ trunk/patches/vba/vba-application-union.diff Fri Jul 4 08:21:53 2008
@@ -0,0 +1,140 @@
+--- oovbaapi/org/openoffice/excel/XApplication.idl.orig 2008-07-03 19:25:39.000000000 +0800
++++ oovbaapi/org/openoffice/excel/XApplication.idl 2008-07-04 16:10:14.000000000 +0800
+@@ -106,6 +106,8 @@ interface XApplication
+ void Calculate() raises(com::sun::star::script::BasicErrorException);
+ XRange Intersect([in] XRange Arg1, [in] XRange Arg2, [in] /*Optional*/ any Arg3, [in] /*Optional*/ any Arg4, [in] /*Optional*/ any Arg5, [in] /*Optional*/ any Arg6, [in] /*Optional*/ any Arg7, [in] /*Optional*/ any Arg8, [in] /*Optional*/ any Arg9, [in] /*Optional*/ any Arg10, [in] /*Optional*/ any Arg11, [in] /*Optional*/ any Arg12, [in] /*Optional*/ any Arg13, [in] /*Optional*/ any Arg14, [in] /*Optional*/ any Arg15, [in] /*Optional*/ any Arg16, [in] /*Optional*/ any Arg17, [in] /*Optional*/ any Arg18, [in] /*Optional*/ any Arg19, [in] /*Optional*/ any Arg20, [in] /*Optional*/ any Arg21, [in] /*Optional*/ any Arg22, [in] /*Optional*/ any Arg23, [in] /*Optional*/ any Arg24, [in] /*Optional*/ any Arg25, [in] /*Optional*/ any Arg26, [in] /*Optional*/ any Arg27, [in] /*Optional*/ any Arg28, [in] /*Optional*/ any Arg29, [in] /*Optional*/ any Arg30)
+ raises(com::sun::star::script::BasicErrorException);
++ XRange Union([in] XRange Arg1, [in] XRange Arg2, [in] /*Optional*/ any Arg3, [in] /*Optional*/ any Arg4, [in] /*Optional*/ any Arg5, [in] /*Optional*/ any Arg6, [in] /*Optional*/ any Arg7, [in] /*Optional*/ any Arg8, [in] /*Optional*/ any Arg9, [in] /*Optional*/ any Arg10, [in] /*Optional*/ any Arg11, [in] /*Optional*/ any Arg12, [in] /*Optional*/ any Arg13, [in] /*Optional*/ any Arg14, [in] /*Optional*/ any Arg15, [in] /*Optional*/ any Arg16, [in] /*Optional*/ any Arg17, [in] /*Optional*/ any Arg18, [in] /*Optional*/ any Arg19, [in] /*Optional*/ any Arg20, [in] /*Optional*/ any Arg21, [in] /*Optional*/ any Arg22, [in] /*Optional*/ any Arg23, [in] /*Optional*/ any Arg24, [in] /*Optional*/ any Arg25, [in] /*Optional*/ any Arg26, [in] /*Optional*/ any Arg27, [in] /*Optional*/ any Arg28, [in] /*Optional*/ any Arg29, [in] /*Optional*/ any Arg30)
++ raises(com::sun::star::script::BasicErrorException);
+ void Volatile([in] any Volatile);
+ void DoEvents();
+ any Caller( [in] any aIndex );
+--- sc/source/ui/vba/vbaapplication.hxx.orig 2008-07-03 19:25:39.000000000 +0800
++++ sc/source/ui/vba/vbaapplication.hxx 2008-07-04 16:06:48.000000000 +0800
+@@ -100,6 +100,7 @@ public:
+ virtual void SAL_CALL GoTo( const css::uno::Any& Reference, const css::uno::Any& Scroll ) throw (css::uno::RuntimeException);
+ virtual void SAL_CALL Calculate() throw (css::script::BasicErrorException, css::uno::RuntimeException);
+ virtual css::uno::Reference< oo::excel::XRange > SAL_CALL Intersect( const css::uno::Reference< oo::excel::XRange >& Arg1, const css::uno::Reference< oo::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::BasicErrorEx
ception, css::uno::RuntimeException);
++ virtual css::uno::Reference< oo::excel::XRange > SAL_CALL Union( const css::uno::Reference< oo::excel::XRange >& Arg1, const css::uno::Reference< oo::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::BasicErrorExcept
ion, 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);
+--- sc/source/ui/vba/vbaapplication.cxx.orig 2008-07-03 19:25:39.000000000 +0800
++++ sc/source/ui/vba/vbaapplication.cxx 2008-07-04 16:06:48.000000000 +0800
+@@ -42,6 +42,7 @@
+ #include <com/sun/star/task/XStatusIndicator.hpp>
+ #include <org/openoffice/excel/XlMousePointer.hpp>
+ #include <com/sun/star/sheet/XNamedRanges.hpp>
++#include <com/sun/star/sheet/XCellRangeAddressable.hpp>
+
+ #include "vbaapplication.hxx"
+ #include "vbaworkbooks.hxx"
+@@ -81,6 +82,10 @@
+ #include <basic/sbuno.hxx>
+ #include <basic/sbmeth.hxx>
+
++#include "convuno.hxx"
++#include "cellsuno.hxx"
++#include "docsh.hxx"
++
+ using namespace ::org::openoffice;
+ using namespace ::com::sun::star;
+
+@@ -920,6 +925,97 @@ ScVbaApplication::Intersect( const uno::
+ return xRefRange;
+ }
+
++uno::Reference< excel::XRange > SAL_CALL
++ScVbaApplication::Union( const uno::Reference< excel::XRange >& Arg1, const uno::Reference< excel::XRange >& Arg2, const uno::Any& Arg3, const uno::Any& Arg4, const uno::Any& Arg5, const uno::Any& Arg6, const uno::Any& Arg7, const uno::Any& Arg8, const uno::Any& Arg9, const uno::Any& Arg10, const uno::Any& Arg11, const uno::Any& Arg12, const uno::Any& Arg13, const uno::Any& Arg14, const uno::Any& Arg15, const uno::Any& Arg16, const uno::Any& Arg17, const uno::Any& Arg18, const uno::Any& Arg19, const uno::Any& Arg20, const uno::Any& Arg21, const uno::Any& Arg22, const uno::Any& Arg23, const uno::Any& Arg24, const uno::Any& Arg25, const uno::Any& Arg26, const uno::Any& Arg27, const uno::Any& Arg28, const uno::Any& Arg29, const uno::Any& Arg30 ) throw (script::BasicErrorException, uno::RuntimeException)
++{
++ std::vector< uno::Reference< excel::XRange > > vRanges;
++ if ( !Arg1.is() || !Arg2.is() )
++ DebugHelper::exception(SbERR_BAD_PARAMETER, rtl::OUString() );
++
++ vRanges.push_back( Arg1 );
++ vRanges.push_back( Arg2 );
++
++ if ( Arg3.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg3, uno::UNO_QUERY_THROW ) );
++ if ( Arg4.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg4, uno::UNO_QUERY_THROW ) );
++ if ( Arg5.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg5, uno::UNO_QUERY_THROW ) );
++ if ( Arg6.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg6, uno::UNO_QUERY_THROW ) );
++ if ( Arg7.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg7, uno::UNO_QUERY_THROW ) );
++ if ( Arg8.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg8, uno::UNO_QUERY_THROW ) );
++ if ( Arg9.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg9, uno::UNO_QUERY_THROW ) );
++ if ( Arg10.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg10, uno::UNO_QUERY_THROW ) );
++ if ( Arg11.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg11, uno::UNO_QUERY_THROW ) );
++ if ( Arg12.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg12, uno::UNO_QUERY_THROW ) );
++ if ( Arg13.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg13, uno::UNO_QUERY_THROW ) );
++ if ( Arg14.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg14, uno::UNO_QUERY_THROW ) );
++ if ( Arg15.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg15, uno::UNO_QUERY_THROW ) );
++ if ( Arg16.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg16, uno::UNO_QUERY_THROW ) );
++ if ( Arg17.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg17, uno::UNO_QUERY_THROW ) );
++ if ( Arg18.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg18, uno::UNO_QUERY_THROW ) );
++ if ( Arg19.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg19, uno::UNO_QUERY_THROW ) );
++ if ( Arg20.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg20, uno::UNO_QUERY_THROW ) );
++ if ( Arg21.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg21, uno::UNO_QUERY_THROW ) );
++ if ( Arg22.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg22, uno::UNO_QUERY_THROW ) );
++ if ( Arg23.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg23, uno::UNO_QUERY_THROW ) );
++ if ( Arg24.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg24, uno::UNO_QUERY_THROW ) );
++ if ( Arg25.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg25, uno::UNO_QUERY_THROW ) );
++ if ( Arg26.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg26, uno::UNO_QUERY_THROW ) );
++ if ( Arg27.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg27, uno::UNO_QUERY_THROW ) );
++ if ( Arg28.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg28, uno::UNO_QUERY_THROW ) );
++ if ( Arg29.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg29, uno::UNO_QUERY_THROW ) );
++ if ( Arg30.hasValue() )
++ vRanges.push_back( uno::Reference< excel::XRange >( Arg30, uno::UNO_QUERY_THROW ) );
++
++ std::vector< uno::Reference< excel::XRange > >::iterator it = vRanges.begin();
++ std::vector< uno::Reference< excel::XRange > >::iterator it_end = vRanges.end();
++
++ uno::Reference< excel::XRange > xRange;
++ ScRangeList aCellRanges;
++ for( ; it != it_end; ++it )
++ {
++ xRange = *it;
++ uno::Reference< table::XCellRange > xRangeParam;
++ xRange->getCellRange() >>= xRangeParam;
++ uno::Reference< sheet::XCellRangeAddressable > xAddressable( xRangeParam, uno::UNO_QUERY_THROW );
++ ScRange refRange;
++ ScUnoConversion::FillScRange( refRange, xAddressable->getRangeAddress() );
++ aCellRanges.Append( refRange );
++ }
++
++ uno::Reference< frame::XModel > xModel( getCurrentDocument(), uno::UNO_QUERY_THROW );
++ ScDocShell* pDocShell = getDocShell( xModel );
++ uno::Reference< sheet::XSheetCellRangeContainer > xRanges( new ScCellRangesObj( pDocShell, aCellRanges ) );
++ // #FIXME need proper (WorkSheet) parent
++ xRange = new ScVbaRange( uno::Reference< vba::XHelperInterface >(), mxContext, xRanges );
++ return xRange;
++}
++
+ void
+ ScVbaApplication::Volatile( const uno::Any& aVolatile ) throw ( uno::RuntimeException )
+ {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]