20#ifndef INCLUDED_FORMULA_GRAMMAR_HXX
21#define INCLUDED_FORMULA_GRAMMAR_HXX
23#include <com/sun/star/sheet/FormulaLanguage.hpp>
36 CONV_UNSPECIFIED = -1,
55 static const int kConventionOffset = - CONV_UNSPECIFIED + 1;
57 static const int kConventionShift = 16;
59 static const int kEnglishBit = (1 << (kConventionShift + 8));
61 static const int kFlagMask = ~((~unsigned(0)) << kConventionShift);
70 GRAM_UNSPECIFIED = -1,
72 GRAM_ODFF = css::sheet::FormulaLanguage::ODFF |
74 kConventionOffset) << kConventionShift) |
77 GRAM_PODF = css::sheet::FormulaLanguage::ODF_11 |
79 kConventionOffset) << kConventionShift) |
82 GRAM_ENGLISH = css::sheet::FormulaLanguage::ENGLISH |
84 kConventionOffset) << kConventionShift) |
87 GRAM_NATIVE = css::sheet::FormulaLanguage::NATIVE |
89 kConventionOffset) << kConventionShift),
91 GRAM_ODFF_UI = css::sheet::FormulaLanguage::ODFF |
93 kConventionOffset) << kConventionShift) |
96 GRAM_ODFF_A1 = css::sheet::FormulaLanguage::ODFF |
98 kConventionOffset) << kConventionShift) |
101 GRAM_PODF_UI = css::sheet::FormulaLanguage::ODF_11 |
103 kConventionOffset) << kConventionShift) |
106 GRAM_PODF_A1 = css::sheet::FormulaLanguage::ODF_11 |
108 kConventionOffset) << kConventionShift) |
111 GRAM_NATIVE_UI = css::sheet::FormulaLanguage::NATIVE |
113 kConventionOffset) << kConventionShift),
115 GRAM_NATIVE_ODF = css::sheet::FormulaLanguage::NATIVE |
117 kConventionOffset) << kConventionShift),
119 GRAM_NATIVE_XL_A1 = css::sheet::FormulaLanguage::NATIVE |
121 kConventionOffset) << kConventionShift),
123 GRAM_NATIVE_XL_R1C1 = css::sheet::FormulaLanguage::NATIVE |
125 kConventionOffset) << kConventionShift),
127 GRAM_ENGLISH_XL_A1 = css::sheet::FormulaLanguage::XL_ENGLISH |
129 kConventionOffset) << kConventionShift) |
132 GRAM_ENGLISH_XL_R1C1 = css::sheet::FormulaLanguage::XL_ENGLISH |
134 kConventionOffset) << kConventionShift) |
137 GRAM_ENGLISH_XL_OOX = css::sheet::FormulaLanguage::XL_ENGLISH |
139 kConventionOffset) << kConventionShift) |
142 GRAM_OOXML = css::sheet::FormulaLanguage::OOXML |
144 kConventionOffset) << kConventionShift) |
147 GRAM_API = css::sheet::FormulaLanguage::API |
149 kConventionOffset) << kConventionShift) |
152 GRAM_DEFAULT = GRAM_NATIVE_UI,
155 GRAM_STORAGE_DEFAULT = GRAM_ODFF,
160 GRAM_EXTERNAL = (1 << (kConventionShift - 1))
166 return (eGrammar & kEnglishBit) != 0;
171 static Grammar mapAPItoGrammar(
const bool bEnglish,
const bool bXML );
173 static bool isSupported(
const Grammar eGrammar );
177 return eGrammar & kFlagMask;
183 ((eGrammar & ~kEnglishBit) >> kConventionShift) -
187 static Grammar setEnglishBit(
const Grammar eGrammar,
const bool bEnglish );
189 static Grammar mergeToGrammar(
const Grammar eGrammar,
const AddressConvention eConv );
194 return extractFormulaLanguage( eGrammar) ==
195 css::sheet::FormulaLanguage::ODF_11;
201 return extractFormulaLanguage( eGrammar) ==
202 css::sheet::FormulaLanguage::ODFF;
208 return extractFormulaLanguage( eGrammar) ==
209 css::sheet::FormulaLanguage::OOXML;
221 return extractRefConvention( eGrammar) ==
222 FormulaGrammar::AddressConvention::CONV_XL_OOX;
231 case FormulaGrammar::AddressConvention::CONV_XL_A1:
232 case FormulaGrammar::AddressConvention::CONV_XL_R1C1:
233 case FormulaGrammar::AddressConvention::CONV_XL_OOX: