summaryrefslogtreecommitdiff
path: root/oox/source/xls/condformatbuffer.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'oox/source/xls/condformatbuffer.cxx')
-rw-r--r--oox/source/xls/condformatbuffer.cxx46
1 files changed, 21 insertions, 25 deletions
diff --git a/oox/source/xls/condformatbuffer.cxx b/oox/source/xls/condformatbuffer.cxx
index 51d9170e1794..1914ed233f46 100644
--- a/oox/source/xls/condformatbuffer.cxx
+++ b/oox/source/xls/condformatbuffer.cxx
@@ -193,10 +193,9 @@ void CondFormatRule::importCfRule( const AttributeList& rAttribs )
void CondFormatRule::appendFormula( const OUString& rFormula )
{
- TokensFormulaContext aContext( true, false );
- aContext.setBaseAddress( mrCondFormat.getRanges().getBaseAddress() );
- getFormulaParser().importFormula( aContext, rFormula );
- maModel.maFormulas.push_back( aContext );
+ CellAddress aBaseAddr = mrCondFormat.getRanges().getBaseAddress();
+ ApiTokenSequence aTokens = getFormulaParser().importFormula( aBaseAddr, rFormula );
+ maModel.maFormulas.push_back( aTokens );
}
void CondFormatRule::importCfRule( SequenceInputStream& rStrm )
@@ -216,25 +215,24 @@ void CondFormatRule::importCfRule( SequenceInputStream& rStrm )
OSL_ENSURE( (nFmla1Size > 0) == (rStrm.getRemaining() >= 8), "CondFormatRule::importCfRule - formula size mismatch" );
if( rStrm.getRemaining() >= 8 )
{
- TokensFormulaContext aContext( true, false );
- aContext.setBaseAddress( mrCondFormat.getRanges().getBaseAddress() );
- getFormulaParser().importFormula( aContext, rStrm );
- maModel.maFormulas.push_back( aContext );
+ CellAddress aBaseAddr = mrCondFormat.getRanges().getBaseAddress();
+ ApiTokenSequence aTokens = getFormulaParser().importFormula( aBaseAddr, FORMULATYPE_CONDFORMAT, rStrm );
+ maModel.maFormulas.push_back( aTokens );
// second formula
OSL_ENSURE( (nFmla2Size >= 0) || (nFmla3Size == 0), "CondFormatRule::importCfRule - missing second formula" );
OSL_ENSURE( (nFmla2Size > 0) == (rStrm.getRemaining() >= 8), "CondFormatRule::importCfRule - formula size mismatch" );
if( rStrm.getRemaining() >= 8 )
{
- getFormulaParser().importFormula( aContext, rStrm );
- maModel.maFormulas.push_back( aContext );
+ aTokens = getFormulaParser().importFormula( aBaseAddr, FORMULATYPE_CONDFORMAT, rStrm );
+ maModel.maFormulas.push_back( aTokens );
// third formula
OSL_ENSURE( (nFmla3Size > 0) == (rStrm.getRemaining() >= 8), "CondFormatRule::importCfRule - formula size mismatch" );
if( rStrm.getRemaining() >= 8 )
{
- getFormulaParser().importFormula( aContext, rStrm );
- maModel.maFormulas.push_back( aContext );
+ aTokens = getFormulaParser().importFormula( aBaseAddr, FORMULATYPE_CONDFORMAT, rStrm );
+ maModel.maFormulas.push_back( aTokens );
}
}
}
@@ -419,21 +417,20 @@ void CondFormatRule::importCfRule( BiffInputStream& rStrm, sal_Int32 nPriority )
OSL_ENSURE( (nFmla1Size > 0) || (nFmla2Size == 0), "CondFormatRule::importCfRule - missing first formula" );
if( nFmla1Size > 0 )
{
- TokensFormulaContext aContext( true, false );
- aContext.setBaseAddress( mrCondFormat.getRanges().getBaseAddress() );
- getFormulaParser().importFormula( aContext, rStrm, &nFmla1Size );
- maModel.maFormulas.push_back( aContext );
+ CellAddress aBaseAddr = mrCondFormat.getRanges().getBaseAddress();
+ ApiTokenSequence aTokens = getFormulaParser().importFormula( aBaseAddr, FORMULATYPE_CONDFORMAT, rStrm, &nFmla1Size );
+ maModel.maFormulas.push_back( aTokens );
if( nFmla2Size > 0 )
{
- getFormulaParser().importFormula( aContext, rStrm, &nFmla2Size );
- maModel.maFormulas.push_back( aContext );
+ aTokens = getFormulaParser().importFormula( aBaseAddr, FORMULATYPE_CONDFORMAT, rStrm, &nFmla2Size );
+ maModel.maFormulas.push_back( aTokens );
}
}
}
void CondFormatRule::finalizeImport( const Reference< XSheetConditionalEntries >& rxEntries )
{
- ConditionOperator eOperator = ::com::sun::star::sheet::ConditionOperator_NONE;
+ ConditionOperator eOperator = ConditionOperator_NONE;
/* Replacement formula for unsupported rule types (text comparison rules,
time period rules, cell type rules). The replacement formulas below may
@@ -460,7 +457,7 @@ void CondFormatRule::finalizeImport( const Reference< XSheetConditionalEntries >
eOperator = CondFormatBuffer::convertToApiOperator( maModel.mnOperator );
break;
case XML_expression:
- eOperator = ::com::sun::star::sheet::ConditionOperator_FORMULA;
+ eOperator = ConditionOperator_FORMULA;
break;
case XML_containsText:
OSL_ENSURE( maModel.mnOperator == XML_containsText, "CondFormatRule::finalizeImport - unexpected operator" );
@@ -591,17 +588,17 @@ void CondFormatRule::finalizeImport( const Reference< XSheetConditionalEntries >
// set the replacement formula
maModel.maFormulas.clear();
appendFormula( aReplaceFormula );
- eOperator = ::com::sun::star::sheet::ConditionOperator_FORMULA;
+ eOperator = ConditionOperator_FORMULA;
}
- if( rxEntries.is() && (eOperator != ::com::sun::star::sheet::ConditionOperator_NONE) && !maModel.maFormulas.empty() )
+ if( rxEntries.is() && (eOperator != ConditionOperator_NONE) && !maModel.maFormulas.empty() )
{
::std::vector< PropertyValue > aProps;
// create condition properties
lclAppendProperty( aProps, CREATE_OUSTRING( "Operator" ), eOperator );
- lclAppendProperty( aProps, CREATE_OUSTRING( "Formula1" ), maModel.maFormulas[ 0 ].getTokens() );
+ lclAppendProperty( aProps, CREATE_OUSTRING( "Formula1" ), maModel.maFormulas[ 0 ] );
if( maModel.maFormulas.size() >= 2 )
- lclAppendProperty( aProps, CREATE_OUSTRING( "Formula2" ), maModel.maFormulas[ 1 ].getTokens() );
+ lclAppendProperty( aProps, CREATE_OUSTRING( "Formula2" ), maModel.maFormulas[ 1 ] );
// style name for the formatting attributes
OUString aStyleName = getStyles().createDxfStyle( maModel.mnDxfId );
@@ -744,7 +741,6 @@ void CondFormatBuffer::finalizeImport()
ConditionOperator CondFormatBuffer::convertToApiOperator( sal_Int32 nToken )
{
- using namespace ::com::sun::star::sheet;
switch( nToken )
{
case XML_between: return ConditionOperator_BETWEEN;