1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
21 module com
{ module sun
{ module star
{ module sheet
{
24 /** gives access to spreadsheet compiler token interns.
26 interface XFormulaOpCodeMapper
29 /** OpCode value used for external Add-In functions.
31 <p>Needed to be able to identify which of the function names map to an
32 Add-In implementation where this OpCode is used in the returned
33 mapping and the programmatic name is available as additional
36 [attribute
, readonly] long OpCodeExternal
;
39 /** OpCode value used for unknown functions.
41 <p>Used to identify which of the function names queried with
42 getMappings() are unknown to the implementation.</p>
44 [attribute
, readonly] long OpCodeUnknown
;
47 /** returns a sequence of tokens matching the input sequence of
51 Sequence of names to be mapped. These can be function names,
52 operators, separators and other symbols the formula compiler
56 Formula language to be used, one of FormulaLanguage
57 constants. If a constant unknown to the implementation is passed,
58 com::sun::star::lang::IllegalArgumentException
62 a sequence of FormulaToken matching the input
65 <p>Each string element in parameter Names according to the formula
66 language in parameter Language is mapped to a FormulaToken
67 containing the internal OpCode used by the spreadsheet
68 application in FormulaToken::OpCode and by
69 contract maybe additional information in
70 FormulaToken::Data.</p>
72 <p>The order of the FormulaToken sequence returned matches the
73 input order of the string sequence.</p>
75 <p>An unknown Name string gets the OpCode value of
76 #OpCodeUnknown assigned.</p>
78 <p>Additional information in FormulaToken::Data
81 <li>Add-in names: the programmatic name. The OpCode value used
82 for add-ins can be queried with the #OpCodeExternal
86 sequence
< FormulaToken
> getMappings
(
87 [in] sequence
< string > Names
,
89 raises
( com
::sun
::star
::lang
::IllegalArgumentException
);
92 /** returns a sequence of map entries for all available elements of
93 a given formula language.
96 Formula language to be used, one of FormulaLanguage
97 constants. If a constant unknown to the implementation is passed,
98 com::sun::star::lang::IllegalArgumentException
102 Group of mappings to be returned, a bit mask of
103 FormulaMapGroup constants.
106 Sequence of FormulaOpCodeMapEntry.
108 <p>Each element of the formula language in parameter Language is
109 mapped to a FormulaToken containing the internal
110 OpCode used by the spreadsheet application in
111 FormulaToken::OpCode and by contract maybe additional
112 information in FormulaToken::Data. See
113 getMappings() for more details.</p>
115 sequence
< FormulaOpCodeMapEntry
> getAvailableMappings
(
116 [in] long Language
, [in] long Groups
)
117 raises
( com
::sun
::star
::lang
::IllegalArgumentException
);
124 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */