diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2013-05-07 02:00:25 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2013-06-02 03:24:56 +0200 |
commit | 64223bda068cc6d82d3c5e359d465014568398bb (patch) | |
tree | 06f98b2a9e6f6515d6f03227a992f2a789af8ffe /sc | |
parent | 1a663077de77bdbb7edfe2283d9e9bc93e90594f (diff) |
remove one more use of inherited number formats
Change-Id: If12ca06b45821efe9e52555095a45ae3ce2d377a
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/filter/excel/xetable.cxx | 46 | ||||
-rw-r--r-- | sc/source/filter/inc/xetable.hxx | 3 |
2 files changed, 3 insertions, 46 deletions
diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx index 9c293807f7f7..8945f16c225b 100644 --- a/sc/source/filter/excel/xetable.cxx +++ b/sc/source/filter/excel/xetable.cxx @@ -760,55 +760,13 @@ IMPL_FIXEDMEMPOOL_NEWDEL( XclExpFormulaCell ) XclExpFormulaCell::XclExpFormulaCell( const XclExpRoot& rRoot, const XclAddress& rXclPos, - const ScPatternAttr* pPattern, sal_uInt32 nForcedXFId, - const ScFormulaCell& rScFmlaCell, + sal_uInt32 nForcedXFId, const ScFormulaCell& rScFmlaCell, XclExpArrayBuffer& rArrayBfr, XclExpShrfmlaBuffer& rShrfmlaBfr, XclExpTableopBuffer& rTableopBfr ) : XclExpSingleCellBase( EXC_ID2_FORMULA, 0, rXclPos, nForcedXFId ), mrScFmlaCell( const_cast< ScFormulaCell& >( rScFmlaCell ) ) { - // *** Find result number format overwriting cell number format *** ------- - - if( GetXFId() == EXC_XFID_NOTFOUND ) - { - SvNumberFormatter& rFormatter = rRoot.GetFormatter(); - XclExpNumFmtBuffer& rNumFmtBfr = rRoot.GetNumFmtBuffer(); - - // current cell number format - sal_uLong nScNumFmt = pPattern ? - GETITEMVALUE( pPattern->GetItemSet(), SfxUInt32Item, ATTR_VALUE_FORMAT, sal_uLong ) : - rNumFmtBfr.GetStandardFormat(); - - // alternative number format passed to XF buffer - sal_uLong nAltScNumFmt = NUMBERFORMAT_ENTRY_NOT_FOUND; - /* Xcl doesn't know Boolean number formats, we write - "TRUE";"FALSE" (language dependent). Don't do it for automatic - formula formats, because Excel gets them right. */ - /* #i8640# Don't set text format, if we have string results. */ - short nFormatType = mrScFmlaCell.GetFormatType(); - if( ((nScNumFmt % SV_COUNTRY_LANGUAGE_OFFSET) == 0) && - (nFormatType != NUMBERFORMAT_LOGICAL) && - (nFormatType != NUMBERFORMAT_TEXT) ) - nAltScNumFmt = mrScFmlaCell.GetStandardFormat( rFormatter, nScNumFmt ); - /* If cell number format is Boolean and automatic formula - format is Boolean don't write that ugly special format. */ - else if( (nFormatType == NUMBERFORMAT_LOGICAL) && - (rFormatter.GetType( nScNumFmt ) == NUMBERFORMAT_LOGICAL) ) - nAltScNumFmt = rNumFmtBfr.GetStandardFormat(); - - // #i41420# find script type according to result type (always latin for numeric results) - sal_Int16 nScript = ApiScriptType::LATIN; - bool bForceLineBreak = false; - if( nFormatType == NUMBERFORMAT_TEXT ) - { - String aResult = mrScFmlaCell.GetString(); - bForceLineBreak = mrScFmlaCell.IsMultilineResult(); - nScript = XclExpStringHelper::GetLeadingScriptType( rRoot, aResult ); - } - SetXFId( rRoot.GetXFBuffer().InsertWithNumFmt( pPattern, nScript, nAltScNumFmt, bForceLineBreak ) ); - } - // *** Convert the formula token array *** -------------------------------- ScAddress aScPos( static_cast< SCCOL >( rXclPos.mnCol ), static_cast< SCROW >( rXclPos.mnRow ), rRoot.GetCurrScTab() ); @@ -2374,7 +2332,7 @@ XclExpCellTable::XclExpCellTable( const XclExpRoot& rRoot ) : case CELLTYPE_FORMULA: { xCell.reset(new XclExpFormulaCell( - GetRoot(), aXclPos, pPattern, nMergeBaseXFId, + GetRoot(), aXclPos, nMergeBaseXFId, *rScCell.mpFormula, maArrayBfr, maShrfmlaBfr, maTableopBfr)); } break; diff --git a/sc/source/filter/inc/xetable.hxx b/sc/source/filter/inc/xetable.hxx index 655d6ea6cc3e..b0253b3c21ce 100644 --- a/sc/source/filter/inc/xetable.hxx +++ b/sc/source/filter/inc/xetable.hxx @@ -451,8 +451,7 @@ class XclExpFormulaCell : public XclExpSingleCellBase public: explicit XclExpFormulaCell( const XclExpRoot& rRoot, const XclAddress& rXclPos, - const ScPatternAttr* pPattern, sal_uInt32 nForcedXFId, - const ScFormulaCell& rScFmlaCell, + sal_uInt32 nForcedXFId, const ScFormulaCell& rScFmlaCell, XclExpArrayBuffer& rArrayBfr, XclExpShrfmlaBuffer& rShrfmlaBfr, XclExpTableopBuffer& rTableopBfr ); |