diff options
author | Eike Rathke <erack@redhat.com> | 2017-07-11 16:38:38 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2017-07-11 16:42:23 +0200 |
commit | 3087b8f5d500866d17946b9f442af6a74a7f99dd (patch) | |
tree | 4148231daddcedc6f6c0cbbfeded24490e11dc88 /sc/source/ui/formdlg | |
parent | 2f0c10db707bbd11d8ca456bcf3d2559a1ce15dd (diff) |
Introduce IFormulaEditorHelper::createCompiler()
For application specific derivatives.
Change-Id: I8af95bd120c642e47ec5d0708ed463c98c471567
Diffstat (limited to 'sc/source/ui/formdlg')
-rw-r--r-- | sc/source/ui/formdlg/formula.cxx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sc/source/ui/formdlg/formula.cxx b/sc/source/ui/formdlg/formula.cxx index 547ee391919c..675b6eac9680 100644 --- a/sc/source/ui/formdlg/formula.cxx +++ b/sc/source/ui/formdlg/formula.cxx @@ -380,6 +380,16 @@ std::shared_ptr<formula::FormulaCompiler> ScFormulaDlg::getCompiler() const return m_xCompiler; } +std::unique_ptr<formula::FormulaCompiler> ScFormulaDlg::createCompiler( formula::FormulaTokenArray& rArray ) const +{ + ScCompiler* pCompiler = nullptr; + ScTokenArray* pArr = dynamic_cast<ScTokenArray*>(&rArray); + assert(pArr); // violation of contract and not created using convertToTokenArray()? + if (pArr) + pCompiler = new ScCompiler( m_pDoc, m_CursorPos, *pArr, m_pDoc->GetGrammar()); + return std::unique_ptr<formula::FormulaCompiler>(pCompiler); +} + // virtual methods of ScAnyRefDlg: void ScFormulaDlg::RefInputStart( formula::RefEdit* pEdit, formula::RefButton* pButton ) { |