diff options
author | Sascha Ballach <sab@openoffice.org> | 2001-07-23 14:24:06 +0000 |
---|---|---|
committer | Sascha Ballach <sab@openoffice.org> | 2001-07-23 14:24:06 +0000 |
commit | 94898a352675b3bbb4678617c8d946a208058cc7 (patch) | |
tree | 3ee2cea3c9caada976debabe554067111c280d9f /sc/source | |
parent | 42d343219bd4b78b0e01fb7d621a10b641362ab2 (diff) |
#80365#; make it possible to load charts only if needed
Diffstat (limited to 'sc/source')
-rw-r--r-- | sc/source/filter/xml/XMLStylesImportHelper.cxx | 14 | ||||
-rw-r--r-- | sc/source/filter/xml/XMLTableShapeImportHelper.cxx | 39 | ||||
-rw-r--r-- | sc/source/filter/xml/XMLTableShapeImportHelper.hxx | 5 | ||||
-rw-r--r-- | sc/source/filter/xml/XMLTableShapeResizer.cxx | 52 | ||||
-rw-r--r-- | sc/source/filter/xml/XMLTableShapeResizer.hxx | 20 | ||||
-rw-r--r-- | sc/source/filter/xml/xmlexprt.cxx | 47 | ||||
-rw-r--r-- | sc/source/filter/xml/xmlexprt.hxx | 6 | ||||
-rw-r--r-- | sc/source/filter/xml/xmlsubti.cxx | 13 | ||||
-rw-r--r-- | sc/source/filter/xml/xmlsubti.hxx | 7 |
9 files changed, 154 insertions, 49 deletions
diff --git a/sc/source/filter/xml/XMLStylesImportHelper.cxx b/sc/source/filter/xml/XMLStylesImportHelper.cxx index 4d7c9eaf059d..07f772cba16d 100644 --- a/sc/source/filter/xml/XMLStylesImportHelper.cxx +++ b/sc/source/filter/xml/XMLStylesImportHelper.cxx @@ -2,9 +2,9 @@ * * $RCSfile: XMLStylesImportHelper.cxx,v $ * - * $Revision: 1.8 $ + * $Revision: 1.9 $ * - * last change: $Author: sab $ $Date: 2001-07-06 11:36:47 $ + * last change: $Author: sab $ $Date: 2001-07-23 15:24:06 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -392,18 +392,18 @@ void ScMyStylesImportHelper::AddDefaultRange(const ScRange& rRange) DBG_ASSERT(aRowDefaultStyle != aCellStyles.end(), "no row default style") if (!aRowDefaultStyle->sStyleName.getLength()) { - sal_Int32 nStartCol(rRange.aStart.Col()); - sal_Int32 nEndCol(rRange.aEnd.Col()); + sal_uInt32 nStartCol(rRange.aStart.Col()); + sal_uInt32 nEndCol(rRange.aEnd.Col()); ScMyStylesSet::iterator aPrevItr = aColDefaultStyles[nStartCol]; - DBG_ASSERT(aColDefaultStyles.size() > static_cast<sal_uInt32>(nEndCol), "to much columns"); - for (sal_Int32 i = nStartCol + 1; (i <= nEndCol) && (i < aColDefaultStyles.size()); i++) + DBG_ASSERT(aColDefaultStyles.size() > nEndCol, "to much columns"); + for (sal_uInt32 i = nStartCol + 1; (i <= nEndCol) && (i < aColDefaultStyles.size()); i++) { if (aPrevItr != aColDefaultStyles[i]) { DBG_ASSERT(aPrevItr != aCellStyles.end(), "no column default style") ScRange aRange(rRange); aRange.aStart.SetCol(static_cast<sal_uInt16>(nStartCol)); - aRange.aEnd.SetCol(i - 1); + aRange.aEnd.SetCol(static_cast<sal_uInt16>(i - 1)); sPrevStyleName = aPrevItr->sStyleName; AddSingleRange(aRange); nStartCol = i; diff --git a/sc/source/filter/xml/XMLTableShapeImportHelper.cxx b/sc/source/filter/xml/XMLTableShapeImportHelper.cxx index d059cb996fee..c067afe6fc89 100644 --- a/sc/source/filter/xml/XMLTableShapeImportHelper.cxx +++ b/sc/source/filter/xml/XMLTableShapeImportHelper.cxx @@ -2,9 +2,9 @@ * * $RCSfile: XMLTableShapeImportHelper.cxx,v $ * - * $Revision: 1.14 $ + * $Revision: 1.15 $ * - * last change: $Author: sab $ $Date: 2001-06-27 08:08:14 $ + * last change: $Author: sab $ $Date: 2001-07-23 15:24:06 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -66,9 +66,6 @@ #ifndef SC_XMLIMPRT_HXX #include "xmlimprt.hxx" #endif -#ifndef SC_DOCUMENT_HXX -#include "document.hxx" -#endif #ifndef _SC_XMLCONVERTER_HXX #include "XMLConverter.hxx" #endif @@ -82,12 +79,12 @@ #ifndef _XMLOFF_XMLNMSPE_HXX #include <xmloff/xmlnmspe.hxx> #endif -#ifndef _XMLOFF_XMLKYWD_HXX -#include <xmloff/xmlkywd.hxx> -#endif #ifndef _XMLOFF_XMLUCONV_HXX #include <xmloff/xmluconv.hxx> #endif +#ifndef _XMLOFF_XMLTOKEN_HXX +#include <xmloff/xmltoken.hxx> +#endif #ifndef _SVX_UNOSHAPE_HXX #include <svx/unoshape.hxx> @@ -103,6 +100,7 @@ #define SC_LAYERID "LayerID" using namespace ::com::sun::star; +using namespace xmloff::token; XMLTableShapeImportHelper::XMLTableShapeImportHelper( ScXMLImport& rImp, SvXMLImportPropertyMapper *pImpMapper ) : @@ -128,6 +126,8 @@ void XMLTableShapeImportHelper::finishShape( sal_Int32 nEndY(-1); sal_Int16 nAttrCount = xAttrList.is() ? xAttrList->getLength() : 0; table::CellAddress aEndCell; + rtl::OUString sRangeList; + rtl::OUString sOleName; for( sal_Int16 i=0; i < nAttrCount; i++ ) { const rtl::OUString& rAttrName = xAttrList->getNameByIndex( i ); @@ -137,21 +137,28 @@ void XMLTableShapeImportHelper::finishShape( sal_uInt16 nPrefix = static_cast<ScXMLImport&>(mrImporter).GetNamespaceMap().GetKeyByAttrName( rAttrName, &aLocalName ); - if(nPrefix = XML_NAMESPACE_TABLE) + if(nPrefix == XML_NAMESPACE_TABLE) { - if (aLocalName.compareToAscii(sXML_end_cell_address) == 0) + if (IsXMLToken(aLocalName, XML_END_CELL_ADDRESS)) { sal_Int32 nOffset(0); ScXMLConverter::GetAddressFromString(aEndCell, rValue, static_cast<ScXMLImport&>(mrImporter).GetDocument(), nOffset); } - else if (aLocalName.compareToAscii(sXML_end_x) == 0) + else if (IsXMLToken(aLocalName, XML_END_X)) static_cast<ScXMLImport&>(mrImporter).GetMM100UnitConverter().convertMeasure(nEndX, rValue); - else if (aLocalName.compareToAscii(sXML_end_y) == 0) + else if (IsXMLToken(aLocalName, XML_END_Y)) static_cast<ScXMLImport&>(mrImporter).GetMM100UnitConverter().convertMeasure(nEndY, rValue); - else if (aLocalName.compareToAscii(sXML_table_background) == 0) - if (rValue.compareToAscii(sXML_true) == 0) + else if (IsXMLToken(aLocalName, XML_TABLE_BACKGROUND)) + if (IsXMLToken(rValue, XML_TRUE)) bBackground = sal_True; } + else if(nPrefix == XML_NAMESPACE_DRAW) + { + if (IsXMLToken(aLocalName, XML_NOTIFY_ON_UPDATE_OF_RANGES)) + sRangeList = rValue; + else if (IsXMLToken(aLocalName, XML_NAME)) + sOleName = rValue; + } } if (bBackground) { @@ -167,8 +174,8 @@ void XMLTableShapeImportHelper::finishShape( if (!bOnTable) { - static_cast<ScXMLImport&>(mrImporter).GetTables().AddShape(rShape, aStartCell, aEndCell, - nEndX, nEndY); + static_cast<ScXMLImport&>(mrImporter).GetTables().AddShape(rShape, + sOleName, sRangeList, aStartCell, aEndCell, nEndX, nEndY); SvxShape* pShapeImp = SvxShape::getImplementation(rShape); if (pShapeImp) { diff --git a/sc/source/filter/xml/XMLTableShapeImportHelper.hxx b/sc/source/filter/xml/XMLTableShapeImportHelper.hxx index 9eacedbff4e8..070a893cfe29 100644 --- a/sc/source/filter/xml/XMLTableShapeImportHelper.hxx +++ b/sc/source/filter/xml/XMLTableShapeImportHelper.hxx @@ -2,9 +2,9 @@ * * $RCSfile: XMLTableShapeImportHelper.hxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: sab $ $Date: 2001-02-28 08:19:33 $ + * last change: $Author: sab $ $Date: 2001-07-23 15:24:06 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -75,6 +75,7 @@ class XMLTableShapeImportHelper : public XMLShapeImportHelper { ::com::sun::star::table::CellAddress aStartCell; sal_Bool bOnTable : 1; + public: XMLTableShapeImportHelper( ScXMLImport& rImp, SvXMLImportPropertyMapper *pImpMapper=0 ); diff --git a/sc/source/filter/xml/XMLTableShapeResizer.cxx b/sc/source/filter/xml/XMLTableShapeResizer.cxx index c69630bbb6f5..710343293f57 100644 --- a/sc/source/filter/xml/XMLTableShapeResizer.cxx +++ b/sc/source/filter/xml/XMLTableShapeResizer.cxx @@ -2,9 +2,9 @@ * * $RCSfile: XMLTableShapeResizer.cxx,v $ * - * $Revision: 1.10 $ + * $Revision: 1.11 $ * - * last change: $Author: sab $ $Date: 2001-07-06 11:24:03 $ + * last change: $Author: sab $ $Date: 2001-07-23 15:24:06 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -71,6 +71,12 @@ #ifndef SC_XMLIMPRT_HXX #include "xmlimprt.hxx" #endif +#ifndef SC_CHARTLIS_HXX +#include "chartlis.hxx" +#endif +#ifndef _SC_XMLCONVERTER_HXX +#include "XMLConverter.hxx" +#endif #ifndef _TOOLS_DEBUG_HXX #include <tools/debug.hxx> @@ -90,7 +96,8 @@ using namespace ::com::sun::star; ScMyShapeResizer::ScMyShapeResizer(ScXMLImport& rTempImport) : aShapes(), - rImport(rTempImport) + rImport(rTempImport), + pCollection(NULL) { } @@ -98,12 +105,43 @@ ScMyShapeResizer::~ScMyShapeResizer() { } +sal_Bool ScMyShapeResizer::IsOLE(uno::Reference< drawing::XShape >& rShape) const +{ + return rShape->getShapeType().equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.OLE2Shape"))); +} + +void ScMyShapeResizer::CreateChartListener(ScDocument* pDoc, + const rtl::OUString& rName, + const rtl::OUString& rRangeList) +{ + if (pDoc && rRangeList.getLength()) + { + if (!pCollection) + pCollection = pDoc->GetChartListenerCollection();//new ScChartListenerCollection(pDoc); + if (pCollection) + { + ScRangeListRef aRangeListRef = new ScRangeList(); + ScXMLConverter::GetRangeListFromString(*aRangeListRef, rRangeList, pDoc); + if (aRangeListRef->Count()) + { + ScChartListener* pCL = new ScChartListener( + rName, pDoc, aRangeListRef ); + pCollection->Insert( pCL ); + pCL->StartListeningTo(); + } + } + } +} + void ScMyShapeResizer::AddShape(uno::Reference <drawing::XShape>& rShape, + const rtl::OUString& rName, const rtl::OUString& rRangeList, table::CellAddress& rStartAddress, table::CellAddress& rEndAddress, sal_Int32 nEndX, sal_Int32 nEndY) { ScMyToResizeShape aShape; aShape.xShape = rShape; + aShape.sName = rName; + aShape.sRangeList = rRangeList; aShape.aEndCell = rEndAddress; aShape.aStartCell = rStartAddress; aShape.nEndY = nEndY; @@ -130,6 +168,7 @@ void ScMyShapeResizer::ResizeShapes() uno::Reference<container::XIndexAccess> xIndex( xSheets, uno::UNO_QUERY ); if ( xIndex.is() ) { + ScDocument* pDoc = rImport.GetDocument(); while (aItr != aShapes.end()) { if ((nOldSheet != aItr->aEndCell.Sheet) || !xSheet.is()) @@ -187,8 +226,7 @@ void ScMyShapeResizer::ResizeShapes() } else { - DBG_ASSERT(aItr->xShape->getShapeType().equals( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.CaptionShape"))), + DBG_ASSERT(aItr->xShape->getShapeType().equals(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.drawing.CaptionShape"))), "no end address of this shape"); Rectangle aRec = rImport.GetDocument()->GetMMRect(static_cast<USHORT>(aItr->aStartCell.Column), static_cast<USHORT>(aItr->aStartCell.Row), static_cast<USHORT>(aItr->aStartCell.Column), static_cast<USHORT>(aItr->aStartCell.Row), aItr->aStartCell.Sheet); @@ -206,8 +244,12 @@ void ScMyShapeResizer::ResizeShapes() } else DBG_ERROR("something wents wrong"); + if (IsOLE(aItr->xShape)) + CreateChartListener(pDoc, aItr->sName, aItr->sRangeList); aItr = aShapes.erase(aItr); } +// if (pCollection) +// pDoc->SetChartListenerCollection(pCollection); } } } diff --git a/sc/source/filter/xml/XMLTableShapeResizer.hxx b/sc/source/filter/xml/XMLTableShapeResizer.hxx index 553acbb2a3ab..9e9ccdaaf48a 100644 --- a/sc/source/filter/xml/XMLTableShapeResizer.hxx +++ b/sc/source/filter/xml/XMLTableShapeResizer.hxx @@ -2,9 +2,9 @@ * * $RCSfile: XMLTableShapeResizer.hxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: sab $ $Date: 2001-06-01 10:09:54 $ + * last change: $Author: sab $ $Date: 2001-07-23 15:24:06 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -76,10 +76,14 @@ #endif class ScXMLImport; +class ScChartListenerCollection; +class ScDocument; struct ScMyToResizeShape { com::sun::star::uno::Reference <com::sun::star::drawing::XShape> xShape; + rtl::OUString sName; + rtl::OUString sRangeList; com::sun::star::table::CellAddress aEndCell; com::sun::star::table::CellAddress aStartCell; sal_Int32 nEndX; @@ -90,13 +94,21 @@ typedef std::vector<ScMyToResizeShape> ScMyToResizeShapes; class ScMyShapeResizer { - ScXMLImport& rImport; - ScMyToResizeShapes aShapes; + ScXMLImport& rImport; + ScMyToResizeShapes aShapes; + ScChartListenerCollection* pCollection; + + sal_Bool IsOLE(com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& rShape) const; + void CreateChartListener(ScDocument* pDoc, + const rtl::OUString& rName, + const rtl::OUString& rRangeList); public: ScMyShapeResizer(ScXMLImport& rImport); ~ScMyShapeResizer(); void AddShape(com::sun::star::uno::Reference <com::sun::star::drawing::XShape>& rShape, + const rtl::OUString& rName, + const rtl::OUString& rRangeList, com::sun::star::table::CellAddress& rStartAddress, com::sun::star::table::CellAddress& rEndAddress, sal_Int32 nEndX, sal_Int32 nEndY); diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx index ceefc2db1391..85b86dbec78f 100644 --- a/sc/source/filter/xml/xmlexprt.cxx +++ b/sc/source/filter/xml/xmlexprt.cxx @@ -2,9 +2,9 @@ * * $RCSfile: xmlexprt.cxx,v $ * - * $Revision: 1.125 $ + * $Revision: 1.126 $ * - * last change: $Author: sab $ $Date: 2001-07-19 09:38:08 $ + * last change: $Author: sab $ $Date: 2001-07-23 15:24:06 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -136,6 +136,9 @@ #ifndef SC_DOCUNO_HXX #include "docuno.hxx" #endif +#ifndef SC_CHARTLIS_HXX +#include "chartlis.hxx" +#endif #ifndef _XMLOFF_XMLKYWD_HXX #include <xmloff/xmlkywd.hxx> @@ -433,7 +436,8 @@ ScXMLExport::ScXMLExport(const sal_uInt16 nExportFlag) : bHasRowHeader(sal_False), bRowHeaderOpen(sal_False), aXShapesVec(), - sLayerID(RTL_CONSTASCII_USTRINGPARAM( SC_LAYERID )) + sLayerID(RTL_CONSTASCII_USTRINGPARAM( SC_LAYERID )), + pChartListener(NULL) { if (getExportFlags() & EXPORT_CONTENT) { @@ -496,6 +500,8 @@ ScXMLExport::~ScXMLExport() delete pDetectiveObjContainer; if (pChangeTrackingExportHelper) delete pChangeTrackingExportHelper; + if (pChartListener) + delete pChartListener; } void SAL_CALL ScXMLExport::setSourceDocument( const uno::Reference<lang::XComponent>& xComponent ) @@ -2319,12 +2325,43 @@ void ScXMLExport::ExportShape(const uno::Reference < drawing::XShape >& xShape, uno::Reference < container::XNamed > xNamed (xShape, uno::UNO_QUERY ); rtl::OUString sOUName ( xNamed->getName() ); String sName(sOUName); - SchMemChart* pMemChart = pDoc->FindChartData(sName); + if (!pChartListener) + { + String aEmptyString; + ScRange aRange; + pChartListener = new ScChartListener ( aEmptyString, GetDocument(), aRange ); + } + if(pChartListener) + { + USHORT nIndex; + pChartListener->SetString( sName ); + if ( GetDocument()->GetChartListenerCollection()->Search( pChartListener, nIndex ) ) + { + const ScRangeListRef& rRangeListRef = ((ScChartListener*) + (GetDocument()->GetChartListenerCollection()-> + At( nIndex )))->GetRangeList(); + if (rRangeListRef.Is()) + { + bMemChart = sal_True; + rtl::OUString sRanges; + ScXMLConverter::GetStringFromRangeList(sRanges, rRangeListRef, GetDocument()); + if (sRanges.getLength()) + AddAttribute(XML_NAMESPACE_DRAW, XML_NOTIFY_ON_UPDATE_OF_RANGES, sRanges); + GetShapeExport()->exportShape(xShape, SEF_EXPORT_NO_CHART_DATA | SEF_DEFAULT, pPoint); + } + } + else + DBG_ERROR("don't get the ChartListener for this Chart"); + } +/* SchMemChart* pMemChart = pDoc->FindChartData(sName); if (pMemChart && pMemChart->GetSeriesAddresses().getLength()) { bMemChart = sal_True; + rtl::OUString sRanges(pMemChart->getXMLStringForChartRange()); + if (sRanges.getLength()) + AddAttribute(XML_NAMESPACE_DRAW, XML_NOTIFY_ON_UPDATE_OF_RANGES, sRanges); GetShapeExport()->exportShape(xShape, SEF_EXPORT_NO_CHART_DATA | SEF_DEFAULT, pPoint); - } + }*/ } } } diff --git a/sc/source/filter/xml/xmlexprt.hxx b/sc/source/filter/xml/xmlexprt.hxx index 99da7eccfd27..d71881faf71f 100644 --- a/sc/source/filter/xml/xmlexprt.hxx +++ b/sc/source/filter/xml/xmlexprt.hxx @@ -2,9 +2,9 @@ * * $RCSfile: xmlexprt.hxx,v $ * - * $Revision: 1.62 $ + * $Revision: 1.63 $ * - * last change: $Author: sab $ $Date: 2001-07-19 09:38:08 $ + * last change: $Author: sab $ $Date: 2001-07-23 15:24:06 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -101,6 +101,7 @@ class ScDocument; class ScMySharedData; class ScMyDefaultStyles; class XMLNumberFormatAttributesExportHelper; +class ScChartListener; typedef std::vector< com::sun::star::uno::Reference < com::sun::star::drawing::XShapes > > ScMyXShapesVec; @@ -133,6 +134,7 @@ class ScXMLExport : public SvXMLExport ScMyOpenCloseColumnRowGroup* pGroupColumns; ScMyOpenCloseColumnRowGroup* pGroupRows; ScMyDefaultStyles* pDefaults; + ScChartListener* pChartListener; ScMyMergedRangesContainer* pMergedRangesContainer; ScMyValidationsContainer* pValidationsContainer; diff --git a/sc/source/filter/xml/xmlsubti.cxx b/sc/source/filter/xml/xmlsubti.cxx index 23c3b13d5820..931d2fc2e2a7 100644 --- a/sc/source/filter/xml/xmlsubti.cxx +++ b/sc/source/filter/xml/xmlsubti.cxx @@ -2,9 +2,9 @@ * * $RCSfile: xmlsubti.cxx,v $ * - * $Revision: 1.25 $ + * $Revision: 1.26 $ * - * last change: $Author: sab $ $Date: 2001-07-06 11:39:27 $ + * last change: $Author: sab $ $Date: 2001-07-23 15:24:06 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -227,11 +227,11 @@ ScMyTables::ScMyTables(ScXMLImport& rTempImport) ScMyTables::~ScMyTables() { - ScMyTableData* aTable; + ScMyTableData* pTable; while (nTableCount > 0) { - aTable = aTableVec[nTableCount - 1]; - delete aTable; + pTable = aTableVec[nTableCount - 1]; + delete pTable; aTableVec[nTableCount - 1] = NULL; nTableCount--; } @@ -758,8 +758,9 @@ sal_Bool ScMyTables::HasXShapes() } void ScMyTables::AddShape(uno::Reference <drawing::XShape>& rShape, + const rtl::OUString& rName, const rtl::OUString& rRangeList, table::CellAddress& rStartAddress, table::CellAddress& rEndAddress, sal_Int32 nEndX, sal_Int32 nEndY) { - aResizeShapes.AddShape(rShape, rStartAddress, rEndAddress, nEndX, nEndY); + aResizeShapes.AddShape(rShape, rName, rRangeList, rStartAddress, rEndAddress, nEndX, nEndY); } diff --git a/sc/source/filter/xml/xmlsubti.hxx b/sc/source/filter/xml/xmlsubti.hxx index 7d0bec3727e6..89f92f27a957 100644 --- a/sc/source/filter/xml/xmlsubti.hxx +++ b/sc/source/filter/xml/xmlsubti.hxx @@ -2,9 +2,9 @@ * * $RCSfile: xmlsubti.hxx,v $ * - * $Revision: 1.17 $ + * $Revision: 1.18 $ * - * last change: $Author: sab $ $Date: 2001-06-01 10:09:55 $ + * last change: $Author: sab $ $Date: 2001-07-23 15:24:06 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -97,6 +97,7 @@ #endif class ScXMLImport; +class ScDocument; const nDefaultRowCount = 20; const nDefaultColCount = 20; @@ -209,6 +210,8 @@ public: sal_Bool HasDrawPage(); sal_Bool HasXShapes(); void AddShape(com::sun::star::uno::Reference <com::sun::star::drawing::XShape>& rShape, + const rtl::OUString& rName, + const rtl::OUString& rRangeList, com::sun::star::table::CellAddress& rStartAddress, com::sun::star::table::CellAddress& rEndAddress, sal_Int32 nEndX, sal_Int32 nEndY); |