resolved fdo#73555 compile statistics templates using English grammar
The statistics templates' formula expressions are setup using English function names, so compile the resulting expressions using an English grammar merged with the current address conventions. Change-Id: I7c782a42d007daeaaf99463beb8aa580c05c7363
This commit is contained in:
@@ -104,7 +104,8 @@ sal_Int16 ScAnalysisOfVarianceDialog::GetUndoNameId()
|
|||||||
|
|
||||||
ScRange ScAnalysisOfVarianceDialog::ApplyOutput(ScDocShell* pDocShell)
|
ScRange ScAnalysisOfVarianceDialog::ApplyOutput(ScDocShell* pDocShell)
|
||||||
{
|
{
|
||||||
AddressWalkerWriter output(mOutputAddress, pDocShell, mDocument);
|
AddressWalkerWriter output(mOutputAddress, pDocShell, mDocument,
|
||||||
|
formula::FormulaGrammar::mergeToGrammar( formula::FormulaGrammar::GRAM_ENGLISH, mAddressDetails.eConv));
|
||||||
FormulaTemplate aTemplate(mDocument, mAddressDetails);
|
FormulaTemplate aTemplate(mDocument, mAddressDetails);
|
||||||
|
|
||||||
output.writeBoldString(SC_STRLOAD(RID_STATISTICS_DLGS, STR_ANOVA_SINGLE_FACTOR_LABEL));
|
output.writeBoldString(SC_STRLOAD(RID_STATISTICS_DLGS, STR_ANOVA_SINGLE_FACTOR_LABEL));
|
||||||
|
@@ -83,7 +83,8 @@ sal_Int16 ScDescriptiveStatisticsDialog::GetUndoNameId()
|
|||||||
|
|
||||||
ScRange ScDescriptiveStatisticsDialog::ApplyOutput(ScDocShell* pDocShell)
|
ScRange ScDescriptiveStatisticsDialog::ApplyOutput(ScDocShell* pDocShell)
|
||||||
{
|
{
|
||||||
AddressWalkerWriter aOutput(mOutputAddress, pDocShell, mDocument);
|
AddressWalkerWriter aOutput(mOutputAddress, pDocShell, mDocument,
|
||||||
|
formula::FormulaGrammar::mergeToGrammar( formula::FormulaGrammar::GRAM_ENGLISH, mAddressDetails.eConv));
|
||||||
FormulaTemplate aTemplate(mDocument, mAddressDetails);
|
FormulaTemplate aTemplate(mDocument, mAddressDetails);
|
||||||
|
|
||||||
boost::scoped_ptr<DataRangeIterator> pIterator;
|
boost::scoped_ptr<DataRangeIterator> pIterator;
|
||||||
|
@@ -52,7 +52,8 @@ sal_Int16 ScExponentialSmoothingDialog::GetUndoNameId()
|
|||||||
|
|
||||||
ScRange ScExponentialSmoothingDialog::ApplyOutput(ScDocShell* pDocShell)
|
ScRange ScExponentialSmoothingDialog::ApplyOutput(ScDocShell* pDocShell)
|
||||||
{
|
{
|
||||||
AddressWalkerWriter output(mOutputAddress, pDocShell, mDocument);
|
AddressWalkerWriter output(mOutputAddress, pDocShell, mDocument,
|
||||||
|
formula::FormulaGrammar::mergeToGrammar( formula::FormulaGrammar::GRAM_ENGLISH, mAddressDetails.eConv));
|
||||||
FormulaTemplate aTemplate(mDocument, mAddressDetails);
|
FormulaTemplate aTemplate(mDocument, mAddressDetails);
|
||||||
|
|
||||||
// Smoothing factor
|
// Smoothing factor
|
||||||
|
@@ -74,7 +74,8 @@ sal_Int16 ScMatrixComparisonGenerator::GetUndoNameId()
|
|||||||
|
|
||||||
ScRange ScMatrixComparisonGenerator::ApplyOutput(ScDocShell* pDocShell)
|
ScRange ScMatrixComparisonGenerator::ApplyOutput(ScDocShell* pDocShell)
|
||||||
{
|
{
|
||||||
AddressWalkerWriter output(mOutputAddress, pDocShell, mDocument);
|
AddressWalkerWriter output(mOutputAddress, pDocShell, mDocument,
|
||||||
|
formula::FormulaGrammar::mergeToGrammar( formula::FormulaGrammar::GRAM_ENGLISH, mAddressDetails.eConv));
|
||||||
FormulaTemplate aTemplate(mDocument, mAddressDetails);
|
FormulaTemplate aTemplate(mDocument, mAddressDetails);
|
||||||
|
|
||||||
SCTAB inTab = mInputRange.aStart.Tab();
|
SCTAB inTab = mInputRange.aStart.Tab();
|
||||||
|
@@ -52,7 +52,8 @@ sal_Int16 ScMovingAverageDialog::GetUndoNameId()
|
|||||||
|
|
||||||
ScRange ScMovingAverageDialog::ApplyOutput(ScDocShell* pDocShell)
|
ScRange ScMovingAverageDialog::ApplyOutput(ScDocShell* pDocShell)
|
||||||
{
|
{
|
||||||
AddressWalkerWriter output(mOutputAddress, pDocShell, mDocument);
|
AddressWalkerWriter output(mOutputAddress, pDocShell, mDocument,
|
||||||
|
formula::FormulaGrammar::mergeToGrammar( formula::FormulaGrammar::GRAM_ENGLISH, mAddressDetails.eConv));
|
||||||
FormulaTemplate aTemplate(mDocument, mAddressDetails);
|
FormulaTemplate aTemplate(mDocument, mAddressDetails);
|
||||||
|
|
||||||
boost::scoped_ptr<DataRangeIterator> pIterator;
|
boost::scoped_ptr<DataRangeIterator> pIterator;
|
||||||
|
@@ -60,7 +60,8 @@ sal_Int16 ScTTestDialog::GetUndoNameId()
|
|||||||
|
|
||||||
ScRange ScTTestDialog::ApplyOutput(ScDocShell* pDocShell)
|
ScRange ScTTestDialog::ApplyOutput(ScDocShell* pDocShell)
|
||||||
{
|
{
|
||||||
AddressWalkerWriter aOutput(mOutputAddress, pDocShell, mDocument);
|
AddressWalkerWriter aOutput(mOutputAddress, pDocShell, mDocument,
|
||||||
|
formula::FormulaGrammar::mergeToGrammar( formula::FormulaGrammar::GRAM_ENGLISH, mAddressDetails.eConv));
|
||||||
FormulaTemplate aTemplate(mDocument, mAddressDetails);
|
FormulaTemplate aTemplate(mDocument, mAddressDetails);
|
||||||
|
|
||||||
boost::scoped_ptr<DataRangeIterator> pVariable1Iterator;
|
boost::scoped_ptr<DataRangeIterator> pVariable1Iterator;
|
||||||
|
@@ -152,15 +152,18 @@ void AddressWalker::pop()
|
|||||||
mAddressStack.pop_back();
|
mAddressStack.pop_back();
|
||||||
}
|
}
|
||||||
|
|
||||||
AddressWalkerWriter::AddressWalkerWriter(ScAddress aInitialAddress, ScDocShell* pDocShell, ScDocument* pDocument) :
|
AddressWalkerWriter::AddressWalkerWriter(ScAddress aInitialAddress, ScDocShell* pDocShell, ScDocument* pDocument,
|
||||||
|
formula::FormulaGrammar::Grammar eGrammar ) :
|
||||||
AddressWalker(aInitialAddress, true),
|
AddressWalker(aInitialAddress, true),
|
||||||
mpDocShell(pDocShell),
|
mpDocShell(pDocShell),
|
||||||
mpDocument(pDocument)
|
mpDocument(pDocument),
|
||||||
|
meGrammar(eGrammar)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
void AddressWalkerWriter::writeFormula(OUString aFormula)
|
void AddressWalkerWriter::writeFormula(OUString aFormula)
|
||||||
{
|
{
|
||||||
mpDocShell->GetDocFunc().SetFormulaCell(mCurrentAddress, new ScFormulaCell(mpDocument, mCurrentAddress, aFormula), true);
|
mpDocShell->GetDocFunc().SetFormulaCell(mCurrentAddress,
|
||||||
|
new ScFormulaCell(mpDocument, mCurrentAddress, aFormula, meGrammar), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddressWalkerWriter::writeMatrixFormula(OUString aFormula)
|
void AddressWalkerWriter::writeMatrixFormula(OUString aFormula)
|
||||||
@@ -168,7 +171,7 @@ void AddressWalkerWriter::writeMatrixFormula(OUString aFormula)
|
|||||||
ScRange aRange;
|
ScRange aRange;
|
||||||
aRange.aStart = mCurrentAddress;
|
aRange.aStart = mCurrentAddress;
|
||||||
aRange.aEnd = mCurrentAddress;
|
aRange.aEnd = mCurrentAddress;
|
||||||
mpDocShell->GetDocFunc().EnterMatrix(aRange, NULL, NULL, aFormula, false, false, OUString(), formula::FormulaGrammar::GRAM_DEFAULT );
|
mpDocShell->GetDocFunc().EnterMatrix(aRange, NULL, NULL, aFormula, false, false, OUString(), meGrammar );
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddressWalkerWriter::writeString(OUString aString)
|
void AddressWalkerWriter::writeString(OUString aString)
|
||||||
|
@@ -76,10 +76,12 @@ public:
|
|||||||
class AddressWalkerWriter : public AddressWalker
|
class AddressWalkerWriter : public AddressWalker
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ScDocShell* mpDocShell;
|
ScDocShell* mpDocShell;
|
||||||
ScDocument* mpDocument;
|
ScDocument* mpDocument;
|
||||||
|
formula::FormulaGrammar::Grammar meGrammar;
|
||||||
|
|
||||||
AddressWalkerWriter(ScAddress aInitialAddress, ScDocShell* pDocShell, ScDocument* pDocument);
|
AddressWalkerWriter(ScAddress aInitialAddress, ScDocShell* pDocShell, ScDocument* pDocument,
|
||||||
|
formula::FormulaGrammar::Grammar eGrammar );
|
||||||
|
|
||||||
void writeFormula(OUString aFormula);
|
void writeFormula(OUString aFormula);
|
||||||
void writeMatrixFormula(OUString aFormula);
|
void writeMatrixFormula(OUString aFormula);
|
||||||
|
Reference in New Issue
Block a user