/**************************************************************
*
* 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:
- A value of type double for literal floating-point
constants.
- A string for literal text.
- A any for a literal array. The contained
values shall be of type double or string.
Floating-point values and strings may occur together in an array.
- A struct of type SingleReference for a reference to a
single cell in the own document.
- A struct of type ComplexReference for a reference to
a range of cells in the own document.
- A struct of type ExternalReference for a reference to
a cell, a range of cells, or a defined name in an external document.
*/
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