/************************************************************** * * 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 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #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 programmatical name of the function, e.g. "com.sun.star.sheet.addin.Analysis.getEomonth" for the EOMONTH function from the Analsysis 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.

Attention: This may change in next versions to support other characters than simple space characters (e.g. line feeds, horizontal tabulators, non-breakable spaces).

*/ 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; // ----------------------------------------------------------------------- }; // =========================================================================== }; }; }; }; #endif