diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-06-04 03:14:26 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-06-11 08:01:24 +0200 |
commit | 13ed8001c9e825d28a9a0aa67fbf88d2d3e3b30e (patch) | |
tree | 0be815e9eaec1bb04f2d42bab59e2cbefbd09385 /sc/source/ui/unoobj/fmtuno.cxx | |
parent | 2f4ff04f7178226901377709bb6f851dfa103109 (diff) |
prepare cond format code for merge with color formats
Change-Id: Id49eb1da20b75a9ab83d20c29ad8e976d46b9423
Diffstat (limited to 'sc/source/ui/unoobj/fmtuno.cxx')
-rw-r--r-- | sc/source/ui/unoobj/fmtuno.cxx | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/sc/source/ui/unoobj/fmtuno.cxx b/sc/source/ui/unoobj/fmtuno.cxx index 0cc06a397965..81e442091b86 100644 --- a/sc/source/ui/unoobj/fmtuno.cxx +++ b/sc/source/ui/unoobj/fmtuno.cxx @@ -197,11 +197,15 @@ ScTableConditionalFormat::ScTableConditionalFormat( if (pDoc->IsInExternalReferenceMarking()) pFormat->MarkUsedExternalReferences(); - sal_uInt16 nEntryCount = pFormat->Count(); - for (sal_uInt16 i=0; i<nEntryCount; i++) + size_t nEntryCount = pFormat->size(); + for (size_t i=0; i<nEntryCount; i++) { ScCondFormatEntryItem aItem; - const ScCondFormatEntry* pFormatEntry = pFormat->GetEntry(i); + const ScFormatEntry* pFrmtEntry = pFormat->GetEntry(i); + if(pFrmtEntry->GetType() != condformat::CONDITION) + continue; + + const ScCondFormatEntry* pFormatEntry = static_cast<const ScCondFormatEntry*>(pFrmtEntry); aItem.meMode = pFormatEntry->GetOperation(); aItem.maPos = pFormatEntry->GetValidSrcPos(); aItem.maExpr1 = pFormatEntry->GetExpression(aItem.maPos, 0, 0, eGrammar); @@ -244,26 +248,26 @@ void ScTableConditionalFormat::FillFormat( ScConditionalFormat& rFormat, FormulaGrammar::Grammar eGrammar1 = lclResolveGrammar( eGrammar, aData.meGrammar1 ); FormulaGrammar::Grammar eGrammar2 = lclResolveGrammar( eGrammar, aData.meGrammar2 ); - ScCondFormatEntry aCoreEntry( aData.meMode, aData.maExpr1, aData.maExpr2, + ScCondFormatEntry* pCoreEntry = new ScCondFormatEntry( aData.meMode, aData.maExpr1, aData.maExpr2, pDoc, aData.maPos, aData.maStyle, aData.maExprNmsp1, aData.maExprNmsp2, eGrammar1, eGrammar2 ); if ( aData.maPosStr.Len() ) - aCoreEntry.SetSrcString( aData.maPosStr ); + pCoreEntry->SetSrcString( aData.maPosStr ); if ( aData.maTokens1.getLength() ) { ScTokenArray aTokenArray; if ( ScTokenConversion::ConvertToTokenArray(*pDoc, aTokenArray, aData.maTokens1) ) - aCoreEntry.SetFormula1(aTokenArray); + pCoreEntry->SetFormula1(aTokenArray); } if ( aData.maTokens2.getLength() ) { ScTokenArray aTokenArray; if ( ScTokenConversion::ConvertToTokenArray(*pDoc, aTokenArray, aData.maTokens2) ) - aCoreEntry.SetFormula2(aTokenArray); + pCoreEntry->SetFormula2(aTokenArray); } - rFormat.AddEntry( aCoreEntry ); + rFormat.AddEntry( pCoreEntry ); } } |