/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef __com_sun_star_sheet_FormulaMapGroupSpecialOffset_idl__ #define __com_sun_star_sheet_FormulaMapGroupSpecialOffset_idl__ module com { module sun { module star { module sheet { /** Constants designating the offsets within the sequence returned by XFormulaOpCodeMapper::getAvailableMappings() when called for group FormulaMapGroup::SPECIAL.

The number of constants may grow in future versions!

*/ constants FormulaMapGroupSpecialOffset { /** Formula tokens containing the op-code obtained from this offset describe a formula operand token that will be pushed onto the formula stack while the formula is interpreted.

The FormulaToken::Data member shall contain one of the following values:

*/ const long PUSH = 0; const long CALL = 1; /** Formula tokens containing the op-code obtained from this offset instruct the formula interpreter to immediately stop interpreting the formula.

The FormulaToken::Data member is not used and should be empty.

*/ const long STOP = 2; /** Formula tokens containing the op-code obtained from this offset describe the reference to an external function (e.g. add-in function) used in formulas.

The FormulaToken::Data member shall contain a `string` with the programmatic name of the function, e.g. "com.sun.star.sheet.addin.Analysis.getEomonth" for the EOMONTH function from the Analysis add-in.

*/ const long EXTERNAL = 3; /** Formula tokens containing the op-code obtained from this offset describe the reference to a defined name (also known as named range) used in formulas.

The FormulaToken::Data member shall contain an integer value of type `long` specifying the index of the defined name. This index can be obtained from the defined name using its NamedRange::TokenIndex property.

@see NamedRange */ const long NAME = 4; /** Formula tokens containing the op-code obtained from this offset describe an invalid name that resolves to the #NAME? error in formulas.

The FormulaToken::Data member is not used and should be empty.

*/ const long NO_NAME = 5; /** Formula tokens containing the op-code obtained from this offset describe an empty function parameter.

Example: In the formula =SUM(1;;2) the second parameter is empty and represented by a formula token containing the "missing" op-code.

The FormulaToken::Data member is not used and should be empty.

*/ const long MISSING = 6; /** Formula tokens containing the op-code obtained from this offset describe "bad" data in a formula, e.g. data the formula parser was not able to parse.

The FormulaToken::Data member shall contain a `string` with the bad data. This string will be displayed literally in the formula.

*/ const long BAD = 7; /** Formula tokens containing the op-code obtained from this offset describe whitespace characters within the string representation of a formula.

Whitespace characters in formulas are used for readability and do not affect the result of the formula.

The FormulaToken::Data member shall contain a positive integer value of type `long` specifying the number of space characters.

*/ const long SPACES = 8; const long MAT_REF = 9; /** Formula tokens containing the op-code obtained from this offset describe the reference to a database range used in formulas.

The FormulaToken::Data member shall contain an integer value of type `long` specifying the index of the database range. This index can be obtained from the database range using its DatabaseRange::TokenIndex property.

@see DatabaseRange */ const long DB_AREA = 10; /** Formula tokens containing the op-code obtained from this offset describe the reference to a macro function called in a formula.

The FormulaToken::Data member shall contain a `string` specifying the name of the macro function.

*/ const long MACRO = 11; const long COL_ROW_NAME = 12; /** Formula tokens containing the op-code obtained from this offset describe whitespace characters within the string representation of a formula.

Whitespace characters in formulas are used for readability and do not affect the result of the formula.

The FormulaToken::Data member shall contain a `string` of one (repeated) whitespace character. The length of the string determines the number of repetitions.

Allowed whitespace characters are SPACE (U+0020), CHARACTER TABULATION (U+0009), LINE FEED (U+000A), and CARRIAGE RETURN (U+000D). See also ODF v1.3 OpenFormula 5.14 Whitespace.

@since LibreOffice 7.3 */ const long WHITESPACE = 13; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */