summaryrefslogtreecommitdiff
path: root/sc/source/ui/unoobj/fmtuno.cxx
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-06-04 03:14:26 +0200
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-06-11 08:01:24 +0200
commit13ed8001c9e825d28a9a0aa67fbf88d2d3e3b30e (patch)
tree0be815e9eaec1bb04f2d42bab59e2cbefbd09385 /sc/source/ui/unoobj/fmtuno.cxx
parent2f4ff04f7178226901377709bb6f851dfa103109 (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.cxx20
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 );
}
}