Bump version to 4.3-4
[LibreOffice.git] / sc / inc / simpleformulacalc.hxx
blob4d4e96291b77283f483226c688e4af3dc70b277a
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
10 #ifndef INCLUDED_SC_INC_SIMPLEFORMULACALC_HXX
11 #define INCLUDED_SC_INC_SIMPLEFORMULACALC_HXX
13 #include <boost/scoped_ptr.hpp>
14 #include <formula/grammar.hxx>
16 #include "address.hxx"
17 #include "formularesult.hxx"
19 class ScDocument;
20 class ScTokenArray;
22 class ScSimpleFormulaCalculator
24 private:
25 short mnFormatType;
26 sal_uLong mnFormatIndex;
28 bool mbCalculated;
29 boost::scoped_ptr<ScTokenArray> mpCode;
30 ScAddress maAddr;
31 ScDocument* mpDoc;
32 ScFormulaResult maResult;
34 public:
35 ScSimpleFormulaCalculator(ScDocument* pDoc, const ScAddress& rAddr,
36 const OUString& rFormula, formula::FormulaGrammar::Grammar eGram = formula::FormulaGrammar::GRAM_DEFAULT);
37 ~ScSimpleFormulaCalculator();
39 void Calculate();
40 bool IsValue();
41 sal_uInt16 GetErrCode();
42 double GetValue();
43 svl::SharedString GetString();
44 short GetFormatType() const { return mnFormatType; }
45 sal_uLong GetFormatIndex() const { return mnFormatIndex; }
47 bool HasColRowName();
49 ScTokenArray* GetCode();
52 #endif
54 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */