[Libreoffice-commits] .: 6 commits - basic/inc basic/source formula/inc formula/source officecfg/registry oovbaapi/genconstidl oovbaapi/ooo scripting/source sfx2/inc sfx2/source svx/source vbahelper/inc vbahelper/prj vbahelper/source vbahelper/util xmloff/inc xmloff/source xmlscript/inc xmlscript/source xmlscript/util
Noel Power
noelp at kemper.freedesktop.org
Wed Oct 13 07:22:56 PDT 2010
basic/inc/basic/basmgr.hxx | 2
basic/inc/basic/sbmeth.hxx | 3
basic/inc/basic/sbmod.hxx | 3
basic/inc/basic/sbuno.hxx | 1
basic/source/basmgr/basmgr.cxx | 23
basic/source/classes/image.cxx | 2
basic/source/classes/sb.cxx | 89 -
basic/source/classes/sbunoobj.cxx | 308 +++--
basic/source/classes/sbxmod.cxx | 279 +++-
basic/source/comp/codegen.cxx | 4
basic/source/comp/dim.cxx | 51
basic/source/comp/exprtree.cxx | 24
basic/source/comp/parser.cxx | 15
basic/source/comp/token.cxx | 1
basic/source/inc/dlgcont.hxx | 4
basic/source/inc/namecont.hxx | 259 ++--
basic/source/inc/parser.hxx | 1
basic/source/inc/runtime.hxx | 4
basic/source/inc/sbunoobj.hxx | 33
basic/source/inc/scriptcont.hxx | 4
basic/source/inc/token.hxx | 2
basic/source/runtime/methods.cxx | 234 +++-
basic/source/runtime/methods1.cxx | 559 +++++++++
basic/source/runtime/rtlproto.hxx | 14
basic/source/runtime/runtime.cxx | 66 -
basic/source/runtime/stdobj.cxx | 125 ++
basic/source/runtime/step0.cxx | 141 +-
basic/source/runtime/step1.cxx | 23
basic/source/runtime/step2.cxx | 24
basic/source/sbx/sbxvalue.cxx | 41
basic/source/uno/dlgcont.cxx | 14
basic/source/uno/scriptcont.cxx | 15
formula/inc/formula/FormulaCompiler.hxx | 2
formula/source/core/api/FormulaCompiler.cxx | 86 -
officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu | 6
officecfg/registry/schema/org/openoffice/Office/Calc.xcs | 2
officecfg/registry/schema/org/openoffice/Office/Writer.xcs | 21
oovbaapi/genconstidl/api-to-idl.pl | 3
oovbaapi/ooo/vba/XApplicationBase.idl | 2
oovbaapi/ooo/vba/XDialogBase.idl | 2
oovbaapi/ooo/vba/XDocumentBase.idl | 1
oovbaapi/ooo/vba/XFileDialog.idl | 53
oovbaapi/ooo/vba/XFileDialogSelectedItems.idl | 53
oovbaapi/ooo/vba/XFileSearch.idl | 61 +
oovbaapi/ooo/vba/XFoundFiles.idl | 52
oovbaapi/ooo/vba/excel/XApplication.idl | 35
oovbaapi/ooo/vba/excel/XGlobals.idl | 1
oovbaapi/ooo/vba/excel/XMenu.idl | 54
oovbaapi/ooo/vba/excel/XMenuBar.idl | 51
oovbaapi/ooo/vba/excel/XMenuBars.idl | 64 +
oovbaapi/ooo/vba/excel/XMenuItem.idl | 54
oovbaapi/ooo/vba/excel/XMenuItems.idl | 68 +
oovbaapi/ooo/vba/excel/XMenus.idl | 68 +
oovbaapi/ooo/vba/excel/XName.idl | 12
oovbaapi/ooo/vba/excel/XPageSetup.idl | 1
oovbaapi/ooo/vba/excel/XPivotCache.idl | 1
oovbaapi/ooo/vba/excel/XQueryTable.idl | 57
oovbaapi/ooo/vba/excel/XRange.idl | 31
oovbaapi/ooo/vba/excel/XWorkbook.idl | 4
oovbaapi/ooo/vba/excel/XWorksheet.idl | 13
oovbaapi/ooo/vba/excel/makefile.mk | 8
oovbaapi/ooo/vba/makefile.mk | 6
oovbaapi/ooo/vba/msforms/MSFormReturnTypes.idl | 16
oovbaapi/ooo/vba/msforms/XCheckBox.idl | 51
oovbaapi/ooo/vba/msforms/XComboBox.idl | 1
oovbaapi/ooo/vba/msforms/XControl.idl | 1
oovbaapi/ooo/vba/msforms/XLabel.idl | 1
oovbaapi/ooo/vba/msforms/XListBox.idl | 2
oovbaapi/ooo/vba/msforms/XReturnBoolean.idl | 49
oovbaapi/ooo/vba/msforms/XReturnInteger.idl | 49
oovbaapi/ooo/vba/msforms/XShape.idl | 1
oovbaapi/ooo/vba/msforms/XShapeRange.idl | 2
oovbaapi/ooo/vba/msforms/makefile.mk | 3
oovbaapi/ooo/vba/word/XApplication.idl | 1
oovbaapi/ooo/vba/word/XCell.idl | 57
oovbaapi/ooo/vba/word/XCells.idl | 62 +
oovbaapi/ooo/vba/word/XCheckBox.idl | 52
oovbaapi/ooo/vba/word/XColumn.idl | 54
oovbaapi/ooo/vba/word/XColumns.idl | 59 +
oovbaapi/ooo/vba/word/XDocument.idl | 13
oovbaapi/ooo/vba/word/XField.idl | 2
oovbaapi/ooo/vba/word/XFormField.idl | 56
oovbaapi/ooo/vba/word/XFormFields.idl | 55
oovbaapi/ooo/vba/word/XFrame.idl | 56
oovbaapi/ooo/vba/word/XFrames.idl | 55
oovbaapi/ooo/vba/word/XGlobals.idl | 1
oovbaapi/ooo/vba/word/XHeadersFooters.idl | 55
oovbaapi/ooo/vba/word/XListFormat.idl | 58 +
oovbaapi/ooo/vba/word/XListGalleries.idl | 55
oovbaapi/ooo/vba/word/XListGallery.idl | 52
oovbaapi/ooo/vba/word/XListLevel.idl | 64 +
oovbaapi/ooo/vba/word/XListLevels.idl | 55
oovbaapi/ooo/vba/word/XListTemplate.idl | 52
oovbaapi/ooo/vba/word/XListTemplates.idl | 55
oovbaapi/ooo/vba/word/XParagraph.idl | 1
oovbaapi/ooo/vba/word/XRange.idl | 8
oovbaapi/ooo/vba/word/XReplacement.idl | 2
oovbaapi/ooo/vba/word/XRevision.idl | 54
oovbaapi/ooo/vba/word/XRevisions.idl | 58 +
oovbaapi/ooo/vba/word/XRow.idl | 56
oovbaapi/ooo/vba/word/XRows.idl | 63 +
oovbaapi/ooo/vba/word/XSection.idl | 4
oovbaapi/ooo/vba/word/XSelection.idl | 16
oovbaapi/ooo/vba/word/XStyle.idl | 15
oovbaapi/ooo/vba/word/XTabStop.idl | 50
oovbaapi/ooo/vba/word/XTabStops.idl | 59 +
oovbaapi/ooo/vba/word/XTable.idl | 6
oovbaapi/ooo/vba/word/XTableOfContents.idl | 58 +
oovbaapi/ooo/vba/word/XTablesOfContents.idl | 59 +
oovbaapi/ooo/vba/word/XTemplate.idl | 1
oovbaapi/ooo/vba/word/XWindow.idl | 1
oovbaapi/ooo/vba/word/makefile.mk | 25
scripting/source/basprov/basprov.cxx | 77 -
scripting/source/basprov/basscript.cxx | 90 +
scripting/source/basprov/basscript.hxx | 39
scripting/source/dlgprov/dlgevtatt.cxx | 32
scripting/source/dlgprov/dlgevtatt.hxx | 2
scripting/source/dlgprov/dlgprov.cxx | 70 -
scripting/source/dlgprov/dlgprov.hxx | 40
scripting/source/vbaevents/eventhelper.cxx | 483 +++++---
scripting/source/vbaevents/makefile.mk | 1
scripting/source/vbaevents/vbamsformreturntypes.hxx | 73 +
sfx2/inc/sfx2/objsh.hxx | 7
sfx2/inc/sfx2/sfx.hrc | 10
sfx2/inc/sfx2/sfxbasemodel.hxx | 1
sfx2/inc/sfx2/sfxsids.hrc | 1
sfx2/source/appl/app.cxx | 2
sfx2/source/appl/appuno.cxx | 20
sfx2/source/control/unoctitm.cxx | 13
sfx2/source/doc/SfxDocumentMetaData.cxx | 86 +
sfx2/source/doc/docinf.cxx | 24
sfx2/source/doc/docmacromode.cxx | 58 -
sfx2/source/doc/objmisc.cxx | 27
sfx2/source/doc/objuno.cxx | 47
sfx2/source/doc/objxtor.cxx | 50
sfx2/source/doc/oleprops.hxx | 4
sfx2/source/doc/sfxbasemodel.cxx | 36
sfx2/source/inc/SfxDocumentMetaData.hxx | 11
sfx2/source/view/viewprn.cxx | 8
svx/source/form/fmscriptingenv.cxx | 20
svx/source/form/makefile.mk | 4
vbahelper/inc/vbahelper/vbaaccesshelper.hxx | 4
vbahelper/inc/vbahelper/vbaapplicationbase.hxx | 2
vbahelper/inc/vbahelper/vbacollectionimpl.hxx | 19
vbahelper/inc/vbahelper/vbadialogbase.hxx | 2
vbahelper/inc/vbahelper/vbadocumentbase.hxx | 2
vbahelper/inc/vbahelper/vbahelper.hxx | 27
vbahelper/inc/vbahelper/vbashape.hxx | 1
vbahelper/inc/vbahelper/vbashaperange.hxx | 3
vbahelper/prj/d.lst | 1
vbahelper/source/msforms/makefile.mk | 7
vbahelper/source/msforms/vbacheckbox.cxx | 4
vbahelper/source/msforms/vbacheckbox.hxx | 4
vbahelper/source/msforms/vbacombobox.cxx | 42
vbahelper/source/msforms/vbacontrol.cxx | 159 ++
vbahelper/source/msforms/vbacontrol.hxx | 13
vbahelper/source/msforms/vbaframe.cxx | 40
vbahelper/source/msforms/vbaframe.hxx | 8
vbahelper/source/msforms/vbalabel.cxx | 28
vbahelper/source/msforms/vbalabel.hxx | 2
vbahelper/source/msforms/vbalistbox.cxx | 66 -
vbahelper/source/msforms/vbalistbox.hxx | 4
vbahelper/source/msforms/vbalistcontrolhelper.cxx | 106 +
vbahelper/source/msforms/vbamultipage.cxx | 4
vbahelper/source/msforms/vbaradiobutton.cxx | 12
vbahelper/source/msforms/vbatextbox.cxx | 16
vbahelper/source/msforms/vbatogglebutton.cxx | 21
vbahelper/source/msforms/vbauserform.cxx | 23
vbahelper/source/msforms/vbauserform.hxx | 3
vbahelper/source/vbahelper/makefile.mk | 5
vbahelper/source/vbahelper/vbaapplicationbase.cxx | 9
vbahelper/source/vbahelper/vbadialogbase.cxx | 30
vbahelper/source/vbahelper/vbadocumentbase.cxx | 65 -
vbahelper/source/vbahelper/vbadocumentsbase.cxx | 11
vbahelper/source/vbahelper/vbahelper.cxx | 230 ++--
vbahelper/source/vbahelper/vbapictureformat.cxx | 9
vbahelper/source/vbahelper/vbashape.cxx | 225 ++-
vbahelper/source/vbahelper/vbashaperange.cxx | 31
vbahelper/source/vbahelper/vbashapes.cxx | 2
vbahelper/util/makefile.mk | 1
xmloff/inc/xmlnmspe.hxx | 2
xmloff/inc/xmloff/shapeexport.hxx | 5
xmloff/inc/xmloff/xmltoken.hxx | 5
xmloff/source/core/xmlexp.cxx | 1
xmloff/source/core/xmlimp.cxx | 4
xmloff/source/core/xmltoken.cxx | 3
xmloff/source/draw/eventimp.cxx | 46
xmloff/source/draw/shapeexport.cxx | 5
xmloff/source/draw/shapeexport2.cxx | 48
xmloff/source/draw/ximpshap.cxx | 45
xmloff/source/forms/elementexport.cxx | 35
xmloff/source/forms/formattributes.cxx | 8
xmloff/source/forms/formattributes.hxx | 1
xmloff/source/forms/layerimport.cxx | 2
xmloff/source/forms/strings.hxx | 1
xmlscript/inc/xmlscript/xmldlg_imexp.hxx | 20
xmlscript/source/xmldlg_imexp/exp_share.hxx | 14
xmlscript/source/xmldlg_imexp/imp_share.hxx | 186 ++-
xmlscript/source/xmldlg_imexp/xmldlg_addfunc.cxx | 11
xmlscript/source/xmldlg_imexp/xmldlg_expmodels.cxx | 271 +++-
xmlscript/source/xmldlg_imexp/xmldlg_export.cxx | 29
xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx | 572 ++++++++--
xmlscript/source/xmldlg_imexp/xmldlg_import.cxx | 54
xmlscript/util/makefile.mk | 1
204 files changed, 7147 insertions(+), 1720 deletions(-)
New commits:
commit 209f1d111d675fe2eb5afd8d5d7e941ded4d4932
Merge: ace8433... c011c9b...
Author: Noel Power <noel.power at novell.com>
Date: Wed Oct 13 15:17:05 2010 +0100
Merge branch 'master' of ssh://noelp@git.freedesktop.org/git/libreoffice/libs-core
commit ace843304cba4ea36bba8e2d6898be426837ee6c
Merge: 150c984... 86423ce...
Author: Noel Power <noel.power at novell.com>
Date: Wed Oct 13 13:22:42 2010 +0100
Merge commit 'origin/master'
Conflicts:
vbahelper/source/vbahelper/vbadialogbase.cxx
diff --cc basic/source/runtime/runtime.cxx
index f358178,6c8deb0..450388b
--- a/basic/source/runtime/runtime.cxx
+++ b/basic/source/runtime/runtime.cxx
@@@ -1284,11 -1259,13 +1285,13 @@@ void SbiRuntime::DllCal
}
USHORT
SbiRuntime::GetImageFlag( USHORT n ) const
-{
- return pImg->GetFlag( n );
-}
+{
+ return pImg->GetFlag( n );
+}
USHORT
SbiRuntime::GetBase()
-{
+{
return pImg->GetBase();
}
+
+ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --cc scripting/source/vbaevents/eventhelper.cxx
index 7e8155f,f7b53ee..d75f146
--- a/scripting/source/vbaevents/eventhelper.cxx
+++ b/scripting/source/vbaevents/eventhelper.cxx
@@@ -1238,5 -1042,7 +1239,7 @@@ namespace ooevtdescge
{
const ::rtl::OUString strName( ::ooevtdescgen::getImplementationName() );
return Sequence< ::rtl::OUString >( &strName, 1 );
- }
+ }
}
+
+ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --cc sfx2/source/doc/objxtor.cxx
index d850fc0,4a75ec5..ef2fe05
--- a/sfx2/source/doc/objxtor.cxx
+++ b/sfx2/source/doc/objxtor.cxx
@@@ -1167,5 -1130,6 +1168,6 @@@ bool SfxObjectShell::GetProtectionHash
// currently this function needs to be overwritten by Writer and Calc only
DBG_ASSERT( 0, "function not implemented" );
return false;
-}
+}
+ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --cc vbahelper/source/msforms/vbalistcontrolhelper.cxx
index 16e143b,cebd288..a41dfe3
--- a/vbahelper/source/msforms/vbalistcontrolhelper.cxx
+++ b/vbahelper/source/msforms/vbalistcontrolhelper.cxx
@@@ -1,6 -1,6 +1,7 @@@
+ /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
#include <vbalistcontrolhelper.hxx>
#include <vector>
+#include <vbahelper/vbapropvalue.hxx>
using namespace com::sun::star;
using namespace ooo::vba;
@@@ -171,8 -114,36 +172,10 @@@ ListControlHelper::getListCount() thro
return sList.getLength();
}
-uno::Any SAL_CALL
+uno::Any SAL_CALL
ListControlHelper::List( const ::uno::Any& pvargIndex, const uno::Any& pvarColumn ) throw (uno::RuntimeException)
{
- uno::Sequence< rtl::OUString > sList;
- m_xProps->getPropertyValue( ITEMS ) >>= sList;
- sal_Int16 nLength = static_cast< sal_Int16 >( sList.getLength() );
- uno::Any aRet;
- if ( pvargIndex.hasValue() )
- {
- sal_Int16 nIndex = -1;
- pvargIndex >>= nIndex;
- if( nIndex < 0 || nIndex >= nLength )
- throw uno::RuntimeException( rtl::OUString::createFromAscii(
- "Bad row Index" ), uno::Reference< uno::XInterface >() );
- aRet <<= sList[ nIndex ];
- }
- else if ( pvarColumn.hasValue() ) // pvarColumn on its own would be bad
- throw uno::RuntimeException( rtl::OUString::createFromAscii(
- "Bad column Index" ), uno::Reference< uno::XInterface >() );
- else // List() ( e.g. no args )
- {
- uno::Sequence< uno::Sequence< rtl::OUString > > sReturnArray( nLength );
- for ( sal_Int32 i = 0; i < nLength; ++i )
- {
- sReturnArray[ i ].realloc( 10 );
- sReturnArray[ i ][ 0 ] = sList[ i ];
- }
- aRet = uno::makeAny( sReturnArray );
- }
- return aRet;
+ return uno::makeAny( uno::Reference< XPropValue > ( new ScVbaPropValue( new ListPropListener( m_xProps, pvargIndex, pvarColumn ) ) ) );
}
+
+ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --cc vbahelper/source/vbahelper/vbadialogbase.cxx
index 256be61,f6d1d33..0b85241
--- a/vbahelper/source/vbahelper/vbadialogbase.cxx
+++ b/vbahelper/source/vbahelper/vbadialogbase.cxx
@@@ -41,26 -43,8 +42,27 @@@ sal_Bool SAL_CALL VbaDialogBase::Show(
throw uno::RuntimeException(
::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( " Unable to open the specified dialog " ) ),
uno::Reference< XInterface > () );
- dispatchRequests( m_xModel, aURL );
- }
-}
+ uno::Sequence< beans::PropertyValue > dispatchProps(0);
+ if ( aURL.equalsAscii(".uno:PrinterSetup") )
+ {
+ dispatchProps.realloc(1);
+ dispatchProps[0].Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "VBADialogResultRequest" ) );
+ dispatchProps[0].Value <<= (sal_Bool) sal_True;
+ }
+
+ VBADispatchListener *pNotificationListener = new VBADispatchListener();
+ uno::Reference< frame::XDispatchResultListener > rListener = pNotificationListener;
+ dispatchRequests( m_xModel, aURL, dispatchProps, rListener, sal_False );
+
+ bSuccess = pNotificationListener->getState();
+ uno::Any aResult = pNotificationListener->getResult();
+ if ( bSuccess )
+ {
+ if ( aResult.getValueTypeClass() == uno::TypeClass_BOOLEAN )
+ aResult >>= bSuccess;
+ }
+ }
+ return bSuccess;
+}
+ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 150c9846abeaab2ece2a7b35f61e83695abd5fdd
Author: Noel Power <noel.power at novell.com>
Date: Wed Oct 13 11:30:54 2010 +0100
replace old header ( that I deleted ) with spanking new one
diff --git a/oovbaapi/ooo/vba/excel/XMenu.idl b/oovbaapi/ooo/vba/excel/XMenu.idl
index eece24c..5fbb427 100644
--- a/oovbaapi/ooo/vba/excel/XMenu.idl
+++ b/oovbaapi/ooo/vba/excel/XMenu.idl
@@ -1,3 +1,29 @@
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * Novell Inc.
+ * Portions created by the Initial Developer are Copyright (C) 2010 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Pei Feng Lin <pflin at novell.com>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
#ifndef __ooo_vba_excel_XMenu_idl__
#define __ooo_vba_excel_XMenu_idl__
diff --git a/oovbaapi/ooo/vba/excel/XMenuBar.idl b/oovbaapi/ooo/vba/excel/XMenuBar.idl
index 6513706..76527e5 100644
--- a/oovbaapi/ooo/vba/excel/XMenuBar.idl
+++ b/oovbaapi/ooo/vba/excel/XMenuBar.idl
@@ -1,3 +1,29 @@
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * Novell Inc.
+ * Portions created by the Initial Developer are Copyright (C) 2010 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Pei Feng Lin <pflin at novell.com>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
#ifndef __ooo_vba_excel_XMenuBar_idl__
#define __ooo_vba_excel_XMenuBar_idl__
diff --git a/oovbaapi/ooo/vba/excel/XMenuItem.idl b/oovbaapi/ooo/vba/excel/XMenuItem.idl
index 2941b7a..767cac2 100644
--- a/oovbaapi/ooo/vba/excel/XMenuItem.idl
+++ b/oovbaapi/ooo/vba/excel/XMenuItem.idl
@@ -1,3 +1,29 @@
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ * Novell Inc.
+ * Portions created by the Initial Developer are Copyright (C) 2010 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Pei Feng Lin <pflin at novell.com>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
#ifndef __ooo_vba_excel_XMenuItem_idl__
#define __ooo_vba_excel_XMenuItem_idl__
commit 606a57481911e111dfab950cd7fb90ae80aed014
Merge: a4d7dbf... ed49568...
Author: Noel Power <noel.power at novell.com>
Date: Wed Oct 13 10:51:50 2010 +0100
Merge branch 'vba' fix conflics, trailing ws & tab issues
also removed some old headers ( which I need to add new ones for )
Conflicts:
basic/source/classes/sbunoobj.cxx
basic/source/classes/sbxmod.cxx
xmloff/inc/xmlnmspe.hxx
xmloff/inc/xmloff/xmltoken.hxx
xmlscript/inc/xmlscript/xmldlg_imexp.hxx
diff --cc basic/inc/basic/sbmeth.hxx
index 7b3cd4d,f36f4bd..26e83b3
--- a/basic/inc/basic/sbmeth.hxx
+++ b/basic/inc/basic/sbmeth.hxx
@@@ -46,6 -46,7 +46,7 @@@ class SbMethod : public SbxMetho
friend class SbIfaceMapperMethod;
SbMethodImpl* mpSbMethodImpl; // Impl data
- SbxVariable* mCaller; // caller
++ SbxVariable* mCaller; // caller
SbModule* pMod;
USHORT nDebugFlags;
USHORT nLine1, nLine2;
@@@ -72,7 -73,7 +73,7 @@@ public
void GetLineRange( USHORT&, USHORT& );
// Interface to execute a method from the applications
- virtual ErrCode Call( SbxValue* pRet = NULL );
- virtual ErrCode Call( SbxValue* pRet = NULL, SbxVariable* pCaller = NULL );
++ virtual ErrCode Call( SbxValue* pRet = NULL, SbxVariable* pCaller = NULL );
virtual void Broadcast( ULONG nHintId );
};
diff --cc basic/inc/basic/sbmod.hxx
index ae52ca4,218b658..dbf8649
--- a/basic/inc/basic/sbmod.hxx
+++ b/basic/inc/basic/sbmod.hxx
@@@ -59,6 -59,8 +59,8 @@@ class SbModule : public SbxObjec
SbModuleImpl* mpSbModuleImpl; // Impl data
std::vector< String > mModuleVariableNames;
- SbModule();
- SbModule(const SbModule&);
++ SbModule();
++ SbModule(const SbModule&);
protected:
com::sun::star::uno::Reference< com::sun::star::script::XInvocation > mxWrapper;
diff --cc basic/source/basmgr/basmgr.cxx
index 30dd13f,ba0085f..6886acc
--- a/basic/source/basmgr/basmgr.cxx
+++ b/basic/source/basmgr/basmgr.cxx
@@@ -1,7 -1,7 +1,7 @@@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
++ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@@ -343,7 -343,7 +343,7 @@@ void SAL_CALL BasMgrContainerListenerIm
pMod->SetSource32( aMod );
else
pLib->MakeModule32( aName, aMod );
--
++
pLib->SetModified( FALSE );
}
}
@@@ -1139,6 -1139,25 +1139,25 @@@ void BasicManager::LegacyDeleteBasicMan
_rpManager = NULL;
}
+
+ bool BasicManager::HasExeCode( const String& sLib )
+ {
- StarBASIC* pLib = GetLib(sLib);
- if ( pLib )
- {
- SbxArray* pMods = pLib->GetModules();
- USHORT nMods = pMods ? pMods->Count() : 0;
- for( USHORT i = 0; i < nMods; i++ )
- {
- SbModule* p = (SbModule*) pMods->Get( i );
- if ( p )
- if ( p->HasExeCode() )
- return true;
- }
- }
- return false;
++ StarBASIC* pLib = GetLib(sLib);
++ if ( pLib )
++ {
++ SbxArray* pMods = pLib->GetModules();
++ USHORT nMods = pMods ? pMods->Count() : 0;
++ for( USHORT i = 0; i < nMods; i++ )
++ {
++ SbModule* p = (SbModule*) pMods->Get( i );
++ if ( p )
++ if ( p->HasExeCode() )
++ return true;
++ }
++ }
++ return false;
+ }
+
void BasicManager::Init()
{
DBG_CHKTHIS( BasicManager, 0 );
diff --cc basic/source/classes/image.cxx
index 358da59,76672b4..916370e
--- a/basic/source/classes/image.cxx
+++ b/basic/source/classes/image.cxx
@@@ -431,7 -433,7 +431,7 @@@ void SbiImage::AddString( const String
memcpy( p, pStrings, nStringSize * sizeof( sal_Unicode ) );
delete[] pStrings;
pStrings = p;
- nStringSize = sal::static_int_cast< UINT16 >(nNewLen);
- nStringSize = sal::static_int_cast< UINT32 >(nNewLen);
++ nStringSize = sal::static_int_cast< UINT32 >(nNewLen);
}
else
bError = TRUE;
diff --cc basic/source/classes/sb.cxx
index 90b3573,4059102..3da68f7
mode 100644,100755..100644
--- a/basic/source/classes/sb.cxx
+++ b/basic/source/classes/sb.cxx
diff --cc basic/source/classes/sbunoobj.cxx
index 6f53cbf,ef1490b..55953d2
mode 100644,100755..100644
--- a/basic/source/classes/sbunoobj.cxx
+++ b/basic/source/classes/sbunoobj.cxx
@@@ -1,7 -1,7 +1,7 @@@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
++ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@@ -155,6 -159,21 +156,21 @@@ SbxVariable* getDefaultProp( SbxVariabl
return pDefaultProp;
}
+ void SetSbUnoObjectDfltPropName( SbxObject* pObj )
+ {
- SbUnoObject* pUnoObj = PTR_CAST(SbUnoObject,(SbxObject*) pObj);
- if ( pUnoObj )
- {
- String sDfltPropName;
-
- if ( SbUnoObject::getDefaultPropName( pUnoObj, sDfltPropName ) )
- {
- OSL_TRACE("SetSbUnoObjectDfltPropName setting dflt prop for %s", rtl::OUStringToOString( pObj->GetName(), RTL_TEXTENCODING_UTF8 ).getStr() );
- pUnoObj->SetDfltProperty( sDfltPropName );
- }
- }
++ SbUnoObject* pUnoObj = PTR_CAST(SbUnoObject,(SbxObject*) pObj);
++ if ( pUnoObj )
++ {
++ String sDfltPropName;
++
++ if ( SbUnoObject::getDefaultPropName( pUnoObj, sDfltPropName ) )
++ {
++ OSL_TRACE("SetSbUnoObjectDfltPropName setting dflt prop for %s", rtl::OUStringToOString( pObj->GetName(), RTL_TEXTENCODING_UTF8 ).getStr() );
++ pUnoObj->SetDfltProperty( sDfltPropName );
++ }
++ }
+ }
+
Reference< XComponentContext > getComponentContext_Impl( void )
{
static Reference< XComponentContext > xContext;
@@@ -752,10 -797,10 +794,10 @@@ void unoToSbxValue( SbxVariable* pVar,
}
}
}
- // SbUnoObject instanzieren
+ // instantiate a SbUnoObject
String aName;
SbUnoObject* pSbUnoObject = new SbUnoObject( aName, aValue );
-- //If this is called externally e.g. from the scripting
++ //If this is called externally e.g. from the scripting
//framework then there is no 'active' runtime the default property will not be set up
//only a vba object will have XDefaultProp set anyway so... this
//test seems a bit of overkill
@@@ -1505,7 -1550,104 +1547,102 @@@ Any sbxToUnoValue( SbxVariable* pVar, c
return aRetVal;
}
+ void processAutomationParams( SbxArray* pParams, Sequence< Any >& args, bool bOLEAutomation, UINT32 nParamCount )
+ {
- AutomationNamedArgsSbxArray* pArgNamesArray = NULL;
- if( bOLEAutomation )
- pArgNamesArray = PTR_CAST(AutomationNamedArgsSbxArray,pParams);
-
- args.realloc( nParamCount );
- Any* pAnyArgs = args.getArray();
- bool bBlockConversionToSmallestType = pINST->IsCompatibility();
- UINT32 i = 0;
- if( pArgNamesArray )
- {
- Sequence< ::rtl::OUString >& rNameSeq = pArgNamesArray->getNames();
- ::rtl::OUString* pNames = rNameSeq.getArray();
- Any aValAny;
- for( i = 0 ; i < nParamCount ; i++ )
- {
- USHORT iSbx = (USHORT)(i+1);
-
- // ACHTUNG: Bei den Sbx-Parametern den Offset nicht vergessen!
- aValAny = sbxToUnoValueImpl( pParams->Get( iSbx ),
- bBlockConversionToSmallestType );
-
- ::rtl::OUString aParamName = pNames[iSbx];
- if( aParamName.getLength() )
- {
- oleautomation::NamedArgument aNamedArgument;
- aNamedArgument.Name = aParamName;
- aNamedArgument.Value = aValAny;
- pAnyArgs[i] <<= aNamedArgument;
- }
- else
- {
- pAnyArgs[i] = aValAny;
- }
- }
- }
- else
- {
- for( i = 0 ; i < nParamCount ; i++ )
- {
- // ACHTUNG: Bei den Sbx-Parametern den Offset nicht vergessen!
- pAnyArgs[i] = sbxToUnoValueImpl( pParams->Get( (USHORT)(i+1) ),
- bBlockConversionToSmallestType );
- }
- }
++ AutomationNamedArgsSbxArray* pArgNamesArray = NULL;
++ if( bOLEAutomation )
++ pArgNamesArray = PTR_CAST(AutomationNamedArgsSbxArray,pParams);
++
++ args.realloc( nParamCount );
++ Any* pAnyArgs = args.getArray();
++ bool bBlockConversionToSmallestType = pINST->IsCompatibility();
++ UINT32 i = 0;
++ if( pArgNamesArray )
++ {
++ Sequence< ::rtl::OUString >& rNameSeq = pArgNamesArray->getNames();
++ ::rtl::OUString* pNames = rNameSeq.getArray();
++ Any aValAny;
++ for( i = 0 ; i < nParamCount ; i++ )
++ {
++ USHORT iSbx = (USHORT)(i+1);
++
++ aValAny = sbxToUnoValueImpl( pParams->Get( iSbx ),
++ bBlockConversionToSmallestType );
++
++ ::rtl::OUString aParamName = pNames[iSbx];
++ if( aParamName.getLength() )
++ {
++ oleautomation::NamedArgument aNamedArgument;
++ aNamedArgument.Name = aParamName;
++ aNamedArgument.Value = aValAny;
++ pAnyArgs[i] <<= aNamedArgument;
++ }
++ else
++ {
++ pAnyArgs[i] = aValAny;
++ }
++ }
++ }
++ else
++ {
++ for( i = 0 ; i < nParamCount ; i++ )
++ {
++ pAnyArgs[i] = sbxToUnoValueImpl( pParams->Get( (USHORT)(i+1) ),
++ bBlockConversionToSmallestType );
++ }
++ }
+
+ }
+ enum INVOKETYPE
+ {
- GetProp = 0,
- SetProp,
++ GetProp = 0,
++ SetProp,
+ Func
+ };
+ Any invokeAutomationMethod( const String& Name, Sequence< Any >& args, SbxArray* pParams, UINT32 nParamCount, Reference< XInvocation >& rxInvocation, INVOKETYPE invokeType = Func )
+ {
- Sequence< INT16 > OutParamIndex;
- Sequence< Any > OutParam;
-
- Any aRetAny;
- switch( invokeType )
- {
- case Func:
- aRetAny = rxInvocation->invoke( Name, args, OutParamIndex, OutParam );
- break;
- case GetProp:
- {
- Reference< XAutomationInvocation > xAutoInv( rxInvocation, UNO_QUERY );
- aRetAny = xAutoInv->invokeGetProperty( Name, args, OutParamIndex, OutParam );
- break;
- }
- case SetProp:
- {
- Reference< XAutomationInvocation > xAutoInv( rxInvocation, UNO_QUERY_THROW );
- aRetAny = xAutoInv->invokePutProperty( Name, args, OutParamIndex, OutParam );
- break;
- }
- default:
- break; // should introduce an error here
-
- }
- const INT16* pIndices = OutParamIndex.getConstArray();
- UINT32 nLen = OutParamIndex.getLength();
- if( nLen )
- {
- const Any* pNewValues = OutParam.getConstArray();
- for( UINT32 j = 0 ; j < nLen ; j++ )
- {
- INT16 iTarget = pIndices[ j ];
- if( iTarget >= (INT16)nParamCount )
- break;
- unoToSbxValue( (SbxVariable*)pParams->Get( (USHORT)(j+1) ), pNewValues[ j ] );
- }
- }
++ Sequence< INT16 > OutParamIndex;
++ Sequence< Any > OutParam;
++
++ Any aRetAny;
++ switch( invokeType )
++ {
++ case Func:
++ aRetAny = rxInvocation->invoke( Name, args, OutParamIndex, OutParam );
++ break;
++ case GetProp:
++ {
++ Reference< XAutomationInvocation > xAutoInv( rxInvocation, UNO_QUERY );
++ aRetAny = xAutoInv->invokeGetProperty( Name, args, OutParamIndex, OutParam );
++ break;
++ }
++ case SetProp:
++ {
++ Reference< XAutomationInvocation > xAutoInv( rxInvocation, UNO_QUERY_THROW );
++ aRetAny = xAutoInv->invokePutProperty( Name, args, OutParamIndex, OutParam );
++ break;
++ }
++ default:
++ break; // should introduce an error here
++
++ }
++ const INT16* pIndices = OutParamIndex.getConstArray();
++ UINT32 nLen = OutParamIndex.getLength();
++ if( nLen )
++ {
++ const Any* pNewValues = OutParam.getConstArray();
++ for( UINT32 j = 0 ; j < nLen ; j++ )
++ {
++ INT16 iTarget = pIndices[ j ];
++ if( iTarget >= (INT16)nParamCount )
++ break;
++ unoToSbxValue( (SbxVariable*)pParams->Get( (USHORT)(j+1) ), pNewValues[ j ] );
++ }
++ }
+ return aRetAny;
+ }
+
-// Dbg-Hilfsmethode zum Auslesen der in einem Object implementierten Interfaces
+// Debugging help method to readout the imlemented interfaces of an object
String Impl_GetInterfaceInfo( const Reference< XInterface >& x, const Reference< XIdlClass >& xClass, USHORT nRekLevel )
{
Type aIfaceType = ::getCppuType( (const Reference< XInterface > *)0 );
@@@ -2011,11 -2153,26 +2148,24 @@@ void SbUnoObject::SFX_NOTIFY( SfxBroadc
{
try
{
- // get the value
- Any aRetAny = mxInvocation->getValue( pProp->GetName() );
-
- UINT32 nParamCount = pParams ? ((UINT32)pParams->Count() - 1) : 0;
- sal_Bool bCanBeConsideredAMethod = mxInvocation->hasMethod( pProp->GetName() );
- Any aRetAny;
- if ( bCanBeConsideredAMethod && nParamCount )
- {
- // Automation properties have methods, so.. we need to invoke this through
- // XInvocation
- Sequence<Any> args;
- processAutomationParams( pParams, args, true, nParamCount );
- aRetAny = invokeAutomationMethod( pProp->GetName(), args, pParams, nParamCount, mxInvocation, GetProp );
- }
- else
- // Wert holen
- aRetAny = mxInvocation->getValue( pProp->GetName() );
-
- // Wert von Uno nach Sbx uebernehmen
++ UINT32 nParamCount = pParams ? ((UINT32)pParams->Count() - 1) : 0;
++ sal_Bool bCanBeConsideredAMethod = mxInvocation->hasMethod( pProp->GetName() );
++ Any aRetAny;
++ if ( bCanBeConsideredAMethod && nParamCount )
++ {
++ // Automation properties have methods, so.. we need to invoke this through
++ // XInvocation
++ Sequence<Any> args;
++ processAutomationParams( pParams, args, true, nParamCount );
++ aRetAny = invokeAutomationMethod( pProp->GetName(), args, pParams, nParamCount, mxInvocation, GetProp );
++ }
++ else
++ aRetAny = mxInvocation->getValue( pProp->GetName() );
+ // take over the value from Uno to Sbx
unoToSbxValue( pVar, aRetAny );
- if( pParams && bCanBeConsideredAMethod )
- pVar->SetParameters( NULL );
++ if( pParams && bCanBeConsideredAMethod )
++ pVar->SetParameters( NULL );
+
}
catch( const Exception& )
{
@@@ -2140,55 -2297,10 +2290,10 @@@
else if( bInvocation && pParams && mxInvocation.is() )
{
bool bOLEAutomation = true;
- // TODO: bOLEAutomation = xOLEAutomation.is()
-
- AutomationNamedArgsSbxArray* pArgNamesArray = NULL;
- if( bOLEAutomation )
- pArgNamesArray = PTR_CAST(AutomationNamedArgsSbxArray,pParams);
-
- args.realloc( nParamCount );
- Any* pAnyArgs = args.getArray();
- bool bBlockConversionToSmallestType = pINST->IsCompatibility();
- if( pArgNamesArray )
- {
- Sequence< ::rtl::OUString >& rNameSeq = pArgNamesArray->getNames();
- ::rtl::OUString* pNames = rNameSeq.getArray();
-
- Any aValAny;
- for( i = 0 ; i < nParamCount ; i++ )
- {
- USHORT iSbx = (USHORT)(i+1);
-
- // ATTENTION: Don't forget for Sbx-Parameter the offset!
- aValAny = sbxToUnoValueImpl( pParams->Get( iSbx ),
- bBlockConversionToSmallestType );
-
- ::rtl::OUString aParamName = pNames[iSbx];
- if( aParamName.getLength() )
- {
- oleautomation::NamedArgument aNamedArgument;
- aNamedArgument.Name = aParamName;
- aNamedArgument.Value = aValAny;
- pAnyArgs[i] <<= aNamedArgument;
- }
- else
- {
- pAnyArgs[i] = aValAny;
- }
- }
- }
- else
- {
- for( i = 0 ; i < nParamCount ; i++ )
- {
- // ATTENTION: Don't forget for Sbx-Parameter the offset!
- pAnyArgs[i] = sbxToUnoValueImpl( pParams->Get( (USHORT)(i+1) ),
- bBlockConversionToSmallestType );
- }
- }
- processAutomationParams( pParams, args, bOLEAutomation, nParamCount );
++ processAutomationParams( pParams, args, bOLEAutomation, nParamCount );
}
- // Methode callen
+ // call the method
GetSbData()->bBlockCompilerError = TRUE; // #106433 Block compiler errors for API calls
try
{
@@@ -2220,30 -2332,12 +2325,12 @@@
}
else if( bInvocation && mxInvocation.is() )
{
- Sequence< INT16 > OutParamIndex;
- Sequence< Any > OutParam;
- Any aRetAny = mxInvocation->invoke( pMeth->GetName(), args, OutParamIndex, OutParam );
-
- // take over the value from Uno to Sbx
- Any aRetAny = invokeAutomationMethod( pMeth->GetName(), args, pParams, nParamCount, mxInvocation );
++ Any aRetAny = invokeAutomationMethod( pMeth->GetName(), args, pParams, nParamCount, mxInvocation );
unoToSbxValue( pVar, aRetAny );
-
- const INT16* pIndices = OutParamIndex.getConstArray();
- UINT32 nLen = OutParamIndex.getLength();
- if( nLen )
- {
- const Any* pNewValues = OutParam.getConstArray();
- for( UINT32 j = 0 ; j < nLen ; j++ )
- {
- INT16 iTarget = pIndices[ j ];
- if( iTarget >= (INT16)nParamCount )
- break;
- unoToSbxValue( (SbxVariable*)pParams->Get( (USHORT)(j+1) ), pNewValues[ j ] );
- }
- }
}
- // #55460, Parameter hier weghauen, da das in unoToSbxValue()
- // bei Arrays wegen #54548 nicht mehr gemacht wird
+ // remove parameter here, because this was not done anymore in unoToSbxValue()
+ // for arrays
if( pParams )
pVar->SetParameters( NULL );
}
@@@ -2937,8 -3031,8 +3024,8 @@@ void RTL_Impl_CreateUnoServiceWithArgum
{
(void)pBasic;
(void)bWrite;
--
- // Wir brauchen mindestens 2 Parameter
++
+ // We need 2 parameter minimum
if ( rPar.Count() < 3 )
{
StarBASIC::Error( SbERR_BAD_ARGUMENT );
@@@ -3196,6 -3295,13 +3288,13 @@@ VBAConstantHelper::init(
Reference< XConstantsTypeDescription > xConstants( xEnum->nextElement(), UNO_QUERY );
if ( xConstants.is() )
{
- // store constant group name
++ // store constant group name
+ ::rtl::OUString sFullName = xConstants->getName();
+ sal_Int32 indexLastDot = sFullName.lastIndexOf('.');
+ ::rtl::OUString sLeafName( sFullName );
+ if ( indexLastDot > -1 )
+ sLeafName = sFullName.copy( indexLastDot + 1);
+ aConstCache.push_back( sLeafName ); // assume constant group names are unique
Sequence< Reference< XConstantTypeDescription > > aConsts = xConstants->getConstants();
Reference< XConstantTypeDescription >* pSrc = aConsts.getArray();
sal_Int32 nLen = aConsts.getLength();
@@@ -3214,9 -3321,38 +3314,38 @@@
}
isInited = true;
}
+ }
+
+ bool
+ VBAConstantHelper::isVBAConstantType( const String& rName )
+ {
+ init();
+ bool bConstant = false;
+ ::rtl::OUString sKey( rName );
+ VBAConstantsVector::const_iterator it = aConstCache.begin();
+
+ for( ; it != aConstCache.end(); it++ )
+ {
+ if( sKey.equalsIgnoreAsciiCase( *it ) )
+ {
+ bConstant = true;
+ break;
+ }
+ }
- return bConstant;
++ return bConstant;
+ }
+
-SbxVariable*
++SbxVariable*
+ VBAConstantHelper::getVBAConstant( const String& rName )
+ {
+ SbxVariable* pConst = NULL;
+ init();
+
::rtl::OUString sKey( rName );
- VBAConstantsHash::const_iterator it = aConstCache.find( sKey.toAsciiLowerCase() );
- if ( it != aConstCache.end() )
+
+ VBAConstantsHash::const_iterator it = aConstHash.find( sKey.toAsciiLowerCase() );
+
+ if ( it != aConstHash.end() )
{
pConst = new SbxVariable( SbxVARIANT );
pConst->SetName( rName );
@@@ -3424,7 -3561,7 +3554,7 @@@ SbxVariable* SbUnoService::Find( const
for( int i = 0 ; i < nCtorCount ; ++i )
{
Reference< XServiceConstructorDescription > xCtor = pCtorSeq[i];
--
++
String aName( xCtor->getName() );
if( !aName.Len() )
{
@@@ -3569,7 -3706,7 +3699,7 @@@ void SbUnoService::SFX_NOTIFY( SfxBroad
Reference < XPropertySet > xProps( ::comphelper::getProcessServiceFactory(), UNO_QUERY_THROW );
xContext.set( xProps->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultContext" )) ), UNO_QUERY_THROW );
}
-- Reference< XMultiComponentFactory > xServiceMgr( xContext->getServiceManager() );
++ Reference< XMultiComponentFactory > xServiceMgr( xContext->getServiceManager() );
Any aRetAny;
if( xServiceMgr.is() )
@@@ -3726,7 -3863,7 +3856,7 @@@ void SbUnoSingleton::SFX_NOTIFY( SfxBro
SbxObject::SFX_NOTIFY( rBC, rBCType, rHint, rHintType );
}
--
++
//========================================================================
//========================================================================
//========================================================================
@@@ -4188,7 -4325,7 +4318,7 @@@ public
throw( UnknownPropertyException );
virtual sal_Bool SAL_CALL hasMethod( const ::rtl::OUString& rName ) throw();
virtual sal_Bool SAL_CALL hasProperty( const ::rtl::OUString& rProp ) throw();
--
++
virtual Any SAL_CALL invoke( const ::rtl::OUString& rFunction,
const Sequence< Any >& rParams,
Sequence< sal_Int16 >& rOutParamIndex,
@@@ -4344,7 -4481,7 +4474,7 @@@ Reference< XInterface > createComListen
Reference< XInterface > xRet;
Reference< XComponentContext > xContext = getComponentContext_Impl();
-- Reference< XMultiComponentFactory > xServiceMgr( xContext->getServiceManager() );
++ Reference< XMultiComponentFactory > xServiceMgr( xContext->getServiceManager() );
Reference< XInvocation > xProxy = new ModuleInvocationProxy( aPrefix, xScopeObj );
@@@ -4374,7 -4511,7 +4504,7 @@@ bool SbModule::createCOMWrapperForIface
// TODO: Check if support for multiple interfaces is needed
Reference< XComponentContext > xContext = getComponentContext_Impl();
-- Reference< XMultiComponentFactory > xServiceMgr( xContext->getServiceManager() );
++ Reference< XMultiComponentFactory > xServiceMgr( xContext->getServiceManager() );
Reference< XSingleServiceFactory > xComImplementsFactory
(
xServiceMgr->createInstanceWithContext(
diff --cc basic/source/classes/sbxmod.cxx
index e805f9b,76e00f1..d647d4c
--- a/basic/source/classes/sbxmod.cxx
+++ b/basic/source/classes/sbxmod.cxx
@@@ -1,7 -1,7 +1,7 @@@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
++ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@@ -84,7 -87,7 +85,7 @@@ using namespace com::sun::star
#include <map>
#include <com/sun/star/script/XInvocation.hpp>
-- using namespace ::com::sun::star;
++ using namespace ::com::sun::star;
using namespace com::sun::star::lang;
using namespace com::sun::star::reflection;
using namespace com::sun::star::beans;
@@@ -117,7 -120,7 +118,7 @@@ class DocObjectWrapper : public DocObje
SbPropertyRef getProperty( const rtl::OUString& aName ) throw (RuntimeException);
String mName; // for debugging
--public:
++public:
DocObjectWrapper( SbModule* pMod );
virtual ~DocObjectWrapper();
@@@ -139,16 -142,16 +140,16 @@@
virtual ::sal_Bool SAL_CALL hasMethod( const ::rtl::OUString& aName ) throw (RuntimeException);
virtual ::sal_Bool SAL_CALL hasProperty( const ::rtl::OUString& aName ) throw (RuntimeException);
virtual Any SAL_CALL queryInterface( const Type& aType ) throw ( RuntimeException );
--
++
virtual Sequence< Type > SAL_CALL getTypes() throw ( RuntimeException );
};
DocObjectWrapper::DocObjectWrapper( SbModule* pVar ) : m_pMod( pVar ), mName( pVar->GetName() )
--{
++{
SbObjModule* pMod = PTR_CAST(SbObjModule,pVar);
if ( pMod )
{
-- if ( pMod->GetModuleType() == ModuleType::DOCUMENT )
++ if ( pMod->GetModuleType() == ModuleType::DOCUMENT )
{
Reference< XMultiServiceFactory > xFactory = comphelper::getProcessServiceFactory();
// Use proxy factory service to create aggregatable proxy.
@@@ -156,7 -159,7 +157,7 @@@
Reference< XInterface > xIf;
if ( pUnoObj )
{
-- Any aObj = pUnoObj->getUnoAny();
++ Any aObj = pUnoObj->getUnoAny();
aObj >>= xIf;
if ( xIf.is() )
{
@@@ -181,11 -184,11 +182,11 @@@
OSL_ENSURE( false, "DocObjectWrapper::DocObjectWrapper: Caught exception!" );
}
}
--
++
if ( m_xAggProxy.is() )
{
osl_incrementInterlockedCount( &m_refCount );
--
++
/* i35609 - Fix crash on Solaris. The setDelegator call needs
to be in its own block to ensure that all temporary Reference
instances that are acquired during the call are released
@@@ -193,7 -196,7 +194,7 @@@
{
m_xAggProxy->setDelegator( static_cast< cppu::OWeakObject * >( this ) );
}
--
++
osl_decrementInterlockedCount( &m_refCount );
}
}
@@@ -206,7 -209,7 +207,7 @@@ DocObjectWrapper::acquire() throw (
osl_incrementInterlockedCount( &m_refCount );
OSL_TRACE("DocObjectWrapper::acquire(%s) 0x%x refcount is now %d", rtl::OUStringToOString( mName, RTL_TEXTENCODING_UTF8 ).getStr(), this, m_refCount );
}
--void SAL_CALL
++void SAL_CALL
DocObjectWrapper::release() throw ()
{
if ( osl_decrementInterlockedCount( &m_refCount ) == 0 )
@@@ -226,7 -229,7 +227,7 @@@ Sequence< Type > SAL_CALL DocObjectWrap
throw ( RuntimeException )
{
if ( m_Types.getLength() == 0 )
-- {
++ {
Sequence< Type > sTypes;
if ( m_xAggregateTypeProv.is() )
sTypes = m_xAggregateTypeProv->getTypes();
@@@ -234,7 -237,7 +235,7 @@@
Type* pPtr = m_Types.getArray();
for ( int i=0; i<m_Types.getLength(); ++i, ++pPtr )
{
-- if ( i == 0 )
++ if ( i == 0 )
*pPtr = XInvocation::static_type( NULL );
else
*pPtr = sTypes[ i - 1 ];
@@@ -243,13 -246,13 +244,13 @@@
return m_Types;
}
--Reference< XIntrospectionAccess > SAL_CALL
++Reference< XIntrospectionAccess > SAL_CALL
DocObjectWrapper::getIntrospection( ) throw (RuntimeException)
{
return NULL;
}
--Any SAL_CALL
++Any SAL_CALL
DocObjectWrapper::invoke( const ::rtl::OUString& aFunctionName, const Sequence< Any >& aParams, Sequence< ::sal_Int16 >& aOutParamIndex, Sequence< Any >& aOutParam ) throw (IllegalArgumentException, CannotConvertException, InvocationTargetException, RuntimeException)
{
if ( m_xAggInv.is() && m_xAggInv->hasMethod( aFunctionName ) )
@@@ -344,19 -347,19 +345,19 @@@
return aReturn;
}
--void SAL_CALL
++void SAL_CALL
DocObjectWrapper::setValue( const ::rtl::OUString& aPropertyName, const Any& aValue ) throw (UnknownPropertyException, CannotConvertException, InvocationTargetException, RuntimeException)
{
if ( m_xAggInv.is() && m_xAggInv->hasProperty( aPropertyName ) )
return m_xAggInv->setValue( aPropertyName, aValue );
--
++
SbPropertyRef pProperty = getProperty( aPropertyName );
if ( !pProperty.Is() )
throw UnknownPropertyException();
unoToSbxValue( (SbxVariable*) pProperty, aValue );
}
--Any SAL_CALL
++Any SAL_CALL
DocObjectWrapper::getValue( const ::rtl::OUString& aPropertyName ) throw (UnknownPropertyException, RuntimeException)
{
if ( m_xAggInv.is() && m_xAggInv->hasProperty( aPropertyName ) )
@@@ -374,20 -377,20 +375,20 @@@
return aRet;
}
--::sal_Bool SAL_CALL
++::sal_Bool SAL_CALL
DocObjectWrapper::hasMethod( const ::rtl::OUString& aName ) throw (RuntimeException)
{
if ( m_xAggInv.is() && m_xAggInv->hasMethod( aName ) )
-- return sal_True;
++ return sal_True;
return getMethod( aName ).Is();
}
--::sal_Bool SAL_CALL
++::sal_Bool SAL_CALL
DocObjectWrapper::hasProperty( const ::rtl::OUString& aName ) throw (RuntimeException)
{
sal_Bool bRes = sal_False;
if ( m_xAggInv.is() && m_xAggInv->hasProperty( aName ) )
-- bRes = sal_True;
++ bRes = sal_True;
else bRes = getProperty( aName ).Is();
return bRes;
}
@@@ -458,7 -461,7 +459,7 @@@ bool getDefaultVBAMode( StarBASIC* pb
{
uno::Reference< beans::XPropertySet > xProp( aDoc, uno::UNO_QUERY );
if ( xProp.is() )
-- {
++ {
uno::Reference< script::vba::XVBACompatibility > xVBAMode( xProp->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("BasicLibraries") ) ), uno::UNO_QUERY );
if ( xVBAMode.is() )
bResult = xVBAMode->getVBACompatibilityMode() == sal_True;
@@@ -473,7 -476,7 +474,7 @@@ class AsyncQuitHandle
AsyncQuitHandler() {}
AsyncQuitHandler( const AsyncQuitHandler&);
public:
-- static AsyncQuitHandler& instance()
++ static AsyncQuitHandler& instance()
{
static AsyncQuitHandler dInst;
return dInst;
@@@ -486,7 -489,7 +487,7 @@@
{
uno::Reference< frame::XDesktop > xDeskTop( xFactory->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.Desktop") ) ), uno::UNO_QUERY );
if ( xDeskTop.is() )
-- xDeskTop->terminate();
++ xDeskTop->terminate();
}
}
DECL_LINK( OnAsyncQuit, void* );
@@@ -508,7 -510,7 +508,7 @@@ bool UnlockControllerHack( StarBASIC* p
::rtl::OUString sVarName( ::rtl::OUString::createFromAscii( "ThisComponent" ) );
SbUnoObject* pGlobs = dynamic_cast<SbUnoObject*>( pBasic->Find( sVarName, SbxCLASS_DONTCARE ) );
if ( pGlobs )
-- aUnoVar = pGlobs->getUnoAny();
++ aUnoVar = pGlobs->getUnoAny();
uno::Reference< frame::XModel > xModel( aUnoVar, uno::UNO_QUERY);
if ( xModel.is() )
{
@@@ -524,11 -526,11 +524,11 @@@
}
return bRes;
}
- #endif
+
/////////////////////////////////////////////////////////////////////////////
-// Ein BASIC-Modul hat EXTSEARCH gesetzt, damit die im Modul enthaltenen
-// Elemente von anderen Modulen aus gefunden werden koennen.
+// A Basic module has set EXTSEARCH, so that the elements, that the modul contains,
+// could be found from other module.
SbModule::SbModule( const String& rName, BOOL bVBACompat )
: SbxObject( String( RTL_CONSTASCII_USTRINGPARAM("StarBASICModule") ) ),
@@@ -793,6 -795,82 +793,82 @@@ void SbModule::SFX_NOTIFY( SfxBroadcast
SbxVariable* pVar = pHint->GetVar();
SbProperty* pProp = PTR_CAST(SbProperty,pVar);
SbMethod* pMeth = PTR_CAST(SbMethod,pVar);
- SbProcedureProperty* pProcProperty = PTR_CAST( SbProcedureProperty, pVar );
++ SbProcedureProperty* pProcProperty = PTR_CAST( SbProcedureProperty, pVar );
+ if( pProcProperty )
+ {
+
+ if( pHint->GetId() == SBX_HINT_DATAWANTED )
+ {
+ String aProcName;
+ aProcName.AppendAscii( "Property Get " );
+ aProcName += pProcProperty->GetName();
+
+ SbxVariable* pMethVar = Find( aProcName, SbxCLASS_METHOD );
+ if( pMethVar )
+ {
+ SbxValues aVals;
+ aVals.eType = SbxVARIANT;
+
+ SbxArray* pArg = pVar->GetParameters();
+ USHORT nVarParCount = (pArg != NULL) ? pArg->Count() : 0;
+ if( nVarParCount > 1 )
+ {
+ SbxArrayRef xMethParameters = new SbxArray;
+ xMethParameters->Put( pMethVar, 0 ); // Method as parameter 0
+ for( USHORT i = 1 ; i < nVarParCount ; ++i )
+ {
+ SbxVariable* pPar = pArg->Get( i );
+ xMethParameters->Put( pPar, i );
+ }
+
+ pMethVar->SetParameters( xMethParameters );
+ pMethVar->Get( aVals );
+ pMethVar->SetParameters( NULL );
+ }
+ else
+ {
+ pMethVar->Get( aVals );
+ }
+
+ pVar->Put( aVals );
+ }
+ }
+ else if( pHint->GetId() == SBX_HINT_DATACHANGED )
+ {
+ SbxVariable* pMethVar = NULL;
+
+ bool bSet = pProcProperty->isSet();
+ if( bSet )
+ {
+ pProcProperty->setSet( false );
+
+ String aProcName;
+ aProcName.AppendAscii( "Property Set " );
+ aProcName += pProcProperty->GetName();
+ pMethVar = Find( aProcName, SbxCLASS_METHOD );
+ }
+ if( !pMethVar ) // Let
+ {
+ String aProcName;
+ aProcName.AppendAscii( "Property Let " );
+ aProcName += pProcProperty->GetName();
+ pMethVar = Find( aProcName, SbxCLASS_METHOD );
+ }
+
+ if( pMethVar )
+ {
+ // Setup parameters
+ SbxArrayRef xArray = new SbxArray;
+ xArray->Put( pMethVar, 0 ); // Method as parameter 0
+ xArray->Put( pVar, 1 );
+ pMethVar->SetParameters( xArray );
+
+ SbxValues aVals;
+ pMethVar->Get( aVals );
+ pMethVar->SetParameters( NULL );
+ }
+ }
+ }
if( pProp )
{
if( pProp->GetModule() != this )
@@@ -817,7 -895,7 +893,7 @@@
}
else
{
-- // #i92642: Special handling for name property to avoid
++ // #i92642: Special handling for name property to avoid
// side effects when using name as variable implicitely
bool bForwardToSbxObject = true;
@@@ -877,7 -956,7 +954,7 @@@ void SbModule::SetSource32( const ::rtl
if( eCurTok == COMPATIBLE )
aTok.SetCompatible( true );
else if ( ( eCurTok == VBASUPPORT ) && ( aTok.Next() == NUMBER ) )
-- {
++ {
BOOL bIsVBA = ( aTok.GetDbl()== 1 );
SetVBACompat( bIsVBA );
aTok.SetCompatible( bIsVBA );
@@@ -1026,14 -1105,15 +1103,15 @@@ BOOL SbModule::IsVBACompat() cons
{
return mbVBACompat;
}
--
++
void SbModule::SetVBACompat( BOOL bCompat )
{
mbVBACompat = bCompat;
}
-// Ausfuehren eines BASIC-Unterprogramms
+// Run a Basic-subprogram
USHORT SbModule::Run( SbMethod* pMeth )
{
- OSL_TRACE("About to run %s, vba compatmode is %d", rtl::OUStringToOString( pMeth->GetName(), RTL_TEXTENCODING_UTF8 ).getStr(), mbVBACompat );
++ OSL_TRACE("About to run %s, vba compatmode is %d", rtl::OUStringToOString( pMeth->GetName(), RTL_TEXTENCODING_UTF8 ).getStr(), mbVBACompat );
static USHORT nMaxCallLevel = 0;
static String aMSOMacroRuntimeLibName = String::CreateFromAscii( "Launcher" );
static String aMSOMacroRuntimeAppSymbol = String::CreateFromAscii( "Application" );
@@@ -1172,10 -1253,19 +1251,19 @@@
delete pRt;
pMOD = pOldMod;
- if ( pINST->nCallLvl == 0 && IsVBACompat() )
- {
- // VBA always ensure screenupdating is enabled after completing
- StarBASIC* pBasic = PTR_CAST(StarBASIC,GetParent());
- if ( pBasic && pBasic->IsDocBasic() )
- {
- UnlockControllerHack( pBasic );
- }
- }
++ if ( pINST->nCallLvl == 0 && IsVBACompat() )
++ {
++ // VBA always ensure screenupdating is enabled after completing
++ StarBASIC* pBasic = PTR_CAST(StarBASIC,GetParent());
++ if ( pBasic && pBasic->IsDocBasic() )
++ {
++ UnlockControllerHack( pBasic );
++ }
++ }
if( bDelInst )
{
- // #57841 Uno-Objekte, die in RTL-Funktionen gehalten werden,
- // beim Programm-Ende freigeben, damit nichts gehalten wird.
+ // #57841 Clear Uno-Objects, which were helt in RTL functions,
+ // at the end of the program, so that nothing were helt.
ClearUnoObjectsInRTL_Impl( xBasic );
DBG_ASSERT(pINST->nCallLvl==0,"BASIC-Call-Level > 0");
@@@ -1199,14 -1289,12 +1287,12 @@@
// VBA always ensure screenupdating is enabled after completing
StarBASIC* pBasic = PTR_CAST(StarBASIC,GetParent());
- #if 0
if ( pBasic && pBasic->IsDocBasic() && !pINST )
UnlockControllerHack( pBasic );
- #endif
if( bDelInst )
{
- // #57841 Uno-Objekte, die in RTL-Funktionen gehalten werden,
- // beim Programm-Ende freigeben, damit nichts gehalten wird.
+ // #57841 Clear Uno-Objects, which were helt in RTL functions,
+ // the end of the program, so that nothing were helt.
ClearUnoObjectsInRTL_Impl( xBasic );
delete pINST;
@@@ -1266,18 -1356,18 +1354,18 @@@ void SbModule::RunInit(
}
}
-// Mit private/dim deklarierte Variablen loeschen
+// Delete with private/dim declared variables
--void SbModule::AddVarName( const String& aName )
--{
++void SbModule::AddVarName( const String& aName )
++{
// see if the name is added allready
std::vector< String >::iterator it_end = mModuleVariableNames.end();
for ( std::vector< String >::iterator it = mModuleVariableNames.begin(); it != it_end; ++it )
{
if ( aName == *it )
-- return;
++ return;
}
-- mModuleVariableNames.push_back( aName );
++ mModuleVariableNames.push_back( aName );
}
void SbModule::RemoveVars()
@@@ -1285,8 -1375,8 +1373,8 @@@
std::vector< String >::iterator it_end = mModuleVariableNames.end();
for ( std::vector< String >::iterator it = mModuleVariableNames.begin(); it != it_end; ++it )
{
-- // We don't want a Find being called in a derived class ( e.g.
-- // SbUserform because it could trigger say an initialise event
++ // We don't want a Find being called in a derived class ( e.g.
++ // SbUserform because it could trigger say an initialise event
// which would cause basic to be re-run in the middle of the init ( and remember RemoveVars is called from compile and we don't want code to run as part of the compile )
SbxVariableRef p = SbModule::Find( *it, SbxCLASS_PROPERTY );
if( p.Is() )
@@@ -1663,6 -1764,48 +1751,48 @@@ BOOL SbModule::ExceedsLegacyModuleSize(
return false;
}
+ class ErrorHdlResetter
+ {
+ Link mErrHandler;
+ bool mbError;
+ public:
+ ErrorHdlResetter() : mbError( false )
+ {
- // save error handler
++ // save error handler
+ mErrHandler = StarBASIC::GetGlobalErrorHdl();
+ // set new error handler
+ StarBASIC::SetGlobalErrorHdl( LINK( this, ErrorHdlResetter, BasicErrorHdl ) );
+ }
+ ~ErrorHdlResetter()
+ {
- // restore error handler
++ // restore error handler
+ StarBASIC::SetGlobalErrorHdl(mErrHandler);
+ }
+ DECL_LINK( BasicErrorHdl, StarBASIC * );
+ bool HasError() { return mbError; }
+ };
+ IMPL_LINK( ErrorHdlResetter, BasicErrorHdl, StarBASIC *, /*pBasic*/)
+ {
+ mbError = true;
- return 0;
++ return 0;
+ }
+
+ bool SbModule::HasExeCode()
+ {
+
+ ErrorHdlResetter aGblErrHdl;
- // And empty Image always has the Global Chain set up
++ // And empty Image always has the Global Chain set up
+ static const unsigned char pEmptyImage[] = { 0x45, 0x0 , 0x0, 0x0, 0x0 };
+ // lets be stricter for the moment than VBA
+
- bool bRes = false;
- if ( !IsCompiled() )
- Compile();
- if ( pImage && !( pImage->GetCodeSize() == 5 && ( memcmp( pImage->GetCode(), pEmptyImage, pImage->GetCodeSize() ) == 0 ) )
++ bool bRes = false;
++ if ( !IsCompiled() )
++ Compile();
++ if ( pImage && !( pImage->GetCodeSize() == 5 && ( memcmp( pImage->GetCode(), pEmptyImage, pImage->GetCodeSize() ) == 0 ) )
+ || aGblErrHdl.HasError() )
- bRes = true;
- return bRes;
++ bRes = true;
++ return bRes;
+ }
// Store only image, no source
BOOL SbModule::StoreBinaryData( SvStream& rStrm )
@@@ -1780,7 -1922,8 +1909,8 @@@ SbMethod::SbMethod( const String& r, Sb
nLine1 =
nLine2 = 0;
refStatics = new SbxArray;
+ mCaller = 0;
- // AB: 2.7.1996: HACK wegen 'Referenz kann nicht gesichert werden'
+ // From: 1996-07.02: HACK due to 'Referenz could not be saved'
SetFlag( SBX_NO_MODIFY );
}
@@@ -1793,7 -1936,8 +1923,8 @@@ SbMethod::SbMethod( const SbMethod& r
nDebugFlags = r.nDebugFlags;
nLine1 = r.nLine1;
nLine2 = r.nLine2;
-- refStatics = r.refStatics;
- mCaller = r.mCaller;
++ refStatics = r.refStatics;
++ mCaller = r.mCaller;
SetFlag( SBX_NO_MODIFY );
}
@@@ -1812,7 -1956,7 +1943,7 @@@ SbxArray* SbMethod::GetLocals(
void SbMethod::ClearStatics()
{
refStatics = new SbxArray;
--
++
}
SbxArray* SbMethod::GetStatics()
{
@@@ -1859,12 -2003,17 +1990,17 @@@ SbxInfo* SbMethod::GetInfo(
return pInfo;
}
-// Schnittstelle zum Ausfuehren einer Methode aus den Applikationen
-// #34191# Mit speziellem RefCounting, damit das Basic nicht durch CloseDocument()
-// abgeschossen werden kann. Rueckgabewert wird als String geliefert.
+// Interface to execute a method of the applications
+// #34191# With special RefCounting, damit so that the Basic was not fired of by CloseDocument()
+// The return value will be delivered as string.
- ErrCode SbMethod::Call( SbxValue* pRet )
+ ErrCode SbMethod::Call( SbxValue* pRet, SbxVariable* pCaller )
{
- // Increment the RefCount of the module
- if ( pCaller )
- {
- OSL_TRACE("SbMethod::Call Have been passed a caller 0x%x", pCaller );
- mCaller = pCaller;
- }
++ if ( pCaller )
++ {
++ OSL_TRACE("SbMethod::Call Have been passed a caller 0x%x", pCaller );
++ mCaller = pCaller;
++ }
+ // RefCount vom Modul hochzaehlen
SbModule* pMod_ = (SbModule*)GetParent();
pMod_->AddRef();
@@@ -1888,10 -2037,10 +2024,10 @@@
ErrCode nErr = SbxBase::GetError();
SbxBase::ResetError();
- // Objekte freigeben
+ // Release objects
pMod_->ReleaseRef();
pBasic->ReleaseRef();
-
- mCaller = 0;
++ mCaller = 0;
return nErr;
}
@@@ -1970,7 -2119,7 +2106,7 @@@ SbObjModule::SetUnoObject( const uno::A
if ( pUnoObj && pUnoObj->getUnoAny() == aObj ) // object is equal, nothing to do
return;
pDocObject = new SbUnoObject( GetName(), uno::makeAny( aObj ) );
--
++
com::sun::star::uno::Reference< com::sun::star::lang::XServiceInfo > xServiceInfo( aObj, com::sun::star::uno::UNO_QUERY_THROW );
if( xServiceInfo->supportsService( rtl::OUString::createFromAscii( "ooo.vba.excel.Worksheet" ) ) )
{
@@@ -1983,7 -2132,7 +2119,7 @@@
}
SbxVariable*
--SbObjModule::GetObject()
++SbObjModule::GetObject()
{
return pDocObject;
}
@@@ -2072,11 -2221,10 +2208,10 @@@ public
}
}
}
--
++
//liuchen 2009-7-21, support Excel VBA Form_QueryClose event
- virtual void SAL_CALL windowClosing( const lang::EventObject& /*e*/ ) throw (uno::RuntimeException)
- {
- #if IN_THE_FUTURE
+ virtual void SAL_CALL windowClosing( const lang::EventObject& e ) throw (uno::RuntimeException)
- {
++ {
uno::Reference< awt::XDialog > xDialog( e.Source, uno::UNO_QUERY );
if ( xDialog.is() )
{
@@@ -2085,7 -2233,7 +2220,7 @@@
{
uno::Reference< document::XVbaMethodParameter > xVbaMethodParameter( xControl->getPeer(), uno::UNO_QUERY );
if ( xVbaMethodParameter.is() )
-- {
++ {
sal_Int8 nCancel = 0;
sal_Int8 nCloseMode = 0;
@@@ -2098,16 -2246,15 +2233,15 @@@
aParams);
xVbaMethodParameter->setVbaMethodParameter( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Cancel")), aParams[0]);
return;
--
-- }
-- }
++
++ }
++ }
}
--
++
mpUserForm->triggerMethod( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Userform_QueryClose") ) );
- #endif
}
//liuchen 2009-7-21
--
++
virtual void SAL_CALL windowClosed( const lang::EventObject& /*e*/ ) throw (uno::RuntimeException)
{
mbOpened = sal_False;
@@@ -2134,7 -2281,7 +2268,7 @@@
}
}
}
--
++
virtual void SAL_CALL windowDeactivated( const lang::EventObject& /*e*/ ) throw (uno::RuntimeException)
{
if ( mpUserForm )
@@@ -2207,8 -2354,7 +2341,7 @@@ void SbUserFormModule::triggerMethod( c
// Search method
SbxVariable* pMeth = SbObjModule::Find( aMethodToRun, SbxCLASS_METHOD );
if( pMeth )
-- {
- #if IN_THE_FUTURE
++ {
//liuchen 2009-7-21, support Excel VBA UserForm_QueryClose event with parameters
if ( aArguments.getLength() > 0 ) // Setup parameters
{
@@@ -2229,11 -2375,11 +2362,11 @@@
SbxValues aVals;
pMeth->Get( aVals );
--
++
for ( sal_Int32 i = 0; i < aArguments.getLength(); ++i )
{
aArguments[i] = sbxToUnoValue( xArray->Get( static_cast< USHORT >(i) + 1) );
-- }
++ }
pMeth->SetParameters( NULL );
}
else
@@@ -2344,7 -2492,7 +2479,7 @@@ void SbUserFormModule::Unload(
{
return;
}
--
++
if ( m_xDialog.is() )
{
triggerTerminateEvent();
@@@ -2379,10 -2527,10 +2514,10 @@@ void SbUserFormModule::InitObject(
{
String aHook( RTL_CONSTASCII_USTRINGPARAM( "VBAGlobals" ) );
-- SbUnoObject* pGlobs = (SbUnoObject*)GetParent()->Find( aHook, SbxCLASS_DONTCARE );
++ SbUnoObject* pGlobs = (SbUnoObject*)GetParent()->Find( aHook, SbxCLASS_DONTCARE );
if ( m_xModel.is() && pGlobs )
{
--
++
uno::Reference< lang::XMultiServiceFactory > xVBAFactory( pGlobs->getUnoAny(), uno::UNO_QUERY_THROW );
uno::Reference< lang::XMultiServiceFactory > xFactory = comphelper::getProcessServiceFactory();
uno::Sequence< uno::Any > aArgs(1);
@@@ -2390,8 -2538,8 +2525,8 @@@
rtl::OUString sDialogUrl( RTL_CONSTASCII_USTRINGPARAM("vnd.sun.star.script:" ) );
rtl::OUString sProjectName( RTL_CONSTASCII_USTRINGPARAM("Standard") );
if ( this->GetParent()->GetName().Len() )
-- sProjectName = this->GetParent()->GetName();
-- sDialogUrl = sDialogUrl.concat( sProjectName ).concat( rtl::OUString( '.') ).concat( GetName() ).concat( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("?location=document") ) );
++ sProjectName = this->GetParent()->GetName();
++ sDialogUrl = sDialogUrl.concat( sProjectName ).concat( rtl::OUString( '.') ).concat( GetName() ).concat( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("?location=document") ) );
uno::Reference< awt::XDialogProvider > xProvider( xFactory->createInstanceWithArguments( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.awt.DialogProvider")), aArgs ), uno::UNO_QUERY_THROW );
m_xDialog = xProvider->createDialog( sDialogUrl );
diff --cc basic/source/comp/codegen.cxx
index 256dcf9,6c886ed..22f3b32
--- a/basic/source/comp/codegen.cxx
+++ b/basic/source/comp/codegen.cxx
@@@ -244,6 -242,8 +242,8 @@@ void SbiCodeGen::Save(
if( nPass == 1 )
aPropName = aPropName.Copy( aIfaceName.Len() + 1 );
SbProcedureProperty* pProcedureProperty = NULL;
+ OSL_TRACE("*** getProcedureProperty for thing %s",
- rtl::OUStringToOString( aPropName,RTL_TEXTENCODING_UTF8 ).getStr() );
++ rtl::OUStringToOString( aPropName,RTL_TEXTENCODING_UTF8 ).getStr() );
pProcedureProperty = rMod.GetProcedureProperty( aPropName, ePropType );
}
if( nPass == 1 )
diff --cc basic/source/comp/dim.cxx
index 367be2a,193b32a..c17f4a8
--- a/basic/source/comp/dim.cxx
+++ b/basic/source/comp/dim.cxx
@@@ -1,7 -1,7 +1,7 @@@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
++ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@@ -153,7 -155,7 +155,7 @@@ void SbiParser::TypeDecl( SbiSymDef& rD
}
}
}
- else if( rEnumArray->Find( aCompleteName, SbxCLASS_OBJECT ) )
- else if( rEnumArray->Find( aCompleteName, SbxCLASS_OBJECT ) || ( IsVBASupportOn() && VBAConstantHelper::instance().isVBAConstantType( aCompleteName ) ) )
++ else if( rEnumArray->Find( aCompleteName, SbxCLASS_OBJECT ) || ( IsVBASupportOn() && VBAConstantHelper::instance().isVBAConstantType( aCompleteName ) ) )
{
eType = SbxLONG;
break;
@@@ -210,9 -212,9 +212,9 @@@ void SbiParser::DefVar( SbiOpcode eOp,
if( eCurTok == GLOBAL )
bPersistantGlobal = TRUE;
}
-- // behavior in VBA is that a module scope variable's lifetime is
++ // behavior in VBA is that a module scope variable's lifetime is
// tied to the document. e.g. a module scope variable is global
-- if( GetBasic()->IsDocBasic() && bVBASupportOn && !pProc )
++ if( GetBasic()->IsDocBasic() && bVBASupportOn && !pProc )
bPersistantGlobal = TRUE;
// PRIVATE ist Synonym fuer DIM
// _CONST_?
@@@ -236,7 -238,7 +238,7 @@@
}
else if( eCurTok == SUB || eCurTok == FUNCTION || eCurTok == PROPERTY )
{
-- // End global chain if necessary (not done in
++ // End global chain if necessary (not done in
// SbiParser::Parse() under these conditions
if( bNewGblDefs && nGblChain == 0 )
{
@@@ -256,7 -258,7 +258,7 @@@
else if( eCurTok == DECLARE )
{
Next();
-- DefDeclare( bPrivate );
++ DefDeclare( bPrivate );
return;
}
// #i109049
@@@ -356,7 -358,7 +358,7 @@@
SbiOpcode eOp2;
switch ( pDef->GetScope() )
{
-- case SbGLOBAL: eOp2 = bPersistantGlobal ? _GLOBAL_P : _GLOBAL;
++ case SbGLOBAL: eOp2 = bPersistantGlobal ? _GLOBAL_P : _GLOBAL;
goto global;
case SbPUBLIC: eOp2 = bPersistantGlobal ? _PUBLIC_P : _PUBLIC;
// AB 9.7.97, #40689, kein eigener Opcode mehr
@@@ -426,7 -428,10 +428,10 @@@
aExpr.Gen();
SbiOpcode eOp_ = pDef->IsNew() ? _CREATE : _TCREATE;
aGen.Gen( eOp_, pDef->GetId(), pDef->GetTypeId() );
- aGen.Gen( _SET );
- if ( bVBASupportOn )
- aGen.Gen( _VBASET );
- else
- aGen.Gen( _SET );
++ if ( bVBASupportOn )
++ aGen.Gen( _VBASET );
++ else
++ aGen.Gen( _SET );
}
}
else
@@@ -603,7 -608,7 +608,7 @@@ void SbiParser::DefType( BOOL bPrivate
SbxProperty *pTypeElem = new SbxProperty( aElemName, eElemType );
if( pDim )
{
-- SbxDimArray* pArray = new SbxDimArray( pElem->GetType() );
++ SbxDimArray* pArray = new SbxDimArray( pElem->GetType() );
if ( pDim->GetSize() )
{
// Dimension the target array
@@@ -624,15 -629,15 +629,15 @@@
}
else if ( !bCompatible )
ub += nBase;
-- pArray->AddDim32( lb, ub );
++ pArray->AddDim32( lb, ub );
}
pArray->setHasFixedSize( true );
}
else
pArray->unoAddDim( 0, -1 ); // variant array
USHORT nSavFlags = pTypeElem->GetFlags();
-- // need to reset the FIXED flag
-- // when calling PutObject ( because the type will not match Object )
++ // need to reset the FIXED flag
++ // when calling PutObject ( because the type will not match Object )
pTypeElem->ResetFlag( SBX_FIXED );
pTypeElem->PutObject( pArray );
pTypeElem->SetFlags( nSavFlags );
@@@ -766,7 -771,7 +771,7 @@@ void SbiParser::DefEnum( BOOL bPrivate
if( !bPrivate )
{
-- SbiOpcode eOp = _GLOBAL;
++ SbiOpcode eOp = _GLOBAL;
aGen.BackChain( nGblChain );
nGblChain = 0;
bGblDefs = bNewGblDefs = TRUE;
@@@ -1043,6 -1048,24 +1048,24 @@@ void SbiParser::DefDeclare( BOOL bPriva
}
}
+ void SbiParser::Attribute()
+ {
- // TODO: Need to implement the method as an attributed object.
- while( Next() != EQ )
- {
- String aSym( GetSym() );
- if( Next() != DOT)
- break;
- }
-
- if( eCurTok != EQ )
- Error( SbERR_SYNTAX );
- else
- SbiExpression aValue( this );
-
- // Don't generate any code - just discard it.
++ // TODO: Need to implement the method as an attributed object.
++ while( Next() != EQ )
++ {
++ String aSym( GetSym() );
++ if( Next() != DOT)
++ break;
++ }
++
++ if( eCurTok != EQ )
++ Error( SbERR_SYNTAX );
++ else
++ SbiExpression aValue( this );
++
++ // Don't generate any code - just discard it.
+ }
+
// Aufruf einer SUB oder FUNCTION
void SbiParser::Call()
@@@ -1179,7 -1202,7 +1202,7 @@@ void SbiParser::DefStatic( BOOL bPrivat
case SUB:
case FUNCTION:
case PROPERTY:
-- // End global chain if necessary (not done in
++ // End global chain if necessary (not done in
// SbiParser::Parse() under these conditions
if( bNewGblDefs && nGblChain == 0 )
{
diff --cc basic/source/comp/exprtree.cxx
index f858c42,e7025f7..50ddc0f
--- a/basic/source/comp/exprtree.cxx
+++ b/basic/source/comp/exprtree.cxx
@@@ -1,7 -1,7 +1,7 @@@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
++ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@@ -46,7 -46,7 +46,7 @@@ SbiExpression::SbiExpression( SbiParser
nParenLevel = 0;
eCurExpr = t;
m_eMode = eMode;
-- pNext = NULL;
++ pNext = NULL;
pExpr = (t != SbSTDEXPR ) ? Term( pKeywordSymbolInfo ) : Boolean();
if( t != SbSYMBOL )
pExpr->Optimize();
@@@ -127,7 -127,7 +127,7 @@@ static BOOL DoParametersFollow( SbiPars
if ( tokens.Peek() == ASSIGN )
return TRUE;
}
-- return FALSE;
++ return FALSE;
}
// Definition eines neuen Symbols
@@@ -373,8 -373,12 +373,12 @@@ SbiExprNode* SbiExpression::Term( cons
// Typ SbxOBJECT sein
if( pDef->GetType() != SbxOBJECT && pDef->GetType() != SbxVARIANT )
{
- pParser->Error( SbERR_BAD_DECLARATION, aSym );
- bError = TRUE;
- // defer error until runtime if in vba mode
- if ( !pParser->IsVBASupportOn() )
++ // defer error until runtime if in vba mode
++ if ( !pParser->IsVBASupportOn() )
+ {
- pParser->Error( SbERR_BAD_DECLARATION, aSym );
- bError = TRUE;
- }
++ pParser->Error( SbERR_BAD_DECLARATION, aSym );
++ bError = TRUE;
++ }
}
if( !bError )
pNd->aVar.pNext = ObjTerm( *pDef );
@@@ -435,7 -439,7 +439,7 @@@ SbiExprNode* SbiExpression::ObjTerm( Sb
bError |= !pPar->IsValid();
eTok = pParser->Peek();
}
--
++
}
BOOL bObj = BOOL( ( eTok == DOT || eTok == EXCLAM ) && !pParser->WhiteSpace() );
if( bObj )
@@@ -580,7 -584,11 +584,11 @@@ SbiExprNode* SbiExpression::Unary(
eTok = NEG;
case NOT:
pParser->Next();
- pNd = new SbiExprNode( pParser, Unary(), eTok, NULL );
+ // process something like "Do While Not "foo"="" "
+ if( pParser->IsVBASupportOn() )
+ pNd = new SbiExprNode( pParser, Like(), eTok, NULL );
- else
++ else
+ pNd = new SbiExprNode( pParser, Unary(), eTok, NULL );
break;
case PLUS:
pParser->Next();
@@@ -736,7 -744,7 +744,7 @@@ SbiExprNode* SbiExpression::Like(
pNd = new SbiExprNode( pParser, pNd, eTok, Comp() ), nCount++;
}
// Mehrere Operatoren hintereinander gehen nicht
- if( nCount > 1 )
- if( nCount > 1 && !pParser->IsVBASupportOn() )
++ if( nCount > 1 && !pParser->IsVBASupportOn() )
{
pParser->Error( SbERR_SYNTAX );
bError = TRUE;
diff --cc basic/source/comp/parser.cxx
index 83e7bbd,81fd9d6..31a78f1
--- a/basic/source/comp/parser.cxx
+++ b/basic/source/comp/parser.cxx
@@@ -387,6 -388,18 +388,18 @@@ BOOL SbiParser::Parse(
Next(); return TRUE;
}
+ // In vba it's possible to do Error.foobar ( even if it results in
- // a runtime error
++ // a runtime error
+ if ( eCurTok == _ERROR_ && IsVBASupportOn() ) // we probably need to define a subset of keywords where this madness applies e.g. if ( IsVBASupportOn() && SymbolCanBeRedined( eCurTok ) )
+ {
+ SbiTokenizer tokens( *(SbiTokenizer*)this );
+ tokens.Next();
+ if ( tokens.Peek() == DOT )
+ {
+ eCurTok = SYMBOL;
- ePush = eCurTok;
++ ePush = eCurTok;
+ }
- }
++ }
// Kommt ein Symbol, ist es entweder eine Variable( LET )
// oder eine SUB-Prozedur( CALL ohne Klammern )
// DOT fuer Zuweisungen im WITH-Block: .A=5
@@@ -795,7 -808,7 +808,7 @@@ void SbiParser::Option(
bClassModule = TRUE;
aGen.GetModule().SetModuleType( com::sun::star::script::ModuleType::CLASS );
break;
- case VBASUPPORT:
- case VBASUPPORT: // Option VBASupport used to override the module mode ( in fact this must reset the mode
++ case VBASUPPORT: // Option VBASupport used to override the module mode ( in fact this must reset the mode
if( Next() == NUMBER )
{
if ( nVal == 1 || nVal == 0 )
diff --cc basic/source/comp/token.cxx
index 0069079,25dd885..3312e66
--- a/basic/source/comp/token.cxx
+++ b/basic/source/comp/token.cxx
@@@ -58,6 -58,7 +58,7 @@@ static TokenTable aTokTable_Basic [] =
{ ANY, "Any" },
{ APPEND, "Append" },
{ AS, "As" },
- { ATTRIBUTE,"Attribute" },
++ { ATTRIBUTE,"Attribute" },
{ BASE, "Base" },
{ BINARY, "Binary" },
{ TBOOLEAN, "Boolean" },
diff --cc basic/source/inc/namecont.hxx
index 72cdcee,29bc734..69ea926
--- a/basic/source/inc/namecont.hxx
+++ b/basic/source/inc/namecont.hxx
@@@ -1,7 -1,7 +1,7 @@@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
++ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@@ -67,7 -69,7 +69,7 @@@ class BasicManager
namespace basic
{
- typedef ::cppu::WeakComponentImplHelper8<
-typedef ::cppu::WeakComponentImplHelper9<
++typedef ::cppu::WeakComponentImplHelper9<
::com::sun::star::lang::XInitialization,
::com::sun::star::script::XStorageBasedLibraryContainer,
::com::sun::star::script::XLibraryContainerPassword,
@@@ -133,45 -136,45 +136,45 @@@ public
{ mpxEventSource = pxEventSource; }
// Methods XElementAccess
-- virtual ::com::sun::star::uno::Type SAL_CALL getElementType( )
++ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( )
throw(::com::sun::star::uno::RuntimeException);
-- virtual sal_Bool SAL_CALL hasElements( )
++ virtual sal_Bool SAL_CALL hasElements( )
throw(::com::sun::star::uno::RuntimeException);
// Methods XNameAccess
-- virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName )
-- throw(::com::sun::star::container::NoSuchElementException,
-- ::com::sun::star::lang::WrappedTargetException,
++ virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName )
++ throw(::com::sun::star::container::NoSuchElementException,
++ ::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
-- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames( )
++ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames( )
throw(::com::sun::star::uno::RuntimeException);
-- virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName )
++ virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName )
throw(::com::sun::star::uno::RuntimeException);
// Methods XNameReplace
-- virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, const ::com::sun::star::uno::Any& aElement )
-- throw(::com::sun::star::lang::IllegalArgumentException,
-- ::com::sun::star::container::NoSuchElementException,
-- ::com::sun::star::lang::WrappedTargetException,
++ virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, const ::com::sun::star::uno::Any& aElement )
++ throw(::com::sun::star::lang::IllegalArgumentException,
++ ::com::sun::star::container::NoSuchElementException,
++ ::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
// Methods XNameContainer
virtual void SAL_CALL insertByName( const ::rtl::OUString& aName, const ::com::sun::star::uno::Any& aElement )
-- throw(::com::sun::star::lang::IllegalArgumentException,
-- ::com::sun::star::container::ElementExistException,
-- ::com::sun::star::lang::WrappedTargetException,
++ throw(::com::sun::star::lang::IllegalArgumentException,
++ ::com::sun::star::container::ElementExistException,
++ ::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
-- virtual void SAL_CALL removeByName( const ::rtl::OUString& Name )
-- throw(::com::sun::star::container::NoSuchElementException,
-- ::com::sun::star::lang::WrappedTargetException,
++ virtual void SAL_CALL removeByName( const ::rtl::OUString& Name )
++ throw(::com::sun::star::container::NoSuchElementException,
++ ::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
// Methods XContainer
-- virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference<
-- ::com::sun::star::container::XContainerListener >& xListener )
++ virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference<
++ ::com::sun::star::container::XContainerListener >& xListener )
throw (::com::sun::star::uno::RuntimeException);
-- virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference<
-- ::com::sun::star::container::XContainerListener >& xListener )
++ virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference<
++ ::com::sun::star::container::XContainerListener >& xListener )
throw (::com::sun::star::uno::RuntimeException);
};
@@@ -256,21 -259,21 +259,21 @@@ protected
void implStoreLibrary( SfxLibrary* pLib,
const ::rtl::OUString& aName,
const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
-- const ::rtl::OUString& aTargetURL,
++ const ::rtl::OUString& aTargetURL,
const ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess > xToUseSFI,
const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& xHandler );
-- void implStoreLibraryIndexFile( SfxLibrary* pLib, const ::xmlscript::LibDescriptor& rLib,
++ void implStoreLibraryIndexFile( SfxLibrary* pLib, const ::xmlscript::LibDescriptor& rLib,
const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage );
// New variant for library export
-- void implStoreLibraryIndexFile( SfxLibrary* pLib, const ::xmlscript::LibDescriptor& rLib,
++ void implStoreLibraryIndexFile( SfxLibrary* pLib, const ::xmlscript::LibDescriptor& rLib,
const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
-- const ::rtl::OUString& aTargetURL,
++ const ::rtl::OUString& aTargetURL,
const ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess > xToUseSFI );
sal_Bool implLoadLibraryIndexFile( SfxLibrary* pLib,
-- ::xmlscript::LibDescriptor& rLib,
++ ::xmlscript::LibDescriptor& rLib,
const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
const ::rtl::OUString& aIndexFileName );
@@@ -279,45 -282,45 +282,45 @@@
// Methods to distinguish between deffirent library types
virtual SfxLibrary* SAL_CALL implCreateLibrary( const ::rtl::OUString& aName ) = 0;
virtual SfxLibrary* SAL_CALL implCreateLibraryLink
-- ( const ::rtl::OUString& aName, const ::rtl::OUString& aLibInfoFileURL,
++ ( const ::rtl::OUString& aName, const ::rtl::OUString& aLibInfoFileURL,
const ::rtl::OUString& StorageURL, sal_Bool ReadOnly ) = 0;
virtual ::com::sun::star::uno::Any SAL_CALL createEmptyLibraryElement( void ) = 0;
virtual bool SAL_CALL isLibraryElementValid( ::com::sun::star::uno::Any aElement ) const = 0;
virtual void SAL_CALL writeLibraryElement
-- (
++ (
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer>& xLibrary,
-- const ::rtl::OUString& aElementName,
-- const ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream >& xOutput
++ const ::rtl::OUString& aElementName,
++ const ::com::sun::star::uno::Reference< ::com::sun::star::io::XOutputStream >& xOutput
)
throw(::com::sun::star::uno::Exception) = 0;
virtual ::com::sun::star::uno::Any SAL_CALL importLibraryElement
-- (
++ (
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer>& xLibrary,
-- const ::rtl::OUString& aElementName,
++ const ::rtl::OUString& aElementName,
const ::rtl::OUString& aFile,
const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& xElementStream ) = 0;
virtual void SAL_CALL importFromOldStorage( const ::rtl::OUString& aFile ) = 0;
// Password encryption
-- virtual sal_Bool implStorePasswordLibrary( SfxLibrary* pLib, const ::rtl::OUString& aName,
++ virtual sal_Bool implStorePasswordLibrary( SfxLibrary* pLib, const ::rtl::OUString& aName,
const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage, const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& Handler );
// New variant for library export
-- virtual sal_Bool implStorePasswordLibrary( SfxLibrary* pLib, const ::rtl::OUString& aName,
++ virtual sal_Bool implStorePasswordLibrary( SfxLibrary* pLib, const ::rtl::OUString& aName,
const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& xStorage,
-- const ::rtl::OUString& aTargetURL,
++ const ::rtl::OUString& aTargetURL,
const ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XSimpleFileAccess > xToUseSFI, const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& Handler );
virtual sal_Bool implLoadPasswordLibrary( SfxLibrary* pLib, const ::rtl::OUString& Name,
-- sal_Bool bVerifyPasswordOnly=false )
-- throw(::com::sun::star::lang::WrappedTargetException,
++ sal_Bool bVerifyPasswordOnly=false )
++ throw(::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
virtual void onNewRootStorage() = 0;
-- // #56666, Creates another library container
++ // #56666, Creates another library container
// instance of the same derived class
virtual SfxLibraryContainer* createInstanceImpl( void ) = 0;
@@@ -337,8 -340,8 +340,8 @@@
// Handle maLibInfoFileURL and maStorageURL correctly
void checkStorageURL
(
-- const ::rtl::OUString& aSourceURL,
-- ::rtl::OUString& aLibInfoFileURL,
++ const ::rtl::OUString& aSourceURL,
++ ::rtl::OUString& aLibInfoFileURL,
::rtl::OUString& aStorageURL,
::rtl::OUString& aUnexpandedStorageURL
);
@@@ -368,11 -371,11 +371,11 @@@ private
public:
SfxLibraryContainer( void );
~SfxLibraryContainer();
--
++
// Interface to set the BasicManager (Hack for password implementation)
void setBasicManager( BasicManager* pBasMgr )
-- {
++ {
mpBasMgr = pBasMgr;
}
@@@ -384,17 -387,17 +387,17 @@@
// Methods XElementAccess
virtual ::com::sun::star::uno::Type SAL_CALL getElementType()
throw(::com::sun::star::uno::RuntimeException);
-- virtual sal_Bool SAL_CALL hasElements()
++ virtual sal_Bool SAL_CALL hasElements()
throw(::com::sun::star::uno::RuntimeException);
// Methods XNameAccess
-- virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName )
-- throw(::com::sun::star::container::NoSuchElementException,
-- ::com::sun::star::lang::WrappedTargetException,
++ virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName )
++ throw(::com::sun::star::container::NoSuchElementException,
++ ::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames()
throw(::com::sun::star::uno::RuntimeException);
-- virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName )
++ virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName )
throw(::com::sun::star::uno::RuntimeException);
// Members XStorageBasedLibraryContainer
@@@ -414,90 -417,90 +417,90 @@@
virtual void SAL_CALL storeLibraries( ) throw (::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
//Methods XLibraryContainer3
-- virtual ::rtl::OUString SAL_CALL getOriginalLibraryLinkURL( const ::rtl::OUString& Name )
-- throw (::com::sun::star::lang::IllegalArgumentException,
-- ::com::sun::star::container::NoSuchElementException,
++ virtual ::rtl::OUString SAL_CALL getOriginalLibraryLinkURL( const ::rtl::OUString& Name )
++ throw (::com::sun::star::lang::IllegalArgumentException,
++ ::com::sun::star::container::NoSuchElementException,
::com::sun::star::uno::RuntimeException);
--
++
// Methods XLibraryContainer2 (base of XPersistentLibraryContainer)
-- virtual sal_Bool SAL_CALL isLibraryLink( const ::rtl::OUString& Name )
-- throw (::com::sun::star::container::NoSuchElementException,
++ virtual sal_Bool SAL_CALL isLibraryLink( const ::rtl::OUString& Name )
++ throw (::com::sun::star::container::NoSuchElementException,
::com::sun::star::uno::RuntimeException);
-- virtual ::rtl::OUString SAL_CALL getLibraryLinkURL( const ::rtl::OUString& Name )
-- throw (::com::sun::star::lang::IllegalArgumentException,
-- ::com::sun::star::container::NoSuchElementException,
++ virtual ::rtl::OUString SAL_CALL getLibraryLinkURL( const ::rtl::OUString& Name )
++ throw (::com::sun::star::lang::IllegalArgumentException,
++ ::com::sun::star::container::NoSuchElementException,
::com::sun::star::uno::RuntimeException);
-- virtual sal_Bool SAL_CALL isLibraryReadOnly( const ::rtl::OUString& Name )
-- throw (::com::sun::star::container::NoSuchElementException,
++ virtual sal_Bool SAL_CALL isLibraryReadOnly( const ::rtl::OUString& Name )
++ throw (::com::sun::star::container::NoSuchElementException,
::com::sun::star::uno::RuntimeException);
-- virtual void SAL_CALL setLibraryReadOnly( const ::rtl::OUString& Name, sal_Bool bReadOnly )
-- throw (::com::sun::star::container::NoSuchElementException,
++ virtual void SAL_CALL setLibraryReadOnly( const ::rtl::OUString& Name, sal_Bool bReadOnly )
++ throw (::com::sun::star::container::NoSuchElementException,
::com::sun::star::uno::RuntimeException);
-- virtual void SAL_CALL renameLibrary( const ::rtl::OUString& Name, const ::rtl::OUString& NewName )
-- throw (::com::sun::star::container::NoSuchElementException,
-- ::com::sun::star::container::ElementExistException,
++ virtual void SAL_CALL renameLibrary( const ::rtl::OUString& Name, const ::rtl::OUString& NewName )
++ throw (::com::sun::star::container::NoSuchElementException,
++ ::com::sun::star::container::ElementExistException,
::com::sun::star::uno::RuntimeException);
// Methods XLibraryContainer (base of XLibraryContainer2)
-- virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > SAL_CALL
-- createLibrary( const ::rtl::OUString& Name )
-- throw(::com::sun::star::lang::IllegalArgumentException,
-- ::com::sun::star::container::ElementExistException,
++ virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > SAL_CALL
++ createLibrary( const ::rtl::OUString& Name )
++ throw(::com::sun::star::lang::IllegalArgumentException,
++ ::com::sun::star::container::ElementExistException,
::com::sun::star::uno::RuntimeException);
virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL createLibraryLink
-- ( const ::rtl::OUString& Name, const ::rtl::OUString& StorageURL, sal_Bool ReadOnly )
-- throw(::com::sun::star::lang::IllegalArgumentException,
-- ::com::sun::star::container::ElementExistException,
++ ( const ::rtl::OUString& Name, const ::rtl::OUString& StorageURL, sal_Bool ReadOnly )
++ throw(::com::sun::star::lang::IllegalArgumentException,
++ ::com::sun::star::container::ElementExistException,
::com::sun::star::uno::RuntimeException);
-- virtual void SAL_CALL removeLibrary( const ::rtl::OUString& Name )
-- throw(::com::sun::star::container::NoSuchElementException,
-- ::com::sun::star::lang::WrappedTargetException,
++ virtual void SAL_CALL removeLibrary( const ::rtl::OUString& Name )
++ throw(::com::sun::star::container::NoSuchElementException,
++ ::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
-- virtual sal_Bool SAL_CALL isLibraryLoaded( const ::rtl::OUString& Name )
-- throw(::com::sun::star::container::NoSuchElementException,
++ virtual sal_Bool SAL_CALL isLibraryLoaded( const ::rtl::OUString& Name )
++ throw(::com::sun::star::container::NoSuchElementException,
::com::sun::star::uno::RuntimeException);
-- virtual void SAL_CALL loadLibrary( const ::rtl::OUString& Name )
-- throw(::com::sun::star::container::NoSuchElementException,
-- ::com::sun::star::lang::WrappedTargetException,
++ virtual void SAL_CALL loadLibrary( const ::rtl::OUString& Name )
++ throw(::com::sun::star::container::NoSuchElementException,
++ ::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
// Methods XInitialization
-- virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence<
-- ::com::sun::star::uno::Any >& aArguments )
-- throw (::com::sun::star::uno::Exception,
++ virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence<
++ ::com::sun::star::uno::Any >& aArguments )
++ throw (::com::sun::star::uno::Exception,
::com::sun::star::uno::RuntimeException);
// Methods XLibraryContainerPassword
-- virtual sal_Bool SAL_CALL isLibraryPasswordProtected( const ::rtl::OUString& Name )
-- throw (::com::sun::star::container::NoSuchElementException,
++ virtual sal_Bool SAL_CALL isLibraryPasswordProtected( const ::rtl::OUString& Name )
++ throw (::com::sun::star::container::NoSuchElementException,
::com::sun::star::uno::RuntimeException);
-- virtual sal_Bool SAL_CALL isLibraryPasswordVerified( const ::rtl::OUString& Name )
-- throw (::com::sun::star::lang::IllegalArgumentException,
-- ::com::sun::star::container::NoSuchElementException,
++ virtual sal_Bool SAL_CALL isLibraryPasswordVerified( const ::rtl::OUString& Name )
++ throw (::com::sun::star::lang::IllegalArgumentException,
++ ::com::sun::star::container::NoSuchElementException,
::com::sun::star::uno::RuntimeException);
-- virtual sal_Bool SAL_CALL verifyLibraryPassword( const ::rtl::OUString& Name, const ::rtl::OUString& Password )
-- throw (::com::sun::star::lang::IllegalArgumentException,
-- ::com::sun::star::container::NoSuchElementException,
++ virtual sal_Bool SAL_CALL verifyLibraryPassword( const ::rtl::OUString& Name, const ::rtl::OUString& Password )
++ throw (::com::sun::star::lang::IllegalArgumentException,
++ ::com::sun::star::container::NoSuchElementException,
::com::sun::star::uno::RuntimeException);
-- virtual void SAL_CALL changeLibraryPassword( const ::rtl::OUString& Name,
-- const ::rtl::OUString& OldPassword, const ::rtl::OUString& NewPassword )
-- throw (::com::sun::star::lang::IllegalArgumentException,
-- ::com::sun::star::container::NoSuchElementException,
++ virtual void SAL_CALL changeLibraryPassword( const ::rtl::OUString& Name,
++ const ::rtl::OUString& OldPassword, const ::rtl::OUString& NewPassword )
++ throw (::com::sun::star::lang::IllegalArgumentException,
++ ::com::sun::star::container::NoSuchElementException,
::com::sun::star::uno::RuntimeException);
// Methods XContainer
-- virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference<
-- ::com::sun::star::container::XContainerListener >& xListener )
++ virtual void SAL_CALL addContainerListener( const ::com::sun::star::uno::Reference<
++ ::com::sun::star::container::XContainerListener >& xListener )
throw (::com::sun::star::uno::RuntimeException);
-- virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference<
-- ::com::sun::star::container::XContainerListener >& xListener )
++ virtual void SAL_CALL removeContainerListener( const ::com::sun::star::uno::Reference<
++ ::com::sun::star::container::XContainerListener >& xListener )
throw (::com::sun::star::uno::RuntimeException);
// Methods XLibraryContainerExport
-- virtual void SAL_CALL exportLibrary( const ::rtl::OUString& Name, const ::rtl::OUString& URL,
-- const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& Handler )
-- throw (::com::sun::star::uno::Exception,
-- ::com::sun::star::container::NoSuchElementException,
++ virtual void SAL_CALL exportLibrary( const ::rtl::OUString& Name, const ::rtl::OUString& URL,
++ const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& Handler )
++ throw (::com::sun::star::uno::Exception,
++ ::com::sun::star::container::NoSuchElementException,
::com::sun::star::uno::RuntimeException);
// Methods XServiceInfo
@@@ -559,7 -562,7 +562,7 @@@ private
::rtl::OUString maStorageURL;
::rtl::OUString maUnexpandedStorageURL;
::rtl::OUString maOrignialStorageURL;
--
++
sal_Bool mbLink;
sal_Bool mbReadOnly;
sal_Bool mbReadOnlyLink;
@@@ -623,51 -626,51 +626,51 @@@ public
virtual void SAL_CALL release() throw() { OComponentHelper::release(); }
// Methods XElementAccess
-- virtual ::com::sun::star::uno::Type SAL_CALL getElementType( )
++ virtual ::com::sun::star::uno::Type SAL_CALL getElementType( )
throw(::com::sun::star::uno::RuntimeException);
-- virtual sal_Bool SAL_CALL hasElements( )
++ virtual sal_Bool SAL_CALL hasElements( )
throw(::com::sun::star::uno::RuntimeException);
// Methods XNameAccess
-- virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName )
-- throw(::com::sun::star::container::NoSuchElementException,
-- ::com::sun::star::lang::WrappedTargetException,
++ virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName )
++ throw(::com::sun::star::container::NoSuchElementException,
++ ::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
-- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames( )
++ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames( )
throw(::com::sun::star::uno::RuntimeException);
-- virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName )
++ virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName )
throw(::com::sun::star::uno::RuntimeException);
// Methods XNameReplace
-- virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, const ::com::sun::star::uno::Any& aElement )
-- throw(::com::sun::star::lang::IllegalArgumentException,
-- ::com::sun::star::container::NoSuchElementException,
-- ::com::sun::star::lang::WrappedTargetException,
++ virtual void SAL_CALL replaceByName( const ::rtl::OUString& aName, const ::com::sun::star::uno::Any& aElement )
++ throw(::com::sun::star::lang::IllegalArgumentException,
++ ::com::sun::star::container::NoSuchElementException,
++ ::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
// Methods XNameContainer
virtual void SAL_CALL insertByName( const ::rtl::OUString& aName, const ::com::sun::star::uno::Any& aElement )
-- throw(::com::sun::star::lang::IllegalArgumentException,
-- ::com::sun::star::container::ElementExistException,
-- ::com::sun::star::lang::WrappedTargetException,
++ throw(::com::sun::star::lang::IllegalArgumentException,
++ ::com::sun::star::container::ElementExistException,
++ ::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
-- virtual void SAL_CALL removeByName( const ::rtl::OUString& Name )
-- throw(::com::sun::star::container::NoSuchElementException,
-- ::com::sun::star::lang::WrappedTargetException,
++ virtual void SAL_CALL removeByName( const ::rtl::OUString& Name )
++ throw(::com::sun::star::container::NoSuchElementException,
++ ::com::sun::star::lang::WrappedTargetException,
::com::sun::star::uno::RuntimeException);
// XTypeProvider
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list