summaryrefslogtreecommitdiff
path: root/sc/source/filter/oox/worksheethelper.cxx
diff options
context:
space:
mode:
authorMohammed Abdul Azeem <azeemmysore@gmail.com>2016-02-09 03:54:15 +0530
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-02-17 08:41:12 +0000
commit2c02986b76f26d6f09d5b1f9d209879bfa427ea1 (patch)
tree60cb199d609d1b8f5f36ddfdefcc25bdd1065556 /sc/source/filter/oox/worksheethelper.cxx
parente327587699ed9e071da68bf7b2a3eb62c34af135 (diff)
tdf#97654 - replaced UNO cell types in xlsx import with calc internal ones
All reference to CellAddress in ApiCellRangeList::getBaseAddress() is changed to ScAddress and its chain of changes has been made. Change-Id: I43d9eb8dc02c74640d9fac11a44429850f31ade1 Reviewed-on: https://gerrit.libreoffice.org/22222 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'sc/source/filter/oox/worksheethelper.cxx')
-rw-r--r--sc/source/filter/oox/worksheethelper.cxx70
1 files changed, 70 insertions, 0 deletions
diff --git a/sc/source/filter/oox/worksheethelper.cxx b/sc/source/filter/oox/worksheethelper.cxx
index 2c2dba1d0faf..7b86d8573e16 100644
--- a/sc/source/filter/oox/worksheethelper.cxx
+++ b/sc/source/filter/oox/worksheethelper.cxx
@@ -225,6 +225,7 @@ public:
/** Returns the XCell interface for the passed cell address. */
Reference< XCell > getCell( const CellAddress& rAddress ) const;
+ Reference< XCell > getCell( const ScAddress& rAddress ) const;
/** Returns the XCellRange interface for the passed cell range address. */
Reference< XCellRange > getCellRange( const CellRangeAddress& rRange ) const;
/** Returns the XSheetCellRanges interface for the passed cell range addresses. */
@@ -480,6 +481,19 @@ Reference< XCell > WorksheetGlobals::getCell( const CellAddress& rAddress ) cons
return xCell;
}
+Reference< XCell > WorksheetGlobals::getCell( const ScAddress& rAddress ) const
+{
+ Reference< XCell > xCell;
+ if( mxSheet.is() ) try
+ {
+ xCell = mxSheet->getCellByPosition( rAddress.Col(), rAddress.Row() );
+ }
+ catch( Exception& )
+ {
+ }
+ return xCell;
+}
+
Reference< XCellRange > WorksheetGlobals::getCellRange( const CellRangeAddress& rRange ) const
{
Reference< XCellRange > xRange;
@@ -1429,6 +1443,11 @@ Reference< XCell > WorksheetHelper::getCell( const CellAddress& rAddress ) const
return mrSheetGlob.getCell( rAddress );
}
+Reference< XCell > WorksheetHelper::getCell( const ScAddress& rAddress ) const
+{
+ return mrSheetGlob.getCell( rAddress );
+}
+
Reference< XCellRange > WorksheetHelper::getCellRange( const CellRangeAddress& rRange ) const
{
return mrSheetGlob.getCellRange( rRange );
@@ -1576,12 +1595,23 @@ void WorksheetHelper::putValue( const CellAddress& rAddress, double fValue )
getDocImport().setNumericCell(aAddress, fValue);
}
+void WorksheetHelper::putValue( const ScAddress& rAddress, double fValue )
+{
+ getDocImport().setNumericCell(rAddress, fValue);
+}
+
void WorksheetHelper::setCellFormulaValue(
const css::table::CellAddress& rAddress, const OUString& rValueStr, sal_Int32 nCellType )
{
getFormulaBuffer().setCellFormulaValue(rAddress, rValueStr, nCellType);
}
+void WorksheetHelper::setCellFormulaValue(
+ const ScAddress& rAddress, const OUString& rValueStr, sal_Int32 nCellType )
+{
+ getFormulaBuffer().setCellFormulaValue(rAddress, rValueStr, nCellType);
+}
+
void WorksheetHelper::putString( const CellAddress& rAddress, const OUString& rText )
{
ScAddress aAddress;
@@ -1590,6 +1620,12 @@ void WorksheetHelper::putString( const CellAddress& rAddress, const OUString& rT
getDocImport().setStringCell(aAddress, rText);
}
+void WorksheetHelper::putString( const ScAddress& rAddress, const OUString& rText )
+{
+ if ( !rText.isEmpty() )
+ getDocImport().setStringCell(rAddress, rText);
+}
+
void WorksheetHelper::putRichString( const CellAddress& rAddress, const RichString& rString, const oox::xls::Font* pFirstPortionFont )
{
ScEditEngineDefaulter& rEE = getEditEngine();
@@ -1600,6 +1636,14 @@ void WorksheetHelper::putRichString( const CellAddress& rAddress, const RichStri
getDocImport().setEditCell(aAddress, rString.convert(rEE, pFirstPortionFont));
}
+void WorksheetHelper::putRichString( const ScAddress& rAddress, const RichString& rString, const oox::xls::Font* pFirstPortionFont )
+{
+ ScEditEngineDefaulter& rEE = getEditEngine();
+
+ // The cell will own the text object instance returned from convert().
+ getDocImport().setEditCell(rAddress, rString.convert(rEE, pFirstPortionFont));
+}
+
void WorksheetHelper::putFormulaTokens( const CellAddress& rAddress, const ApiTokenSequence& rTokens )
{
ScDocumentImport& rDoc = getDocImport();
@@ -1610,6 +1654,14 @@ void WorksheetHelper::putFormulaTokens( const CellAddress& rAddress, const ApiTo
rDoc.setFormulaCell(aCellPos, new ScTokenArray(aTokenArray));
}
+void WorksheetHelper::putFormulaTokens( const ScAddress& rAddress, const ApiTokenSequence& rTokens )
+{
+ ScDocumentImport& rDoc = getDocImport();
+ ScTokenArray aTokenArray;
+ ScTokenConversion::ConvertToTokenArray(rDoc.getDoc(), aTokenArray, rTokens);
+ rDoc.setFormulaCell(rAddress, new ScTokenArray(aTokenArray));
+}
+
void WorksheetHelper::initializeWorksheetImport()
{
mrSheetGlob.initializeWorksheetImport();
@@ -1630,6 +1682,11 @@ void WorksheetHelper::setCellFormula( const css::table::CellAddress& rTokenAddre
getFormulaBuffer().setCellFormula( rTokenAddress, rTokenStr );
}
+void WorksheetHelper::setCellFormula( const ScAddress& rTokenAddress, const OUString& rTokenStr )
+{
+ getFormulaBuffer().setCellFormula( rTokenAddress, rTokenStr );
+}
+
void WorksheetHelper::setCellFormula(
const css::table::CellAddress& rAddr, sal_Int32 nSharedId,
const OUString& rCellValue, sal_Int32 nValueType )
@@ -1637,6 +1694,13 @@ void WorksheetHelper::setCellFormula(
getFormulaBuffer().setCellFormula(rAddr, nSharedId, rCellValue, nValueType);
}
+void WorksheetHelper::setCellFormula(
+ const ScAddress& rAddr, sal_Int32 nSharedId,
+ const OUString& rCellValue, sal_Int32 nValueType )
+{
+ getFormulaBuffer().setCellFormula(rAddr, nSharedId, rCellValue, nValueType);
+}
+
void WorksheetHelper::setCellArrayFormula( const css::table::CellRangeAddress& rRangeAddress, const css::table::CellAddress& rTokenAddress, const OUString& rTokenStr )
{
getFormulaBuffer().setCellArrayFormula( rRangeAddress, rTokenAddress, rTokenStr );
@@ -1648,6 +1712,12 @@ void WorksheetHelper::createSharedFormulaMapEntry(
getFormulaBuffer().createSharedFormulaMapEntry(rAddress, nSharedId, rTokens);
}
+void WorksheetHelper::createSharedFormulaMapEntry(
+ const ScAddress& rAddress, sal_Int32 nSharedId, const OUString& rTokens )
+{
+ getFormulaBuffer().createSharedFormulaMapEntry(rAddress, nSharedId, rTokens);
+}
+
} // namespace xls
} // namespace oox