summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ¼diger Timm <rt@openoffice.org>2008-12-12 09:38:47 +0000
committerRĂ¼diger Timm <rt@openoffice.org>2008-12-12 09:38:47 +0000
commit27be0b898ae3820b00475efaa89c0c11ced0b97d (patch)
treec2761fde57f4b135fe52ba67cbd5ca23271ec892
parent5adcb9f210708e0a4147578062844d6baed7a38b (diff)
CWS-TOOLING: integrate CWS mooxlsc
2008-12-12 09:32:19 +0100 dr r265390 : #i10000# warning 2008-12-11 14:54:26 +0100 dr r265301 : add strings from dr66 to meet ui freeze 2008-12-11 14:53:20 +0100 dr r265300 : add strings from dr66 to meet ui freeze 2008-12-08 14:43:25 +0100 er r264997 : DBG_... need semicolon 2008-12-04 19:16:50 +0100 er r264872 : DBG_... needs semicolon 2008-12-04 11:09:27 +0100 er r264824 : DBG_ERROR needs semicolon 2008-12-03 13:29:46 +0100 er r264770 : CWS-TOOLING: rebase CWS mooxlsc to trunk@264325 (milestone: DEV300:m36) 2008-12-02 16:49:09 +0100 er r264722 : disable code for named references #i4385# import as long as #i3740# isn't fully implemented 2008-12-02 16:45:04 +0100 er r264721 : some compilers attempt to be too smart; persuade them it's really meant what was written 2008-12-02 16:04:56 +0100 er r264715 : #i3740# no storage in ODF for external name references 2008-11-29 02:20:50 +0100 er r264575 : some huge performance improvement when reading repeated empty rows for the external references cache from ODF, as they often occur in the sparse matrix 2008-11-29 01:14:55 +0100 er r264574 : WriteExternalRefCaches: for table:number-columns-repeated write used columns instead of MAXCOLCOUNT 2008-11-28 18:30:04 +0100 er r264570 : #i3740# write/read external name references as bracketed references, as proposed on the ODFF list 2008-11-27 20:36:54 +0100 er r264521 : merge i95068 from cws calc46 for code correctness 2008-11-21 20:39:34 +0100 kohei r264174 : fixed a crash when importing a BIFF8 document with per-sheet external names. For now, we don't support per-sheet external names. Let's throw in NoName error until they are supported. 2008-11-21 18:47:27 +0100 kohei r264168 : I forgot to process cached range references in the EXTERNNAME record, which prevented cached external names with range references from being imported correctly. P.S. I swear I thought I had covered this.... 2008-11-20 23:07:22 +0100 er r264104 : #i4385# parse external defined names in MOOXML import 2008-11-14 23:18:54 +0100 er r263700 : #i92797# parse external sheet references under aspects of MOOXML import and new ScExternalRefManager 2008-11-14 18:49:48 +0100 er r263696 : remove infinity assertion, leftover from binary file format; coded double error may occur via filter import 2008-11-12 13:29:44 +0100 er r263593 : make references to entire rows/columns, such as A:A or 3:3, actually work in MOOXML import 2008-11-03 12:35:11 +0100 er r263282 : a struct is a struct is a ... 2008-10-31 00:30:59 +0100 er r262843 : aTableRowCellAttrTokenMap needed 2008-10-31 00:26:07 +0100 er r262842 : GetTableRowCellAttrTokenMap() is not unused 2008-10-31 00:13:53 +0100 er r262841 : merge error 2008-10-31 00:05:39 +0100 er r262840 : merge error 2008-10-30 23:17:48 +0100 er r262839 : unresolved merge conflict!?! 2008-10-30 22:59:11 +0100 er r262838 : merge error 2008-10-30 16:31:04 +0100 hr r262833 : CWS-TOOLING: rebase CWS mooxlsc to trunk@262620 (milestone: DEV300:m34) 2008-10-16 21:57:51 +0200 er r262272 : migrate CWS mooxlsc to SVN
-rw-r--r--offapi/com/sun/star/sheet/DDEItemInfo.idl68
-rw-r--r--offapi/com/sun/star/sheet/DDELinkInfo.idl88
-rw-r--r--offapi/com/sun/star/sheet/DatabaseRange.idl7
-rw-r--r--offapi/com/sun/star/sheet/ExternalDocLink.idl57
-rw-r--r--offapi/com/sun/star/sheet/ExternalDocLinks.idl55
-rw-r--r--offapi/com/sun/star/sheet/ExternalLinkInfo.idl81
-rw-r--r--offapi/com/sun/star/sheet/ExternalLinkType.idl67
-rw-r--r--offapi/com/sun/star/sheet/ExternalReference.idl99
-rw-r--r--offapi/com/sun/star/sheet/ExternalSheetCache.idl55
-rw-r--r--offapi/com/sun/star/sheet/FormulaMapGroup.idl9
-rw-r--r--offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl159
-rw-r--r--offapi/com/sun/star/sheet/FormulaParser.idl25
-rw-r--r--offapi/com/sun/star/sheet/FormulaToken.idl6
-rw-r--r--offapi/com/sun/star/sheet/NamedRange.idl9
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetDocument.idl18
-rw-r--r--offapi/com/sun/star/sheet/XExternalDocLink.idl94
-rw-r--r--offapi/com/sun/star/sheet/XExternalDocLinks.idl66
-rw-r--r--offapi/com/sun/star/sheet/XExternalSheetCache.idl102
-rw-r--r--offapi/com/sun/star/sheet/makefile.mk29
19 files changed, 1061 insertions, 33 deletions
diff --git a/offapi/com/sun/star/sheet/DDEItemInfo.idl b/offapi/com/sun/star/sheet/DDEItemInfo.idl
new file mode 100644
index 000000000..fade2e30d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDEItemInfo.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * 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: DDEItemInfo.idl,v $
+ * $Revision: 1.1.2.1 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_DDEItemInfo_idl__
+#define __com_sun_star_sheet_DDEItemInfo_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+/** describes an item of a DDE connection.
+
+ A DDE connection consists of the DDE service name, the DDE topic and a
+ list of DDE items which may contain cached result sets.
+
+ @since OOo3.1
+ */
+struct DDEItemInfo
+{
+ //-------------------------------------------------------------------------
+
+ /** The name of the DDE item.
+ */
+
+ string Item;
+
+ //-------------------------------------------------------------------------
+
+ /** The results of the item cached from the last update of the DDE link if
+ available. This sequence may be empty.
+ */
+
+ sequence< sequence< any > > Results;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/DDELinkInfo.idl b/offapi/com/sun/star/sheet/DDELinkInfo.idl
new file mode 100644
index 000000000..4edba2eff
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDELinkInfo.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * 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: DDELinkInfo.idl,v $
+ * $Revision: 1.1.2.1 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_DDELinkInfo_idl__
+#define __com_sun_star_sheet_DDELinkInfo_idl__
+
+#ifndef __com_sun_star_sheet_DDEItemInfo_idl__
+#include <com/sun/star/sheet/DDEItemInfo.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+/** describes all items of a DDE connection used in formulas.
+
+ A DDE connection consists of the DDE service name, the DDE topic and a
+ list of DDE items which may contain results cached from the last update.
+
+ The formula that would need this information for example would contain
+ =[1]!'R1C1' or =[2]!'Sheet1.A1' where [1] is an external link with DDE
+ service name "excel" and topic "X:\PATH\[FILE.XLSX]Sheet1", and [2]
+ contains service "soffice" and topic "file:///X:/PATH/FILE.ODS". The
+ service name is stored in <member>DDELinkInfo::Service</member>, the topic
+ is stored in <member>DDELinkInfo::Topic</member>. Note that if the DDE
+ item contains single quotes they are escaped by doubling them, as usual.
+ For example =[2]!'''Sheet name''.A1' in a "soffice" service.
+
+ @since OOo3.1
+ */
+struct DDELinkInfo
+{
+ //-------------------------------------------------------------------------
+
+ /** The DDE service name.
+ */
+
+ string Service;
+
+ //-------------------------------------------------------------------------
+
+ /** The DDE topic.
+ */
+
+ string Topic;
+
+ //-------------------------------------------------------------------------
+
+ /** A list of DDE items. Each item may contain its results from the last
+ update.
+ */
+
+ sequence< DDEItemInfo > Items;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/DatabaseRange.idl b/offapi/com/sun/star/sheet/DatabaseRange.idl
index ec4d75c5f..b613b4eb7 100644
--- a/offapi/com/sun/star/sheet/DatabaseRange.idl
+++ b/offapi/com/sun/star/sheet/DatabaseRange.idl
@@ -1,13 +1,13 @@
/*************************************************************************
*
* 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: DatabaseRange.idl,v $
- * $Revision: 1.15 $
+ * $Revision: 1.15.114.1 $
*
* This file is part of OpenOffice.org.
*
@@ -154,7 +154,8 @@ published service DatabaseRange
/** returns the index used to refer to this range in token arrays.
<p>A token describing a database range shall contain the op-code
- OPCODE_DB_AREA and this index as data part.</p>
+ obtained from the <const>FormulaMapGroupSpecialOffset::DB_AREA</const>
+ and this index as data part.</p>
@see com::sun::star::sheet::FormulaToken
@see com::sun::star::sheet::FormulaMapGroupSpecialOffset::DB_AREA
diff --git a/offapi/com/sun/star/sheet/ExternalDocLink.idl b/offapi/com/sun/star/sheet/ExternalDocLink.idl
new file mode 100644
index 000000000..a376923d0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalDocLink.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * 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: ExternalDocLink.idl,v $
+ * $Revision: 1.1.2.2 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_ExternalDocLink_idl__
+#define __com_sun_star_sheet_ExternalDocLink_idl__
+
+#include <com/sun/star/sheet/XExternalDocLink.idl>
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** Represents a single external document link.
+
+ <p>An external document link contains cached data used for external cell
+ and cell range references as well as external range names.</p>
+
+ @see com::sun::star::sheet::XExternalDocLink
+
+ @since OOo 3.1.0
+ */
+service ExternalDocLink : XExternalDocLink
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/ExternalDocLinks.idl b/offapi/com/sun/star/sheet/ExternalDocLinks.idl
new file mode 100644
index 000000000..32c2c3e6b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalDocLinks.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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: ExternalDocLinks.idl,v $
+ * $Revision: 1.1.2.2 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_ExternalDocLinks_idl__
+#define __com_sun_star_sheet_ExternalDocLinks_idl__
+
+#include <com/sun/star/sheet/XExternalDocLinks.idl>
+#include <com/sun/star/sheet/XSpreadsheetDocument.idl>
+
+module com { module sun { module star { module sheet {
+
+/** Represents a collection of external document links.
+
+ <p>An external document link contains cached data used for external cell
+ and cell range references as well as external range names.</p>
+
+ @see com::sun::star::sheet::ExternalDocLink
+ @see com::sun::star::sheet::XExternalDocLinks
+
+ @since OOo 3.1.0
+ */
+service ExternalDocLinks : XExternalDocLinks
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/ExternalLinkInfo.idl b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl
new file mode 100644
index 000000000..52758ec12
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * 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: ExternalLinkInfo.idl,v $
+ * $Revision: 1.1.2.2 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_sheet_ExternalLinkInfo_idl__
+#define __com_sun_star_sheet_ExternalLinkInfo_idl__
+
+#ifndef __com_sun_star_sheet_ExternalLinkType_idl__
+#include <com/sun/star/sheet/ExternalLinkType.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+/** describes an external link in a formula.
+
+ @since OOo3.1
+ */
+struct ExternalLinkInfo
+{
+ //-------------------------------------------------------------------------
+
+ /** Link type, one of <type>ExternalLinkType</type> constants.
+ */
+
+ long Type;
+
+ //-------------------------------------------------------------------------
+
+ /** Location of this link type.
+
+ Modes used:
+
+ 1. If <member>Type</member> is <const>ExternalLinkType::EXTERNAL</const>,
+ this member shall contain a string with the <b>URI</b> of a
+ document. The formula that would need this information for example
+ would contain =[1]Sheet1!A1 or ='[1]Sheet name'!A1 where [1] does
+ resolve to the URI contained in this Location member. Note that
+ the quotes cover both, the document name and the sheet name.
+
+ 2. If <member>Type</member> is <type>ExternalLinkType::DDE</type>,
+ this member shall contain a <type>DDELinkType</type> describing
+ service name, topic, and all known items of a DDE link.
+ */
+
+ any Data;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/ExternalLinkType.idl b/offapi/com/sun/star/sheet/ExternalLinkType.idl
new file mode 100644
index 000000000..7c1b04030
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalLinkType.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * 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: ExternalLinkType.idl,v $
+ * $Revision: 1.1.2.1 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_ExternalLinkType_idl__
+#define __com_sun_star_sheet_ExternalLinkType_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** Constants designating the link type in
+ <type>ExternalLinkInfo</type>, used with
+ <member>FormulaParser::ExternalLinks</member>.
+
+ @since OOo3.1
+ */
+constants ExternalLinkType
+{
+ /** Unknown element type
+ */
+ const long UNKNOWN = 0;
+
+ /** URL of an external document.
+ */
+ const long DOCUMENT = 1;
+
+ /** DDE link.
+ */
+ const long DDE = 2;
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/sheet/ExternalReference.idl b/offapi/com/sun/star/sheet/ExternalReference.idl
new file mode 100644
index 000000000..abe82080a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalReference.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * 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: ExternalReference.idl,v $
+ * $Revision: 1.1.2.4 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_ExternalReference_idl__
+#define __com_sun_star_sheet_ExternalReference_idl__
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** Data structure to store information about an external reference. An
+ external reference can be either a single cell reference, a cell range
+ reference, or a named range.
+
+ @see FormulaMapGroupSpecialOffset::PUSH
+
+ @since OOo 3.1
+ */
+struct ExternalReference
+{
+ //-------------------------------------------------------------------------
+
+ /** Index of an externally linked document. Each externally-linked document
+ has a unique index value.
+
+ <p>You can get the index value of an external document from the
+ corresponding <type scope="com::sun::star::sheet">ExternalDocLink</type>
+ instance through its attribute <type scope="com::sun::star::sheet::ExternalDocLink">TokenIndex</type>.</p>
+
+ @see com::sun::star::sheet::ExternalDocLink
+ @see com::sun::star::sheet::ExternalDocLink::TokenIndex
+ */
+ long Index;
+
+#if 0
+ //-------------------------------------------------------------------------
+
+ /** Name of the sheet that the external reference points to.
+
+ <p>In case of a cell range reference that spans across multiple
+ sheets, this is the name of the first sheet in that range.</p>
+
+ <p>Note that an external range name ignores this value at the moment,
+ but <i>it may make use of this data in the future when Calc supports a
+ sheet-specific range name.</i></p>
+ */
+ string SheetName;
+#endif
+
+ //-------------------------------------------------------------------------
+
+ /** Reference data.
+
+ <p>This can store either <type>SingleReference</type> for a single
+ cell reference, <type>ComplexReference</type> for a cell range
+ reference, or simply a <type>string</type> for a defined name.</p>
+
+ <p>The <member>SingleReference::Sheet</member> member shall contain
+ the index of the external sheet cache containing the values of the
+ externally referenced cells.</p>
+
+ @see com::sun::star::sheet::SingleReference
+ @see com::sun::star::sheet::ComplexReference
+ */
+ any Reference;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/ExternalSheetCache.idl b/offapi/com/sun/star/sheet/ExternalSheetCache.idl
new file mode 100644
index 000000000..802e8e2a4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalSheetCache.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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: ExternalSheetCache.idl,v $
+ * $Revision: 1.1.2.2 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_ExternalSheetCache_idl__
+#define __com_sun_star_sheet_ExternalSheetCache_idl__
+
+#include <com/sun/star/sheet/XExternalSheetCache.idl>
+
+module com { module sun { module star { module sheet {
+
+/** A single sheet cache for an external document.
+
+ <p>This cached data is used for external cell and cell range references,
+ as well as external range names. An <type scope="com::sun::star::sheet">ExternalDocLink</type>
+ instance contains a set of these sheet caches.</p>
+
+ @see com::sun::star::sheet::ExternalDocLink
+ @see com::sun::star::sheet::XExternalSheetCache
+
+ @since OOo 3.1.0
+ */
+service ExternalSheetCache : XExternalSheetCache
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/FormulaMapGroup.idl b/offapi/com/sun/star/sheet/FormulaMapGroup.idl
index c12858592..3a1e37f52 100644
--- a/offapi/com/sun/star/sheet/FormulaMapGroup.idl
+++ b/offapi/com/sun/star/sheet/FormulaMapGroup.idl
@@ -1,13 +1,13 @@
/*************************************************************************
*
* 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: FormulaMapGroup.idl,v $
- * $Revision: 1.3 $
+ * $Revision: 1.3.114.1 $
*
* This file is part of OpenOffice.org.
*
@@ -47,7 +47,10 @@ module com { module sun { module star { module sheet {
*/
constants FormulaMapGroup
{
- /** Group of op-codes without a string symbol */
+ /** Group of op-codes without a string symbol.
+
+ @see FormulaMapGroupSpecialOffset
+ */
const long SPECIAL = 0;
/** Separators and parentheses */
diff --git a/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
index 20369b224..31efb0e16 100644
--- a/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
+++ b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
@@ -1,13 +1,13 @@
/*************************************************************************
*
* 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 $
+ * $Revision: 1.3.114.6 $
*
* This file is part of OpenOffice.org.
*
@@ -31,37 +31,182 @@
#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
<member>XFormurmulaOpCodeMapper::getAvailableMappings</member> when
- called for group <type>FormulaMapGroup</type> SPECIAL.
+ called for group <const>FormulaMapGroup::SPECIAL</const>.
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.
+
+ <p>The <member>FormulaToken::Data</member> member shall contain one of
+ the following values:</p>
+
+ <ul>
+ <li>A value of type <atom>double</atom> for literal floating-point
+ constants.</li>
+ <li>A <atom>string</atom> for literal text.</li>
+ <li>A sequence of sequence of <atom>any</atom> for a literal array.
+ The contained values shall be of type <atom>double</atom> or
+ <atom>string</atom>. Floating-point values and strings may occur
+ together in an array.</li>
+ <li>A struct of type <type>SingleReference</type> for a reference to a
+ single cell in the own document.</li>
+ <li>A struct of type <type>ComplexReference</type> for a reference to
+ a range of cells in the own document.</li>
+ <li>A struct of type <type>ExternalReference</type> for a reference to
+ a cell, a range of cells, or a defined name in an external
+ document.</li>
+ </ul>
+ */
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.
+
+ <p>The <member>FormulaToken::Data</member> member is not used
+ and should be empty.</p>
+ */
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.
+
+ <p>The <member>FormulaToken::Data</member> member shall contain a
+ <atom>string</atom> 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.</p>
+ */
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.
+
+ <p>The <member>FormulaToken::Data</member> member shall contain an
+ integer value of type <atom>long</atom> specifying the index of the
+ defined name. This index can be obtained from the defined name using
+ its <type>NamedRange::TokenIndex</type> property.</p>
+
+ @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.
+
+ <p>The <member>FormulaToken::Data</member> member is not used
+ and should be empty.</p>
+ */
const long NO_NAME = 5;
+
+ // -----------------------------------------------------------------------
+
+ /** Formula tokens containing the op-code obtained from this offset
+ describe an empty function parameter.
+
+ <p>Example: In the formula =SUM(1;;2) the second parameter is empty
+ and represented by a formula token containing the "empty" op-code.</p>
+
+ <p>The <member>FormulaToken::Data</member> member is not used
+ and should be empty.</p>
+ */
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.
+
+ <p>The <member>FormulaToken::Data</member> member shall contain a
+ <atom>string</string> with the bad data. This string will be displayed
+ in the formula.</p>
+ */
const long BAD = 7;
+
+ // -----------------------------------------------------------------------
+
+ /** Formula tokens containing the op-code obtained from this offset
+ describe white-space characters within the string representation of a
+ formula.
+
+ <p>White-space characters in formulas are used for readability and do
+ not affect the result of the formula.</p>
+
+ <p>The <member>FormulaToken::Data</member> member shall contain a
+ positive integer value of type <atom>long</atom> specifying the number
+ of space characters.</p>
+
+ <p>Attention: This may change in next versions to support other
+ characters than simple space characters (e.g. line feeds, horizontal
+ tabulators, non-breakable spaces).</p>
+ */
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.
+
+ <p>The <member>FormulaToken::Data</member> member shall contain an
+ integer value of type <atom>long</atom> specifying the index of the
+ database range. This index can be obtained from the database range
+ using its <type>DatabaseRange::TokenIndex</type> property.</p>
+
+ @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.
+
+ <p>The <member>FormulaToken::Data</member> member shall contain a
+ <atom>string</atom> specifying the name of the macro function.</p>
+ */
const long MACRO = 11;
+
+ // -----------------------------------------------------------------------
+
const long COL_ROW_NAME = 12;
- const long COL_ROW_NAME_AUTO = 13;
+
+ // -----------------------------------------------------------------------
+
};
-//=============================================================================
+// ===========================================================================
}; }; }; };
diff --git a/offapi/com/sun/star/sheet/FormulaParser.idl b/offapi/com/sun/star/sheet/FormulaParser.idl
index bd9a9a36c..014d43810 100644
--- a/offapi/com/sun/star/sheet/FormulaParser.idl
+++ b/offapi/com/sun/star/sheet/FormulaParser.idl
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: FormulaParser.idl,v $
- * $Revision: 1.4 $
+ * $Revision: 1.4.110.1 $
*
* This file is part of OpenOffice.org.
*
@@ -43,6 +43,9 @@
#ifndef __com_sun_star_sheet_FormulaOpCodeMapEntry_idl__
#include <com/sun/star/sheet/FormulaOpCodeMapEntry.idl>
#endif
+#ifndef __com_sun_star_sheet_ExternalLinkInfo_idl__
+#include <com/sun/star/sheet/ExternalLinkInfo.idl>
+#endif
//=============================================================================
@@ -76,9 +79,10 @@ service FormulaParser
// ------------------------------------------------------------------------
- /** Specifies which convention to use when parsing a formula string.
+ /** Specifies which address reference style convention to use when
+ parsing a formula string.
- @see com::sun::star::sheet::FormulaConvention
+ @see com::sun::star::sheet::AddressConvention
*/
[property] short FormulaConvention;
@@ -99,6 +103,21 @@ service FormulaParser
[property] sequence< FormulaOpCodeMapEntry > OpCodeMap;
// ------------------------------------------------------------------------
+
+ /** List of external links referenced in formulas.
+
+ Use of this property depends on the
+ <member>FormulaConvention</member> in use. It is relevant only
+ for <type>AddressConvention::XL_OOX</type> to map indices to
+ external documents. The sequence must be in the order of indices
+ used. Note that indices are 1-based, the sequence must start
+ with an empty element.
+
+ @since OOo3.1
+ */
+ [property] sequence< ExternalLinkInfo > ExternalLinks;
+
+ // ------------------------------------------------------------------------
};
//=============================================================================
diff --git a/offapi/com/sun/star/sheet/FormulaToken.idl b/offapi/com/sun/star/sheet/FormulaToken.idl
index a2fc30a16..181fcb064 100644
--- a/offapi/com/sun/star/sheet/FormulaToken.idl
+++ b/offapi/com/sun/star/sheet/FormulaToken.idl
@@ -1,13 +1,13 @@
/*************************************************************************
*
* 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: FormulaToken.idl,v $
- * $Revision: 1.3 $
+ * $Revision: 1.3.114.1 $
*
* This file is part of OpenOffice.org.
*
@@ -44,6 +44,8 @@ struct FormulaToken
//-------------------------------------------------------------------------
/** is the OpCode of the token.
+
+ @see com::sun::star::sheet::XFormulaOpCodeMapper
*/
long OpCode;
diff --git a/offapi/com/sun/star/sheet/NamedRange.idl b/offapi/com/sun/star/sheet/NamedRange.idl
index 9c681d661..65c14dc2f 100644
--- a/offapi/com/sun/star/sheet/NamedRange.idl
+++ b/offapi/com/sun/star/sheet/NamedRange.idl
@@ -1,13 +1,13 @@
/*************************************************************************
*
* 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: NamedRange.idl,v $
- * $Revision: 1.10 $
+ * $Revision: 1.10.36.1 $
*
* This file is part of OpenOffice.org.
*
@@ -77,8 +77,9 @@ published service NamedRange
/** returns the index used to refer to this name in token arrays.
- <p>A token describing a defined name shall contain the op-code
- OPCODE_NAME and this index as data part.</p>
+ <p>A token describing a defined name shall contain the op-code obtained
+ from the <const>FormulaMapGroupSpecialOffset::NAME</const> offset and
+ this index as data part.</p>
@see com::sun::star::sheet::FormulaToken
@see com::sun::star::sheet::FormulaMapGroupSpecialOffset::NAME
diff --git a/offapi/com/sun/star/sheet/SpreadsheetDocument.idl b/offapi/com/sun/star/sheet/SpreadsheetDocument.idl
index acc3cef32..77d8ef12f 100644
--- a/offapi/com/sun/star/sheet/SpreadsheetDocument.idl
+++ b/offapi/com/sun/star/sheet/SpreadsheetDocument.idl
@@ -1,13 +1,13 @@
/*************************************************************************
*
* 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: SpreadsheetDocument.idl,v $
- * $Revision: 1.9 $
+ * $Revision: 1.9.114.2 $
*
* This file is part of OpenOffice.org.
*
@@ -113,6 +113,10 @@
#include <com/sun/star/sheet/XAreaLinks.idl>
#endif
+#ifndef __com_sun_star_sheet_XExternalDocLinks_idl__
+#include <com/sun/star/sheet/XExternalDocLinks.idl>
+#endif
+
//=============================================================================
module com { module sun { module star { module sheet {
@@ -267,6 +271,16 @@ published service SpreadsheetDocument
*/
[readonly, property] com::sun::star::container::XNameAccess DDELinks;
+ //-------------------------------------------------------------------------
+
+#if 0
+ /** contains the collection of external document links in the document.
+
+ @since OOo 3.1
+ */
+ [optional, readonly, property] com::sun::star::sheet::XExternalDocLinks ExternalDocLinks;
+#endif
+
};
//=============================================================================
diff --git a/offapi/com/sun/star/sheet/XExternalDocLink.idl b/offapi/com/sun/star/sheet/XExternalDocLink.idl
new file mode 100644
index 000000000..35561f61e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XExternalDocLink.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * 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: XExternalDocLink.idl,v $
+ * $Revision: 1.1.2.7 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XExternalDocLink_idl__
+#define __com_sun_star_sheet_XExternalDocLink_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/sheet/XExternalSheetCache.idl>
+
+module com { module sun { module star { module sheet {
+
+//=============================================================================
+
+/** Primary interface for the <type scope="com::sun::star::sheet">ExternalDocLink</type> service.
+
+ @see com::sun::star::sheet::ExternalDocLink
+
+ @since OOo 3.1.0
+ */
+interface XExternalDocLink
+{
+ interface com::sun::star::container::XNameAccess;
+ interface com::sun::star::container::XIndexAccess;
+ interface com::sun::star::container::XEnumerationAccess;
+
+ //-------------------------------------------------------------------------
+
+ /** <p>This method adds a new sheet cache instance to the external document
+ link for a specified sheet name. If a sheet cache instance already
+ exists for the specified name, then the existing instance is returned.</p>
+
+ <p>Note that a sheet name lookup is performed in a case-insensitive
+ fashion.</p>
+
+ @param aSheetName sheet name
+
+ @return com::sun::star::sheet::XExternalSheetCache sheet cache instance
+ */
+ com::sun::star::sheet::XExternalSheetCache addSheetCache( [in] string aSheetName );
+
+ //-------------------------------------------------------------------------
+
+ /** Index corresponding to the external document link.
+
+ <p>This index value corresponds with the external document
+ represented by an instance of
+ <type scope="com::sun::star::sheet">ExternalDocLink</type>. This
+ value is stored within a formula token instance.</p>
+
+ <p>Each external document cache instance has a unique index value, and this
+ index value can be used to retrieve the corresponding external document cache
+ from the parent <type scope="com::sun::star::sheet">ExternalDocLinks</type> instance.</p>
+
+ @see com::sun::star::sheet::ExternalDocLinks
+ @see com::sun::star::sheet::FormulaToken
+ @see com::sun::star::sheet::ExternalReference
+ */
+ [attribute, readonly] long TokenIndex;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/XExternalDocLinks.idl b/offapi/com/sun/star/sheet/XExternalDocLinks.idl
new file mode 100644
index 000000000..80b6beeef
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XExternalDocLinks.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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: XExternalDocLinks.idl,v $
+ * $Revision: 1.1.2.3 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XExternalDocLinks_idl__
+#define __com_sun_star_sheet_XExternalDocLinks_idl__
+
+#include <com/sun/star/sheet/XExternalDocLink.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+module com { module sun { module star { module sheet {
+
+/** Primary interface for the <type scope="com::sun::star::sheet">ExternalDocLinks</type> service.
+
+ @see com::sun::star::sheet::ExternalDocLinks
+
+ @since OOo 3.1.0
+ */
+interface XExternalDocLinks
+{
+ interface com::sun::star::container::XNameAccess;
+ interface com::sun::star::container::XIndexAccess;
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** This method adds a new external document link by its URL, and returns
+ its instance. If a document instance already exists for the specified URL,
+ then that instance gets returned instead of creating a new one.
+
+ @param aDocName document URL (e.g. file:///path/to/document.ods)
+
+ @return com::sun::star::sheet::XExternalDocLink external document link instance
+ */
+ com::sun::star::sheet::XExternalDocLink addDocLink( [in] string aDocName );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/XExternalSheetCache.idl b/offapi/com/sun/star/sheet/XExternalSheetCache.idl
new file mode 100644
index 000000000..fd11e53ca
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XExternalSheetCache.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * 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: XExternalSheetCache.idl,v $
+ * $Revision: 1.1.2.5 $
+ *
+ * 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
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_sheet_XExternalSheetCache_idl__
+#define __com_sun_star_sheet_XExternalSheetCache_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module sheet {
+
+/** Primary interface for the <type scope="com::sun::star::sheet">ExternalSheetCache</type> service.
+
+ @see com::sun::star::sheet::ExternalSheetCache
+
+ @since OOo 3.1.0
+ */
+interface XExternalSheetCache
+{
+ /** It sets a cached value for a specified cell position. The value is expected
+ to be either of type <type>string</type> or of type <type>double</type>. No
+ other data types are supported.
+
+ @param nRow row position (0-based)
+ @param nColumn column position (0-based)
+ @param aValue cell value to be cached
+ */
+ void setCellValue( [in] long nColumn, [in] long nRow, [in] any aValue )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** It retrieves a cached value from a specified cell position. The cached
+ value can be either <type>string</type> or <type>double</type>.
+
+ @return any cached cell value
+ */
+ any getCellValue( [in] long nColumn, [in] long nRow )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** It returns a list of all row numbers where a cached cell or cells exist.
+ The row numbers are sorted in ascending order.
+
+ @return sequence<long> list of all row numbers with cached cell(s)
+ */
+ sequence< long > getAllRows();
+
+ /** Given a row number, this method returns a list of all columns numbers
+ that store cached cell values in that row. The column numbers are
+ sorted in ascending order.
+
+ @return sequence<long> list of all columns numbers with cached cell values
+ */
+ sequence< long > getAllColumns( [in] long nRow )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ //-------------------------------------------------------------------------
+
+ /** Index corresponding to this instance of an external sheet cache for
+ usage in formula tokens.
+
+ <p>This index to the external sheet cache is expected in the
+ <member>SingleReference::Sheet</member> member if it is part of an
+ external reference token.
+
+ <p>Each external sheet cache has a unique index value inside the
+ <type>ExternalDocLink</type> instance.</p>
+
+ @see FormulaToken
+ @see ExternalReference
+ */
+ [attribute, readonly] long TokenIndex;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/sheet/makefile.mk b/offapi/com/sun/star/sheet/makefile.mk
index 435586364..61ab96c08 100644
--- a/offapi/com/sun/star/sheet/makefile.mk
+++ b/offapi/com/sun/star/sheet/makefile.mk
@@ -1,14 +1,14 @@
#*************************************************************************
#
# 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: makefile.mk,v $
#
-# $Revision: 1.30 $
+# $Revision: 1.30.78.5 $
#
# This file is part of OpenOffice.org.
#
@@ -71,7 +71,10 @@ IDLFILES=\
ComplexReference.idl\
ConditionOperator.idl\
ConsolidationDescriptor.idl\
+ DDEItemInfo.idl\
DDELink.idl\
+ DDELinkInfo.idl\
+ DDELinkMode.idl\
DDELinks.idl\
DDELinksEnumeration.idl\
DataImportMode.idl\
@@ -121,8 +124,13 @@ IDLFILES=\
DatabaseRange.idl\
DatabaseRanges.idl\
DatabaseRangesEnumeration.idl\
- DDELinkMode.idl\
DocumentSettings.idl\
+ ExternalDocLink.idl\
+ ExternalDocLinks.idl\
+ ExternalLinkType.idl\
+ ExternalLinkInfo.idl\
+ ExternalReference.idl\
+ ExternalSheetCache.idl\
FillDateMode.idl\
FillDirection.idl\
FillMode.idl\
@@ -180,6 +188,9 @@ IDLFILES=\
SheetSortDescriptor.idl\
SheetSortDescriptor2.idl\
SingleReference.idl\
+ Solver.idl\
+ SolverConstraint.idl\
+ SolverConstraintOperator.idl\
Spreadsheet.idl\
SpreadsheetDocument.idl\
SpreadsheetDocumentSettings.idl\
@@ -255,6 +266,9 @@ IDLFILES=\
XDocumentAuditing.idl\
XDrillDownDataSupplier.idl\
XEnhancedMouseClickBroadcaster.idl\
+ XExternalDocLink.idl\
+ XExternalDocLinks.idl\
+ XExternalSheetCache.idl\
XExternalSheetName.idl\
XFillAcrossSheet.idl\
XFormulaOpCodeMapper.idl\
@@ -305,6 +319,8 @@ IDLFILES=\
XSheetOutline.idl\
XSheetPageBreak.idl\
XSheetPastable.idl\
+ XSolver.idl\
+ XSolverDescription.idl\
XSpreadsheet.idl\
XSpreadsheetDocument.idl\
XSpreadsheetView.idl\
@@ -319,12 +335,7 @@ IDLFILES=\
XViewPanesSupplier.idl\
XViewSplitable.idl\
XVolatileResult.idl\
- _NamedRange.idl\
- SolverConstraintOperator.idl\
- SolverConstraint.idl\
- XSolver.idl\
- XSolverDescription.idl\
- Solver.idl
+ _NamedRange.idl
# ------------------------------------------------------------------