/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2008 by Sun Microsystems, Inc. * * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: FormulaMapGroupSpecialOffset.idl,v $ * $Revision: 1.3.114.6 $ * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 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