summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2017-07-11 16:38:38 +0200
committerEike Rathke <erack@redhat.com>2017-07-11 16:42:23 +0200
commit3087b8f5d500866d17946b9f442af6a74a7f99dd (patch)
tree4148231daddcedc6f6c0cbbfeded24490e11dc88 /include
parent2f0c10db707bbd11d8ca456bcf3d2559a1ce15dd (diff)
Introduce IFormulaEditorHelper::createCompiler()
For application specific derivatives. Change-Id: I8af95bd120c642e47ec5d0708ed463c98c471567
Diffstat (limited to 'include')
-rw-r--r--include/formula/IFunctionDescription.hxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/formula/IFunctionDescription.hxx b/include/formula/IFunctionDescription.hxx
index 3a310d704563..b0211aa2cd88 100644
--- a/include/formula/IFunctionDescription.hxx
+++ b/include/formula/IFunctionDescription.hxx
@@ -134,8 +134,17 @@ namespace formula
virtual FormEditData* getFormEditData() const = 0;
virtual bool calculateValue(const OUString& _sExpression, OUString& _rResult, bool bMatrixFormula) = 0;
+ /** Obtain a resident FormulaCompiler instance, created without
+ FormulaTokenArray and reused but being application specific derived.
+ */
virtual std::shared_ptr<FormulaCompiler> getCompiler() const = 0;
+ /** Create an application specific FormulaCompiler instance with
+ FormulaTokenArray. The FormulaTokenArray had to be created using
+ convertToTokenArray().
+ */
+ virtual std::unique_ptr<FormulaCompiler> createCompiler( FormulaTokenArray& rArray ) const = 0;
+
virtual void switchBack() = 0;
virtual void clear() = 0;