summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2013-05-07 02:00:25 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2013-06-02 03:24:56 +0200
commit64223bda068cc6d82d3c5e359d465014568398bb (patch)
tree06f98b2a9e6f6515d6f03227a992f2a789af8ffe
parent1a663077de77bdbb7edfe2283d9e9bc93e90594f (diff)
remove one more use of inherited number formats
Change-Id: If12ca06b45821efe9e52555095a45ae3ce2d377a
-rw-r--r--sc/source/filter/excel/xetable.cxx46
-rw-r--r--sc/source/filter/inc/xetable.hxx3
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 );