diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/sheet | |
parent | Initial commit. (diff) | |
download | libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
340 files changed, 24948 insertions, 0 deletions
diff --git a/offapi/com/sun/star/sheet/AccessibleCell.idl b/offapi/com/sun/star/sheet/AccessibleCell.idl new file mode 100644 index 000000000..24a841c35 --- /dev/null +++ b/offapi/com/sun/star/sheet/AccessibleCell.idl @@ -0,0 +1,111 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_AccessibleCell_idl__ +#define __com_sun_star_sheet_AccessibleCell_idl__ + +#include <com/sun/star/accessibility/XAccessibleContext.idl> +#include <com/sun/star/accessibility/XAccessibleComponent.idl> +#include <com/sun/star/accessibility/XAccessibleValue.idl> +#include <com/sun/star/accessibility/XAccessibleText.idl> + + + +module com { module sun { module star { module sheet { + + +/** The accessible view of a spreadsheet document + + @since OOo 1.1.2 + + */ +service AccessibleCell +{ + /** This interface gives access to the whole content of the cell. + + <ul> + <li>The parent returned by + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent() + is the accessible spreadsheet.</li> + <li>This object has no children.</li> + <li>The description is ???.</li> + <li>The name is something like A10 or B23 or so on.</li> + <li>The role is + ::com::sun::star::accessibility::AccessibleRole::TABLE_CELL</li> + <li>There are relations between the cell and the shapes with an anchor + on this cell.</li> + <li>The following states are supported: + <ul> + <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC + is always false if the + parent table is showed, otherwise it is true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE + is false if the cell + or the table is protected, otherwise it is true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE + is false if the cell + has no background color or graphic, otherwise it is + true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE + is false if the + table is protected, otherwise is it true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED + is true, if the cell is selected.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::TRANSIENT + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING + is true if the + Bounding Box lies in Bounding Box of the parent. Otherwise + it is false.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE + is false if the + column/row with this cell is filtered or hidden. + Otherwise is true.</li> + </ul> + </li> + </ul> + */ + interface ::com::sun::star::accessibility::XAccessibleContext; + + /** This interface gives access to the visibility of the cell. + */ + interface ::com::sun::star::accessibility::XAccessibleComponent; + + /** This interface gives access to the value of the cell. + */ + interface ::com::sun::star::accessibility::XAccessibleValue; + + /** This interface gives access to the text representation of the cell content. + */ + interface ::com::sun::star::accessibility::XAccessibleText; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/AccessibleCsvCell.idl b/offapi/com/sun/star/sheet/AccessibleCsvCell.idl new file mode 100644 index 000000000..1cf8c47f6 --- /dev/null +++ b/offapi/com/sun/star/sheet/AccessibleCsvCell.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_AccessibleCsvCell_idl__ +#define __com_sun_star_sheet_AccessibleCsvCell_idl__ + +#include <com/sun/star/accessibility/XAccessibleContext.idl> +#include <com/sun/star/accessibility/XAccessibleComponent.idl> +#include <com/sun/star/accessibility/XAccessibleText.idl> + + + +module com { module sun { module star { module sheet { + + +/** The accessible object of a cell in the CSV import dialog. + @see ::com::sun::star::sheet::AccessibleCsvTable + + @since OOo 1.1.2 + */ +service AccessibleCsvCell +{ + + /** This interface gives access to the whole content of the cell. + */ + interface ::com::sun::star::accessibility::XAccessibleContext; + + + /** This interface gives access to the visibility of the cell. + */ + interface ::com::sun::star::accessibility::XAccessibleComponent; + + + /** This interface gives access to the text representation of the cell + content. + */ + interface ::com::sun::star::accessibility::XAccessibleText; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/AccessibleCsvRuler.idl b/offapi/com/sun/star/sheet/AccessibleCsvRuler.idl new file mode 100644 index 000000000..61342b0e8 --- /dev/null +++ b/offapi/com/sun/star/sheet/AccessibleCsvRuler.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_AccessibleCsvRuler_idl__ +#define __com_sun_star_sheet_AccessibleCsvRuler_idl__ + +#include <com/sun/star/accessibility/XAccessibleContext.idl> +#include <com/sun/star/accessibility/XAccessibleComponent.idl> +#include <com/sun/star/accessibility/XAccessibleText.idl> + + + +module com { module sun { module star { module sheet { + + +/** The accessible object of the ruler in the CSV import dialog. + @see ::com::sun::star::sheet::AccessibleCsvTable + + @since OOo 1.1.2 + */ +service AccessibleCsvRuler +{ + + /** This interface gives access to the whole content of the ruler. + */ + interface ::com::sun::star::accessibility::XAccessibleContext; + + + /** This interface gives access to the visibility of the ruler. + */ + interface ::com::sun::star::accessibility::XAccessibleComponent; + + + /** This interface gives access to the text representation of the ruler. + */ + interface ::com::sun::star::accessibility::XAccessibleText; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/AccessibleCsvTable.idl b/offapi/com/sun/star/sheet/AccessibleCsvTable.idl new file mode 100644 index 000000000..581a6ef92 --- /dev/null +++ b/offapi/com/sun/star/sheet/AccessibleCsvTable.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_AccessibleCsvTable_idl__ +#define __com_sun_star_sheet_AccessibleCsvTable_idl__ + +#include <com/sun/star/accessibility/XAccessibleContext.idl> +#include <com/sun/star/accessibility/XAccessibleComponent.idl> +#include <com/sun/star/accessibility/XAccessibleTable.idl> +#include <com/sun/star/accessibility/XAccessibleSelection.idl> + + + +module com { module sun { module star { module sheet { + + +/** The accessible object of the data table in the CSV import dialog. + @see ::com::sun::star::sheet::AccessibleCsvRuler + @see ::com::sun::star::sheet::AccessibleCsvCell + + @since OOo 1.1.2 + */ +service AccessibleCsvTable +{ + + /** This interface gives access to the whole content of the table. + */ + interface ::com::sun::star::accessibility::XAccessibleContext; + + + /** This interface gives access to the visibility of the table. + */ + interface ::com::sun::star::accessibility::XAccessibleComponent; + + + /** This interface gives access to functionality specific for a table. + */ + interface ::com::sun::star::accessibility::XAccessibleTable; + + + /** This interface gives access to selection functionality. + */ + interface ::com::sun::star::accessibility::XAccessibleSelection; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/AccessiblePageHeaderFooterAreasView.idl b/offapi/com/sun/star/sheet/AccessiblePageHeaderFooterAreasView.idl new file mode 100644 index 000000000..248b02747 --- /dev/null +++ b/offapi/com/sun/star/sheet/AccessiblePageHeaderFooterAreasView.idl @@ -0,0 +1,127 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_AccessiblePageHeaderFooterAreasView_idl__ +#define __com_sun_star_sheet_AccessiblePageHeaderFooterAreasView_idl__ + +#include <com/sun/star/accessibility/XAccessibleContext.idl> +#include <com/sun/star/accessibility/XAccessibleComponent.idl> +#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl> + + +module com { module sun { module star { module sheet { + + +/** The accessible view of the Header/Footer in a spreadsheet page preview + + @since OOo 1.1.2 + + */ +service AccessiblePageHeaderFooterAreasView +{ + /** This interface gives access to the three Header/Footer areas in the + page preview. + + <ul> + <li>The parent returned by + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent() + is the accessible spreadsheet page preview.</li> + <li>The children returned by + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild() + all support the interface + ::com::sun::star::accessibility::XAccessible. + Calling + ::com::sun::star::accessibility::XAccessible::getAccessibleContext() + for these children + returns an object that supports one of the following services.</li> + <ul> + <li>::com::sun::star::text::AccessibleHeaderFooterView: + A child where calling + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild() + an object that supports this service is returned for + every header and footer that is at least partially visible.</li> + </ul> + <p>The following rules apply to the children order.</p> + <ul> + <li>The first is the left area, then the center area and the last + is the right area.</li> + </ul> + <li>The description is ???.</li> + <li>The name is Header or Footer respectively.</li> + <li>The role is ::com::sun::star::accessibility::AccessibleRole::HEADER + or ::com::sun::star::accessibility::AccessibleRole::FOOTER.</li> + <li>There are no relations.</li> + <li>The following states are supported: + <ul> + <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC + is always false until the preview is closed.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE + is always false, + because the document is not editable in the page preview. + So it is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE + makes no sense on + a document and so it is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE + is always + false, because in a page preview a selection is not + possible. So it is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE + is always false, + because you can resize the window of the page preview, but + not the page preview itself. So it is left out of the + list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE + is always false, + because in the page preview is no selection possible. So it + is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED + is always false, + because in the page preview is no selection possible. So it + is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING + is true if the + Bounding Box lies in the Bounding Box of the parent. + Otherwise it is false.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE + is always true.</li> + </ul> + </li> + </ul> + + */ + interface ::com::sun::star::accessibility::XAccessibleContext; + + /** This interface gives access to the visibility of the document. + */ + interface ::com::sun::star::accessibility::XAccessibleComponent; + + /** This is the interface for listeners */ + interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl b/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl new file mode 100644 index 000000000..86422f264 --- /dev/null +++ b/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl @@ -0,0 +1,129 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_AccessibleSpreadsheet_idl__ +#define __com_sun_star_sheet_AccessibleSpreadsheet_idl__ + +#include <com/sun/star/accessibility/XAccessibleContext.idl> +#include <com/sun/star/accessibility/XAccessibleComponent.idl> +#include <com/sun/star/accessibility/XAccessibleTable.idl> +#include <com/sun/star/accessibility/XAccessibleSelection.idl> +#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl> + + +module com { module sun { module star { module sheet { + + +/** The accessible view of a spreadsheet document + + @since OOo 1.1.2 +*/ +service AccessibleSpreadsheet +{ + /** This interface gives access to any object in the currently visible table + on the desktop. + + <ul> + <li>The parent returned by + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent() + is the accessible spreadsheet document view.</li> + <li>The children returned by + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild() + all support the interface XAccessible. Calling + ::com::sun::star::accessibility::XAccessible::getAccessibleContext() + for these children + returns an object that supports the following service.</li> + <ul> + <li>::com::sun::star::sheet::AccessibleCell: + A child where calling + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild() + an object that supports this service is returned for + every cell in this table.</li> + </ul> + <p>The following rules apply to the children order.</p> + <ul> + <li>All the children are cells. The order of this cells is to + the order on the screen. This means that the first cell is the + cell in the left top edge of the table and the last one is the + cell in the right bottom edge of the table. The second is the + cell in the first row and second column and so on.</li> + </ul> + <li>The description is ???.</li> + <li>The name is the given table name.</li> + <li>The role is ::com::sun::star::accessibility::AccessibleRole::TABLE + </li> + <li>There are relations between the table and the shapes with an anchor + on this table (not with an anchor on a cell in this table).</li> + <li>The following states are supported: + <ul> + <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC + is always false if the + table is not deleted and the document is open, otherwise it + is true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE + is false if the + table is protected, otherwise it is true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE + is always false.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED + is true if the complete table (all cells) is selected.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING + is true if the + Bounding Box lies in the Bounding Box of the parent. + Otherwise it is false.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE + is always true.</li> + </ul> + </li> + </ul> + */ + interface ::com::sun::star::accessibility::XAccessibleContext; + + /** This interface gives access to the visibility of the table. + */ + interface ::com::sun::star::accessibility::XAccessibleComponent; + + /** This interface gives access to any cell that is at least partially + visible on the screen. So this interface gives access to the same + things like the XAccessibleContext interface. Therefore it use more + usable methods. Also it gives access to some table specific data. + */ + interface ::com::sun::star::accessibility::XAccessibleTable; + + /** This interface is for selecting the cells. + */ + interface ::com::sun::star::accessibility::XAccessibleSelection; + + /** This is the interface for listeners */ + interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/AccessibleSpreadsheetDocumentView.idl b/offapi/com/sun/star/sheet/AccessibleSpreadsheetDocumentView.idl new file mode 100644 index 000000000..6a594e4ed --- /dev/null +++ b/offapi/com/sun/star/sheet/AccessibleSpreadsheetDocumentView.idl @@ -0,0 +1,146 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__ +#define __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__ + +#include <com/sun/star/accessibility/XAccessibleContext.idl> +#include <com/sun/star/accessibility/XAccessibleComponent.idl> +#include <com/sun/star/accessibility/XAccessibleSelection.idl> +#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl> + + +module com { module sun { module star { module sheet { + + +/** The accessible view of a spreadsheet document + + @since OOo 1.1.2 + + */ +service AccessibleSpreadsheetDocumentView +{ + /** This interface gives access to any object that is contained in this + document. + + <ul> + <li>The parent returned by getAccessibleParent() + is the window which contains the view of these document.</li> + <li>The children returned by getAccessibleChild() all + support the interface XAccessible. Calling + getAccessibleContext() for these children returns + an object that supports one of the following services.</li> + <ul> + <li>::com::sun::star::sheet::AccessibleSpreadsheet: + A child where calling getAccessibleChild() + an object that supports this service is returned for + the current spreadsheet which is showing in this document + window. There is every time one child which supports this + service, because it is only possible to have one spreadsheet + in the current document window.</li> + <li>::com::sun::star::drawing::AccessibleShape: + A child where calling getAccessibleChild() + an object that supports this service is returned + for every shape that is at the current table. These + objects are children of the + AccessibleSpreadsheetDocumentView regardless + whether they are bound to a table or a cell.</li> + <li>::com::sun::star::text::AccessibleParagraphView: + A child where calling getAccessibleChild() + an object that supports this service is returned for + the current cell in edit mode. This is necessary to + have an object which allows event listeners. It exists + only if a cell is in edit mode.</li> + <li>::com::sun::star::accessibility::AccessibleContext: + A child where calling getAccessibleChild() + an object that supports this service is returned for + the current OLE object in edit mode. It exists + only if an OLE object is in edit mode.</li> + </ul> + <p>The following rules apply to the children order. General it + represents the paint order. The object in the background came + first and then all over lying objects. The last painted object + is also the last child.</p> + <ul> + <li>Graphics, embedded objects and shapes appear + before the other children if they are painted in the + background. Their order reflects the z order.</li> + <li>The current table is painted after the background and so it + comes after all background objects.</li> + <li>Graphics, embedded objects and shapes appear + behind any other children except controls if they are + painted in the foreground. Their order reflects the z order.</li> + <li>Controls appear behind the other graphic objects. Their order + reflects the z order.</li> + <li>The temporary object for the cell or OLE in edit mode (only + one can exist in the same time) is the last object.</li> + </ul> + <li>The description is ???.</li> + <li>The name is Spreadsheet Document View with a unique number.</li> + <li>The role is ::com::sun::star::accessibility::AccessibleRole::DOCUMENT_SPREADSHEET</li> + <li>There are no relations.</li> + <li>The following states are supported: + <ul> + <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC is always false until the document is + closed.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE makes no sense in on a document and + so it is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE is always false, because a + document is not selectable. Only the children are + selectable. So it is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE is always false, because you can + resize the window, but not the document. So it is left out + of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE is always false, because a + document is not selectable. Only the children are + selectable. So it is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED is always false, because a + document is not selectable. Only the children are + selectable. So it is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING is true if the Bounding Box lies in + the Bounding Box of the parent. Otherwise it is false.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE is always true.</li> + </ul> + </li> + </ul> + + */ + interface ::com::sun::star::accessibility::XAccessibleContext; + + /** This interface gives access to the visibility of the document. + */ + interface ::com::sun::star::accessibility::XAccessibleComponent; + + /** This interface is for selecting the document's children like + shapes or the whole table. + */ + interface ::com::sun::star::accessibility::XAccessibleSelection; + + /** This is the interface for listeners */ + interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/AccessibleSpreadsheetPageView.idl b/offapi/com/sun/star/sheet/AccessibleSpreadsheetPageView.idl new file mode 100644 index 000000000..cb884f1e3 --- /dev/null +++ b/offapi/com/sun/star/sheet/AccessibleSpreadsheetPageView.idl @@ -0,0 +1,158 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_AccessibleSpreadsheetPageView_idl__ +#define __com_sun_star_sheet_AccessibleSpreadsheetPageView_idl__ + +#include <com/sun/star/accessibility/XAccessibleContext.idl> +#include <com/sun/star/accessibility/XAccessibleComponent.idl> +#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl> + + +module com { module sun { module star { module sheet { + + +/** The accessible view of a spreadsheet page preview + + @since OOo 1.1.2 + + */ +service AccessibleSpreadsheetPageView +{ + /** This interface gives access to any object that is at least partially + visible on the screen in the page preview. + + <ul> + <li>The parent returned by + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent() + is the window which contains the view of these page preview.</li> + <li>The children returned by + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild() + all support the interface XAccessible. Calling + ::com::sun::star::accessibility::XAccessible::getAccessibleContext() + for these children returns + an object that supports one of the following services.</li> + <ul> + <li>::com::sun::star::sheet::AccessiblePageHeaderFooterAreasView: + A child where calling + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild() + an object that supports this service is returned for + every header and footer that is at least partially visible.</li> + <li>::com::sun::star::table::AccessibleTableView: + A child where calling + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild() + an object that supports this service is returned for + every table fragment that is contained in the document body + and is at least partially visible. A table fragment is the + part of a table that is displayed on a certain page.</li> + <li>::com::sun::star::drawing::AccessibleShape: + A child where calling + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild() + an object that supports this service is returned + for every shape that is at least partially visible. These + objects are children of the + AccessibleSpreadsheetPageView regardless + whether they are bound to a table or a cell.</li> + <li>::com::sun::star::text::AccessibleParagraphView: + A child where calling + ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild() + an object that supports this service is returned for + every note (its paragraphs) and its location (which is + represented as a paragraph with the cell name as content).</li> + </ul> + <p>The following rules apply to the children order. General it + represents the paint order. The object in the background came + first and then all over lying objects. The last painted object + is also the last child.</p> + <ul> + <li>The logical order of paragraph and table fragments is never + changed.</li> + <li>Headers appear immediately before the first table fragment + of the header's page.</li> + <li>Footers appear immediately after the last table fragment.</li> + <li>Shapes appear before any other children if they are painted + in the background. Their order reflects the z order.</li> + <li>Shapes appear behind any other children except controls if + they are painted in the foreground. Their order reflects the + z order.</li> + <li>Controls appear behind any other objects. Their order + reflects the z order.</li> + </ul> + <li>The description is ???.</li> + <li>The name is Spreadsheet Document Page Preview.</li> + <li>The role is + ::com::sun::star::accessibility::AccessibleRole::DOCUMENT_SPREADSHEET</li> + <li>There are no relations.</li> + <li>The following states are supported: + <ul> + <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC + is always false until the preview is closed.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE + is always false, + because the document is not editable in the page preview. + So it is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE + makes no sense on a + document and so it is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE + is always false, because in a page preview a selection is + not possible. So it is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE + is always true.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE + is always false, + because you can resize the window of the page preview, but + not the page preview itself. So it is left out of the + list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE + is always false, + because in the page preview is no selection possible. So + it is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED + is always false, + because in the page preview is no selection possible. So + it is left out of the list.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING + is true if the + Bounding Box lies in the Bounding Box of the parent. + Otherwise it is false.</li> + <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE + is always true.</li> + </ul> + </li> + </ul> + + */ + interface ::com::sun::star::accessibility::XAccessibleContext; + + /** This interface gives access to the visibility of the document. + */ + interface ::com::sun::star::accessibility::XAccessibleComponent; + + /** This is the interface for listeners */ + interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ActivationEvent.idl b/offapi/com/sun/star/sheet/ActivationEvent.idl new file mode 100644 index 000000000..f488b933d --- /dev/null +++ b/offapi/com/sun/star/sheet/ActivationEvent.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_ActivationEvent_idl__ +#define __com_sun_star_sheet_ActivationEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> +#include <com/sun/star/sheet/XSpreadsheet.idl> + + + module com { module sun { module star { module sheet { + + +/** describes a change of the active sheet. The new active sheet is given + with this event. + + @since OOo 2.0 + + */ +published struct ActivationEvent: com::sun::star::lang::EventObject +{ + + /** specifies the new active Spreadsheet. + */ + com::sun::star::sheet::XSpreadsheet ActiveSheet; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/AddIn.idl b/offapi/com/sun/star/sheet/AddIn.idl new file mode 100644 index 000000000..873f33050 --- /dev/null +++ b/offapi/com/sun/star/sheet/AddIn.idl @@ -0,0 +1,139 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_AddIn_idl__ +#define __com_sun_star_sheet_AddIn_idl__ + +#include <com/sun/star/lang/XServiceName.idl> +#include <com/sun/star/sheet/XAddIn.idl> +#include <com/sun/star/sheet/XCompatibilityNames.idl> + + +module com { module sun { module star { module sheet { + + +/** is the base for AddIn services that supply functions which can be called + by other components. + + <p>Any AddIn implementation must implement a service describing its + specific set of functions. + That service must contain the AddIn service, and the + functions that are implemented, in one or more interfaces. + The com::sun::star::lang::XServiceName interface + must describe that service, and the XAddIn interface + must describe the individual functions.</p> + + <p>Each AddIn function can take parameters of the following types:</p> + + <dl> + <dt>`long`</dt> + <dd>for integer values.</dd> + + <dt>`double`</dt> + <dd>for floating point values.</dd> + + <dt>`string`</dt> + <dd>for text strings.</dd> + + <dt>`long[][]`</dt> + <dd>for (two-dimensional) arrays of integer values.</dd> + + <dt>`double[][]`</dt> + <dd>for (two-dimensional) arrays of floating point values.</dd> + + <dt>`string[][]`</dt> + <dd>for (two-dimensional) arrays of text strings.</dd> + + <dt>`any[][]`</dt> + <dd>for (two-dimensional) arrays of mixed contents. Each `any` + will contain a `double` or a `string`, depending on + the data.</dd> + + <dt>`any`</dt> + <dd>Depending on the data, a `double`, a `string`, + or an `any[][]` will be passed. If no argument is specified in + the function call, `VOID` will be passed. This allows for optional + parameters.</dd> + + <dt>com::sun::star::table::XCellRange</dt> + <dd>for a com::sun::star::table::XCellRange interface + to the source data.</dd> + + <dt>com::sun::star::beans::XPropertySet</dt> + <dd>for a com::sun::star::beans::XPropertySet + interface to the SpreadsheetDocument making the function + call. Only one parameter of this type is allowed in each function. It + can be used to query document settings like + SpreadsheetDocumentSettings::NullDate.</dd> + + <dt>`any[]`</dt> + <dd>for varying parameters. Only the last parameter of a function may + have this type. It will be filled with the remaining arguments of the + function call that were not used for the previous parameters. Each + element of the sequence will be filled as in the case of `any` + above.</dd> + </dl> + + <p>Each AddIn function must have one of the following return types:</p> + + <ul> + <li>`long`</li> + <li>`double`</li> + <li>`string`</li> + <li>`long[][]`</li> + <li>`double[][]`</li> + <li>`string[][]`</li> + <li>`any[][]`</li> + <li>XVolatileResult</li> + <li>`any`</li> + </ul> + + <p>The sequences must contain arrays as described above for the + parameter types. + An XVolatileResult return value must contain an object + implementing the VolatileResult service, that contains + a volatile result. Subsequent calls with the same parameters must + return the same object. + An `any` return value can contain any of the other types.</p> + */ +published service AddIn +{ + + /** contains a method that returns the service name of the add-in. + */ + interface com::sun::star::lang::XServiceName; + + + /** provides access to function descriptions and localized names + and descriptions. + */ + interface com::sun::star::sheet::XAddIn; + + + /** provides access to compatibility names for the functions. + */ + [optional] interface com::sun::star::sheet::XCompatibilityNames; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/AddressConvention.idl b/offapi/com/sun/star/sheet/AddressConvention.idl new file mode 100644 index 000000000..b60514fa6 --- /dev/null +++ b/offapi/com/sun/star/sheet/AddressConvention.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_AddressConvention_idl__ +#define __com_sun_star_sheet_AddressConvention_idl__ + + +module com { module sun { module star { module sheet { + + +/** These constants specify which address convention to use in the formula + parser. Each variation specifies a different cell and cell range address + syntax. + + @see com::sun::star::sheet::FormulaParser + */ +constants AddressConvention +{ + + const short UNSPECIFIED = -1; + + + const short OOO = 0; + + + const short XL_A1 = 1; + + + const short XL_R1C1 = 2; + + + const short XL_OOX = 3; + + + const short LOTUS_A1 = 4; +}; + + +}; }; }; }; + + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/Border.idl b/offapi/com/sun/star/sheet/Border.idl new file mode 100644 index 000000000..abd236955 --- /dev/null +++ b/offapi/com/sun/star/sheet/Border.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_Border_idl__ +#define __com_sun_star_sheet_Border_idl__ + + +module com { module sun { module star { module sheet { + + +/** is used to select one of the four borders of a cell range. + */ +published enum Border +{ + + /** selects the top border. + */ + TOP, + + + /** selects the bottom border. + */ + BOTTOM, + + + /** selects the right border. + */ + RIGHT, + + + /** selects the left border. + */ + LEFT + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellAnnotation.idl b/offapi/com/sun/star/sheet/CellAnnotation.idl new file mode 100644 index 000000000..068dd42e9 --- /dev/null +++ b/offapi/com/sun/star/sheet/CellAnnotation.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellAnnotation_idl__ +#define __com_sun_star_sheet_CellAnnotation_idl__ + +#include <com/sun/star/sheet/XSheetAnnotation.idl> +#include <com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl> +#include <com/sun/star/container/XChild.idl> +#include <com/sun/star/text/XSimpleText.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a cell annotation object attached to a spreadsheet cell. + + @see com::sun::star::sheet::SheetCell + */ +published service CellAnnotation +{ + + /** provides methods to query data of the annotation + and to show and hide it. + */ + interface com::sun::star::sheet::XSheetAnnotation; + + + /** provides access to the parent of this object. + + <p>The parent of a cell annotation is the cell that contains it.</p> + */ + interface com::sun::star::container::XChild; + + + /** provides access to the text contents of the annotation. + */ + interface com::sun::star::text::XSimpleText; + + + [optional] interface com::sun::star::sheet::XSheetAnnotationShapeSupplier; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellAnnotationShape.idl b/offapi/com/sun/star/sheet/CellAnnotationShape.idl new file mode 100644 index 000000000..8db8b4605 --- /dev/null +++ b/offapi/com/sun/star/sheet/CellAnnotationShape.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellAnnotationShape_idl__ +#define __com_sun_star_sheet_CellAnnotationShape_idl__ + +#include <com/sun/star/drawing/CaptionShape.idl> + + +module com { module sun { module star { module sheet { + + +/** represents the shape of a cell annotation object attached to a spreadsheet cell. + + @see com::sun::star::sheet::CellAnnotation + */ +published service CellAnnotationShape +{ + /** provides all functionality of a CaptionShape. + */ + service com::sun::star::drawing::CaptionShape; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellAnnotations.idl b/offapi/com/sun/star/sheet/CellAnnotations.idl new file mode 100644 index 000000000..5bb0e7704 --- /dev/null +++ b/offapi/com/sun/star/sheet/CellAnnotations.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellAnnotations_idl__ +#define __com_sun_star_sheet_CellAnnotations_idl__ + +#include <com/sun/star/sheet/XSheetAnnotations.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of cell annotations. + + @see com::sun::star::sheet::Spreadsheet + */ +published service CellAnnotations +{ + + /** provides methods to access cell annotations via index and to + insert and remove annotations. + + @see com::sun::star::sheet::CellAnnotation + */ + interface com::sun::star::sheet::XSheetAnnotations; + + + /** creates an enumeration of all cell annotations. + + @see com::sun::star::sheet::CellAnnotationsEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellAnnotationsEnumeration.idl b/offapi/com/sun/star/sheet/CellAnnotationsEnumeration.idl new file mode 100644 index 000000000..e0a1f55d1 --- /dev/null +++ b/offapi/com/sun/star/sheet/CellAnnotationsEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellAnnotationsEnumeration_idl__ +#define __com_sun_star_sheet_CellAnnotationsEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of cell annotations in a spreadsheet document. + + @see com::sun::star::sheet::CellAnnotations + */ +published service CellAnnotationsEnumeration +{ + + /** provides methods to access the cell annotations in the enumeration. + + @see com::sun::star::sheet::CellAnnotation + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellAreaLink.idl b/offapi/com/sun/star/sheet/CellAreaLink.idl new file mode 100644 index 000000000..2433bd84d --- /dev/null +++ b/offapi/com/sun/star/sheet/CellAreaLink.idl @@ -0,0 +1,95 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellAreaLink_idl__ +#define __com_sun_star_sheet_CellAreaLink_idl__ + +#include <com/sun/star/sheet/XAreaLink.idl> +#include <com/sun/star/util/XRefreshable.idl> +#include <com/sun/star/beans/XPropertySet.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a linked cell range. + + <p>A linked cell range is a range which is linked to an equal-sized + range in an external document. The contents of the external range is + copied into the range of this document.</p> + + @see com::sun::star::sheet::CellAreaLinks + */ +published service CellAreaLink +{ + + /** provides methods to change the settings of the linked cell range. + */ + interface com::sun::star::sheet::XAreaLink; + + + /** provides methods to reload the external data. + */ + interface com::sun::star::util::XRefreshable; + + +//!published service PropertySet + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** specifies the URL of the source document. + */ + [property] string Url; + + + /** specifies the name of the filter used to load the source document. + */ + [property] string Filter; + + + /** specifies the filter options needed to load the source document. + */ + [property] string FilterOptions; + + + /** specifies the delay time between two refresh actions in seconds. + + @deprecated + + */ + [property] long RefreshDelay; + + + /** specifies the time between two refresh actions in seconds. + + @since OOo 2.0 + */ + [optional, property] long RefreshPeriod; + + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellAreaLinks.idl b/offapi/com/sun/star/sheet/CellAreaLinks.idl new file mode 100644 index 000000000..26f0d08da --- /dev/null +++ b/offapi/com/sun/star/sheet/CellAreaLinks.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellAreaLinks_idl__ +#define __com_sun_star_sheet_CellAreaLinks_idl__ + +#include <com/sun/star/sheet/XAreaLinks.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of area links. + + @see com::sun::star::sheet::CellAreaLink + @see com::sun::star::sheet::SpreadsheetDocument + */ +published service CellAreaLinks +{ + + /** provides access via index to a collection of area links and inserting + and removing area links. + */ + interface com::sun::star::sheet::XAreaLinks; + + + /** provides access to the area links via index. + + @see com::sun::star::sheet::CellAreaLink + + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all area links. + + @see com::sun::star::sheet::CellAreaLinksEnumeration + + */ + interface com::sun::star::container::XEnumerationAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellAreaLinksEnumeration.idl b/offapi/com/sun/star/sheet/CellAreaLinksEnumeration.idl new file mode 100644 index 000000000..5314b9fd2 --- /dev/null +++ b/offapi/com/sun/star/sheet/CellAreaLinksEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellAreaLinksEnumeration_idl__ +#define __com_sun_star_sheet_CellAreaLinksEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of cell area links. + + @see com::sun::star::sheet::CellAreaLink + */ +published service CellAreaLinksEnumeration +{ + + /** provides methods to access the cell area links in the enumeration. + + @see com::sun::star::sheet::CellAreaLink + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellDeleteMode.idl b/offapi/com/sun/star/sheet/CellDeleteMode.idl new file mode 100644 index 000000000..f8d1fd54d --- /dev/null +++ b/offapi/com/sun/star/sheet/CellDeleteMode.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellDeleteMode_idl__ +#define __com_sun_star_sheet_CellDeleteMode_idl__ + + +module com { module sun { module star { module sheet { + + +/** is used to specify how remaining cells are moved when cells are deleted. + */ +published enum CellDeleteMode +{ + + /** no cells are moved. + */ + NONE, + + + /** the cells below the deleted cells are moved up. + */ + UP, + + + /** the cells to the right of the deleted cells are moved left. + */ + LEFT, + + + /** entire rows below the deleted cells are moved up. + */ + ROWS, + + + /** entire columns to the right of the deleted cells are moved left. + */ + COLUMNS + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellFlags.idl b/offapi/com/sun/star/sheet/CellFlags.idl new file mode 100644 index 000000000..68d05eb29 --- /dev/null +++ b/offapi/com/sun/star/sheet/CellFlags.idl @@ -0,0 +1,94 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellFlags_idl__ +#define __com_sun_star_sheet_CellFlags_idl__ + + +module com { module sun { module star { module sheet { + + +/** These constants select different types of cell contents. + + <P>The values can be combined. They are used to insert, copy, or + delete contents.</P> + */ +published constants CellFlags +{ + + /** selects constant numeric values that are not formatted + as dates or times. + */ + const long VALUE = 1; + + + /** selects constant numeric values that have a date or time + number format. + */ + const long DATETIME = 2; + + + /** selects constant strings. + */ + const long STRING = 4; + + + /** selects cell annotations. + */ + const long ANNOTATION = 8; + + + /** selects formulas. + */ + const long FORMULA = 16; + + + /** selects all explicit formatting, but not the formatting which is + applied implicitly through style sheets. + */ + const long HARDATTR = 32; + + + /** selects cell styles. + */ + const long STYLES = 64; + + + /** selects drawing objects. + */ + const long OBJECTS = 128; + + + /** selects formatting within parts of the cell contents. + */ + const long EDITATTR = 256; + + + /** selects cells with formatting within the cells or cells with more than + one paragraph within the cells. + */ + const long FORMATTED = 512; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellFormatRanges.idl b/offapi/com/sun/star/sheet/CellFormatRanges.idl new file mode 100644 index 000000000..4daa6d19e --- /dev/null +++ b/offapi/com/sun/star/sheet/CellFormatRanges.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellFormatRanges_idl__ +#define __com_sun_star_sheet_CellFormatRanges_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of equal-formatted cell ranges. + + <p>All cells inside a cell range of this collection have the same + formatting attributes.</p> + + @see com::sun::star::sheet::SheetCellRange + @see com::sun::star::sheet::SheetCellRanges + @see com::sun::star::sheet::UniqueCellFormatRanges + */ +published service CellFormatRanges +{ + + /** provides methods to access the contained cell ranges by index. + + @see com::sun::star::sheet::SheetCellRange + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all cell ranges. + + @see com::sun::star::sheet::CellFormatRangesEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellFormatRangesEnumeration.idl b/offapi/com/sun/star/sheet/CellFormatRangesEnumeration.idl new file mode 100644 index 000000000..df81e2d6c --- /dev/null +++ b/offapi/com/sun/star/sheet/CellFormatRangesEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellFormatRangesEnumeration_idl__ +#define __com_sun_star_sheet_CellFormatRangesEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of equal-formatted cell ranges. + + @see com::sun::star::sheet::CellFormatRanges + */ +published service CellFormatRangesEnumeration +{ + + /** provides methods to access the cell ranges in the enumeration. + + @see com::sun::star::sheet::SheetCellRange + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellInsertMode.idl b/offapi/com/sun/star/sheet/CellInsertMode.idl new file mode 100644 index 000000000..f85983b16 --- /dev/null +++ b/offapi/com/sun/star/sheet/CellInsertMode.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellInsertMode_idl__ +#define __com_sun_star_sheet_CellInsertMode_idl__ + + +module com { module sun { module star { module sheet { + + +/** is used to specify how cells are moved when new cells are inserted. + */ +published enum CellInsertMode +{ + + /** no cells are moved. + */ + NONE, + + + /** the cells below the inserted cells are moved down. + */ + DOWN, + + + /** the cells to the right of the inserted cells are moved right. + */ + RIGHT, + + + /** entire rows below the inserted cells are moved down. + */ + ROWS, + + + /** entire columns to the right of the inserted cells are moved right. + */ + COLUMNS + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/Cells.idl b/offapi/com/sun/star/sheet/Cells.idl new file mode 100644 index 000000000..dc5f1fac6 --- /dev/null +++ b/offapi/com/sun/star/sheet/Cells.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_Cells_idl__ +#define __com_sun_star_sheet_Cells_idl__ + +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of used cells in a spreadsheet document. + + @see com::sun::star::sheet::SheetCell + */ +published service Cells +{ + + /** creates an enumeration of all used cells. + + @see com::sun::star::sheet::CellsEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/CellsEnumeration.idl b/offapi/com/sun/star/sheet/CellsEnumeration.idl new file mode 100644 index 000000000..afa4d5f6f --- /dev/null +++ b/offapi/com/sun/star/sheet/CellsEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_CellsEnumeration_idl__ +#define __com_sun_star_sheet_CellsEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of spreadsheet cells. + + @see com::sun::star::sheet::Cells + */ +published service CellsEnumeration +{ + + /** provides methods to access the cells in the enumeration. + + @see com::sun::star::sheet::SheetCell + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ColorScale.idl b/offapi/com/sun/star/sheet/ColorScale.idl new file mode 100644 index 000000000..b7d79e214 --- /dev/null +++ b/offapi/com/sun/star/sheet/ColorScale.idl @@ -0,0 +1,32 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_Colorscale_idl__ +#define __com_sun_star_sheet_Colorscale_idl__ + +#include <com/sun/star/sheet/XConditionEntry.idl> +#include <com/sun/star/sheet/XColorScaleEntry.idl> + +module com { module sun { module star { module sheet { + +service ColorScale +{ + interface XConditionEntry; + + [property] sequence<XColorScaleEntry> ColorScaleEntries; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ + + diff --git a/offapi/com/sun/star/sheet/ColorScaleEntryType.idl b/offapi/com/sun/star/sheet/ColorScaleEntryType.idl new file mode 100644 index 000000000..bab3d8c4a --- /dev/null +++ b/offapi/com/sun/star/sheet/ColorScaleEntryType.idl @@ -0,0 +1,35 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_ColorScaleEntryType_idl__ +#define __com_sun_star_sheet_ColorScaleEntryType_idl__ + +module com { module sun { module star { module sheet { + +constants ColorScaleEntryType +{ + const long COLORSCALE_MIN = 0; + + const long COLORSCALE_MAX = 1; + + const long COLORSCALE_PERCENTILE = 2; + + const long COLORSCALE_VALUE = 3; + + const long COLORSCALE_PERCENT = 4; + + const long COLORSCALE_FORMULA = 5; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ComplexReference.idl b/offapi/com/sun/star/sheet/ComplexReference.idl new file mode 100644 index 000000000..24551b920 --- /dev/null +++ b/offapi/com/sun/star/sheet/ComplexReference.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_ComplexReference_idl__ +#define __com_sun_star_sheet_ComplexReference_idl__ + +#include <com/sun/star/sheet/SingleReference.idl> + + +module com { module sun { module star { module sheet { + + +/** contains a reference to a cell range. + */ +struct ComplexReference +{ + + /** is the first reference. + */ + SingleReference Reference1; + + + /** is the second reference. + */ + SingleReference Reference2; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ConditionEntryType.idl b/offapi/com/sun/star/sheet/ConditionEntryType.idl new file mode 100644 index 000000000..43148cff3 --- /dev/null +++ b/offapi/com/sun/star/sheet/ConditionEntryType.idl @@ -0,0 +1,34 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_ConditionEntryType_idl__ +#define __com_sun_star_sheet_ConditionEntryType_idl__ + +module com { module sun { module star { module sheet { + +constants ConditionEntryType +{ + const long CONDITION = 0; + + const long COLORSCALE = 1; + + const long DATABAR = 2; + + const long ICONSET = 3; + + const long DATE = 4; +}; + + +}; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ConditionFormatEntry.idl b/offapi/com/sun/star/sheet/ConditionFormatEntry.idl new file mode 100644 index 000000000..a0928339c --- /dev/null +++ b/offapi/com/sun/star/sheet/ConditionFormatEntry.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_ConditionFormatEntry_idl__ +#define __com_sun_star_sheet_ConditionFormatEntry_idl__ + +module com { module sun { module star { module sheet { + +service ConditionFormatEntry +{ + interface XConditionEntry; + + /** + * See com.sun.star.sheet.ConditionFormatOperator for valid values + */ + [property] long Operator; + + [property] string StyleName; + + [optional, property] string Formula1; + + [optional, property] string Formula2; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ + diff --git a/offapi/com/sun/star/sheet/ConditionFormatOperator.idl b/offapi/com/sun/star/sheet/ConditionFormatOperator.idl new file mode 100644 index 000000000..68ac0e279 --- /dev/null +++ b/offapi/com/sun/star/sheet/ConditionFormatOperator.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_ConditionFormatOperator_idl__ +#define __com_sun_star_sheet_ConditionFormatOperator_idl__ + +module com { module sun { module star { module sheet { + +constants ConditionFormatOperator +{ + const long EQUAL = 0; + + const long LESS = 1; + + const long GREATER = 2; + + const long LESS_EQUAL = 3; + + const long GREATER_EQUAL = 4; + + const long NOT_EQUAL = 5; + + const long BETWEEN = 6; + + const long NOT_BETWEEN = 7; + + const long DUPLICATE = 8; + + const long UNIQUE = 9; + + const long TOP_N_ELEMENTS = 10; + + const long BOTTOM_N_ELEMENTS = 11; + + const long TOP_N_PERCENT = 12; + + const long BOTTOM_N_PERCENT = 13; + + const long ABOVE_AVERAGE = 14; + + const long BELOW_AVERAGE = 15; + + const long ABOVE_EQUAL_AVERAGE = 16; + + const long BELOW_EQUAL_AVERAGE = 17; + + const long ERROR = 18; + + const long NO_ERROR = 19; + + const long BEGINS_WITH = 20; + + const long ENDS_WITH = 21; + + const long CONTAINS = 22; + + const long NOT_CONTAINS = 23; + + const long EXPRESSION = 24; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ConditionOperator.idl b/offapi/com/sun/star/sheet/ConditionOperator.idl new file mode 100644 index 000000000..fa643bda2 --- /dev/null +++ b/offapi/com/sun/star/sheet/ConditionOperator.idl @@ -0,0 +1,88 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_ConditionOperator_idl__ +#define __com_sun_star_sheet_ConditionOperator_idl__ + + +module com { module sun { module star { module sheet { + + +/** is used to specify the type of XSheetCondition. + */ +published enum ConditionOperator +{ + + /** no condition is specified. + */ + NONE, + + + /** value has to be equal to the specified value. + */ + EQUAL, + + + /** the value must not be equal to the specified value. + */ + NOT_EQUAL, + + + /** the value has to be greater than the specified value. + */ + GREATER, + + + /** the value has to be greater than or equal to the specified value. + */ + GREATER_EQUAL, + + + /** the value has to be less than the specified value. + */ + LESS, + + + /** the value has to be less than or equal to the specified value. + */ + LESS_EQUAL, + + + /** the value has to be between the two specified values. + */ + BETWEEN, + + + /** the value has to be outside of the two specified values. + */ + NOT_BETWEEN, + + + /** the specified formula has to give a non-zero result. + */ + FORMULA + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ConditionOperator2.idl b/offapi/com/sun/star/sheet/ConditionOperator2.idl new file mode 100644 index 000000000..e4d42d424 --- /dev/null +++ b/offapi/com/sun/star/sheet/ConditionOperator2.idl @@ -0,0 +1,87 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_ConditionOperator2_idl__ +#define __com_sun_star_sheet_ConditionOperator2_idl__ + + +module com { module sun { module star { module sheet { + + +/** is used to specify the type of XSheetCondition2. + */ +constants ConditionOperator2 +{ + + /** no condition is specified. + */ + const long NONE = 0; + + + /** value has to be equal to the specified value. + */ + const long EQUAL = 1; + + + /** the value must not be equal to the specified value. + */ + const long NOT_EQUAL = 2; + + + /** the value has to be greater than the specified value. + */ + const long GREATER = 3; + + + /** the value has to be greater than or equal to the specified value. + */ + const long GREATER_EQUAL = 4; + + + /** the value has to be less than the specified value. + */ + const long LESS = 5; + + + /** the value has to be less than or equal to the specified value. + */ + const long LESS_EQUAL = 6; + + + /** the value has to be between the two specified values. + */ + const long BETWEEN = 7; + + + /** the value has to be outside of the two specified values. + */ + const long NOT_BETWEEN = 8; + + + /** the specified formula has to give a non-zero result. + */ + const long FORMULA = 9; + + + /** Conditionally format duplicate values + */ + const long DUPLICATE = 10; + + + /** Conditionally format non-duplicate values + */ + const long NOT_DUPLICATE = 11; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ConditionalFormat.idl b/offapi/com/sun/star/sheet/ConditionalFormat.idl new file mode 100644 index 000000000..953d3cff2 --- /dev/null +++ b/offapi/com/sun/star/sheet/ConditionalFormat.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_ConditionalFormat_idl__ +#define __com_sun_star_sheet_ConditionalFormat_idl__ + +#include <com/sun/star/sheet/XConditionalFormat.idl> +#include <com/sun/star/sheet/XSheetCellRanges.idl> + +module com { module sun { module star { module sheet { + + +/** represents a conditional format + */ +service ConditionalFormat +{ + interface com::sun::star::beans::XPropertySet; + interface com::sun::star::sheet::XConditionalFormat; + + /** represents the range for the conditional format + All ranges have to be in the same sheet. + */ + [property] XSheetCellRanges Range; + + [property] long ID; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ConsolidationDescriptor.idl b/offapi/com/sun/star/sheet/ConsolidationDescriptor.idl new file mode 100644 index 000000000..e85457054 --- /dev/null +++ b/offapi/com/sun/star/sheet/ConsolidationDescriptor.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_ConsolidationDescriptor_idl__ +#define __com_sun_star_sheet_ConsolidationDescriptor_idl__ + +#include <com/sun/star/sheet/XConsolidationDescriptor.idl> + + +module com { module sun { module star { module sheet { + + +/** contains all settings of a data consolidation in a spreadsheet + document. + + @see com::sun::star::sheet::XConsolidatable + */ +published service ConsolidationDescriptor +{ + +/** provides methods to access the settings of the descriptor. + */ + interface com::sun::star::sheet::XConsolidationDescriptor; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DDEItemInfo.idl b/offapi/com/sun/star/sheet/DDEItemInfo.idl new file mode 100644 index 000000000..35e2e47cd --- /dev/null +++ b/offapi/com/sun/star/sheet/DDEItemInfo.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#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 OOo 3.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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DDELink.idl b/offapi/com/sun/star/sheet/DDELink.idl new file mode 100644 index 000000000..66b5b9d9a --- /dev/null +++ b/offapi/com/sun/star/sheet/DDELink.idl @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DDELink_idl__ +#define __com_sun_star_sheet_DDELink_idl__ + +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/sheet/XDDELink.idl> +#include <com/sun/star/util/XRefreshable.idl> +#include <com/sun/star/sheet/XDDELinkResults.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a DDE link. + + <p>A DDE link controls the results of a DDE spreadsheet formula.</p> + */ +published service DDELink +{ + + /** provides access to the name of the DDE link. + + <p>A DDE link has the form Application|Topic!Item.</p> + */ + interface com::sun::star::container::XNamed; + + + /** provides methods to change the settings of the DDE link. + */ + interface com::sun::star::sheet::XDDELink; + + + /** provides methods to reload the external linked data. + */ + interface com::sun::star::util::XRefreshable; + + + /** provides access to the DDE link results. + + @since OOo 3.0 + */ + [optional] interface com::sun::star::sheet::XDDELinkResults; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DDELinkInfo.idl b/offapi/com/sun/star/sheet/DDELinkInfo.idl new file mode 100644 index 000000000..9c24e7ab4 --- /dev/null +++ b/offapi/com/sun/star/sheet/DDELinkInfo.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_DDELinkInfo_idl__ +#define __com_sun_star_sheet_DDELinkInfo_idl__ + +#include <com/sun/star/sheet/DDEItemInfo.idl> + + +module com { module sun { module star { module sheet { + +/** describes all items of a DDE connection used in formulas. + + <p>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.</p> + + <p>The formula that would need this information for example would contain + <code>=[1]!'R1C1'</code> or <code>=[2]!'Sheet1.A1'</code> where + <em>[1]</em> is an external link with DDE service name "excel" and the + topic "X:\PATH\[FILE.XLSX]Sheet1", and <em>[2]</em> contains service + "soffice" and topic "file:///X:/PATH/FILE.ODS". The service name is stored + in DDELinkInfo::Service, the topic is stored in + DDELinkInfo::Topic. Note that if the DDE item contains + single quotes they are escaped by doubling them, as usual, for example + <code>=[2]!'''Sheet name''.A1'</code> in a "soffice" service.</p> + + @since OOo 3.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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DDELinkMode.idl b/offapi/com/sun/star/sheet/DDELinkMode.idl new file mode 100644 index 000000000..f971537b1 --- /dev/null +++ b/offapi/com/sun/star/sheet/DDELinkMode.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DDELinkMode_idl__ +#define __com_sun_star_sheet_DDELinkMode_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify how the DDE server application converts its data into + numbers. + + @see com::sun::star::sheet::XDDELinks + + @since OOo 3.0 + */ +published enum DDELinkMode +{ + + /** numbers are converted into the default format. + */ + DEFAULT, + + + /** numbers are converted into the English default format. + */ + ENGLISH, + + + /** numbers are not converted, but treated as text. + */ + TEXT + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DDELinks.idl b/offapi/com/sun/star/sheet/DDELinks.idl new file mode 100644 index 000000000..02cb47e90 --- /dev/null +++ b/offapi/com/sun/star/sheet/DDELinks.idl @@ -0,0 +1,76 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DDELinks_idl__ +#define __com_sun_star_sheet_DDELinks_idl__ + +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/sheet/XDDELinks.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of DDE links. + + @see com::sun::star::sheet::DDELink + @see com::sun::star::sheet::SpreadsheetDocument + */ +published service DDELinks +{ + + /** provides access to the DDE links via the DDE link string. + + <p>A DDE link has the form Application|Topic!Item.</p> + */ + interface com::sun::star::container::XNameAccess; + + + /** provides access to the DDE links via index. + + @see com::sun::star::sheet::DDELink + + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all DDE links. + + @see com::sun::star::sheet::DDELinksEnumeration + + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides a method to add a DDE link to a spreadsheet. + + @since OOo 3.0 + */ + [optional] interface com::sun::star::sheet::XDDELinks; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DDELinksEnumeration.idl b/offapi/com/sun/star/sheet/DDELinksEnumeration.idl new file mode 100644 index 000000000..0c9f0d643 --- /dev/null +++ b/offapi/com/sun/star/sheet/DDELinksEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DDELinksEnumeration_idl__ +#define __com_sun_star_sheet_DDELinksEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of DDE links. + + @see com::sun::star::sheet::DDELink + */ +published service DDELinksEnumeration +{ + + /** provides methods to access the DDE links in the enumeration. + + @see com::sun::star::sheet::DDELink + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataBar.idl b/offapi/com/sun/star/sheet/DataBar.idl new file mode 100644 index 000000000..6fbccb9dc --- /dev/null +++ b/offapi/com/sun/star/sheet/DataBar.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_Databar_idl__ +#define __com_sun_star_sheet_Databar_idl__ + +#include <com/sun/star/sheet/XConditionEntry.idl> +#include <com/sun/star/sheet/XColorScaleEntry.idl> +#include <com/sun/star/sheet/DataBarAxis.idl> +#include <com/sun/star/util/Color.idl> + +module com { module sun { module star { module sheet { + +service DataBar +{ + interface XConditionEntry; + + [property] boolean ShowValue; + + /** + * See com.sun.star.sheet.DataBarAxis for possible values + */ + [property] long AxisPosition; + + [property] boolean UseGradient; + + [property] com::sun::star::util::Color Color; + + [property] com::sun::star::util::Color AxisColor; + + [property] boolean UseNegativeColor; + + [property, optional] com::sun::star::util::Color NegativeColor; + + [property] sequence<XDataBarEntry> DataBarEntries; + + /** + * Minimum databar length in percent of cell width. + * + * Allowed values are [0, 100) but smaller than MaximumLength. + */ + [property] double MinimumLength; + + /** + * Maximum databar length in percent of cell width. + * + * Allowed values are (0, 1000) but larger than MinimumLength. + */ + [property] double MaximumLength; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataBarAxis.idl b/offapi/com/sun/star/sheet/DataBarAxis.idl new file mode 100644 index 000000000..011725934 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataBarAxis.idl @@ -0,0 +1,29 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_DataBarAxis_idl__ +#define __com_sun_star_sheet_DataBarAxis_idl__ + +module com { module sun { module star { module sheet { + +constants DataBarAxis +{ + const long AXIS_NONE = 0; + + const long AXIS_MIDDLE = 1; + + const long AXIS_AUTOMATIC = 2; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataBarEntryType.idl b/offapi/com/sun/star/sheet/DataBarEntryType.idl new file mode 100644 index 000000000..0e795a917 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataBarEntryType.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_DataBarEntryType_idl__ +#define __com_sun_star_sheet_DataBarEntryType_idl__ + +module com { module sun { module star { module sheet { + +constants DataBarEntryType +{ + const long DATABAR_AUTO = 1; + + const long DATABAR_MIN = 1; + + const long DATABAR_MAX = 2; + + const long DATABAR_PERCENTILE = 3; + + const long DATABAR_VALUE = 4; + + const long DATABAR_PERCENT = 5; + + const long DATABAR_FORMULA = 6; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataImportMode.idl b/offapi/com/sun/star/sheet/DataImportMode.idl new file mode 100644 index 000000000..3f55b3019 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataImportMode.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataImportMode_idl__ +#define __com_sun_star_sheet_DataImportMode_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify which database contents are imported. + */ +published enum DataImportMode +{ + + /** nothing is imported. + */ + NONE, + + + /** a SQL query string is supplied. + */ + SQL, + + + /** the name of a database table is supplied. + */ + TABLE, + + + /** the name of a database query is supplied. + */ + QUERY + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotDescriptor.idl b/offapi/com/sun/star/sheet/DataPilotDescriptor.idl new file mode 100644 index 000000000..0ab03b48c --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotDescriptor.idl @@ -0,0 +1,126 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotDescriptor_idl__ +#define __com_sun_star_sheet_DataPilotDescriptor_idl__ + +#include <com/sun/star/sheet/XDataPilotDescriptor.idl> +#include <com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/beans/PropertyValue.idl> + + +module com { module sun { module star { module sheet { + + +/** represents the description of the layout of a data pilot table. + + @see com::sun::star::sheet::DataPilotTable +*/ +published service DataPilotDescriptor +{ + + /** provides access to the layout settings of the data pilot table. + */ + interface XDataPilotDescriptor; + + + /** provides access to the layout settings of the data pilot table. + */ + [optional] interface com::sun::star::beans::XPropertySet; + + + /** Provides access to the DataPilotField used to layout + multiple data fields. + */ + [optional] interface XDataPilotDataLayoutFieldSupplier; + + + /** specifies parameters to create the data pilot table from a database. + + @see DatabaseImportDescriptor + @since OOo 3.3 + + */ + [optional, property] sequence< com::sun::star::beans::PropertyValue > ImportDescriptor; + + + /** specifies the name of a DataPilotSource implementation + for the data pilot table. + + @since OOo 3.3 + + */ + [optional, property] string SourceServiceName; + + + /** specifies arguments that are passed to the implementation named by + #SourceServiceName. + + @since OOo 3.3 + + */ + [optional, property] sequence< com::sun::star::beans::PropertyValue > ServiceArguments; + + + /** specifies if empty rows in the source data are ignored. + */ + [optional, property] boolean IgnoreEmptyRows; + + + /** specifies if empty category cells in the source data should be treated + as repetition of the content from the previous row. + */ + [optional, property] boolean RepeatIfEmpty; + + + /** specifies if columns for grand total results are created. + */ + [optional, property] boolean ColumnGrand; + + + /** specifies if rows for grand total results are created. + */ + [optional, property] boolean RowGrand; + + + /** specifies whether the filter button is shown. + */ + [optional, property] boolean ShowFilterButton; + + + /** specifies whether to drill down to details or go into edit mode. + */ + [optional, property] boolean DrillDownOnDoubleClick; + + + /** specifies a label for grand total results. + + @since OOo 3.4 + */ + [optional, property] string GrandTotalName; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotField.idl b/offapi/com/sun/star/sheet/DataPilotField.idl new file mode 100644 index 000000000..ad6c88ac8 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotField.idl @@ -0,0 +1,215 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotField_idl__ +#define __com_sun_star_sheet_DataPilotField_idl__ + +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/sheet/XDataPilotField.idl> +#include <com/sun/star/sheet/XDataPilotFieldGrouping.idl> +#include <com/sun/star/sheet/DataPilotFieldOrientation.idl> +#include <com/sun/star/sheet/GeneralFunction.idl> +#include <com/sun/star/sheet/DataPilotFieldReference.idl> +#include <com/sun/star/sheet/DataPilotFieldLayoutInfo.idl> +#include <com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl> +#include <com/sun/star/sheet/DataPilotFieldSortInfo.idl> +#include <com/sun/star/sheet/DataPilotFieldGroupInfo.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a single field in a data pilot table. + + <p>If the data pilot table is based on a spreadsheet cell range, a field + is represented by a column of the range and is named using the topmost + cell of the column.</p> + */ +published service DataPilotField +{ + + /** provides access to the name of the data pilot field. + */ + interface com::sun::star::container::XNamed; + + +//!published service PropertySet + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + [optional] interface XDataPilotField; + + + [optional] interface XDataPilotFieldGrouping; + + + /** specifies the orientation of the field. + + <p>If the orientation of a field has been changed using this property, + the field will be moved to the last position in the collection of all + fields with the specified orientation.</p> + */ + [property] DataPilotFieldOrientation Orientation; + + + /** specifies the function used to calculate results for this field. + + <p>For column and row fields, this is the function for subtotals + (GeneralFunction::NONE means no subtotals). + For data fields, this is the function shown in the data pilot + table.</p> + */ + [property] GeneralFunction Function; + + + /** specifies the functions used to calculate subtotals for this field. + + <p>This property is supported by column and row fields only.</p> + + <p>An empty sequence means no subtotals. The same effect can be + achieved by setting the property #Function to the + value GeneralFunction::NONE. If the length of the + sequence is greater than 1, then the sequence MUST NOT contain one of + the values GeneralFunction::NONE or + GeneralFunction::AUTO.</p> + + <p>The order of the functions in this sequence is reflected in the + DataPilot table. Multiple entries of the same function are ignored + when setting the property.</p> + */ + [property, optional] sequence<GeneralFunction> Subtotals; + + /** specifies the selected page which is used to filter the data pilot. + */ + [property, optional] string SelectedPage; + + + /** specifies whether to use the selected page to filter the data pilot or + show all. + */ + [property, optional] boolean UseSelectedPage; + + + /** specifies which hierarchy of the dimension is used. + + @see com::sun::star::sheet::DataPilotSourceHierarchies + */ + [property, optional] string UsedHierarchy; + + + /** specifies whether this field has sorting information. + */ + [property, optional] boolean HasSortInfo; + + + /** controls how the field's items are sorted. + */ + [property, optional] DataPilotFieldSortInfo SortInfo; + + + /** specifies whether this field has layout information. + */ + [property, optional] boolean HasLayoutInfo; + + + /** controls how the field's items are laid out in the result table. + */ + [property, optional] DataPilotFieldLayoutInfo LayoutInfo; + + + /** specifies whether this field has auto show information. + */ + [property, optional] boolean HasAutoShowInfo; + + + /** enables the automatic inclusion of only a number of items with + the highest or lowest result values. + */ + [property, optional] DataPilotFieldAutoShowInfo AutoShowInfo; + + + /** specifies whether this field has a reference. + */ + [property, optional] boolean HasReference; + + + /** controls how the results are shown in relation to a selected + reference result. + */ + [property, optional] DataPilotFieldReference Reference; + + + /** specifies whether this field is a group field. + */ + [property, optional] boolean IsGroupField; + + + /** contains the grouping information of the DataPilot field. + + <p>By changing the value of this property it is possible to modify the + grouping settings of this field.</p> + */ + [property, optional] DataPilotFieldGroupInfo GroupInfo; + + + /** specifies whether to show this field also if it is empty or not. + */ + [property, optional] boolean ShowEmpty; + + /** specifies the function used to calculate results for this field. + + <p>For column and row fields, this is the function for subtotals + (GeneralFunction2::NONE means no subtotals). + For data fields, this is the function shown in the data pilot + table.</p> + + @since LibreOffice 5.3 + */ + + [property, optional] short Function2; + + /** specifies the functions used to calculate subtotals for this field. + + <p>This property is supported by column and row fields only.</p> + + <p>An empty sequence means no subtotals. The same effect can be + achieved by setting the property #Function2 to the + value GeneralFunction::NONE. If the length of the + sequence is greater than 1, then the sequence MUST NOT contain one of + the values GeneralFunction2::NONE or + GeneralFunction2::AUTO.</p> + + <p>The order of the functions in this sequence is reflected in the + DataPilot table. Multiple entries of the same function are ignored + when setting the property.</p> + + @since LibreOffice 5.3 + */ + [property, optional] sequence<short> Subtotals2; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl new file mode 100644 index 000000000..155ba09a9 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldAutoShowInfo_idl__ +#define __com_sun_star_sheet_DataPilotFieldAutoShowInfo_idl__ + + +module com { module sun { module star { module sheet { + + +/** contains the auto show information of a DataPilotField. + + <p>If enabled, only a number of items with the highest or lowest result + values are shown. The other items are hidden automatically.</p> + + @see com::sun::star::sheet::DataPilotField + */ +published struct DataPilotFieldAutoShowInfo +{ + + /** specifies whether the AutoShow feature is enabled or not. + */ + + boolean IsEnabled; + + + /** specifies the mode which items have to be shown. + + @see com::sun::star::sheet::DataPilotFieldShowItemsMode + + */ + + long ShowItemsMode; + + + /** specifies the number of the items to show. + */ + + long ItemCount; + + + /** specifies the field where the values to show and select are taken from. + */ + + string DataField; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl b/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl new file mode 100644 index 000000000..c41cf395f --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldFilter_idl__ +#define __com_sun_star_sheet_DataPilotFieldFilter_idl__ + + +module com { module sun { module star { module sheet { + + +struct DataPilotFieldFilter +{ + /** Field name. */ + string FieldName; + + /** String value that needs to match against, locale dependent. + + <p> This is the value as name/label as also displayed in the + filter popup dialog, maybe formatted by user applied number + formats. </p> + */ + string MatchValueName; + + /** String value that needs to match against, locale independent. + + <p> This is the underlying value formatted in a standardized + way, for example ISO 8601 YYYY-MM-DD for dates. + */ + string MatchValue; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl new file mode 100644 index 000000000..a80d252f5 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl @@ -0,0 +1,109 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldGroup_idl__ +#define __com_sun_star_sheet_DataPilotFieldGroup_idl__ + +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/container/XNameContainer.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of members in a data pilot field group. + + <p>The members (also called items) of this collection are instances of + DataPilotFieldGroupItem.</p> + + @see DataPilotField + @see DataPilotFieldGroups + @see DataPilotFieldGroupItem + */ +published service DataPilotFieldGroup +{ + + /** provides access to the name of the data pilot field group. + + <p>It is possible to change the name of this field group as long as + the new name is not used in the collection of groups in the field.</p> + */ + interface com::sun::star::container::XNamed; + + + /** provides access to the data pilot field group members in the + collection via index. + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all data pilot field group members. + + @see DataPilotFieldGroupEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides access to the data pilot field group members in the + collection via name. + */ + interface com::sun::star::container::XNameAccess; + + + /** provides read/write access to the data pilot field group members in + the collection via name. + + <p>The com::sun::star::container::XNameContainer + and com::sun::star::container::XNameReplace + interfaces can be used to manage the members that this group contains. + It is possible to insert, remove, and replace members.</p> + + <p>The method com::sun::star::container::XNameReplace::replaceByName + can be used to rename the + specified member. To do so, the new name has to be passed as second + argument. An implementation should support the following data types: + + <ul> + <li>a non-empty `string` specifying the new name of the + group member.</li> + <li>an object supporting the com::sun::star::container::XNamed + interface, for example an instance of + DataPilotFieldGroupItem received from another group.</li> + </ul></p> + + <p>The method com::sun::star::container::XNameContainer::insertByName() + can be used to insert a new + member into this field group. An implementation should ignore the + second argument and insert the specified member name.</p> + + <p>The method com::sun::star::container::XNameContainer::removeByName() + can be used to remove an existing member name.</p> + */ + [optional] interface com::sun::star::container::XNameContainer; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl new file mode 100644 index 000000000..0c0bf251e --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl @@ -0,0 +1,121 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldGroupBy_idl__ +#define __com_sun_star_sheet_DataPilotFieldGroupBy_idl__ + + +module com { module sun { module star { module sheet { + + +/** These constants select different types for grouping members of a DataPilot + field by date or time. + + @see DataPilotFieldGroupInfo + */ +published constants DataPilotFieldGroupBy +{ + /** Groups all members of a DataPilot field containing a date/time value + by their current value for seconds. + + <p>Example: The group <em>:02</em> will contain all members that + contain a time with a seconds value of 2, regardless of the date, + hours and minutes of the member, e.g. <em>2002-Jan-03 00:00:02</em> or + <em>1999-May-02 12:45:02</em>.</p> + */ + const long SECONDS = 1; + + /** Groups all members of a DataPilot field containing a date/time value + by their current value for minutes. + + <p>Example: The group <em>:02</em> will contain all members that + contain a time with a minutes value of 2, regardless of the date, + hours and seconds of the member, e.g. <em>2002-Jan-03 00:02:00</em> or + <em>1999-May-02 12:02:45</em>.</p> + */ + const long MINUTES = 2; + + /** Groups all members of a DataPilot field containing a date/time value + by their current value for hours. + + <p>Example: The group <em>02</em> will contain all members that + contain a time with a hour value of 2, regardless of the date, minutes + and seconds of the member, e.g. <em>2002-Jan-03 02:00:00</em> or + <em>1999-May-02 02:12:45</em>.</p> + */ + const long HOURS = 4; + + /** Groups all members of a DataPilot field containing a date/time value + by their calendar day, or by ranges of days. + + <p>Examples: + <ul> + <li>Calendar day grouping: The group <em>Jan 03</em> will contain all + members that contain the January 3rd, regardless of the year or time + of the member, e.g. <em>2002-Jan-03 00:00:00</em> or + <em>1999-Jan-03 02:12:45</em>.</li> + + <li>Day range grouping: The group <em>2002-Jan-03 - 2002-Jan-09</em> + will contain all members with a date/time in the range from + 2002-Jan-03 00:00:00 through 2002-Jan-09 23:59:59.</li> + </ul></p> + + <p>See descriptions for XDataPilotFieldGrouping::createDateGroup() + for more details about day grouping.</p> + */ + const long DAYS = 8; + + /** Groups all members of a DataPilot field containing a date/time value + by their month. + + <p>Example: The group <em>Jan</em> will contain all members with a + date in the month January, regardless of the year, day, or time of the + member, e.g. <em>2002-Jan-03 00:00:00</em> or + <em>1999-Jan-02 02:12:45</em>.</p> + */ + const long MONTHS = 16; + + /** Groups all members of a DataPilot field containing a date/time value + by their quarter. + + <p>Example: The group <em>Q1</em> will contain all members with a + date in the first quarter of a year (i.e. the months January, + February, and march), regardless of the year, day, or time of the + member, e.g. <em>2002-Jan-03 00:00:00</em> or + <em>1999-Mar-02 02:12:45</em>.</p> + */ + const long QUARTERS = 32; + + /** Groups all members of a DataPilot field containing a date/time value + by their year. + + <p>Example: The group <em>1999</em> will contain all members with a + date in the year 1999, regardless of the month, day, or time of the + member, e.g. <em>1999-Jan-03 00:00:00</em> or + <em>1999-May-02 02:12:45</em>.</p> + */ + const long YEARS = 64; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl new file mode 100644 index 000000000..fa81edaba --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldGroupEnumeration_idl__ +#define __com_sun_star_sheet_DataPilotFieldGroupEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of members in a DataPilot field group. + + @see DataPilotFieldGroupItem + @see DataPilotFieldGroup + */ +service DataPilotFieldGroupEnumeration +{ + + /** provides methods to access the group members in the enumeration. + + <p>The elements of the enumeration are instances of + DataPilotFieldGroupItem.</p> + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl new file mode 100644 index 000000000..0af4d9767 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl @@ -0,0 +1,141 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldGroupInfo_idl__ +#define __com_sun_star_sheet_DataPilotFieldGroupInfo_idl__ + +#include <com/sun/star/sheet/XDataPilotField.idl> +#include <com/sun/star/container/XNameAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** contains the grouping information of a DataPilotField. + */ +published struct DataPilotFieldGroupInfo +{ + + /** specifies whether the start value for the grouping is taken + automatically from the minimum of the item values. + + <p><ul> + <li>If `FALSE` is set, the value from #Start will be + used as start value for the grouping.</li> + <li>If `TRUE` is set, the start value for the grouping will be + calculated automatically from the minimum of all member values of the + DataPilot field.</li> + </ul></p> + */ + boolean HasAutoStart; + + + /** specifies whether the end value for the grouping is taken + automatically from the maximum of the item values. + + <p><ul> + <li>If `FALSE` is set, the value from #End will be + used as end value for the grouping.</li> + <li>If `TRUE` is set, the end value for the grouping will be + calculated automatically from the maximum of all member values of the + DataPilot field.</li> + </ul></p> + */ + boolean HasAutoEnd; + + + /** specifies whether date values are grouped by ranges of days. + + <p><ul> + <li>If `FALSE` is set, and #GroupBy contains zero, + grouping is performed inplace on the item values.</li> + <li>If `FALSE` is set, and #GroupBy contains one or + more flags from DataPilotFieldGroupBy, grouping is + performed on date or time.</li> + <li>If `TRUE` is set, #Step contains a value greater + than or equal to 1, and #GroupBy set to + DataPilotFieldGroupBy::DAYS, grouping is performed on ranges + of days (see descriptions for + XDataPilotFieldGrouping::createDateGroup() for more details + about day grouping).</li> + </ul></p> + */ + boolean HasDateValues; + + + /** specifies the start value for the grouping if #HasAutoStart + is set to `FALSE`. + */ + double Start; + + + /** specifies the end value for the grouping if #HasAutoEnd + is set to `FALSE`. + */ + double End; + + + /** specifies the size of the ranges for numeric or day grouping. + + <p>Example: With #HasAutoStart set to `FALSE`, + #Start set to 2, and #Step set to 3, + the first group will contain all values greater than or equal to 2 and + less than 5. The second group will contain all values greater than or + equal to 5 and less than 8, and so on.</p> + */ + double Step; + + + /** specifies the grouping of the date values. + + @see DataPilotFieldGroupBy + */ + long GroupBy; + + + /** contains the source DataPilot field grouping is based on. Will be + `NULL` if this field is not grouped or contains numeric grouping. + + @see DataPilotField + */ + XDataPilotField SourceField; + + + /** specifies the named groups in this field if there are some. + + <p>The returned object is an instance of DataPilotFieldGroups + . The collection of groups can be modified by inserting, + removing, replacing, or renaming single groups or item names in the + groups. When writing back this struct containing such a changed + collection of groups to the DataPilotField::GroupInfo + property, the modified grouping settings are applied at the DataPilot + field.</p> + + @see DataPilotField + @see DataPilotFieldGroups + */ + com::sun::star::container::XNameAccess Groups; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupItem.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupItem.idl new file mode 100644 index 000000000..5f7f34964 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupItem.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldGroupItem_idl__ +#define __com_sun_star_sheet_DataPilotFieldGroupItem_idl__ + +#include <com/sun/star/container/XNamed.idl> + + +module com { module sun { module star { module sheet { + + +/** represents the member in a data pilot field group. + + @see com::sun::star::sheet::DataPilotFieldGroup + */ +published service DataPilotFieldGroupItem +{ + + /** provides access to the name of the data pilot field group member. + */ + interface com::sun::star::container::XNamed; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl new file mode 100644 index 000000000..5065d353d --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl @@ -0,0 +1,105 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldGroups_idl__ +#define __com_sun_star_sheet_DataPilotFieldGroups_idl__ + +#include <com/sun/star/container/XNameContainer.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of groups in a data pilot field. + + <p>The members of this collection are instances of DataPilotFieldGroup + containing the names of all items in the group.</p> + + @see DataPilotField + @see DataPilotFieldGroup + @see DataPilotFieldGroupInfo + */ +published service DataPilotFieldGroups +{ + + /** provides access to the data pilot field groups in the collection via + index. + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all data pilot field groups. + + @see DataPilotFieldGroupsEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides access to the data pilot field groups in the collection via + name. + */ + interface com::sun::star::container::XNameAccess; + + + /** provides read/write access to the data pilot field groups in the + collection via name. + + <p>The com::sun::star::container::XNameContainer + and com::sun::star::container::XNameReplace + interfaces can be used to manage the item groups. It is possible to + insert, remove, and replace item groups.</p> + + <p>The method com::sun::star::container::XNameReplace::replaceByName() + can be used to replace the item + names in an existing group with a new collection of item names. An + implementation should support the following data types: + + <ul> + <li>an empty `any` to remove all items and leave the + group empty. The group can be filled later with new item names.</li> + <li>a `string[]` containing all item names that will + be part of the group.</li> + <li>an object supporting com::sun::star::container::XIndexAccess + containing elements that provide an item name per element via the + interface com::sun::star::container::XNamed, + for example an instance of DataPilotFieldGroup.</li> + </ul></p> + + <p>The method com::sun::star::container::XNameContainer::insertByName() + can be used to insert a new + field group with the passed collection of item names. An + implementation should support the same data types as described above + for the method + com::sun::star::container::XNameReplace::replaceByName().</p> + + <p>The method com::sun::star::container::XNameContainer::removeByName() + can be used to remove an existing field group.</p> + */ + [optional] interface com::sun::star::container::XNameContainer; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl new file mode 100644 index 000000000..69e351c17 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldGroupsEnumeration_idl__ +#define __com_sun_star_sheet_DataPilotFieldGroupsEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of member groups in a DataPilot field. + + @see DataPilotFieldGroup + @see DataPilotFieldGroups + */ +service DataPilotFieldGroupsEnumeration +{ + + /** provides methods to access the field groups in the enumeration. + + <p>The elements of the enumeration are instances of + DataPilotFieldGroup.</p> + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldLayoutInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldLayoutInfo.idl new file mode 100644 index 000000000..5e84303d4 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldLayoutInfo.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldLayoutInfo_idl__ +#define __com_sun_star_sheet_DataPilotFieldLayoutInfo_idl__ + + +module com { module sun { module star { module sheet { + + +/** contains the layout information of a DataPilotField. + */ +published struct DataPilotFieldLayoutInfo +{ + + /** specifies the layout mode. + + @see com::sun::star::sheet::DataPilotFieldLayoutMode + + */ + + long LayoutMode; + + + /** If `TRUE`, an empty row is inserted in the DataPilotTable + result table after the data + (including the subtotals) for each item of the field. + */ + + boolean AddEmptyLines; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldLayoutMode.idl b/offapi/com/sun/star/sheet/DataPilotFieldLayoutMode.idl new file mode 100644 index 000000000..e85fb6507 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldLayoutMode.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldLayoutMode_idl__ +#define __com_sun_star_sheet_DataPilotFieldLayoutMode_idl__ + + +module com { module sun { module star { module sheet { + + +/** describes the layout mode of the data field + +@see com::sun::star::sheet::DataPilotFieldLayoutInfo + + */ +constants DataPilotFieldLayoutMode +{ + + /** Tabular layout mode is the layout, where each item's name is on the same + row as the first item from the following field. Subtotals are always shown below + an item's data in this mode. + */ + + const long TABULAR_LAYOUT = 0; + + + /** In outline layout mode, the items from the following field start in the row + below an item's name, like in traditional database reports. + + <P>Subtotals are shown at the top (on the same row as the item's name). When + the subtotals take up more than one row (manually selected, or because there + are several data fields), they are always shown below the item's data, + regardless of the setting.</p> + */ + + const long OUTLINE_SUBTOTALS_TOP = 1; + + + /** In outline layout mode, the items from the following field start in the row + below an item's name, like in traditional database reports. + + <P>Subtotals are shown at the bottom (below the item's data, as in tabular + layout mode). When the subtotals take up more than one row (manually + selected, or because there are several data fields), they are always shown + below the item's data, regardless of the setting.</p> + */ + + const long OUTLINE_SUBTOTALS_BOTTOM = 2; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldOrientation.idl b/offapi/com/sun/star/sheet/DataPilotFieldOrientation.idl new file mode 100644 index 000000000..23b09e854 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldOrientation.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldOrientation_idl__ +#define __com_sun_star_sheet_DataPilotFieldOrientation_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify where a field in a data pilot table is laid out. + */ +published enum DataPilotFieldOrientation +{ + + /** the field is not used in the table. + */ + HIDDEN, + + + /** the field is used as a column field. + */ + COLUMN, + + + /** the field is used as a row field. + */ + ROW, + + + /** the field is used as a page field. + */ + PAGE, + + + /** the field is used as a data field. + */ + DATA + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldReference.idl b/offapi/com/sun/star/sheet/DataPilotFieldReference.idl new file mode 100644 index 000000000..a9a153f95 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldReference.idl @@ -0,0 +1,75 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldReference_idl__ +#define __com_sun_star_sheet_DataPilotFieldReference_idl__ + +#include <com/sun/star/sheet/DataPilotFieldReferenceItemType.idl> + + +module com { module sun { module star { module sheet { + + +/** controls how a data pilot field's results are shown in relation to + a selected reference result. + + @see com::sun::star::sheet::DataPilotField + */ +published struct DataPilotFieldReference +{ + + /** contains the type of the reference. + + @see com::sun::star::sheet::DataPilotFieldReferenceType + + */ + + long ReferenceType; + + + /** contains the reference field + */ + + string ReferenceField; + + + /** selects between a named reference item and using the previous or next + item for each item from the reference field. + + @see com::sun::star::sheet::DataPilotFieldReferenceItemType + + */ + + long ReferenceItemType; + + + /** contains the name of the reference item, when the + DataPilotFieldReference::ReferenceItemType is NAMED + otherwise is empty + */ + + string ReferenceItemName; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldReferenceItemType.idl b/offapi/com/sun/star/sheet/DataPilotFieldReferenceItemType.idl new file mode 100644 index 000000000..cb51936fa --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldReferenceItemType.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldReferenceItemType_idl__ +#define __com_sun_star_sheet_DataPilotFieldReferenceItemType_idl__ + + +module com { module sun { module star { module sheet { + + +/** is used to select the reference item + */ +constants DataPilotFieldReferenceItemType +{ + + /** the reference item is given by a name. + */ + + const long NAMED = 0; + + + /** the reference item is the previous one. + */ + + const long PREVIOUS = 1; + + + /** the reference item is the next one. + */ + + const long NEXT = 2; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldReferenceType.idl b/offapi/com/sun/star/sheet/DataPilotFieldReferenceType.idl new file mode 100644 index 000000000..c312f42f5 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldReferenceType.idl @@ -0,0 +1,161 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldReferenceType_idl__ +#define __com_sun_star_sheet_DataPilotFieldReferenceType_idl__ + + +module com { module sun { module star { module sheet { + + +/** These constants select different types of References to calculate + the data fields. + */ +constants DataPilotFieldReferenceType +{ + + /** This type means, that the results in the data fields are displayed like they are. + */ + const long NONE = 0; + + + /** From each result, its reference value (see below) is subtracted, and the difference is shown. + Totals outside of the base field are shown as empty results. + + <p><b>Named Item</b></p> + + <p>If a base item name is specified, the reference value for a combination of field items is the + result where the item in the base field is replaced by the specified base item.</p> + + <p>If the reference value isn't shown in the DataPilot table because of hidden details for a + parent field, the difference isn't calculated and an error value is shown.</p> + + <p>If the result for an item combination is empty, the value 0 is used for the difference, even + if the summary function is undefined without values, like average or variance. The difference + is shown in the result table even if the original result was empty.</p> + + <p>The difference for item combinations containing the base item is shown as empty result.</p> + + <p><b>Previous or Next</b></p> + + <p>If "previous" or "next" is specified as the base item, the reference value is the result for + the next visible member of the base field, in the base field's sort order. If details for one + item in the base field are hidden, that item is skipped. The difference for the item with + hidden details isn't calculated, not even for the item's summary, to have a consistent order + of previous and next items.</p> + + <p>Empty results are handled as for named items (see above).<p> + + <p>The difference for the first (for + com::sun::star::sheet::DataPilotFieldReferenceItemType::PREVIOUS) + or last (for com::sun::star::sheet::DataPilotFieldReferenceItemType::NEXT + ) item of the base field is + shown as empty result.</p> + */ + + const long ITEM_DIFFERENCE = 1; + + + /** Each result is divided by its reference value. The reference value is determined in the + same way as for ::com::sun::star::sheet::DataPilotFieldReferenceType::ITEM_DIFFERENCE. + Totals outside of the base field are shown as empty results. + + <p>Division by zero results in an error. Otherwise, empty results are shown as 0. Results for + the base item, first (for + com::sun::star::sheet::DataPilotFieldReferenceItemType::PREVIOUS) + or last (for + com::sun::star::sheet::DataPilotFieldReferenceItemType::NEXT) + item of the base field are shown + as 1 if not empty.</p> + */ + + const long ITEM_PERCENTAGE = 2; + + + /** From each result, its reference value is subtracted, and the difference divided by the + reference value. The reference value is determined in the same way as for + ::com::sun::star::sheet::DataPilotFieldReferenceType::ITEM_DIFFERENCE. + Totals outside of the base field are shown as empty results. + + <p>Division by zero results in an error. Otherwise, the rules for ::com::sun::star::sheet::DataPilotFieldReferenceType::ITEM_DIFFERENCE apply.</p> + */ + + const long ITEM_PERCENTAGE_DIFFERENCE = 3; + + + /** Each result is added to the sum of the results for preceding items in the base field, + in the base field's sort order, and the total sum is shown. + + <p>If details for one item in the base field are hidden, that item isn't included in + calculating the sum, and results for that item are shown as error, to ensure consistency + between details and subtotals for the following items.</p> + + <p>Results are always summed, even if a different summary function was used to get each result.</p> + + <p>Totals outside of the base field are shown as empty results.</p> + */ + + const long RUNNING_TOTAL = 4; + + + /** Each result is divided by the total result for its row in the DataPilot table. + + <p>If there are several data fields, the total for the result's data field is used.</p> + + <p>If there are subtotals with manually selected summary functions, still the total with + the data field's summary function is used.</p> + + <p>Division by zero results in an error.</p> + + <p>Otherwise, empty results remain empty.</p> + */ + + const long ROW_PERCENTAGE = 5; + + + /** Same as ::com::sun::star::sheet::DataPilotFieldReferenceType::ROW_PERCENTAGE, but the total for the result's column is used. + */ + + const long COLUMN_PERCENTAGE = 6; + + + /** Same as ::com::sun::star::sheet::DataPilotFieldReferenceType::ROW_PERCENTAGE, but the grand total for the result's data field is used. + */ + + const long TOTAL_PERCENTAGE = 7; + + + /** The row and column totals and the grand total, following the same rules as above, are used to calculate the following expression. + + <p>( original result * grand total ) / ( row total * column total )</p> + + <p>Division by zero results in an error. Otherwise, empty results remain empty.</p> + */ + + const long INDEX = 8; + + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldShowItemsMode.idl b/offapi/com/sun/star/sheet/DataPilotFieldShowItemsMode.idl new file mode 100644 index 000000000..a3451aad0 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldShowItemsMode.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldShowItemsMode_idl__ +#define __com_sun_star_sheet_DataPilotFieldShowItemsMode_idl__ + + +module com { module sun { module star { module sheet { + + +/** These constants select different types of showing a selection of items. + +@see com::sun::star::sheet::DataPilotFieldAutoShowInfo + + */ +constants DataPilotFieldShowItemsMode +{ + + /** The first items are shown. + */ + const long FROM_TOP = 0; + + + /** The last items are shown. + */ + + const long FROM_BOTTOM = 1; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldSortInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldSortInfo.idl new file mode 100644 index 000000000..70fc9443a --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldSortInfo.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_DataPilotFieldSortInfo_idl__ +#define __com_sun_star_sheet_DataPilotFieldSortInfo_idl__ + +#include <com/sun/star/sheet/DataPilotFieldSortMode.idl> + + +module com { module sun { module star { module sheet { + +/** describes how to sort a single DataPilotField + */ +published struct DataPilotFieldSortInfo +{ + + /** contains the data field to sort by if the Mode is DATA + */ + + string Field; + + + /** `TRUE` if data are sorted in ascending order, + `FALSE` if in descending order. + */ + + boolean IsAscending; + + + /** contains the sort mode + + @see com::sun::star::sheet::DataPilotFieldSortMode + + */ + + long Mode; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldSortMode.idl b/offapi/com/sun/star/sheet/DataPilotFieldSortMode.idl new file mode 100644 index 000000000..222ed6fde --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldSortMode.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldSortMode_idl__ +#define __com_sun_star_sheet_DataPilotFieldSortMode_idl__ + + +module com { module sun { module star { module sheet { + + +/** describes the sort mode of the data field + +@see com::sun::star::sheet::DataPilotFieldSortInfo + + */ +constants DataPilotFieldSortMode +{ + + /** the data are taken as they come from the DataPilotSource. + */ + + const long NONE = 0; + + + /** the user can sort the fields + */ + + const long MANUAL = 1; + + + /** the field is sorted by its names + */ + + const long NAME = 2; + + + /** the field is sorted by the data in the given field + + @see com::sun::star::sheet::DataPilotFieldSortInfo + + */ + + const long DATA = 3; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFields.idl b/offapi/com/sun/star/sheet/DataPilotFields.idl new file mode 100644 index 000000000..062541a49 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFields.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFields_idl__ +#define __com_sun_star_sheet_DataPilotFields_idl__ + +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of fields in a data pilot table. + + <p>If the data pilot table is based on a spreadsheet cell range, the + fields are represented by the columns of the range and are named using + the first row of the range.</p> + + @see com::sun::star::sheet::DataPilotField + */ +published service DataPilotFields +{ + + /** provides access to the data pilot fields in the collection via index. + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all data pilot fields. + + @see com::sun::star::sheet::DataPilotItemsEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides access to the data pilot fields in the collection via name. + */ + interface com::sun::star::container::XNameAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotFieldsEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotFieldsEnumeration.idl new file mode 100644 index 000000000..c74087598 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotFieldsEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotFieldsEnumeration_idl__ +#define __com_sun_star_sheet_DataPilotFieldsEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of data pilot fields. + + @see com::sun::star::sheet::DataPilotField + */ +published service DataPilotFieldsEnumeration +{ + + /** provides methods to access the data pilot fields in the enumeration. + + @see com::sun::star::sheet::DataPilotField + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotItem.idl b/offapi/com/sun/star/sheet/DataPilotItem.idl new file mode 100644 index 000000000..15a50328f --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotItem.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotItem_idl__ +#define __com_sun_star_sheet_DataPilotItem_idl__ + +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/beans/XPropertySet.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a single item in a data pilot field. + */ +service DataPilotItem +{ + + /** provides access to the name of the data pilot item. + + <p>Only the <code>getName()</code> method is provided.</p> + */ + interface com::sun::star::container::XNamed; + + +//! service PropertySet + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** specifies whether the item is showing detail. + */ + [property] boolean ShowDetail; + + + /** specifies whether the item is hidden. + */ + [property] boolean IsHidden; + + + /** specifies the item's position in its field if sorting is manual. + + @since OOo 2.4 + */ + [optional, property] long Position; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotItems.idl b/offapi/com/sun/star/sheet/DataPilotItems.idl new file mode 100644 index 000000000..1760bc916 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotItems.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotItems_idl__ +#define __com_sun_star_sheet_DataPilotItems_idl__ + +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of items in a data pilot field. + + @see DataPilotItem + */ +service DataPilotItems +{ + + /** provides access to the data pilot items in the collection via index. + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all data pilot items. + + @see com::sun::star::sheet::DataPilotItemsEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides access to the data pilot items in the collection via name. + */ + interface com::sun::star::container::XNameAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotItemsEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotItemsEnumeration.idl new file mode 100644 index 000000000..ab0d57750 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotItemsEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotItemsEnumeration_idl__ +#define __com_sun_star_sheet_DataPilotItemsEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of data pilot items. + + @see com::sun::star::sheet::DataPilotItem + */ +service DataPilotItemsEnumeration +{ + + /** provides methods to access the data pilot items in the enumeration. + + @see com::sun::star::sheet::DataPilotItem + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl b/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl new file mode 100644 index 000000000..893734562 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotOutputRangeType_idl__ +#define __com_sun_star_sheet_DataPilotOutputRangeType_idl__ + +module com { module sun { module star { module sheet { + + +/** specifies region type of DataPilot table range + + <p>This constant set is used to indicate the type of output range desired when + XDataPilotTable2::getOutputRangeByType() is called, which + returns a different cell range depending upon the value passed to it as the argument.</p> + + @see com::sun::star::sheet::XDataPilotTable2 + + @since OOo 3.0 + */ +constants DataPilotOutputRangeType +{ + + /** whole DataPilot output range including the header area above the table + where the filter and page field buttons are located. */ + const long WHOLE = 0; + + + /** whole table but without the header area where the filter and page field + buttons are located. */ + const long TABLE = 1; + + + /** result area where the result values are displayed. This also includes + the column and row subtotal areas when they are displayed. */ + const long RESULT = 2; +}; + + +}; }; }; }; + + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotSource.idl b/offapi/com/sun/star/sheet/DataPilotSource.idl new file mode 100644 index 000000000..920c17d12 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotSource.idl @@ -0,0 +1,99 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotSource_idl__ +#define __com_sun_star_sheet_DataPilotSource_idl__ + +#include <com/sun/star/sheet/XDimensionsSupplier.idl> +#include <com/sun/star/sheet/XDataPilotResults.idl> +#include <com/sun/star/util/XRefreshable.idl> +#include <com/sun/star/beans/XPropertySet.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a data pilot source. + + <p>A component that implements this service can be used as data source + for a data pilot table in a spreadsheet document.</p> + */ +service DataPilotSource +{ + + /** provides access to the collection of the dimensions of the data + pilot source. + */ + interface com::sun::star::sheet::XDimensionsSupplier; + + + /** gives access to the results of the data pilot table. + */ + interface com::sun::star::sheet::XDataPilotResults; + + + /** provides methods to refresh the data pilot table, that means to + read the data again from the data pilot source. + */ + interface com::sun::star::util::XRefreshable; + + +//!published service PropertySet + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** specifies if grand totals for the columns are inserted. + */ + [property] boolean ColumnGrand; + + + /** specifies if grand totals for the rows are inserted. + */ + [property] boolean RowGrand; + + + /** specifies the number of row fields. + + @since OOo 3.0 + */ + [readonly, property, optional] long RowFieldCount; + + + /** specifies the number of column fields. + + @since OOo 3.0 + */ + [readonly, property, optional] long ColumnFieldCount; + + + /** specifies the number of data fields. + + @since OOo 3.0 + */ + [readonly, property, optional] long DataFieldCount; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotSourceDimension.idl b/offapi/com/sun/star/sheet/DataPilotSourceDimension.idl new file mode 100644 index 000000000..5ef61f508 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotSourceDimension.idl @@ -0,0 +1,138 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotSourceDimension_idl__ +#define __com_sun_star_sheet_DataPilotSourceDimension_idl__ + +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/sheet/XHierarchiesSupplier.idl> +#include <com/sun/star/util/XCloneable.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/sheet/DataPilotFieldOrientation.idl> +#include <com/sun/star/sheet/GeneralFunction.idl> +#include <com/sun/star/sheet/TableFilterField.idl> + + + module com { module sun { module star { module sheet { + + +/** represents a dimension in a data pilot source. + + <p>A dimension is equivalent to a column of a cell range in a spreadsheet + used for a data pilot field.</p> + + <p>In more complex data sources, a dimension may contain several + hierarchies, which consolidate items of a complex data type, called + levels.</p> + + <p>Example: In a database, a column contains date values. This column + will be a dimension of the data pilot source. One hierarchy may contain + the 3 levels year, month, day. Another hierarchy may contain the 2 levels + year and week number.</p> + + @see com::sun::star::sheet::DataPilotSource + @see com::sun::star::sheet::DataPilotTable + */ +service DataPilotSourceDimension +{ + + /** provides access to the name of the dimension, i.e. used in + collections. + */ + interface com::sun::star::container::XNamed; + + + /** provides access to the collection of hierarchies of this dimension. + */ + interface com::sun::star::sheet::XHierarchiesSupplier; + + + /** supports duplicating the dimension. + + <p>A dimension may be used several times in a data pilot table, + i.e. as row field and data field.</p> + */ + interface com::sun::star::util::XCloneable; + + +//!published service PropertySet + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** returns the name of the dimension from which this dimension was + cloned, or `NULL` if it was not cloned. + */ + [readonly, property] com::sun::star::container::XNamed Original; + + + /** contains `TRUE` if this is the dimension used to layout the + different data dimensions. + */ + [readonly, property] boolean IsDataLayoutDimension; + + + /** specifies where the dimension is used. + */ + [property] com::sun::star::sheet::DataPilotFieldOrientation Orientation; + + + /** specifies the position of the dimension within its orientation. + */ + [property] long Position; + + + /** specifies how data are aggregated. + */ + [property] com::sun::star::sheet::GeneralFunction Function; + + + /** specifies which hierarchy of the dimension is used. + + @see com::sun::star::sheet::DataPilotSourceHierarchies + */ + [property] long UsedHierarchy; + + + /** specifies which values are used. + */ + [property] sequence< com::sun::star::sheet::TableFilterField > Filter; + + + /** contains flags that control the usage of the dimension. + + @see com::sun::star::sheet::DimensionFlags + */ + [readonly, property, optional] long Flags; + + + /** specifies how data are aggregated. + @since LibreOffice 5.3 + */ + [property, optional] short Function2; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotSourceDimensions.idl b/offapi/com/sun/star/sheet/DataPilotSourceDimensions.idl new file mode 100644 index 000000000..f9fc47548 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotSourceDimensions.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotSourceDimensions_idl__ +#define __com_sun_star_sheet_DataPilotSourceDimensions_idl__ + +#include <com/sun/star/container/XNameAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents the collection of dimensions in a data pilot source. + + @see com::sun::star::sheet::DataPilotSource + */ +service DataPilotSourceDimensions +{ + + /** provides access by name to the dimensions in the collection. + + @see com::sun::star::sheet::DataPilotSourceDimension + */ + interface com::sun::star::container::XNameAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotSourceHierarchies.idl b/offapi/com/sun/star/sheet/DataPilotSourceHierarchies.idl new file mode 100644 index 000000000..9e2701ac1 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotSourceHierarchies.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotSourceHierarchies_idl__ +#define __com_sun_star_sheet_DataPilotSourceHierarchies_idl__ + +#include <com/sun/star/container/XNameAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents the collection of hierarchies in a data pilot source + dimension. + + @see com::sun::star::sheet::DataPilotSourceDimension + @see com::sun::star::sheet::DataPilotSource + */ +service DataPilotSourceHierarchies +{ + + /** provides access by name to the hierarchies in the collection. + + @see com::sun::star::sheet::DataPilotSourceHierarchy + */ + interface com::sun::star::container::XNameAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotSourceHierarchy.idl b/offapi/com/sun/star/sheet/DataPilotSourceHierarchy.idl new file mode 100644 index 000000000..43d878851 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotSourceHierarchy.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotSourceHierarchy_idl__ +#define __com_sun_star_sheet_DataPilotSourceHierarchy_idl__ + +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/sheet/XLevelsSupplier.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a hierarchy in a data pilot source dimension. + + @see com::sun::star::sheet::DataPilotSourceDimension + @see com::sun::star::sheet::DataPilotSource + */ +service DataPilotSourceHierarchy +{ + + /** provides access to the name of the hierarchy, i.e. used in + collections. + */ + interface com::sun::star::container::XNamed; + + + /** provides access to the collection of levels of this hierarchy. + */ + interface com::sun::star::sheet::XLevelsSupplier; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotSourceLevel.idl b/offapi/com/sun/star/sheet/DataPilotSourceLevel.idl new file mode 100644 index 000000000..2485de517 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotSourceLevel.idl @@ -0,0 +1,87 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotSourceLevel_idl__ +#define __com_sun_star_sheet_DataPilotSourceLevel_idl__ + +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/sheet/XMembersSupplier.idl> +#include <com/sun/star/sheet/XDataPilotMemberResults.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/sheet/GeneralFunction.idl> + + + module com { module sun { module star { module sheet { + + +/** represents a level in a data pilot source hierarchy. + + @see com::sun::star::sheet::DataPilotSourceHierarchy + @see com::sun::star::sheet::DataPilotSource + */ +service DataPilotSourceLevel +{ + + /** provides access to the name of the level, i.e. used in collections. + */ + interface com::sun::star::container::XNamed; + + + /** provides access to the collection of members of this level. + */ + interface com::sun::star::sheet::XMembersSupplier; + + + /** provides access to a sequence of results of this level. + */ + interface com::sun::star::sheet::XDataPilotMemberResults; + + +//!published service PropertySet + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** specifies the subtotals that are inserted for the level. + + <p>The subtotals are calculated with the members of this level.</p> + */ + [property] sequence< com::sun::star::sheet::GeneralFunction > SubTotals; + + + /** specifies whether empty members are shown. + */ + [property] boolean ShowEmpty; + + + /** specifies the subtotals that are inserted for the level. + + <p>The subtotals are calculated with the members of this level.</p> + @since LibreOffice 5.3 + */ + [property, optional] sequence< short > SubTotals2; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotSourceLevels.idl b/offapi/com/sun/star/sheet/DataPilotSourceLevels.idl new file mode 100644 index 000000000..e81c46bb4 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotSourceLevels.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotSourceLevels_idl__ +#define __com_sun_star_sheet_DataPilotSourceLevels_idl__ + +#include <com/sun/star/container/XNameAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents the collection of levels in a data pilot source hierarchy. + + @see com::sun::star::sheet::DataPilotSourceHierarchy + @see com::sun::star::sheet::DataPilotSource + */ +service DataPilotSourceLevels +{ + + /** provides access by name to the levels in the collection. + + @see com::sun::star::sheet::DataPilotSourceLevel + */ + interface com::sun::star::container::XNameAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotSourceMember.idl b/offapi/com/sun/star/sheet/DataPilotSourceMember.idl new file mode 100644 index 000000000..1093e1b4f --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotSourceMember.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotSourceMember_idl__ +#define __com_sun_star_sheet_DataPilotSourceMember_idl__ + +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/beans/XPropertySet.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a member in a data pilot source level. + + <p>Members are the data items that will appear in a data pilot table + as row headers and column headers of the data range (if used in + row or column dimensions), or to calculate the values of the + data range (if used in data dimensions).</p> + + @see com::sun::star::sheet::DataPilotSourceLevel + @see com::sun::star::sheet::DataPilotSource + */ +service DataPilotSourceMember +{ + + /** provides access to the name of the member. + + <p>This may be the textual representation of a numerical value.</p> + */ + interface com::sun::star::container::XNamed; + + +//!published service PropertySet + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** specifies whether the member is visible. + */ + [property] boolean IsVisible; + + + /** specifies whether details for the member are shown. + */ + [property] boolean ShowDetails; + + + /** specifies the member's position in its hierarchy level if sorting + is manual. + + @since OOo 2.4 + */ + [optional, property] boolean Position; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl b/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl new file mode 100644 index 000000000..4e113ca33 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotSourceMembers_idl__ +#define __com_sun_star_sheet_DataPilotSourceMembers_idl__ + +#include <com/sun/star/sheet/XMembersAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents the collection of members in a data pilot source level. + + @see com::sun::star::sheet::DataPilotSourceLevel + @see com::sun::star::sheet::DataPilotSource + */ +service DataPilotSourceMembers +{ + + /** provides access by name to the members in the collection. + + @see com::sun::star::sheet::DataPilotSourceMember + */ + interface com::sun::star::sheet::XMembersAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotTable.idl b/offapi/com/sun/star/sheet/DataPilotTable.idl new file mode 100644 index 000000000..916fe1ac5 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotTable.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotTable_idl__ +#define __com_sun_star_sheet_DataPilotTable_idl__ + +#include <com/sun/star/sheet/XDataPilotDescriptor.idl> +#include <com/sun/star/sheet/XDataPilotTable.idl> +#include <com/sun/star/util/XModifyBroadcaster.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a data pilot table on a spreadsheet. + */ +published service DataPilotTable +{ + + /** provides access to the layout settings of the data pilot table. + */ + interface com::sun::star::sheet::XDataPilotDescriptor; + + + /** provides methods to control a data pilot table. + */ + interface com::sun::star::sheet::XDataPilotTable; + + + /** allows notification of modifications to the data pilot table. + + @since OOo 3.3 + + */ + [optional] interface com::sun::star::util::XModifyBroadcaster; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl b/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl new file mode 100644 index 000000000..403d0eda2 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotTableHeaderData_idl__ +#define __com_sun_star_sheet_DataPilotTableHeaderData_idl__ + +#include <com/sun/star/sheet/DataPilotFieldFilter.idl> +#include <com/sun/star/sheet/DataResult.idl> + + +module com { module sun { module star { module sheet { + + +/** information about a cell within the column or row header area of a DataPilot table. + + This struct contains information about a particular cell located within the + column or row header area of a DataPilot table. This is the type that is + contained in DataPilotTablePositionData::PositionData when + the value of DataPilotTablePositionData::PositionType is + either DataPilotTablePositionType::ROW_HEADER or + DataPilotTablePositionType::COLUMN_HEADER. + + @see com::sun::star::sheet::DataPilotTablePositionData + @see com::sun::star::sheet::DataPilotTablePositionType + @see com::sun::star::sheet::DataPilotFieldFilter + @see com::sun::star::sheet::DataResult + + @since OOo 3.0 + */ +struct DataPilotTableHeaderData +{ + /** number of dimensions */ + long Dimension; + + /** hierarchy */ + long Hierarchy; + + /** level */ + long Level; + + /** flag */ + long Flags; + + /** member name */ + string MemberName; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl b/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl new file mode 100644 index 000000000..0cbcdecc2 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotTablePositionData_idl__ +#define __com_sun_star_sheet_DataPilotTablePositionData_idl__ + +#include <com/sun/star/sheet/DataPilotFieldFilter.idl> + + +module com { module sun { module star { module sheet { + + +/** This structure contains information on a cell within a DataPilot table. + + <p>This structure contains information on a particular cell within a DataPilot + table, and is used to retrieve its metadata. The #PositionType + member specifies in which sub-area of the table the cell is positioned, which + in turn determines the type of metadata contained in the #PositionData + member.</p> + + @see com::sun::star::sheet::DataPilotTablePositionType + @see com::sun::star::sheet::DataPiotTableResultData + @see com::sun::star::sheet::DataPiotTableHeaderData + + @since OOo 3.0 + */ +struct DataPilotTablePositionData +{ + + /** This parameter specifies which sub-area of a DataPilot table a given + cell is positioned. See DataPilotTablePositionType + for how to interpret the value of this parameter. + + @see com::sun::star::sheet::DataPilotTablePositionType + */ + long PositionType; + + + /** <p>This member contains a structure of different types depending on the + position type specified in #PositionType member.</p> + + <p>When the value of #PositionType is + DataPilotTablePositionType::RESULT, DataPilotTablePositionData::PositionData + contains an instance of type DataPilotTableResultData, + whereas when the value of DataPilotTablePositionData::PositionType + is either DataPilotTablePositionType::ROW_HEADER + or DataPilotTablePositionType::COLUMN_HEADER, then the + #PositionData member contains an instance of type + DataPilotTableHeaderData.</p> + + @see com::sun::star::sheet::DataPiotTableResultData + @see com::sun::star::sheet::DataPiotTableHeaderData + */ + any PositionData; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl b/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl new file mode 100644 index 000000000..f8fdbe077 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotTablePositionType_idl__ +#define __com_sun_star_sheet_DataPilotTablePositionType_idl__ + +module com { module sun { module star { module sheet { + + +/** specifies in which sub-area a cell is positioned within a DataPilot table. + + @see com::sun::star::sheet::DataPilotTablePositionData + @see com::sun::star::sheet::DataPilotTableResultData + @see com::sun::star::sheet::DataPilotTableHeaderData + + @since OOo 3.0 + */ +constants DataPilotTablePositionType +{ + + /** indicates that the specified cell is not in the DataPilot table. */ + const long NOT_IN_TABLE = 0; + + + /** indicates that the specified cell is within the result area. */ + const long RESULT = 1; + + + /** indicates that the specified cell is within the row header area. */ + const long ROW_HEADER = 2; + + + /** indicates that the specified cell is within the column header area. */ + const long COLUMN_HEADER = 3; + + + /** indicates that the specified cell is within the table but in areas + other than the result or header areas. */ + const long OTHER = 4; +}; + + +}; }; }; }; + + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotTableResultData.idl b/offapi/com/sun/star/sheet/DataPilotTableResultData.idl new file mode 100644 index 000000000..029966786 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotTableResultData.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotTableResultData_idl__ +#define __com_sun_star_sheet_DataPilotTableResultData_idl__ + +#include <com/sun/star/sheet/DataPilotFieldFilter.idl> +#include <com/sun/star/sheet/DataResult.idl> + + +module com { module sun { module star { module sheet { + + +/** information about a cell positioned within the result area of a DataPilot table. + + <p>DataPilotTableResultData contains information about a + particular cell positioned within the result area of a DataPilot table.</p> + + @see com::sun::star::sheet::DataPilotTablePositionData + @see com::sun::star::sheet::DataPilotTablePositionType + @see com::sun::star::sheet::DataPilotFieldFilter + @see com::sun::star::sheet::DataResult + + @since OOo 3.0 + */ +struct DataPilotTableResultData +{ + + /** This is a set of filter criteria that can be used to re-create those + data rows that contribute to the value shown in the cell. + + @see com::sun::star::sheet::DataPilotFieldFilter + */ + sequence< DataPilotFieldFilter > FieldFilters; + + + /** This is a 0-based index that specifies which data field the data displayed + in the cell is for; the value of 0 means the cell is for the first data + field, 1 for the second, and so on. + */ + long DataFieldIndex; + + + /** more information about the result contained in the + DataResult type. + + @see com::sun::star::sheet::DataResult + */ + DataResult Result; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotTables.idl b/offapi/com/sun/star/sheet/DataPilotTables.idl new file mode 100644 index 000000000..f177a4c0f --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotTables.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotTables_idl__ +#define __com_sun_star_sheet_DataPilotTables_idl__ + +#include <com/sun/star/sheet/XDataPilotTables.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of data pilot tables. + */ +published service DataPilotTables +{ + + /** provides access to the data pilot objects in this collection. + */ + interface com::sun::star::sheet::XDataPilotTables; + + + /** creates an enumeration of all data pilot tables. + + @see com::sun::star::sheet::DataPilotTablesEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides methods to access the contained data pilot tables by index. + + @see com::sun::star::sheet::DataPilotTable + */ + interface com::sun::star::container::XIndexAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataPilotTablesEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotTablesEnumeration.idl new file mode 100644 index 000000000..c9591d942 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataPilotTablesEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataPilotTablesEnumeration_idl__ +#define __com_sun_star_sheet_DataPilotTablesEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of data pilot tables. + + @see com::sun::star::sheet::DataPilotTable + */ +published service DataPilotTablesEnumeration +{ + + /** provides methods to access the data pilot tables in the enumeration. + + @see com::sun::star::sheet::DataPilotTable + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataResult.idl b/offapi/com/sun/star/sheet/DataResult.idl new file mode 100644 index 000000000..5c8a3ec68 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataResult.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataResult_idl__ +#define __com_sun_star_sheet_DataResult_idl__ + + +module com { module sun { module star { module sheet { + + +/** contains the result of one element in the data pilot data array. + + @see com::sun::star::sheet::XDataPilotResults + */ +struct DataResult +{ + /** contains boolean flags describing the result. + + @see com::sun::star::sheet::DataResultFlags + */ + long Flags; + + + /** contains the result value. + */ + double Value; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DataResultFlags.idl b/offapi/com/sun/star/sheet/DataResultFlags.idl new file mode 100644 index 000000000..25641fb70 --- /dev/null +++ b/offapi/com/sun/star/sheet/DataResultFlags.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DataResultFlags_idl__ +#define __com_sun_star_sheet_DataResultFlags_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify the result type of one element in the data pilot + data array. + + @see com::sun::star::sheet::DataResult + */ +constants DataResultFlags +{ + + /** The element contains data. + */ + const long HASDATA = 1; + + + /** The element contains a subtotal. + */ + const long SUBTOTAL = 2; + + + /** The element has an error. + */ + const long ERROR = 4; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl b/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl new file mode 100644 index 000000000..40355368a --- /dev/null +++ b/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl @@ -0,0 +1,77 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DatabaseImportDescriptor_idl__ +#define __com_sun_star_sheet_DatabaseImportDescriptor_idl__ + +#include <com/sun/star/sheet/DataImportMode.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a description of how data from an external database is + imported. + + @see com::sun::star::sheet::XDatabaseRange + */ +published service DatabaseImportDescriptor +{ + + /** enables importing and specifies from what type of source data is + imported. + */ + [property] com::sun::star::sheet::DataImportMode SourceType; + + + /** specifies the name of the database from which data is imported. + */ + [property] string DatabaseName; + + + /** specifies the table, query, or statement from which data is imported. + + <p>The meaning of this is determined by the + DatabaseImportDescriptor::SourceType attribute.</p> + */ + [property] string SourceObject; + + + /** specifies whether the SQL statement is given directly to the database + or is parsed before. + + @since OOo 2.0 + + */ + [optional, property] boolean IsNative; + + + /** indicates a connection URL, which locates a database driver. + @since OOo 2.0 + */ + [optional, property] string ConnectionResource; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DatabaseRange.idl b/offapi/com/sun/star/sheet/DatabaseRange.idl new file mode 100644 index 000000000..0c4896579 --- /dev/null +++ b/offapi/com/sun/star/sheet/DatabaseRange.idl @@ -0,0 +1,135 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_DatabaseRange_idl__ +#define __com_sun_star_sheet_DatabaseRange_idl__ + +#include <com/sun/star/sheet/XDatabaseRange.idl> +#include <com/sun/star/sheet/XCellRangeReferrer.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/util/XRefreshable.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + + + module com { module sun { module star { module sheet { + + +/** represents a database range in a spreadsheet document. + + <p>A database range is a name for a cell range that also stores filtering, + sorting, subtotal and data import settings and options.</p> + + @see com::sun::star::sheet::DatabaseRanges + */ +published service DatabaseRange +{ + interface com::sun::star::sheet::XDatabaseRange; + interface com::sun::star::sheet::XCellRangeReferrer; + interface com::sun::star::beans::XPropertySet; + interface com::sun::star::container::XNamed; + + [optional] interface com::sun::star::util::XRefreshable; + + /** if this property is set, columns or rows are inserted or deleted + when the size of the range is changed by an update operation. + */ + [property] boolean MoveCells; + + /** if this property is set, cell formats are extended + when the size of the range is changed by an update operation. + */ + [property] boolean KeepFormats; + + /** if this property is set, the cell contents within the database + range are left out when the document is saved. + */ + [property] boolean StripData; + + + /** specifies whether the AutoFilter is enabled or not. + + @since OOo 1.1.2 + */ + [optional, property] boolean AutoFilter; + + + /** specifies whether the filter criteria should be taken from a CellRange. + + @since OOo 1.1.2 + */ + [optional, property] boolean UseFilterCriteriaSource; + + + /** specifies the range where the filter can find the filter criteria. + <p>This is only used if SheetFilterDescriptor::UseFilterCriteriaSource is `TRUE`.</p> + + @since OOo 1.1.2 + */ + [optional, property] com::sun::star::table::CellRangeAddress FilterCriteriaSource; + + + /** specifies the time between two refresh actions in seconds. + + @since OOo 2.0 + */ + [optional, property] long RefreshPeriod; + + + /** specifies whether the imported data is only a selection of the database. + + @since OOo 2.0 + */ + [optional, property] boolean FromSelection; + + + /** returns the index used to refer to this range in token arrays. + + <p>A token describing a database range shall contain the op-code + obtained from the FormulaMapGroupSpecialOffset::DB_AREA + and this index as data part.</p> + + @see com::sun::star::sheet::FormulaToken + @see com::sun::star::sheet::FormulaMapGroupSpecialOffset::DB_AREA + + @since OOo 3.0 + */ + [optional, readonly, property] long TokenIndex; + + + /** specifies whether this range includes a bottom row of totals. + + @since LibreOffice 5.0 + */ + [optional, property] boolean TotalsRow; + + + /** specifies whether this range includes a top row of headers. + + @since LibreOffice 5.0 + */ + [optional, property] boolean ContainsHeader; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DatabaseRanges.idl b/offapi/com/sun/star/sheet/DatabaseRanges.idl new file mode 100644 index 000000000..a4652f717 --- /dev/null +++ b/offapi/com/sun/star/sheet/DatabaseRanges.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DatabaseRanges_idl__ +#define __com_sun_star_sheet_DatabaseRanges_idl__ + +#include <com/sun/star/sheet/XDatabaseRanges.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of database ranges in a spreadsheet document. + + @see com::sun::star::sheet::SpreadsheetDocument + */ +published service DatabaseRanges +{ + + /** provides access to the database ranges and to insert and remove them. + */ + interface com::sun::star::sheet::XDatabaseRanges; + + + /** creates an enumeration of all database ranges. + + @see com::sun::star::sheet::DatabaseRangesEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides access to the database ranges in the collection via index. + + @see com::sun::star::sheet::DatabaseRange + + */ + interface com::sun::star::container::XIndexAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DatabaseRangesEnumeration.idl b/offapi/com/sun/star/sheet/DatabaseRangesEnumeration.idl new file mode 100644 index 000000000..e42b6ac05 --- /dev/null +++ b/offapi/com/sun/star/sheet/DatabaseRangesEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DatabaseRangesEnumeration_idl__ +#define __com_sun_star_sheet_DatabaseRangesEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of database ranges. + + @see com::sun::star::sheet::DatabaseRange + */ +published service DatabaseRangesEnumeration +{ + + /** provides methods to access the database ranges in the enumeration. + + @see com::sun::star::sheet::DatabaseRange + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DateCondition.idl b/offapi/com/sun/star/sheet/DateCondition.idl new file mode 100644 index 000000000..0536b672c --- /dev/null +++ b/offapi/com/sun/star/sheet/DateCondition.idl @@ -0,0 +1,34 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_DateCondition_idl__ +#define __com_sun_star_sheet_DateCondition_idl__ + +#include <com/sun/star/sheet/XConditionEntry.idl> + +module com { module sun { module star { module sheet { + +service DateCondition +{ + interface XConditionEntry; + + [property] string StyleName; + + /** + * See com.sun.star.sheet.DateType for possible values + */ + [property] long DateType; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DateType.idl b/offapi/com/sun/star/sheet/DateType.idl new file mode 100644 index 000000000..9aed4a6c1 --- /dev/null +++ b/offapi/com/sun/star/sheet/DateType.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_DateType_idl__ +#define __com_sun_star_sheet_DateType_idl__ + +module com { module sun { module star { module sheet { + +constants DateType +{ + const long TODAY = 0; + + const long YESTERDAY = 1; + + const long TOMORROW = 2; + + const long LAST7DAYS = 3; + + const long THISWEEK = 4; + + const long LASTWEEK = 5; + + const long NEXTWEEK = 6; + + const long THISMONTH = 7; + + const long LASTMONTH = 8; + + const long NEXTMONTH = 9; + + const long THISYEAR = 10; + + const long LASTYEAR = 11; + + const long NEXTYEAR = 12; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DimensionFlags.idl b/offapi/com/sun/star/sheet/DimensionFlags.idl new file mode 100644 index 000000000..a17b3d0d2 --- /dev/null +++ b/offapi/com/sun/star/sheet/DimensionFlags.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_DimensionFlags_idl__ +#define __com_sun_star_sheet_DimensionFlags_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify flags for a dimension in a data pilot source. + + @see com::sun::star::sheet::DataPilotSourceDimension + */ +published constants DimensionFlags +{ + + /** The dimension cannot be used in column orientation. + */ + const long NO_COLUMN_ORIENTATION = 1; + + + /** The dimension cannot be used in row orientation. + */ + const long NO_ROW_ORIENTATION = 2; + + + /** The dimension cannot be used in page orientation. + */ + const long NO_PAGE_ORIENTATION = 4; + + + /** The dimension cannot be used in data orientation. + */ + const long NO_DATA_ORIENTATION = 8; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/DocumentSettings.idl b/offapi/com/sun/star/sheet/DocumentSettings.idl new file mode 100644 index 000000000..b92f1037d --- /dev/null +++ b/offapi/com/sun/star/sheet/DocumentSettings.idl @@ -0,0 +1,122 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_DocumentSettings_idl__ +#define __com_sun_star_sheet_DocumentSettings_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/util/Color.idl> +#include <com/sun/star/document/Settings.idl> + + +module com { module sun { module star { module sheet { + + +/** describes properties that apply to the whole spreadsheet document. + + <p>For settings that affect view properties, these settings apply to + subsequently created views and are saved with the document, while + SpreadsheetViewSettings can be used to alter a specific + view that is already open.</p> + */ +published service DocumentSettings +{ + service com::sun::star::document::Settings; + + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** enables display of zero-values. + */ + [optional, property] boolean ShowZeroValues; + + /** controls whether a marker is shown for notes in cells. + */ + [optional, property] boolean ShowNotes; + + /** enables the display of the cell grid. + */ + [optional, property] boolean ShowGrid; + + /** specifies the color in which the cell grid is displayed. + */ + [optional, property] com::sun::star::util::Color GridColor; + + /** enables display of page breaks. + */ + [optional, property] boolean ShowPageBreaks; + + /** enables the column and row headers of the view. + */ + [optional, property] boolean HasColumnRowHeaders; + + /** enables the sheet tabs of the view. + */ + [optional, property] boolean HasSheetTabs; + + /** enables the display of outline symbols. + */ + [optional, property] boolean IsOutlineSymbolsSet; + + /** enables the restriction of object movement and resizing + of drawing objects to the raster. + */ + [optional, property] boolean IsSnapToRaster; + + /** enables the display of the drawing object raster. + */ + [optional, property] boolean RasterIsVisible; + + /** specifies the distance between horizontal grid elements + in 1/100 mm. + */ + [optional, property] long RasterResolutionX; + + /** specifies the distance between vertical grid elements + in 1/100 mm. + */ + [optional, property] long RasterResolutionY; + + /** specifies the number of subdivisions between two horizontal + grid elements. + */ + [optional, property] long RasterSubdivisionX; + + /** specifies the number of subdivisions between two vertical + grid elements. + */ + [optional, property] long RasterSubdivisionY; + + /** enables the synchronization of horizontal and vertical + grid settings in the user interface. + */ + [optional, property] boolean IsRasterAxisSynchronized; + + /** enables the document sharing feature (Tools->Share Spreadsheet) + */ + [optional, property] boolean IsDocumentShared; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ExternalDocLink.idl b/offapi/com/sun/star/sheet/ExternalDocLink.idl new file mode 100644 index 000000000..ef215edfd --- /dev/null +++ b/offapi/com/sun/star/sheet/ExternalDocLink.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#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 + */ +service ExternalDocLink : XExternalDocLink +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ExternalDocLinks.idl b/offapi/com/sun/star/sheet/ExternalDocLinks.idl new file mode 100644 index 000000000..058373c8b --- /dev/null +++ b/offapi/com/sun/star/sheet/ExternalDocLinks.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#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 + */ +service ExternalDocLinks : XExternalDocLinks +{ +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ExternalLinkInfo.idl b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl new file mode 100644 index 000000000..667c42d15 --- /dev/null +++ b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_ExternalLinkInfo_idl__ +#define __com_sun_star_sheet_ExternalLinkInfo_idl__ + +#include <com/sun/star/sheet/ExternalLinkType.idl> + + +module com { module sun { module star { module sheet { + +/** describes an external link in a formula. + + @since OOo 3.1 + */ +struct ExternalLinkInfo +{ + /** Link type, one of ExternalLinkType constants. + */ + long Type; + + /** Location of this link type. + + <p>Modes used: + + <ol> + <li>If #Type is ExternalLinkType::EXTERNAL, + this member shall contain a `string` with the + <em>URI</em> of a document. The formula that would need this + information for example would contain <code>=[1]Sheet1!A1</code> or + <code>='[1]Sheet name'!A1</code> where <em>[1]</em> does resolve to + the URI contained in the member #Data. Note that the + quotes cover both, the document name and the sheet name.</li> + + <li>If #Type is ExternalLinkType::DDE, + this member shall contain a DDELinkInfo describing + service name, topic, and all known items of a DDE link.</li> + </ol></p> + */ + any Data; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ExternalLinkType.idl b/offapi/com/sun/star/sheet/ExternalLinkType.idl new file mode 100644 index 000000000..295896a0a --- /dev/null +++ b/offapi/com/sun/star/sheet/ExternalLinkType.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#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 + ExternalLinkInfo, used with + FormulaParser::ExternalLinks. + + @since OOo 3.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; + + /** Reference to the own document. + */ + const long SELF = 3; + + /** For special use cases. Behaviour is dependent on the implementation of + the formula parser. + */ + const long SPECIAL = 4; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ExternalReference.idl b/offapi/com/sun/star/sheet/ExternalReference.idl new file mode 100644 index 000000000..ea2225708 --- /dev/null +++ b/offapi/com/sun/star/sheet/ExternalReference.idl @@ -0,0 +1,81 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#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 com::sun::star::sheet::ExternalDocLink + instance through its attribute com::sun::star::sheet::ExternalDocLink::TokenIndex.</p> + + @see com::sun::star::sheet::ExternalDocLink + @see com::sun::star::sheet::ExternalDocLink::TokenIndex + */ + long Index; + +// /** 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; + + /** Reference data. + + <p>This can store either SingleReference for a single + cell reference, ComplexReference for a cell range + reference, or simply a string for a defined name.</p> + + <p>The SingleReference::Sheet 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ExternalSheetCache.idl b/offapi/com/sun/star/sheet/ExternalSheetCache.idl new file mode 100644 index 000000000..134b787b9 --- /dev/null +++ b/offapi/com/sun/star/sheet/ExternalSheetCache.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#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. A com::sun::star::sheet::ExternalDocLink + 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 + */ +service ExternalSheetCache : XExternalSheetCache +{ +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FillDateMode.idl b/offapi/com/sun/star/sheet/FillDateMode.idl new file mode 100644 index 000000000..78606238a --- /dev/null +++ b/offapi/com/sun/star/sheet/FillDateMode.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FillDateMode_idl__ +#define __com_sun_star_sheet_FillDateMode_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify how an arithmetic date series is calculated. + + @see com::sun::star::sheet::FillMode + */ +published enum FillDateMode +{ + + /** for every new value a single day is added. + */ + FILL_DATE_DAY, + + + /** for every new value a single day is added, but Saturdays and + Sundays are skipped. + */ + FILL_DATE_WEEKDAY, + + + /** for every new value one month is added (day keeps unchanged). + */ + FILL_DATE_MONTH, + + + /** for every new value one year is added (day and month keep unchanged). + */ + FILL_DATE_YEAR + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FillDirection.idl b/offapi/com/sun/star/sheet/FillDirection.idl new file mode 100644 index 000000000..ed894dacf --- /dev/null +++ b/offapi/com/sun/star/sheet/FillDirection.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FillDirection_idl__ +#define __com_sun_star_sheet_FillDirection_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify the direction of filling cells, for example, + with a series. + */ +published enum FillDirection +{ + + /** specifies that rows are filled from top to bottom. + */ + TO_BOTTOM, + + + /** specifies that columns are filled from left to right. + */ + TO_RIGHT, + + + /** specifies that rows are filled from bottom to top. + */ + TO_TOP, + + + /** specifies that columns are filled from right to left. + */ + TO_LEFT + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FillMode.idl b/offapi/com/sun/star/sheet/FillMode.idl new file mode 100644 index 000000000..a945aa874 --- /dev/null +++ b/offapi/com/sun/star/sheet/FillMode.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FillMode_idl__ +#define __com_sun_star_sheet_FillMode_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify the series type used to fill cells. + */ +published enum FillMode +{ + + /** specifies a constant series. + + <p>All cells are filled with the same value.</p> + */ + SIMPLE, + + + /** specifies an arithmetic series. + + <p>Cell by cell, the value used to fill the cells is increased + by an additive value.</p> + */ + LINEAR, + + + /** specifies a geometric series. + + <p>Cell by cell, the value used to fill the cells is multiplied + by a specified value.</p> + */ + GROWTH, + + + /** specifies an arithmetic series for date values. + + <p>Cell by cell, the value used to fill the cells is increased + by a specified number of days</p> + + @see com::sun::star::sheet::FillDateMode + */ + DATE, + + + /** specifies the use of a user-defined list. + + <p>The cells are filled using a user-defined series.</p> + */ + AUTO + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FilterConnection.idl b/offapi/com/sun/star/sheet/FilterConnection.idl new file mode 100644 index 000000000..b51772a6f --- /dev/null +++ b/offapi/com/sun/star/sheet/FilterConnection.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FilterConnection_idl__ +#define __com_sun_star_sheet_FilterConnection_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify how two conditions in a filter descriptor are + connected. + */ +published enum FilterConnection +{ + + /** both conditions have to be fulfilled. + */ + AND, + + + /** at least one of the conditions has to be fulfilled. + */ + OR + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FilterFieldType.idl b/offapi/com/sun/star/sheet/FilterFieldType.idl new file mode 100644 index 000000000..59a980737 --- /dev/null +++ b/offapi/com/sun/star/sheet/FilterFieldType.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_FilterFieldType_idl__ +#define __com_sun_star_sheet_FilterFieldType_idl__ + +module com { module sun { module star { module sheet { + +/** + * @since LibreOffice 7.2 + */ +constants FilterFieldType +{ + /** Filter by numeric value */ + const long NUMERIC = 0; + + /** Filter by string value */ + const long STRING = 1; + + /** Filter by date */ + const long DATE = 2; + + /** Filter by text color */ + const long TEXT_COLOR = 3; + + /** Filter by background color */ + const long BACKGROUND_COLOR = 4; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FilterFieldValue.idl b/offapi/com/sun/star/sheet/FilterFieldValue.idl new file mode 100644 index 000000000..a8930ee0f --- /dev/null +++ b/offapi/com/sun/star/sheet/FilterFieldValue.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_FilterFieldValue_idl__ +#define __com_sun_star_sheet_FilterFieldValue_idl__ + +module com { module sun { module star { module sheet { + +/** + * @since LibreOffice 3.5 + */ +struct FilterFieldValue +{ + /** selects whether the TableFilterFieldValue::NumericValue + or the TableFilterFieldValue::StringValue is used. + + @deprecated - Use FilterType instead. + */ + boolean IsNumeric; + + /** specifies a numeric value for the condition. + */ + double NumericValue; + + /** specifies a string value for the condition. + */ + string StringValue; + + /** Which field should be used for filtering: + + <ul> + <li>com::sun::star::sheet::FilterFieldType::NUMERIC -> NumericValue</li> + <li>com::sun::star::sheet::FilterFieldType::STRING -> StringValue</li> + <li>com::sun::star::sheet::FilterFieldType::DATE -> StringValue</li> + <li>com::sun::star::sheet::FilterFieldType::TEXT_COLOR -> ColorValue</li> + <li>com::sun::star::sheet::FilterFieldType::BACKGROUND_COLOR -> ColorValue</li> + </ul> + + @see com::sun::star::sheet::FilterFieldType + @since LibreOffice 7.2 + */ + long FilterType; + + /** The color which is used for filtering + + @since LibreOffice 7.2 + */ + com::sun::star::util::Color ColorValue; + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FilterFormulaParser.idl b/offapi/com/sun/star/sheet/FilterFormulaParser.idl new file mode 100644 index 000000000..d72ec5d20 --- /dev/null +++ b/offapi/com/sun/star/sheet/FilterFormulaParser.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FilterFormulaParser_idl__ +#define __com_sun_star_sheet_FilterFormulaParser_idl__ + +#include <com/sun/star/sheet/XFilterFormulaParser.idl> +#include <com/sun/star/lang/XComponent.idl> + + +module com { module sun { module star { module sheet { + + +/** A service used to implement parsing and printing formula strings in a + specific formula language. + */ +service FilterFormulaParser : XFilterFormulaParser +{ +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FilterOperator.idl b/offapi/com/sun/star/sheet/FilterOperator.idl new file mode 100644 index 000000000..a980cc3fd --- /dev/null +++ b/offapi/com/sun/star/sheet/FilterOperator.idl @@ -0,0 +1,98 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FilterOperator_idl__ +#define __com_sun_star_sheet_FilterOperator_idl__ + + +module com { module sun { module star { module sheet { + + +/** specifies the type of a single condition in a filter descriptor. + */ +published enum FilterOperator +{ + + /** selects empty entries. + */ + EMPTY, + + + /** selects non-empty entries. + */ + NOT_EMPTY, + + + /** value has to be equal to the specified value. + */ + EQUAL, + + + /** value must not be equal to the specified value. + */ + NOT_EQUAL, + + + /** value has to be greater than the specified value. + */ + GREATER, + + + /** value has to be greater than or equal to the specified value. + */ + GREATER_EQUAL, + + + /** value has to be less than the specified value. + */ + LESS, + + + /** value has to be less than or equal to the specified value. + */ + LESS_EQUAL, + + + /** selects a specified number of entries with the greatest values. + */ + TOP_VALUES, + + + /** selects a specified percentage of entries with the greatest values. + */ + TOP_PERCENT, + + + /** selects a specified number of entries with the lowest values. + */ + BOTTOM_VALUES, + + + /** selects a specified percentage of entries with the lowest values. + */ + BOTTOM_PERCENT + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FilterOperator2.idl b/offapi/com/sun/star/sheet/FilterOperator2.idl new file mode 100644 index 000000000..01e63364e --- /dev/null +++ b/offapi/com/sun/star/sheet/FilterOperator2.idl @@ -0,0 +1,133 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FilterOperator2_idl__ +#define __com_sun_star_sheet_FilterOperator2_idl__ + + +module com { module sun { module star { module sheet { + + +/** specifies the type of a single condition in a filter descriptor. + + <p>This constants group extends the FilterOperator enum by + additional filter operators.</p> + + @since OOo 3.2 + */ +published constants FilterOperator2 +{ + + + /** selects empty entries. + */ + const long EMPTY = 0; + + + /** selects non-empty entries. + */ + const long NOT_EMPTY = 1; + + + /** value has to be equal to the specified value. + */ + const long EQUAL = 2; + + + /** value must not be equal to the specified value. + */ + const long NOT_EQUAL = 3; + + + /** value has to be greater than the specified value. + */ + const long GREATER = 4; + + + /** value has to be greater than or equal to the specified value. + */ + const long GREATER_EQUAL = 5; + + + /** value has to be less than the specified value. + */ + const long LESS = 6; + + + /** value has to be less than or equal to the specified value. + */ + const long LESS_EQUAL = 7; + + + /** selects a specified number of entries with the greatest values. + */ + const long TOP_VALUES = 8; + + + /** selects a specified percentage of entries with the greatest values. + */ + const long TOP_PERCENT = 9; + + + /** selects a specified number of entries with the lowest values. + */ + const long BOTTOM_VALUES = 10; + + + /** selects a specified percentage of entries with the lowest values. + */ + const long BOTTOM_PERCENT = 11; + + + /** selects contains entries. + */ + const long CONTAINS = 12; + + + /** selects does-not-contain entries. + */ + const long DOES_NOT_CONTAIN = 13; + + + /** selects begins-with entries. + */ + const long BEGINS_WITH = 14; + + + /** selects does-not-begin-with entries. + */ + const long DOES_NOT_BEGIN_WITH = 15; + + /** selects ends-with entries. + */ + const long ENDS_WITH = 16; + + + /** selects does-not-end-with entries. + */ + const long DOES_NOT_END_WITH = 17; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FormulaLanguage.idl b/offapi/com/sun/star/sheet/FormulaLanguage.idl new file mode 100644 index 000000000..f6b810f38 --- /dev/null +++ b/offapi/com/sun/star/sheet/FormulaLanguage.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FormulaLanguage_idl__ +#define __com_sun_star_sheet_FormulaLanguage_idl__ + + +module com { module sun { module star { module sheet { + + +/** Constants designating the formula language used with + XFormulaOpCodeMapper methods. + */ +constants FormulaLanguage +{ + /** Function names and operators as defined by the OASIS + OpenDocument Format (ODF) Formula specification (ODFF aka + OpenFormula). + */ + const long ODFF = 0; + + /** Function names and operators as used in ODF documents prior to + the ODFF specification, up to ODF v1.1. + */ + const long ODF_11 = 1; + + /** Function names and operators as used in the English language + user interface. + */ + const long ENGLISH = 2; + + /** Function names and operators as used in the current native + language user interface. + */ + const long NATIVE = 3; + + /** Function names and operators as used in the English version of + Excel. This formula language is also used in VBA formulas. + */ + const long XL_ENGLISH = 4; + + /** Function names and operators as used in OOXML. + + @since LibreOffice 4.2 + */ + const long OOXML = 5; + + /** Function names and operators as used with XFunctionAccess and + other API context. + + Names are mostly identical to ENGLISH and ODF_11, but while + ENGLISH names can be adapted to UI needs and ODF_11 has to stay + error compatible, the API names strive to stay compatible but + may get corrected in case of errors. Earlier versions than + LibreOffice 5.3 always used ODF_11 in API context. + + @since LibreOffice 5.3 + */ + const long API = 6; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FormulaMapGroup.idl b/offapi/com/sun/star/sheet/FormulaMapGroup.idl new file mode 100644 index 000000000..fc55c7afd --- /dev/null +++ b/offapi/com/sun/star/sheet/FormulaMapGroup.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FormulaMapGroup_idl__ +#define __com_sun_star_sheet_FormulaMapGroup_idl__ + + +module com { module sun { module star { module sheet { + + +/** Constants of bit masks used with + XFormulaOpCodeMapper::getAvailableMappings() to + specify for which group of symbols the mappings are to be obtained. + + If no bit is set, a sequence of special mappings is returned in the + order that is defined by FormulaMapGroupSpecialOffset. + Note that the special group and other groups are mutual exclusive. + */ +constants FormulaMapGroup +{ + /** Group of op-codes without a string symbol. + + @see FormulaMapGroupSpecialOffset + */ + const long SPECIAL = 0; + + /** Separators and parentheses */ + const long SEPARATORS = 0x00000001; + + /** Separators and parentheses for constant arrays */ + const long ARRAY_SEPARATORS = 0x00000002; + + /** Unary operators */ + const long UNARY_OPERATORS = 0x00000004; + + /** Binary operators */ + const long BINARY_OPERATORS = 0x00000008; + + /** Functions */ + const long FUNCTIONS = 0x00000010; + + /** All groups except SPECIAL */ + const long ALL_EXCEPT_SPECIAL = 0x7fffffff; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl new file mode 100644 index 000000000..4cb2699e9 --- /dev/null +++ b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl @@ -0,0 +1,202 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#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. + + <p>The number of constants may grow in future versions!</p> + */ +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 FormulaToken::Data member shall contain one of + the following values:</p> + + <ul> + <li>A value of type `double` for literal floating-point + constants.</li> + <li>A `string` for literal text.</li> + <li>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.</li> + <li>A struct of type SingleReference for a reference to a + single cell in the own document.</li> + <li>A struct of type ComplexReference for a reference to + a range of cells in the own document.</li> + <li>A struct of type ExternalReference 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 FormulaToken::Data 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 FormulaToken::Data member shall contain a + `string` with the programmatic name of the function, e.g. + "com.sun.star.sheet.addin.Analysis.getEomonth" for the EOMONTH + function from the Analysis 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 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.</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 FormulaToken::Data 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 <code>=SUM(1;;2)</code> the second + parameter is empty and represented by a formula token containing the + "missing" op-code.</p> + + <p>The FormulaToken::Data 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 FormulaToken::Data member shall contain a + `string` with the bad data. This string will be displayed + literally in the formula.</p> + */ + const long BAD = 7; + + + /** Formula tokens containing the op-code obtained from this offset + describe whitespace characters within the string representation of a + formula. + + <p>Whitespace characters in formulas are used for readability and do + not affect the result of the formula.</p> + + <p>The FormulaToken::Data member shall contain a + positive integer value of type `long` specifying the number + of space characters.</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 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.</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 FormulaToken::Data member shall contain a + `string` specifying the name of the macro function.</p> + */ + const long MACRO = 11; + + + const long COL_ROW_NAME = 12; + + + /** Formula tokens containing the op-code obtained from this offset + describe whitespace characters within the string representation of a + formula. + + <p>Whitespace characters in formulas are used for readability and do + not affect the result of the formula.</p> + + <p>The FormulaToken::Data member shall contain a + `string` of one (repeated) whitespace character. The length of + the string determines the number of repetitions.</p> + + <p>Allowed whitespace characters are SPACE (U+0020), CHARACTER + TABULATION (U+0009), LINE FEED (U+000A), and CARRIAGE RETURN + (U+000D). See also ODF v1.3 OpenFormula 5.14 Whitespace.</p> + + @since LibreOffice 7.3 + */ + const long WHITESPACE = 13; + + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FormulaOpCodeMapEntry.idl b/offapi/com/sun/star/sheet/FormulaOpCodeMapEntry.idl new file mode 100644 index 000000000..7c2c9738b --- /dev/null +++ b/offapi/com/sun/star/sheet/FormulaOpCodeMapEntry.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FormulaOpCodeMapEntry_idl__ +#define __com_sun_star_sheet_FormulaOpCodeMapEntry_idl__ + +#include <com/sun/star/sheet/FormulaToken.idl> + + +module com { module sun { module star { module sheet { + + +/** contains a mapping from a formula name (function name, operator, + ...) to the OpCode used by the formula compiler. + */ +struct FormulaOpCodeMapEntry +{ + + /** The function name, or operator. + */ + string Name; + + + /** The corresponding mapping. + */ + FormulaToken Token; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FormulaOpCodeMapper.idl b/offapi/com/sun/star/sheet/FormulaOpCodeMapper.idl new file mode 100644 index 000000000..10438d9a7 --- /dev/null +++ b/offapi/com/sun/star/sheet/FormulaOpCodeMapper.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FormulaOpCodeMapper_idl__ +#define __com_sun_star_sheet_FormulaOpCodeMapper_idl__ + +#include <com/sun/star/sheet/XFormulaOpCodeMapper.idl> + + +module com { module sun { module star { module sheet { + + + +service FormulaOpCodeMapper : XFormulaOpCodeMapper; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FormulaParser.idl b/offapi/com/sun/star/sheet/FormulaParser.idl new file mode 100644 index 000000000..fb9085130 --- /dev/null +++ b/offapi/com/sun/star/sheet/FormulaParser.idl @@ -0,0 +1,101 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FormulaParser_idl__ +#define __com_sun_star_sheet_FormulaParser_idl__ + +#include <com/sun/star/beans/PropertySet.idl> +#include <com/sun/star/sheet/XFormulaParser.idl> +#include <com/sun/star/sheet/FormulaOpCodeMapEntry.idl> +#include <com/sun/star/sheet/ExternalLinkInfo.idl> + + +module com { module sun { module star { module sheet { + + +service FormulaParser +{ + + service com::sun::star::beans::PropertySet; + + + interface XFormulaParser; + + + /** specifies whether to use English parser and formatter. + + <p>Note: When changing this, an already existing #OpCodeMap + needs to be recreated internally, so for performance reasons + set this <em>before</em> setting the #OpCodeMap. + */ + [property] boolean CompileEnglish; + + + /** specifies which address reference style convention to use when + parsing a formula string. + + @see AddressConvention + */ + [property] short FormulaConvention; + + + [property] boolean IgnoreLeadingSpaces; + + + [property] string ParameterSeparator; + + + /** contains the complete mapping of names to op-codes. + + <p>Names and symbols not defined here lead to a parser/print error.</p> + */ + [property] sequence< FormulaOpCodeMapEntry > OpCodeMap; + + + /** contains a list of external links referenced in formulas. + + <p>Use of this property depends on the FormulaConvention + in use. It is relevant only for + AddressConvention::XL_OOX 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.</p> + + @since OOo 3.1 + */ + [property] sequence< ExternalLinkInfo > ExternalLinks; + + + /** specifies that use special ooxml chart syntax in case of OOXML reference + convention, when parsing a formula string. + + <p>Special syntax like: [0]!GlobalNamedRange, LocalSheet!LocalNamedRange</p> + + @since LibreOffice 7.3 + */ + [property] boolean RefConventionChartOOXML; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FormulaResult.idl b/offapi/com/sun/star/sheet/FormulaResult.idl new file mode 100644 index 000000000..139378492 --- /dev/null +++ b/offapi/com/sun/star/sheet/FormulaResult.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FormulaResult_idl__ +#define __com_sun_star_sheet_FormulaResult_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to select different result types of cell formulas. + */ +published constants FormulaResult +{ + + /** selects numeric results. + */ + const long VALUE = 1; + + + /** selects non-numeric results. + */ + const long STRING = 2; + + + /** selects errors. + */ + const long ERROR = 4; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FormulaToken.idl b/offapi/com/sun/star/sheet/FormulaToken.idl new file mode 100644 index 000000000..6e566fbe1 --- /dev/null +++ b/offapi/com/sun/star/sheet/FormulaToken.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FormulaToken_idl__ +#define __com_sun_star_sheet_FormulaToken_idl__ + + +module com { module sun { module star { module sheet { + + +/** contains a single token within a formula. + */ +struct FormulaToken +{ + + /** is the OpCode of the token. + + @see com::sun::star::sheet::XFormulaOpCodeMapper + */ + long OpCode; + + + /** is additional data in the token, depending on the OpCode. + + @see com::sun::star::sheet::NamedRange::TokenIndex + @see com::sun::star::sheet::DatabaseRange::TokenIndex + */ + any Data; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FunctionAccess.idl b/offapi/com/sun/star/sheet/FunctionAccess.idl new file mode 100644 index 000000000..9b26c286e --- /dev/null +++ b/offapi/com/sun/star/sheet/FunctionAccess.idl @@ -0,0 +1,77 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FunctionAccess_idl__ +#define __com_sun_star_sheet_FunctionAccess_idl__ + +#include <com/sun/star/sheet/SpreadsheetDocumentSettings.idl> +#include <com/sun/star/sheet/XFunctionAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** allows generic access to all spreadsheet functions. + */ +published service FunctionAccess +{ + + /** contributes properties to control the behavior of some functions + (i.e. NullDate, IgnoreCase, RegularExpressions). + */ + service com::sun::star::sheet::SpreadsheetDocumentSettings; + + + /** provides calculating the result of a spreadsheet function. + */ + interface com::sun::star::sheet::XFunctionAccess; + + + /** specifies whether the function call is performed as array function + call. + + <p>If set to `TRUE`, the result of the function call will be + calculated similar to array formulas in a spreadsheet document. The + return value of the function call will usually be a sequence of + sequences containing the values of the resulting array. Example: If the + function ABS is called for a 3x2 cell range, the result will be a 3x2 + array containing the absolute values of the numbers contained in the + specified cell range.</p> + + <p>If set to `FALSE`, the result of the function call will be + calculated similar to simple cell formulas in a spreadsheet document. + The return value of the function call will usually be a single value. + Of course, some functions always return an array, for example the + MUNIT function.</p> + + <p>For compatibility with older versions, the default value of this + property is `TRUE`.</p> + + @since OOo 3.3 + */ + [optional, property] boolean IsArrayFunction; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FunctionArgument.idl b/offapi/com/sun/star/sheet/FunctionArgument.idl new file mode 100644 index 000000000..41ca7fd42 --- /dev/null +++ b/offapi/com/sun/star/sheet/FunctionArgument.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FunctionArgument_idl__ +#define __com_sun_star_sheet_FunctionArgument_idl__ + + +module com { module sun { module star { module sheet { + + +/** contains the description of a single argument within a spreadsheet + function. + + @see com::sun::star::sheet::FunctionDescription + */ +published struct FunctionArgument +{ + + /** the name of the argument. + */ + string Name; + + + /** a description of the argument. + */ + string Description; + + + /** determines whether the argument is optional. + */ + boolean IsOptional; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FunctionCategory.idl b/offapi/com/sun/star/sheet/FunctionCategory.idl new file mode 100644 index 000000000..89005ebe6 --- /dev/null +++ b/offapi/com/sun/star/sheet/FunctionCategory.idl @@ -0,0 +1,95 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FunctionCategory_idl__ +#define __com_sun_star_sheet_FunctionCategory_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify the category of a spreadsheet function. + */ +published constants FunctionCategory +{ + + /** specifies a database function. + */ + const long DATABASE = 1; + + + /** specifies a function that calculates with dates and/or times. + */ + const long DATETIME = 2; + + + /** specifies a financial function. + */ + const long FINANCIAL = 3; + + + /** specifies a function that returns information about the cell, + the cell contents or the current formula. + */ + const long INFORMATION = 4; + + + /** specifies a boolean function. + */ + const long LOGICAL = 5; + + + /** specifies a common mathematical function + */ + const long MATHEMATICAL = 6; + + + /** specifies a matrix function. + */ + const long MATRIX = 7; + + + /** specifies a statistical function + */ + const long STATISTICAL = 8; + + + /** specifies a function that returns information using the spreadsheet + contents or specific cell positions. + */ + const long SPREADSHEET = 9; + + + /** specifies a text function. + */ + const long TEXT = 10; + + + /** specifies a common add-in function. + */ + const long ADDIN = 11; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FunctionDescription.idl b/offapi/com/sun/star/sheet/FunctionDescription.idl new file mode 100644 index 000000000..ef2d91ca1 --- /dev/null +++ b/offapi/com/sun/star/sheet/FunctionDescription.idl @@ -0,0 +1,72 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FunctionDescription_idl__ +#define __com_sun_star_sheet_FunctionDescription_idl__ + +#include <com/sun/star/sheet/FunctionArgument.idl> + + +module com { module sun { module star { module sheet { + + +/** collects all properties used to describe a function. + + @see com::sun::star::sheet::FunctionDescriptions + */ +published service FunctionDescription +{ + + /** returns the function's unique identifier. + + @see com::sun::star::sheet::XFunctionDescriptions + */ + [readonly, property] long Id; + + + /** returns the function's category. + + @see com::sun::star::sheet::FunctionCategory + */ + [readonly, property] long Category; + + + /** returns the localized function's name. + */ + [readonly, property] string Name; + + + /** returns a localized description of the function. + */ + [readonly, property] string Description; + + + /** returns a sequence of localized descriptions of the function's + arguments (in the order specified by the function). + */ + [readonly, property] sequence< com::sun::star::sheet::FunctionArgument > Arguments; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FunctionDescriptionEnumeration.idl b/offapi/com/sun/star/sheet/FunctionDescriptionEnumeration.idl new file mode 100644 index 000000000..b3f4cba82 --- /dev/null +++ b/offapi/com/sun/star/sheet/FunctionDescriptionEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FunctionDescriptionEnumeration_idl__ +#define __com_sun_star_sheet_FunctionDescriptionEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of Function Descriptions. + + @see com::sun::star::sheet::FunctionDescription + */ +published service FunctionDescriptionEnumeration +{ + + /** provides methods to access the Function Descriptions in the enumeration. + + @see com::sun::star::sheet::FunctionDescription + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/FunctionDescriptions.idl b/offapi/com/sun/star/sheet/FunctionDescriptions.idl new file mode 100644 index 000000000..69361753d --- /dev/null +++ b/offapi/com/sun/star/sheet/FunctionDescriptions.idl @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_FunctionDescriptions_idl__ +#define __com_sun_star_sheet_FunctionDescriptions_idl__ + +#include <com/sun/star/sheet/XFunctionDescriptions.idl> +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of function descriptions for all built-in + functions as well as add-in functions available in the spreadsheet + application. + + <p>All container access methods return a sequence of + com::sun::star::beans::PropertyValue structs. + The properties contained in the sequence are collected in the + service FunctionDescription.</p> + */ +published service FunctionDescriptions +{ + + /** provides access to the property sequence of a function description + via function index or identifier. + */ + interface com::sun::star::sheet::XFunctionDescriptions; + + + /** provides access to the property sequence of a function description + via function name. + + <p>The localized uppercase name of the function has to be used + here.</p> + */ + interface com::sun::star::container::XNameAccess; + + + /** creates an enumeration of all function descriptions. + + @see com::sun::star::sheet::FunctionDescriptionEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/GeneralFunction.idl b/offapi/com/sun/star/sheet/GeneralFunction.idl new file mode 100644 index 000000000..ff9615c1a --- /dev/null +++ b/offapi/com/sun/star/sheet/GeneralFunction.idl @@ -0,0 +1,105 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_GeneralFunction_idl__ +#define __com_sun_star_sheet_GeneralFunction_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify a function to be calculated from values. + */ +published enum GeneralFunction +{ + + /** nothing is calculated. + */ + NONE, + + + /** function is determined automatically. + + <p>If the values are all numerical, SUM is used, otherwise COUNT.</p> + */ + AUTO, + + + /** sum of all numerical values is calculated. + */ + SUM, + + + /** all values, including non-numerical values, are counted. + */ + COUNT, + + + /** average of all numerical values is calculated. + */ + AVERAGE, + + + /** maximum value of all numerical values is calculated. + */ + MAX, + + + /** minimum value of all numerical values is calculated. + */ + MIN, + + + /** product of all numerical values is calculated. + */ + PRODUCT, + + + /** numerical values are counted. + */ + COUNTNUMS, + + + /** standard deviation is calculated based on a sample. + */ + STDEV, + + + /** standard deviation is calculated based on the entire population. + */ + STDEVP, + + + /** variance is calculated based on a sample. + */ + VAR, + + + /** variance is calculated based on the entire population. + */ + VARP + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/GeneralFunction2.idl b/offapi/com/sun/star/sheet/GeneralFunction2.idl new file mode 100644 index 000000000..926f7b174 --- /dev/null +++ b/offapi/com/sun/star/sheet/GeneralFunction2.idl @@ -0,0 +1,111 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_GeneralFunction2_idl__ +#define __com_sun_star_sheet_GeneralFunction2_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify a function to be calculated from values. + @since LibreOffice 5.3 + */ +published constants GeneralFunction2 +{ + + /** nothing is calculated. + */ + const short NONE = 0; + + + /** function is determined automatically. + + <p>If the values are all numerical, SUM is used, otherwise COUNT.</p> + */ + const short AUTO = 1; + + + /** sum of all numerical values is calculated. + */ + const short SUM = 2; + + + /** all values, including non-numerical values, are counted. + */ + const short COUNT = 3; + + + /** average of all numerical values is calculated. + */ + const short AVERAGE = 4; + + + /** maximum value of all numerical values is calculated. + */ + const short MAX = 5; + + + /** minimum value of all numerical values is calculated. + */ + const short MIN = 6; + + + /** product of all numerical values is calculated. + */ + const short PRODUCT = 7; + + + /** numerical values are counted. + */ + const short COUNTNUMS = 8; + + + /** standard deviation is calculated based on a sample. + */ + const short STDEV = 9; + + + /** standard deviation is calculated based on the entire population. + */ + const short STDEVP = 10; + + + /** variance is calculated based on a sample. + */ + const short VAR = 11; + + + /** variance is calculated based on the entire population. + */ + const short VARP = 12; + + /** + * median of all numerical values is calculated. + * @since LibreOffice 5.3 + */ + const short MEDIAN = 13; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/GlobalSheetSettings.idl b/offapi/com/sun/star/sheet/GlobalSheetSettings.idl new file mode 100644 index 000000000..385a83c93 --- /dev/null +++ b/offapi/com/sun/star/sheet/GlobalSheetSettings.idl @@ -0,0 +1,42 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_GlobalSheetSettings_idl__ +#define __com_sun_star_sheet_GlobalSheetSettings_idl__ + +#include <com/sun/star/sheet/XGlobalSheetSettings.idl> + + +module com { module sun { module star { module sheet { + + +/** contributes properties to access the settings for all spreadsheets of + a spreadsheet document. + + For backwards compatibility, the attributes of XGlobalSheetSettings can + still be accessed via com::sun::star::beans::XPropertySet, too. + */ +published service GlobalSheetSettings : XGlobalSheetSettings; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/GoalResult.idl b/offapi/com/sun/star/sheet/GoalResult.idl new file mode 100644 index 000000000..c9f69bea3 --- /dev/null +++ b/offapi/com/sun/star/sheet/GoalResult.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_GoalResult_idl__ +#define __com_sun_star_sheet_GoalResult_idl__ + + +module com { module sun { module star { module sheet { + + +/** is the result of a goal seek operation. + */ +published struct GoalResult +{ + /** the amount by which the result changed in the last iteration. + */ + double Divergence; + + + /** the resulting value. + */ + double Result; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/HeaderFooterContent.idl b/offapi/com/sun/star/sheet/HeaderFooterContent.idl new file mode 100644 index 000000000..182f1001c --- /dev/null +++ b/offapi/com/sun/star/sheet/HeaderFooterContent.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_HeaderFooterContent_idl__ +#define __com_sun_star_sheet_HeaderFooterContent_idl__ + +#include <com/sun/star/sheet/XHeaderFooterContent.idl> + + +module com { module sun { module star { module sheet { + + +/** represents the contents of a header or footer line in a page style. + + @see com::sun::star::sheet::TablePageStyle + */ +published service HeaderFooterContent +{ + + /** provides access to the text parts of the header or footer line. + */ + interface com::sun::star::sheet::XHeaderFooterContent; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/IconSet.idl b/offapi/com/sun/star/sheet/IconSet.idl new file mode 100644 index 000000000..4d750b44a --- /dev/null +++ b/offapi/com/sun/star/sheet/IconSet.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_IconSet_idl__ +#define __com_sun_star_sheet_IconSet_idl__ + +#include <com/sun/star/sheet/XConditionEntry.idl> + +module com { module sun { module star { module sheet { + +service IconSet +{ + interface XConditionEntry; + + [property] boolean ShowValue; + + [property] boolean Reverse; + + /** + * See com.sun.star.sheet.IconSetType for possible values. + */ + [property] long Icons; + + [property] sequence<XIconSetEntry> IconSetEntries; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ + diff --git a/offapi/com/sun/star/sheet/IconSetFormatEntry.idl b/offapi/com/sun/star/sheet/IconSetFormatEntry.idl new file mode 100644 index 000000000..652618cd4 --- /dev/null +++ b/offapi/com/sun/star/sheet/IconSetFormatEntry.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_IconSetEntryType_idl__ +#define __com_sun_star_sheet_IconSetEntryType_idl__ + +module com { module sun { module star { module sheet { + +constants IconSetFormatEntry +{ + /** + * Can not be set! Will always be the type of the first entry. + */ + const long ICONSET_MIN = 0; + + const long ICONSET_PERCENTILE = 1; + + const long ICONSET_VALUE = 2; + + const long ICONSET_PERCENT = 3; + + const long ICONSET_FORMULA = 4; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/IconSetType.idl b/offapi/com/sun/star/sheet/IconSetType.idl new file mode 100644 index 000000000..ad9633237 --- /dev/null +++ b/offapi/com/sun/star/sheet/IconSetType.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_IconSetType_idl__ +#define __com_sun_star_sheet_IconSetType_idl__ + +module com { module sun { module star { module sheet { + +constants IconSetType +{ + const long ICONSET_3ARROWS = 0; + + const long ICONSET_3ARROWS_GRAY = 1; + + const long ICONSET_3FLAGS = 2; + + const long ICONSET_3TRAFFICLIGHTS1 = 3; + + const long ICONSET_3TRAFFICLIGHTS2 = 4; + + const long ICONSET_3SIGNS = 5; + + const long ICONSET_3SYMBOLS = 6; + + const long ICONSET_3SYMBOLS2 = 7; + + const long ICONSET_3SMILIES = 8; + + const long ICONSET_3COLOR_SIMILIES = 9; + + const long ICONSET_4ARROWS = 10; + + const long ICONSET_4ARROWS_GRAY = 11; + + const long ICONSET_4RED_TO_BLACK = 12; + + const long ICONSET_4RATING = 13; + + const long ICONSET_4TRAFFICLIGHTS = 14; + + const long ICONSET_5ARROWS = 15; + + const long ICONSET_5ARROWS_GRAY = 16; + + const long ICONSET_5RATINGS = 17; + + const long ICONSET_5QUARTERS = 18; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ + diff --git a/offapi/com/sun/star/sheet/LabelRange.idl b/offapi/com/sun/star/sheet/LabelRange.idl new file mode 100644 index 000000000..d78f10778 --- /dev/null +++ b/offapi/com/sun/star/sheet/LabelRange.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_LabelRange_idl__ +#define __com_sun_star_sheet_LabelRange_idl__ + +#include <com/sun/star/sheet/XLabelRange.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a cell area that contains labels and values related to the + labels. + + <p>Label ranges can be used in formulas to refer to cells in cell + ranges with row or column titles. The formula uses the cell value that + is related to the specified row or column title.</p> + */ +published service LabelRange +{ + /** provides access to the settings of a label range. + */ + interface com::sun::star::sheet::XLabelRange; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/LabelRanges.idl b/offapi/com/sun/star/sheet/LabelRanges.idl new file mode 100644 index 000000000..f94843813 --- /dev/null +++ b/offapi/com/sun/star/sheet/LabelRanges.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_LabelRanges_idl__ +#define __com_sun_star_sheet_LabelRanges_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/sheet/XLabelRanges.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of label ranges in a spreadsheet document. + + @see com::sun::star::sheet::LabelRange + @see com::sun::star::sheet::SpreadsheetDocument + */ +published service LabelRanges +{ + + /** provides methods to access the members of the label range collection + and to insert and remove them. + */ + interface com::sun::star::sheet::XLabelRanges; + + + /** provides access to the label ranges via index. + + @see com::sun::star::sheet::LabelRange + + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all label ranges. + + @see com::sun::star::sheet::LabelRangesEnumeration + + */ + interface com::sun::star::container::XEnumerationAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/LabelRangesEnumeration.idl b/offapi/com/sun/star/sheet/LabelRangesEnumeration.idl new file mode 100644 index 000000000..f7110666d --- /dev/null +++ b/offapi/com/sun/star/sheet/LabelRangesEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_LabelRangesEnumeration_idl__ +#define __com_sun_star_sheet_LabelRangesEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of label ranges. + + @see com::sun::star::sheet::LabelRange + */ +published service LabelRangesEnumeration +{ + + /** provides methods to access the label ranges in the enumeration. + + @see com::sun::star::sheet::LabelRange + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/LocalizedName.idl b/offapi/com/sun/star/sheet/LocalizedName.idl new file mode 100644 index 000000000..8694ab596 --- /dev/null +++ b/offapi/com/sun/star/sheet/LocalizedName.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_LocalizedName_idl__ +#define __com_sun_star_sheet_LocalizedName_idl__ + +#include <com/sun/star/lang/Locale.idl> + + +module com { module sun { module star { module sheet { + + +/** A name that is valid for a specified locale. + + @see com::sun::star::sheet::XCompatibilityNames + */ +published struct LocalizedName +{ + + /** The locale for which this name is valid. + */ + ::com::sun::star::lang::Locale Locale; + + + /** The name itself. + */ + string Name; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/MemberResult.idl b/offapi/com/sun/star/sheet/MemberResult.idl new file mode 100644 index 000000000..be17a860e --- /dev/null +++ b/offapi/com/sun/star/sheet/MemberResult.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_MemberResult_idl__ +#define __com_sun_star_sheet_MemberResult_idl__ + + +module com { module sun { module star { module sheet { + + +/** describes a result of a DataPilot member. + + @see com::sun::star::sheet::XDataPilotMemberResults + */ +struct MemberResult +{ + /** the internal name of the field. + */ + string Name; + + + /** the visible name of the field. + */ + string Caption; + + + /** contains flags describing the result. + + @see com::sun::star::sheet::MemberResultFlags + */ + long Flags; + + + /** the underlying numeric value of the field <b>if</b> Flags + indicate so by having + com::sun::star::sheet::MemberResultFlags::NUMERIC set. + + May be NaN if value is not available or unknown. + + @since LibreOffice 5.3 + */ + double Value; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/MemberResultFlags.idl b/offapi/com/sun/star/sheet/MemberResultFlags.idl new file mode 100644 index 000000000..4e3aed221 --- /dev/null +++ b/offapi/com/sun/star/sheet/MemberResultFlags.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_MemberResultFlags_idl__ +#define __com_sun_star_sheet_MemberResultFlags_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to give information about elements in data pilot member results. + */ +constants MemberResultFlags +{ + + /** The element contains a member. + */ + const long HASMEMBER = 1; + + + /** The element contains a subtotal. + */ + const long SUBTOTAL = 2; + + + /** The element is a continuation of the previous one. + */ + const long CONTINUE = 4; + + + /** The element contains a grand total. + */ + const long GRANDTOTAL = 8; + + + /** The element is a numeric value. + */ + const long NUMERIC = 16; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/MoveDirection.idl b/offapi/com/sun/star/sheet/MoveDirection.idl new file mode 100644 index 000000000..de4fa5905 --- /dev/null +++ b/offapi/com/sun/star/sheet/MoveDirection.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_MoveDirection_idl__ +#define __com_sun_star_sheet_MoveDirection_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify the direction of moving the current selection i.e. + after a cell has been left with Enter. + */ +published constants MoveDirection +{ + + /** specifies that the selection moves one cell down. + */ + const short DOWN = 0; + + + /** specifies that the selection moves one cell right. + */ + const short RIGHT = 1; + + + /** specifies that the selection moves one cell up. + */ + const short UP = 2; + + + /** specifies that the selection moves one cell left. + */ + const short LEFT = 3; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/NameToken.idl b/offapi/com/sun/star/sheet/NameToken.idl new file mode 100644 index 000000000..9b66038ba --- /dev/null +++ b/offapi/com/sun/star/sheet/NameToken.idl @@ -0,0 +1,31 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_NameToken_idl__ +#define __com_sun_star_sheet_NameToken_idl__ + + +module com { module sun { module star { module sheet { + + +/** contains the information regarding named tokens + */ +struct NameToken +{ + long Index; + + long Sheet; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/NamedRange.idl b/offapi/com/sun/star/sheet/NamedRange.idl new file mode 100644 index 000000000..a81bc4698 --- /dev/null +++ b/offapi/com/sun/star/sheet/NamedRange.idl @@ -0,0 +1,90 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_NamedRange_idl__ +#define __com_sun_star_sheet_NamedRange_idl__ + +#include <com/sun/star/sheet/XNamedRange.idl> +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/sheet/XCellRangeReferrer.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a named range in a spreadsheet document. + + <p>In fact a named range is a named formula expression. A cell range + address is one possible content of a named range.</p> + + @see com::sun::star::sheet::NamedRanges + */ +published service NamedRange +{ + + /** provides access to the settings of the named range. + */ + interface com::sun::star::sheet::XNamedRange; + + + /** provides access to the cell range object referred by this named range. + + <p>This works only, if the named range contains a single cell range + address.</p> + */ + interface com::sun::star::sheet::XCellRangeReferrer; + + + /** returns the index used to refer to this name in token arrays. + + <p>A token describing a defined name shall contain the op-code obtained + from the FormulaMapGroupSpecialOffset::NAME offset and + this index as data part.</p> + + @see com::sun::star::sheet::FormulaToken + @see com::sun::star::sheet::FormulaMapGroupSpecialOffset::NAME + + @since OOo 3.0 + */ + [optional, readonly, property] long TokenIndex; + + + /** Determines if this defined name represents a shared formula. + + <p>This special property shall not be used externally. It is used by + import and export filters for compatibility with spreadsheet + documents containing shared formulas. Shared formulas are shared + by several cells to save memory and to decrease file size.</p> + + <p>A defined name with this property set will not appear in the user + interface of Calc, and its name will not appear in cell formulas. A + formula referring to this defined name will show the formula + definition contained in the name instead.</p> + + @since OOo 3.0 + */ + [optional, property] boolean IsSharedFormula; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/NamedRangeFlag.idl b/offapi/com/sun/star/sheet/NamedRangeFlag.idl new file mode 100644 index 000000000..cdfc72eed --- /dev/null +++ b/offapi/com/sun/star/sheet/NamedRangeFlag.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_NamedRangeFlag_idl__ +#define __com_sun_star_sheet_NamedRangeFlag_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify the purpose of a named range. + */ +published constants NamedRangeFlag +{ + + /** The range contains filter criteria. + */ + const long FILTER_CRITERIA = 1; + + + /** The range can be used as a print range. + */ + const long PRINT_AREA = 2; + + + /** The range can be used as column headers for printing. + */ + const long COLUMN_HEADER = 4; + + + /** The range can be used as row headers for printing. + */ + const long ROW_HEADER = 8; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/NamedRanges.idl b/offapi/com/sun/star/sheet/NamedRanges.idl new file mode 100644 index 000000000..a39ad5d27 --- /dev/null +++ b/offapi/com/sun/star/sheet/NamedRanges.idl @@ -0,0 +1,77 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_NamedRanges_idl__ +#define __com_sun_star_sheet_NamedRanges_idl__ + +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/sheet/XNamedRanges.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/document/XActionLockable.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of named ranges in a spreadsheet document. + + <p>In fact a named range is a named formula expression. A cell range + address is one possible content of a named range.</p> + + @see com::sun::star::sheet::SpreadsheetDocument + */ +published service NamedRanges +{ + + /** provides access to the named ranges and to insert and remove them. + */ + interface com::sun::star::sheet::XNamedRanges; + + + /** provides access to the named ranges via index. + + @see com::sun::star::sheet::NamedRange + + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all named ranges. + + @see com::sun::star::sheet::NamedRangesEnumeration + + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides methods to control the internal update of named ranges. + + @since OOo 3.0 + */ + [optional] interface com::sun::star::document::XActionLockable; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/NamedRangesEnumeration.idl b/offapi/com/sun/star/sheet/NamedRangesEnumeration.idl new file mode 100644 index 000000000..cefd3f21c --- /dev/null +++ b/offapi/com/sun/star/sheet/NamedRangesEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_NamedRangesEnumeration_idl__ +#define __com_sun_star_sheet_NamedRangesEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of named ranges. + + @see com::sun::star::sheet::NamedRange + */ +published service NamedRangesEnumeration +{ + + /** provides methods to access the named ranges in the enumeration. + + @see com::sun::star::sheet::NamedRange + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/NoConvergenceException.idl b/offapi/com/sun/star/sheet/NoConvergenceException.idl new file mode 100644 index 000000000..7d8ad5a91 --- /dev/null +++ b/offapi/com/sun/star/sheet/NoConvergenceException.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_NoConvergenceException_idl__ +#define __com_sun_star_sheet_NoConvergenceException_idl__ + +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module sheet { + + +/** Thrown by a Calc Add-In function this exception indicates the + function's algorithm did not converge to a meaningful result. + + @since OOo 3.3 + */ +exception NoConvergenceException : ::com::sun::star::uno::Exception{}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/PasteOperation.idl b/offapi/com/sun/star/sheet/PasteOperation.idl new file mode 100644 index 000000000..dce7a2a34 --- /dev/null +++ b/offapi/com/sun/star/sheet/PasteOperation.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_PasteOperation_idl__ +#define __com_sun_star_sheet_PasteOperation_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify which operations are carried out when pasting cell + values into a cell range. + */ +published enum PasteOperation +{ + + /** new values are used without changes. + */ + NONE, + + + /** old and new values are added. + */ + ADD, + + + /** new values are subtracted from the old values. + */ + SUBTRACT, + + + /** old and new values are multiplied. + */ + MULTIPLY, + + + /** new values are divided by the new values. + */ + DIVIDE + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/RangeSelectionArguments.idl b/offapi/com/sun/star/sheet/RangeSelectionArguments.idl new file mode 100644 index 000000000..92fd5e513 --- /dev/null +++ b/offapi/com/sun/star/sheet/RangeSelectionArguments.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_RangeSelectionArguments_idl__ +#define __com_sun_star_sheet_RangeSelectionArguments_idl__ + + + module com { module sun { module star { module sheet { + + +/** contains the arguments for starting the range selection. + + @see com::sun::star::sheet::XRangeSelection + */ +published service RangeSelectionArguments +{ + /** contains the initial value for the range descriptor. + */ + [property] string InitialValue; + + /** contains a title for the operation. + */ + [property] string Title; + + /** specifies if the range selection is finished when the + mouse button is released, after selecting cells. + */ + [property] boolean CloseOnMouseRelease; + + /** specifies if the range selection is limited to a single + cell only. + + <p>If `TRUE`, the selection is restricted to a + single cell. If `FALSE`, multiple adjoining cells can be + selected. The default value is `FALSE`.</p> + + @since OOo 2.0.3 + */ + [optional, property] boolean SingleCellMode; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/RangeSelectionEvent.idl b/offapi/com/sun/star/sheet/RangeSelectionEvent.idl new file mode 100644 index 000000000..89887292e --- /dev/null +++ b/offapi/com/sun/star/sheet/RangeSelectionEvent.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_RangeSelectionEvent_idl__ +#define __com_sun_star_sheet_RangeSelectionEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + + + module com { module sun { module star { module sheet { + + +/** specifies an event from range selection. + + @see com::sun::star::sheet::XRangeSelectionListener + @see com::sun::star::sheet::XRangeSelectionChangeListener + */ +published struct RangeSelectionEvent: com::sun::star::lang::EventObject +{ + /** contains a textual representation of the selected range. + */ + string RangeDescriptor; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/RecentFunctions.idl b/offapi/com/sun/star/sheet/RecentFunctions.idl new file mode 100644 index 000000000..9906821ae --- /dev/null +++ b/offapi/com/sun/star/sheet/RecentFunctions.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_RecentFunctions_idl__ +#define __com_sun_star_sheet_RecentFunctions_idl__ + +#include <com/sun/star/sheet/XRecentFunctions.idl> + + +module com { module sun { module star { module sheet { + + +/** contains the list of recently used spreadsheet functions. + */ +published service RecentFunctions : XRecentFunctions; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ReferenceFlags.idl b/offapi/com/sun/star/sheet/ReferenceFlags.idl new file mode 100644 index 000000000..cacbd166d --- /dev/null +++ b/offapi/com/sun/star/sheet/ReferenceFlags.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_ReferenceFlags_idl__ +#define __com_sun_star_sheet_ReferenceFlags_idl__ + + +module com { module sun { module star { module sheet { + + +/** defines flags for references. + + <P>The values can be combined.</P> + */ +constants ReferenceFlags +{ + + /** selects a relative column reference. + */ + const long COLUMN_RELATIVE = 1; + + + /** marks a deleted column reference. + */ + const long COLUMN_DELETED = 2; + + + /** selects a relative row reference. + */ + const long ROW_RELATIVE = 4; + + + /** marks a deleted row reference. + */ + const long ROW_DELETED = 8; + + + /** selects a relative sheet reference. + */ + const long SHEET_RELATIVE = 16; + + + /** marks a deleted sheet reference. + */ + const long SHEET_DELETED = 32; + + + /** selects a 3D sheet reference. + */ + const long SHEET_3D = 64; + + + /** marks a reference from a relative range name. + */ + const long RELATIVE_NAME = 128; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ResultEvent.idl b/offapi/com/sun/star/sheet/ResultEvent.idl new file mode 100644 index 000000000..c4c503e36 --- /dev/null +++ b/offapi/com/sun/star/sheet/ResultEvent.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_ResultEvent_idl__ +#define __com_sun_star_sheet_ResultEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + + +module com { module sun { module star { module sheet { + + +/** contains the new value of a volatile function result. + + @see com::sun::star::sheet::XVolatileResult + */ +published struct ResultEvent: com::sun::star::lang::EventObject +{ + + /** contains the value. + + <p>This can be any of the possible return types described for the + AddIn service, except XVolatileResult.</p> + */ + any Value; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/Scenario.idl b/offapi/com/sun/star/sheet/Scenario.idl new file mode 100644 index 000000000..5ecd46244 --- /dev/null +++ b/offapi/com/sun/star/sheet/Scenario.idl @@ -0,0 +1,93 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_Scenario_idl__ +#define __com_sun_star_sheet_Scenario_idl__ + +#include <com/sun/star/sheet/XScenario.idl> +#include <com/sun/star/sheet/XScenarioEnhanced.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/container/XNamed.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a scenario in a spreadsheet document. + + */ +service Scenario +{ + interface com::sun::star::sheet::XScenario; + + [optional] interface com::sun::star::sheet::XScenarioEnhanced; + + interface com::sun::star::beans::XPropertySet; + + interface com::sun::star::container::XNamed; + + + /** specifies if the scenario is active. + */ + [optional, property] boolean IsActive; + + + /** specifies the color of the border of the scenario. + */ + [optional, property] long BorderColor; + + + /** specifies if the scenario is protected. + */ + [optional, property] boolean Protected; + + + /** specifies if the scenario shows a border. + */ + [optional, property] boolean ShowBorder; + + + /** specifies if the scenario prints a border. + */ + [optional, property] boolean PrintBorder; + + + /** specifies if the data should be copied back into the scenario. + */ + [optional, property] boolean CopyBack; + + + /** specifies if the styles are copied. + */ + [optional, property] boolean CopyStyles; + + + /** specifies if the formulas are copied or only the results. + */ + [optional, property] boolean CopyFormulas; + + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/Scenarios.idl b/offapi/com/sun/star/sheet/Scenarios.idl new file mode 100644 index 000000000..5f7f40765 --- /dev/null +++ b/offapi/com/sun/star/sheet/Scenarios.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_Scenarios_idl__ +#define __com_sun_star_sheet_Scenarios_idl__ + +#include <com/sun/star/sheet/XScenariosSupplier.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of scenarios. + */ +published service Scenarios +{ + + /** provides access via name to the scenarios in the collection. + */ + interface com::sun::star::sheet::XScenarios; + + + /** creates an enumeration of scenarios. + + @see com::sun::star::sheet::ScenariosEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides access to the scenarios in the collection via index. + + @see com::sun::star::sheet::Spreadsheet + + */ + interface com::sun::star::container::XIndexAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ScenariosEnumeration.idl b/offapi/com/sun/star/sheet/ScenariosEnumeration.idl new file mode 100644 index 000000000..001eb57fc --- /dev/null +++ b/offapi/com/sun/star/sheet/ScenariosEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_ScenariosEnumeration_idl__ +#define __com_sun_star_sheet_ScenariosEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of scenarios. + + @see com::sun::star::sheet::Spreadsheet + */ +published service ScenariosEnumeration +{ + + /** provides methods to access the scenarios in the enumeration. + + @see com::sun::star::sheet::Spreadsheet + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/Shape.idl b/offapi/com/sun/star/sheet/Shape.idl new file mode 100644 index 000000000..9904a49ef --- /dev/null +++ b/offapi/com/sun/star/sheet/Shape.idl @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_Shape_idl__ +#define __com_sun_star_sheet_Shape_idl__ + +#include <com/sun/star/drawing/Shape.idl> +#include <com/sun/star/uno/XInterface.idl> + + + module com { module sun { module star { module sheet { + + +/** specifies the service of shapes in a spreadsheet document + */ +service Shape +{ + service com::sun::star::drawing::Shape; + /** contains the object where this shape is anchored on. + <p> Possible objects are XSpreadsheet and XCell.</p> + */ + [property] com::sun::star::uno::XInterface Anchor; + + /** If set, the shape will resize with the cell. + Only works when shape is anchored to a cell. + + @since LibreOffice 6.3 + */ + [optional, property] boolean ResizeWithCell; + + /** contains the horizontal position of the object (1/100 mm). + <p> The position is relative to the anchor object.</p> + <p> If the underlying table layout direction is left to right + the position is the difference of the left top edge of the anchor + object and the left top edge of the drawing object.</p> + <p> If the underlying table layout direction is right to left + the position is the difference of the right top edge of the anchor + object and the right top edge of the drawing object.</p> + */ + [property] long HoriOrientPosition; + /** contains the vertical position of the object (1/100 mm). + <p> The position is relative to the anchor object.</p> + <p> If the underlying table layout direction is left to right + the position is the difference of the left top edge of the anchor + object and the left top edge of the drawing object.</p> + <p> If the underlying table layout direction is right to left + the position is the difference of the right top edge of the anchor + object and the right top edge of the drawing object.</p> + */ + [property] long VertOrientPosition; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetCell.idl b/offapi/com/sun/star/sheet/SheetCell.idl new file mode 100644 index 000000000..0f3303c49 --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetCell.idl @@ -0,0 +1,262 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SheetCell_idl__ +#define __com_sun_star_sheet_SheetCell_idl__ + + +#include <com/sun/star/table/Cell.idl> +#include <com/sun/star/text/Text.idl> +#include <com/sun/star/style/CharacterProperties.idl> +#include <com/sun/star/style/CharacterPropertiesAsian.idl> +#include <com/sun/star/style/CharacterPropertiesComplex.idl> +#include <com/sun/star/style/ParagraphProperties.idl> +#include <com/sun/star/style/ParagraphPropertiesAsian.idl> +#include <com/sun/star/style/ParagraphPropertiesComplex.idl> +#include <com/sun/star/sheet/SheetRangesQuery.idl> + + +#include <com/sun/star/document/XActionLockable.idl> +#include <com/sun/star/util/XReplaceable.idl> +#include <com/sun/star/util/XIndent.idl> +#include <com/sun/star/table/XColumnRowRange.idl> +#include <com/sun/star/sheet/XCellAddressable.idl> +#include <com/sun/star/sheet/XSheetAnnotationAnchor.idl> +#include <com/sun/star/text/XTextFieldsSupplier.idl> + + +#include <com/sun/star/awt/Point.idl> +#include <com/sun/star/awt/Size.idl> +#include <com/sun/star/table/CellContentType.idl> +#include <com/sun/star/sheet/XSheetConditionalEntries.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/beans/XTolerantMultiPropertySet.idl> +#include <com/sun/star/util/XModifyBroadcaster.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a single addressable cell in a spreadsheet document. + */ +published service SheetCell +{ + + /** provides basic cell handling and contributes common cell + formatting properties. + */ + service com::sun::star::table::Cell; + + + /** provides handling of formatted text cells. + */ + service com::sun::star::text::Text; + + + /** contributes properties for character formatting of Western text. + */ + service com::sun::star::style::CharacterProperties; + + + /** contributes properties for character formatting of Asian text. + */ + service com::sun::star::style::CharacterPropertiesAsian; + + + /** contributes properties for character formatting of Complex text. + */ + service com::sun::star::style::CharacterPropertiesComplex; + + + /** contributes properties for paragraph formatting. + */ + service com::sun::star::style::ParagraphProperties; + + + /** contributes properties for paragraph formatting of Asian text. + */ + [optional] service com::sun::star::style::ParagraphPropertiesAsian; + + + /** contributes properties for paragraph formatting of Complex text. + */ + [optional] service com::sun::star::style::ParagraphPropertiesComplex; + + + /** provides interfaces to find cells with specific properties. + */ + service com::sun::star::sheet::SheetRangesQuery; + + + /** provides methods to lock and unlock the update between + com::sun::star::table::XCell and + com::sun::star::text::XText. + */ + interface com::sun::star::document::XActionLockable; + + + /** provides "Find and Replace" functionality. + + <p>The property + com::sun::star::util::SearchDescriptor::SearchWords + has a different meaning in spreadsheets: If set to `TRUE`, the + spreadsheet searches for cells containing the search text only.</p> + */ + interface com::sun::star::util::XReplaceable; + + + /** provides modifying the cell indentation. + */ + interface com::sun::star::util::XIndent; + + + /** provides access to the collections of columns and rows. + */ + interface com::sun::star::table::XColumnRowRange; + + + /** provides access to the cell address of this cell. + */ + interface com::sun::star::sheet::XCellAddressable; + + + /** provides access to the annotation attached to this cell. + */ + interface com::sun::star::sheet::XSheetAnnotationAnchor; + + + /** provides access to the text fields used in this cell. + + <p>With com::sun::star::text::XTextFieldsSupplier::getTextFieldMasters + always returns void since the field master is not supported.</p> + */ + interface com::sun::star::text::XTextFieldsSupplier; + + + [optional] interface com::sun::star::beans::XTolerantMultiPropertySet; + + + /** + + @since OOo 2.0 + + */ + [optional] interface com::sun::star::util::XModifyBroadcaster; + + + /** contains the position of this cell in the sheet (in 1/100 mm). + + <p>This property contains the absolute position in the whole + sheet, not the position in the visible area.</p> + */ + [readonly, property] com::sun::star::awt::Point Position; + + + /** contains the size of this cell (in 1/100 mm). + */ + [readonly, property] com::sun::star::awt::Size Size; + + + /** contains the formula string with localized function names. + + <p>This property can also be used to set a new localized formula.</p> + */ + [optional, property] string FormulaLocal; + + + /** contains the content type of the cell. + + <p>This property returns not com::sun::star::sheet::FormulaResult + but instead com::sun::star::table::CellContentType. Use FormulaResult2 + if the correct property is needed.</p> + */ + [readonly, property] long FormulaResultType; + + + /** contains the conditional formatting settings for this cell. + + <p>After a conditional format has been changed it has to be + reinserted into the property set.</p> + + @see com::sun::star::sheet::TableConditionalFormat + */ + [property] com::sun::star::sheet::XSheetConditionalEntries + ConditionalFormat; + + + /** contains the conditional formatting settings for this cell, + using localized formulas. + + <p>After a conditional format has been changed it has to be + reinserted into the property set.</p> + + @see com::sun::star::sheet::TableConditionalFormat + */ + [optional, property] com::sun::star::sheet::XSheetConditionalEntries + ConditionalFormatLocal; + + + /** contains the data validation settings for this cell. + + <p>After the data validation settings have been changed the + validation has to be reinserted into the property set.</p> + + @see com::sun::star::sheet::TableValidation + */ + [property] com::sun::star::beans::XPropertySet Validation; + + + /** contains the data validation settings for this cell, + using localized formulas. + + <p>After the data validation settings have been changed the + validation has to be reinserted into the property set.</p> + + @see com::sun::star::sheet::TableValidation + */ + [optional, property] com::sun::star::beans::XPropertySet ValidationLocal; + + + /** Returns the absolute address of the range as string, e.g. "$Sheet1.$B$2". + */ + [optional, readonly, property] string AbsoluteName; + + + /** contains the content type of the cell. + + @see com::sun::star::table::CellContentType + @since LibreOffice 6.1 + */ + [optional, readonly, property] com::sun::star::table::CellContentType CellContentType; + + + /** contains the result type of a formula. + + @see com::sun::star::sheet::FormulaResult + @since LibreOffice 6.1 + */ + [optional, readonly, property] long FormulaResultType2; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetCellCursor.idl b/offapi/com/sun/star/sheet/SheetCellCursor.idl new file mode 100644 index 000000000..e89305b5a --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetCellCursor.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SheetCellCursor_idl__ +#define __com_sun_star_sheet_SheetCellCursor_idl__ + +#include <com/sun/star/table/CellCursor.idl> +#include <com/sun/star/sheet/SheetCellRange.idl> +#include <com/sun/star/sheet/XSheetCellCursor.idl> +#include <com/sun/star/sheet/XUsedAreaCursor.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a cursor in a spreadsheet. + + <p>A cursor is a cell range which provides additional methods to move + through the table (i.e. to find specific cell ranges).</p> + */ +published service SheetCellCursor +{ + + /** provides common methods to control the position of the cursor. + */ + service com::sun::star::table::CellCursor; + + + /** provides the complete functionality of a cell range in a spreadsheet + document. + */ + service com::sun::star::sheet::SheetCellRange; + + + /** provides advanced methods to control the position of the cursor. + */ + interface com::sun::star::sheet::XSheetCellCursor; + + + /** provides methods to find the used area of the entire sheet. + */ + interface com::sun::star::sheet::XUsedAreaCursor; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetCellRange.idl b/offapi/com/sun/star/sheet/SheetCellRange.idl new file mode 100644 index 000000000..f6a5cbf6f --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetCellRange.idl @@ -0,0 +1,296 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SheetCellRange_idl__ +#define __com_sun_star_sheet_SheetCellRange_idl__ + + +#include <com/sun/star/table/CellRange.idl> +#include <com/sun/star/style/CharacterProperties.idl> +#include <com/sun/star/style/CharacterPropertiesAsian.idl> +#include <com/sun/star/style/CharacterPropertiesComplex.idl> +#include <com/sun/star/style/ParagraphProperties.idl> +#include <com/sun/star/sheet/SheetRangesQuery.idl> + + +#include <com/sun/star/util/XReplaceable.idl> +#include <com/sun/star/util/XMergeable.idl> +#include <com/sun/star/util/XIndent.idl> +#include <com/sun/star/table/XColumnRowRange.idl> +#include <com/sun/star/table/XAutoFormattable.idl> +#include <com/sun/star/sheet/XSheetCellRange.idl> +#include <com/sun/star/sheet/XCellRangeData.idl> +#include <com/sun/star/sheet/XCellRangeFormula.idl> +#include <com/sun/star/sheet/XCellRangeAddressable.idl> +#include <com/sun/star/sheet/XSheetOperation.idl> +#include <com/sun/star/sheet/XCellSeries.idl> +#include <com/sun/star/sheet/XArrayFormulaRange.idl> +#include <com/sun/star/sheet/XMultipleOperation.idl> +#include <com/sun/star/util/XSortable.idl> +#include <com/sun/star/util/XImportable.idl> +#include <com/sun/star/sheet/XSubTotalCalculatable.idl> +#include <com/sun/star/sheet/XSheetFilterableEx.idl> +#include <com/sun/star/sheet/XCellFormatRangesSupplier.idl> +#include <com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl> +#include <com/sun/star/chart/XChartDataArray.idl> + + +#include <com/sun/star/awt/Point.idl> +#include <com/sun/star/awt/Size.idl> +#include <com/sun/star/sheet/XSheetConditionalEntries.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/beans/XTolerantMultiPropertySet.idl> +#include <com/sun/star/util/XModifyBroadcaster.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a rectangular range of cells in a spreadsheet document. + + <p>This service is an extension of the CellRange service for use + in spreadsheet documents.</p> + */ +published service SheetCellRange +{ + + /** provides basic handling of cell ranges and contributes common cell + formatting properties. + */ + service com::sun::star::table::CellRange; + + + /** contributes properties for character formatting of Western text. + */ + service com::sun::star::style::CharacterProperties; + + + /** contributes properties for character formatting of Asian text. + */ + service com::sun::star::style::CharacterPropertiesAsian; + + + /** contributes properties for character formatting of Complex text. + */ + service com::sun::star::style::CharacterPropertiesComplex; + + + /** contributes properties for paragraph formatting. + */ + service com::sun::star::style::ParagraphProperties; + + + /** provides interfaces to find cells with specific properties. + */ + service com::sun::star::sheet::SheetRangesQuery; + + + /** provides "Find and Replace" functionality. + + <p>The property + com::sun::star::util::SearchDescriptor::SearchWords + has a different meaning in spreadsheets: If set to `TRUE`, the + spreadsheet searches for cells containing the search text only.</p> + */ + interface com::sun::star::util::XReplaceable; + + + /** provides merging and unmerging the cells of this cell range. + */ + interface com::sun::star::util::XMergeable; + + + /** provides modifying the cell indentation. + */ + interface com::sun::star::util::XIndent; + + + /** provides access to the collections of columns and rows. + */ + interface com::sun::star::table::XColumnRowRange; + + + /** provides applying an AutoFormat to the cell range. + */ + interface com::sun::star::table::XAutoFormattable; + + + /** provides access to the spreadsheet that contains this cell range. + */ + interface com::sun::star::sheet::XSheetCellRange; + + + /** provides simultaneous access to the contents of all cells. + */ + interface com::sun::star::sheet::XCellRangeData; + + + /** provides simultaneous access to the formula contents of all cells. + + @since OOo 1.1.2 + */ + [optional] interface com::sun::star::sheet::XCellRangeFormula; + + + /** provides access to the cell range address of this range. + */ + interface com::sun::star::sheet::XCellRangeAddressable; + + + /** provides computation of a value based on the contents of all + cells of this range and to clear specific cells. + */ + interface com::sun::star::sheet::XSheetOperation; + + + /** provides filling out the cell range automatically with values based + on a start value, step count and fill mode. + */ + interface com::sun::star::sheet::XCellSeries; + + + /** provides handling of array formulas. + */ + interface com::sun::star::sheet::XArrayFormulaRange; + + + /** provides access to the Multiple Operations feature. + */ + interface com::sun::star::sheet::XMultipleOperation; + + + /** provides sorting functionality. + */ + interface com::sun::star::util::XSortable; + + + /** provides functionality to import data from external data sources. + + @see com::sun::star::sheet::DatabaseImportDescriptor + + */ + interface com::sun::star::util::XImportable; + + + /** provides calculating SubTotal values in this range. + */ + interface com::sun::star::sheet::XSubTotalCalculatable; + + + /** provides filtering the contents of this range. + */ + interface com::sun::star::sheet::XSheetFilterableEx; + + + /** provide access to a collection of equal-formatted cell ranges. + */ + interface com::sun::star::sheet::XCellFormatRangesSupplier; + + + /** provide access to a collection of equal-formatted cell ranges. + */ + interface com::sun::star::sheet::XUniqueCellFormatRangesSupplier; + + + /** provides modifying the source data cells of a chart and makes + it possible to learn about changes in the cell values. + */ + interface com::sun::star::chart::XChartDataArray; + + + [optional] interface com::sun::star::beans::XTolerantMultiPropertySet; + + + /** + + @since OOo 2.0 + + */ + [optional] interface com::sun::star::util::XModifyBroadcaster; + + + /** contains the position of the top left cell of this range in + the sheet (in 1/100 mm). + + <p>This property contains the absolute position in the whole + sheet, not the position in the visible area.</p> + */ + [readonly, property] com::sun::star::awt::Point Position; + + + /** contains the size of this range (in 1/100 mm). + */ + [readonly, property] com::sun::star::awt::Size Size; + + + /** contains the conditional formatting settings for this cell. + + <p>After a conditional format has been changed it has to be + reinserted into the property set.</p> + + @see com::sun::star::sheet::TableConditionalFormat + */ + [property] com::sun::star::sheet::XSheetConditionalEntries + ConditionalFormat; + + + /** contains the conditional formatting settings for this cell, + using localized formulas. + + <p>After a conditional format has been changed it has to be + reinserted into the property set.</p> + + @see com::sun::star::sheet::TableConditionalFormat + */ + [optional, property] com::sun::star::sheet::XSheetConditionalEntries + ConditionalFormatLocal; + + + /** contains the data validation settings for this cell. + + <p>After the data validation settings have been changed the + validation has to be reinserted into the property set.</p> + + @see com::sun::star::sheet::TableValidation + */ + [property] com::sun::star::beans::XPropertySet Validation; + + + /** contains the data validation settings for this cell, + using localized formulas. + + <p>After the data validation settings have been changed the + validation has to be reinserted into the property set.</p> + + @see com::sun::star::sheet::TableValidation + */ + [optional, property] com::sun::star::beans::XPropertySet ValidationLocal; + + + /** Returns the absolute address of the range as string, e.g. "$Sheet1.$B$2:$D$5". + */ + [optional, readonly, property] string AbsoluteName; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetCellRanges.idl b/offapi/com/sun/star/sheet/SheetCellRanges.idl new file mode 100644 index 000000000..a62ee4cee --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetCellRanges.idl @@ -0,0 +1,187 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SheetCellRanges_idl__ +#define __com_sun_star_sheet_SheetCellRanges_idl__ + + +#include <com/sun/star/table/CellProperties.idl> +#include <com/sun/star/style/CharacterProperties.idl> +#include <com/sun/star/style/CharacterPropertiesAsian.idl> +#include <com/sun/star/style/CharacterPropertiesComplex.idl> +#include <com/sun/star/style/ParagraphProperties.idl> +#include <com/sun/star/sheet/SheetRangesQuery.idl> + + +#include <com/sun/star/util/XReplaceable.idl> +#include <com/sun/star/util/XIndent.idl> +#include <com/sun/star/sheet/XSheetOperation.idl> +#include <com/sun/star/chart/XChartDataArray.idl> +#include <com/sun/star/sheet/XSheetCellRangeContainer.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XNameContainer.idl> + + +#include <com/sun/star/sheet/XSheetConditionalEntries.idl> +#include <com/sun/star/beans/XPropertySet.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of cell ranges in a spreadsheet document. + + @see com::sun::star::sheet::SheetCellRange + */ +published service SheetCellRanges +{ + + /** contributes common cell formatting properties. + */ + service com::sun::star::table::CellProperties; + + + /** contributes properties for character formatting of Western text. + */ + service com::sun::star::style::CharacterProperties; + + + /** contributes properties for character formatting of Asian text. + */ + service com::sun::star::style::CharacterPropertiesAsian; + + + /** contributes properties for character formatting of Complex text. + */ + service com::sun::star::style::CharacterPropertiesComplex; + + + /** contributes properties for paragraph formatting. + */ + service com::sun::star::style::ParagraphProperties; + + + /** provides interfaces to find cells with specific properties. + */ + service com::sun::star::sheet::SheetRangesQuery; + + + /** provides "Find and Replace" functionality. + + <p>The property + com::sun::star::util::SearchDescriptor::SearchWords + has a different meaning in spreadsheets: If set to `TRUE`, the + spreadsheet searches for cells containing the search text only.</p> + */ + interface com::sun::star::util::XReplaceable; + + + /** provides modifying the cell indentation. + */ + interface com::sun::star::util::XIndent; + + + /** provides computation of a value based on the contents of all + cells of this range and to clear specific cells. + */ + interface com::sun::star::sheet::XSheetOperation; + + + /** provides modifying the source data cells of a chart and makes + it possible to learn about changes in the cell values. + */ + interface com::sun::star::chart::XChartDataArray; + + + /** provides methods to access cell ranges via index and to add and + remove cell ranges. + */ + interface com::sun::star::sheet::XSheetCellRangeContainer; + + + /** creates an enumeration of all cell ranges. + + @see com::sun::star::sheet::SheetCellRangesEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides access of the cell ranges via an user-defined name. + + <p>Later the range can be found, replaced or removed using that + name.</p> + */ + interface com::sun::star::container::XNameContainer; + + + /** contains the conditional formatting settings for this cell. + + <p>After a conditional format has been changed it has to be + reinserted into the property set.</p> + + @see com::sun::star::sheet::TableConditionalFormat + */ + [property] com::sun::star::sheet::XSheetConditionalEntries + ConditionalFormat; + + + /** contains the conditional formatting settings for this cell, + using localized formulas. + + <p>After a conditional format has been changed it has to be + reinserted into the property set.</p> + + @see com::sun::star::sheet::TableConditionalFormat + */ + [optional, property] com::sun::star::sheet::XSheetConditionalEntries + ConditionalFormatLocal; + + + /** contains the data validation settings for this cell. + + <p>After the data validation settings have been changed the + validation has to be reinserted into the property set.</p> + + @see com::sun::star::sheet::TableValidation + */ + [property] com::sun::star::beans::XPropertySet Validation; + + + /** contains the data validation settings for this cell, + using localized formulas. + + <p>After the data validation settings have been changed the + validation has to be reinserted into the property set.</p> + + @see com::sun::star::sheet::TableValidation + */ + [optional, property] com::sun::star::beans::XPropertySet ValidationLocal; + + + /** Returns the absolute address of the ranges as string, e.g. "$Sheet1.$B$2:$D$5". + */ + [optional, readonly, property] string AbsoluteName; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetCellRangesEnumeration.idl b/offapi/com/sun/star/sheet/SheetCellRangesEnumeration.idl new file mode 100644 index 000000000..254710949 --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetCellRangesEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SheetCellRangesEnumeration_idl__ +#define __com_sun_star_sheet_SheetCellRangesEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of cell ranges in a spreadsheet document. + + @see com::sun::star::sheet::SheetCellRanges + */ +published service SheetCellRangesEnumeration +{ + + /** provides methods to access the cell ranges in the enumeration. + + @see com::sun::star::sheet::SheetCellRange + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl b/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl new file mode 100644 index 000000000..5fc6cbcfd --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl @@ -0,0 +1,129 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SheetFilterDescriptor_idl__ +#define __com_sun_star_sheet_SheetFilterDescriptor_idl__ + +#include <com/sun/star/sheet/XSheetFilterDescriptor.idl> +#include <com/sun/star/sheet/XSheetFilterDescriptor2.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/table/TableOrientation.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a description of how a cell range is to be filtered. + + <p>The descriptor contains properties and a collection of filter + conditions (filter fields) which control the behavior of a filter + operation.</p> + */ +published service SheetFilterDescriptor +{ + + /** provides access to the collection of filter fields. + */ + interface XSheetFilterDescriptor; + + + /** provides access to the collection of filter fields. + + <p>This interface provides a sequence of TableFilterField2 + structures supporting a wider range of comparison operators, compared + to the TableFilterField structure provided by interface + XSheetFilterDescriptor. + + @since OOo 3.2 + */ + [optional] interface XSheetFilterDescriptor2; + + +//!published service PropertySet + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** specifies if the case of letters is important when comparing entries. + */ + [property] boolean IsCaseSensitive; + + + /** specifies if duplicate entries are left out of the result. + */ + [property] boolean SkipDuplicates; + + + /** specifies if the TableFilterField::StringValue + strings are interpreted as regular expressions. + */ + [property] boolean UseRegularExpressions; + + + /** specifies if the SheetFilterDescriptor::OutputPosition + position is saved for future calls. + + <p>This is only used if + SheetFilterDescriptor::CopyOutputData is `TRUE`.</p> + */ + [property] boolean SaveOutputPosition; + + + /** specifies if columns or rows are filtered. + */ + [property] com::sun::star::table::TableOrientation Orientation; + + + /** specifies if the first row (or column) contains headers which should + not be filtered. + */ + [property] boolean ContainsHeader; + + + /** specifies if the filtered data should be copied to another position + in the document. + */ + [property] boolean CopyOutputData; + + + /** specifies the position where filtered data are to be copied. + + <p>This is only used if + SheetFilterDescriptor::CopyOutputData is `TRUE`.</p> + */ + [property] com::sun::star::table::CellAddress OutputPosition; + + + /** returns the maximum number of filter fields in the descriptor. + + <p>This read-only property indicates the maximum count of fields the + current implementation supports.</p> + */ + [readonly, property] long MaxFieldCount; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetLink.idl b/offapi/com/sun/star/sheet/SheetLink.idl new file mode 100644 index 000000000..c0da085de --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetLink.idl @@ -0,0 +1,85 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SheetLink_idl__ +#define __com_sun_star_sheet_SheetLink_idl__ + +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/util/XRefreshable.idl> +#include <com/sun/star/beans/XPropertySet.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a sheet link. + + <p>A sheet link contains the source data of linked sheets, i.e. the + URL and sheet name of the external document.</p> + + <p>To create a linked sheet, the sheet which will be used as linked + sheet has to exist already. The method + XSheetLinkable::link() creates a SheetLink + object in the document's SheetLinks collection and links + the sheet to the specified external sheet.</p> + */ +published service SheetLink +{ + + /** provides access to the name of the linked document. + + <p>This name is equal to the Url property.</p> + */ + interface com::sun::star::container::XNamed; + + + /** provides methods to reload the external data. + */ + interface com::sun::star::util::XRefreshable; + + +//!published service PropertySet + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** specifies the URL of the source document. + */ + [property] string Url; + + + /** specifies the name of the filter needed to load the source + document. + */ + [property] string Filter; + + + /** specifies the filter options needed to load the source document. + */ + [property] string FilterOptions; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetLinkMode.idl b/offapi/com/sun/star/sheet/SheetLinkMode.idl new file mode 100644 index 000000000..1b0800d1d --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetLinkMode.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SheetLinkMode_idl__ +#define __com_sun_star_sheet_SheetLinkMode_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify how a sheet is linked to another sheet. + + @see com::sun::star::sheet::SheetLinks + @see com::sun::star::sheet::SheetLink + @see com::sun::star::sheet::XSheetLinkable + */ +published enum SheetLinkMode +{ + + /** sheet is not linked. + */ + NONE, + + + /** all contents (values and formulas) are copied. + */ + NORMAL, + + + /** instead of using formulas, the result values are copied. + */ + VALUE + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetLinks.idl b/offapi/com/sun/star/sheet/SheetLinks.idl new file mode 100644 index 000000000..8681100ac --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetLinks.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SheetLinks_idl__ +#define __com_sun_star_sheet_SheetLinks_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of sheet links. + + @see com::sun::star::sheet::SheetLink + @see com::sun::star::sheet::SpreadsheetDocument + */ +published service SheetLinks +{ + + /** provides access to the sheet links via index. + + @see com::sun::star::sheet::SheetLink + + */ + interface com::sun::star::container::XIndexAccess; + + + /** provides access to the sheet links using the name of the linked + document. + + @see com::sun::star::sheet::SheetLink + + */ + interface com::sun::star::container::XNameAccess; + + + /** creates an enumeration of all sheet links. + + @see com::sun::star::sheet::SheetLinksEnumeration + + */ + interface com::sun::star::container::XEnumerationAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetLinksEnumeration.idl b/offapi/com/sun/star/sheet/SheetLinksEnumeration.idl new file mode 100644 index 000000000..76a9b86a8 --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetLinksEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SheetLinksEnumeration_idl__ +#define __com_sun_star_sheet_SheetLinkssEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of sheet links. + + @see com::sun::star::sheet::SheetLink + */ +published service SheetLinksEnumeration +{ + + /** provides methods to access the sheet links in the enumeration. + + @see com::sun::star::sheet::SheetLink + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetRangesQuery.idl b/offapi/com/sun/star/sheet/SheetRangesQuery.idl new file mode 100644 index 000000000..ad4e1c0d6 --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetRangesQuery.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SheetRangesQuery_idl__ +#define __com_sun_star_sheet_SheetRangesQuery_idl__ + +#include <com/sun/star/sheet/XCellRangesQuery.idl> +#include <com/sun/star/sheet/XFormulaQuery.idl> + + +module com { module sun { module star { module sheet { + + +/** provides interfaces to find cells with specific properties. + */ +published service SheetRangesQuery +{ + + /** provides methods to query for cell ranges with specific contents. + */ + interface com::sun::star::sheet::XCellRangesQuery; + + + /** provides methods to find dependent cells of formula cells. + */ + interface com::sun::star::sheet::XFormulaQuery; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetSortDescriptor.idl b/offapi/com/sun/star/sheet/SheetSortDescriptor.idl new file mode 100644 index 000000000..1a3a7955b --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetSortDescriptor.idl @@ -0,0 +1,81 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_SheetSortDescriptor_idl__ +#define __com_sun_star_sheet_SheetSortDescriptor_idl__ + +#include <com/sun/star/table/TableSortDescriptor.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** a description of how a cell range is to be sorted. + + <p>This service extends the com::sun::star::table::TableSortDescriptor + service with spreadsheet specific properties.</p> + */ +published service SheetSortDescriptor +{ + + /** provides common table sorting properties. + */ + service com::sun::star::table::TableSortDescriptor; + + + /** specifies if cell formats are moved with the contents + they belong to. + */ + [property] boolean BindFormatsToContent; + + + /** specifies if a user defined sorting list is used. + */ + [property] boolean IsUserListEnabled; + + + /** specifies which user defined sorting list is used. + + <p>This property is only used, if + SheetSortDescriptor::IsUserListEnabled is `TRUE`.</p> + */ + [property] long UserListIndex; + + + /** specifies if the sorted data should be copied to another + position in the document. + */ + [property] boolean CopyOutputData; + + + /** specifies the position where sorted data are to be copied. + + <p>This property is only used, if + SheetSortDescriptor::CopyOutputData is `TRUE`.</p> + */ + [property] com::sun::star::table::CellAddress OutputPosition; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SheetSortDescriptor2.idl b/offapi/com/sun/star/sheet/SheetSortDescriptor2.idl new file mode 100644 index 000000000..5f1e25f69 --- /dev/null +++ b/offapi/com/sun/star/sheet/SheetSortDescriptor2.idl @@ -0,0 +1,94 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_SheetSortDescriptor2_idl__ +#define __com_sun_star_sheet_SheetSortDescriptor2_idl__ + +#include <com/sun/star/table/TableSortDescriptor2.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** a description of how a cell range is to be sorted. + + <p>This service extends the com::sun::star::table::TableSortDescriptor2 + service with spreadsheet specific properties.</p> + + @since OOo 1.1.2 + */ +published service SheetSortDescriptor2 +{ + + /** provides common sorting properties. + + The fields in the SortFields property are not fully supported at the moment. + IsCaseSensitive, CollatorLocale and CollatorAlgorithm are only supported once and if + every field contains different of this it gives undefined results. + + */ + service com::sun::star::table::TableSortDescriptor2; + + + /** specifies if cell formats are moved with the contents + they belong to. + */ + [property] boolean BindFormatsToContent; + + + /** specifies if a user defined sorting list is used. + */ + [property] boolean IsUserListEnabled; + + + /** specifies which user defined sorting list is used. + + <p>This property is only used, if + SheetSortDescriptor::IsUserListEnabled is `TRUE`.</p> + */ + [property] long UserListIndex; + + + /** specifies if the sorted data should be copied to another + position in the document. + */ + [property] boolean CopyOutputData; + + + /** specifies the position where sorted data are to be copied. + + <p>This property is only used, if + SheetSortDescriptor::CopyOutputData is `TRUE`.</p> + */ + [property] com::sun::star::table::CellAddress OutputPosition; + + + /** specifies whether the first row or column (depending on + com::sun::star::table::TableSortDescriptor::Orientation) is a header which + should not be sorted. + */ + [property] boolean ContainsHeader; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SingleReference.idl b/offapi/com/sun/star/sheet/SingleReference.idl new file mode 100644 index 000000000..2f0999247 --- /dev/null +++ b/offapi/com/sun/star/sheet/SingleReference.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SingleReference_idl__ +#define __com_sun_star_sheet_SingleReference_idl__ + + +module com { module sun { module star { module sheet { + + +/** contains a reference to a single cell. + */ +struct SingleReference +{ + + /** is the absolute column number. + */ + long Column; + + + /** is the relative column number. + */ + long RelativeColumn; + + + /** is the absolute row number. + */ + long Row; + + + /** is the relative row number. + */ + long RelativeRow; + + + /** is the absolute sheet number. + */ + long Sheet; + + + /** is the relative sheet number. + */ + long RelativeSheet; + + + /** contains flags. + @see ReferenceFlags + */ + long Flags; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/Solver.idl b/offapi/com/sun/star/sheet/Solver.idl new file mode 100644 index 000000000..0b664e6fd --- /dev/null +++ b/offapi/com/sun/star/sheet/Solver.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_Solver_idl__ +#define __com_sun_star_sheet_Solver_idl__ + +#include <com/sun/star/sheet/XSolver.idl> + + +module com { module sun { module star { module sheet { + + +/** A solver for a model that is defined by spreadsheet cells. + */ +service Solver: XSolver; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SolverConstraint.idl b/offapi/com/sun/star/sheet/SolverConstraint.idl new file mode 100644 index 000000000..68600fb2f --- /dev/null +++ b/offapi/com/sun/star/sheet/SolverConstraint.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SolverConstraint_idl__ +#define __com_sun_star_sheet_SolverConstraint_idl__ + +#include <com/sun/star/table/CellAddress.idl> +#include <com/sun/star/sheet/SolverConstraintOperator.idl> + + +module com { module sun { module star { module sheet { + + +/** is used to specify a constraint for a solver model. + */ +struct SolverConstraint +{ + /// The address of the cell that is constrained. + com::sun::star::table::CellAddress Left; + + /// The type of the constraint. + SolverConstraintOperator Operator; + + /** The comparison value, of type `double` or + com::sun::star::table::CellAddress. + */ + any Right; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SolverConstraintOperator.idl b/offapi/com/sun/star/sheet/SolverConstraintOperator.idl new file mode 100644 index 000000000..c92583653 --- /dev/null +++ b/offapi/com/sun/star/sheet/SolverConstraintOperator.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SolverConstraintOperator_idl__ +#define __com_sun_star_sheet_SolverConstraintOperator_idl__ + + +module com { module sun { module star { module sheet { + + +/** is used to specify the type of SolverConstraint. + */ +enum SolverConstraintOperator +{ + /// The cell value is less or equal to the specified value. + LESS_EQUAL, + + /// The cell value is equal to the specified value. + EQUAL, + + /// The cell value is greater or equal to the specified value. + GREATER_EQUAL, + + /// The cell value is an integer value. + INTEGER, + + /// The cell value is a binary value (0 or 1). + BINARY +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/Spreadsheet.idl b/offapi/com/sun/star/sheet/Spreadsheet.idl new file mode 100644 index 000000000..61762ce7e --- /dev/null +++ b/offapi/com/sun/star/sheet/Spreadsheet.idl @@ -0,0 +1,202 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_Spreadsheet_idl__ +#define __com_sun_star_sheet_Spreadsheet_idl__ + +#include <com/sun/star/sheet/SheetCellRange.idl> +#include <com/sun/star/sheet/XSpreadsheet.idl> +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/util/XProtectable.idl> +#include <com/sun/star/sheet/XDataPilotTablesSupplier.idl> +#include <com/sun/star/sheet/XScenariosSupplier.idl> +#include <com/sun/star/sheet/XSheetAnnotationsSupplier.idl> +#include <com/sun/star/drawing/XDrawPageSupplier.idl> +#include <com/sun/star/table/XTableChartsSupplier.idl> +#include <com/sun/star/sheet/XCellRangeMovement.idl> +#include <com/sun/star/sheet/XPrintAreas.idl> +#include <com/sun/star/sheet/XSheetPageBreak.idl> +#include <com/sun/star/sheet/XSheetOutline.idl> +#include <com/sun/star/sheet/XSheetAuditing.idl> +#include <com/sun/star/sheet/XSheetLinkable.idl> +#include <com/sun/star/sheet/Scenario.idl> +#include <com/sun/star/sheet/XExternalSheetName.idl> +#include <com/sun/star/sheet/XConditionalFormats.idl> +#include <com/sun/star/util/Color.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a complete spreadsheet in a spreadsheet document. + + <p>This service extents the service SheetCellRange. A spreadsheet is + nothing else than a cell range with extended functionality.</p> + + @see com::sun::star::sheet::SpreadsheetDocument + */ +service Spreadsheet +{ + + /** provides functionality for cell range handling. + */ + service com::sun::star::sheet::SheetCellRange; + + + service com::sun::star::sheet::Scenario; + + + /** provides methods to create a cell cursor. + */ + interface com::sun::star::sheet::XSpreadsheet; + + + /** provides accessing the spreadsheet name. + */ + interface com::sun::star::container::XNamed; + + + /** provides methods to protect and unprotect the sheet contents. + */ + interface com::sun::star::util::XProtectable; + + + /** provides access to the collection of DataPilot tables. + */ + interface com::sun::star::sheet::XDataPilotTablesSupplier; + + + /** provides access to the collection of scenarios. + */ + interface com::sun::star::sheet::XScenariosSupplier; + + + /** provides access to the collection of annotations. + */ + interface com::sun::star::sheet::XSheetAnnotationsSupplier; + + + /** provides access to the draw page of this spreadsheet. + */ + interface com::sun::star::drawing::XDrawPageSupplier; + + + /** provides access to the collection of chart objects. + */ + interface com::sun::star::table::XTableChartsSupplier; + + + /** provides methods to move cell ranges inside the spreadsheet or to + other spreadsheets in this document. + */ + interface com::sun::star::sheet::XCellRangeMovement; + + + /** provides access to the print area settings of this sheet. + */ + interface com::sun::star::sheet::XPrintAreas; + + + /** provides access to the page breaks of this sheet. + */ + interface com::sun::star::sheet::XSheetPageBreak; + + + /** provides access to row and column outline settings. + */ + interface com::sun::star::sheet::XSheetOutline; + + + /** provides access to the auditing (detective) functionality. + */ + interface com::sun::star::sheet::XSheetAuditing; + + + /** provides methods for a linked sheet. + */ + interface com::sun::star::sheet::XSheetLinkable; + + + /** provides a method to set an external name at the sheet. + + @since OOo 3.0 + */ + [optional] interface com::sun::star::sheet::XExternalSheetName; + + + /** specifies if the sheet is visible. + */ + [property] boolean IsVisible; + + + /** specifies the page style of the sheet. + */ + [property] string PageStyle; + + + /** specifies the direction of the columns in the spreadsheet. + + <p>Possible values are com::sun::star::text::WritingMode2::LR_TB to + order the columns from left to right, and + com::sun::star::text::WritingMode2::RL_TB to order the columns from + right to left.</p> + + @see com::sun::star::text::WritingMode2 + */ + [optional, property] short TableLayout; + + + /** specifies whether the sheet has an automatic print area. + + <p> The automatic print area is used to print a sheet without + explicit print areas, also if other sheets have print areas.</p> + + <p> If the property is true, and there are print areas on other sheets, + the used area of this sheet is also printed.</p> + + <p> If the property is false, and there are print areas on other sheets, + only these specified print areas are printed.</p> + + <p> If there are no print areas on the other sheets it does not matter + whether property is true or false.</p> + + <p> This property can only be true, if there are no print areas given + on this sheet. If the property is set to true the print areas of + this sheet will be removed.</p> + + @see XPrintAreas + + */ + [optional, property] boolean AutomaticPrintArea; + + /** specifies the color of the sheet tab, if any. + */ + [optional, property] com::sun::star::util::Color TabColor; + + /** specifies all conditional formats of that sheet + */ + [optional, property] com::sun::star::sheet::XConditionalFormats ConditionalFormats; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SpreadsheetDocument.idl b/offapi/com/sun/star/sheet/SpreadsheetDocument.idl new file mode 100644 index 000000000..a72a127dd --- /dev/null +++ b/offapi/com/sun/star/sheet/SpreadsheetDocument.idl @@ -0,0 +1,192 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SpreadsheetDocument_idl__ +#define __com_sun_star_sheet_SpreadsheetDocument_idl__ + +#include <com/sun/star/document/OfficeDocument.idl> +#include <com/sun/star/sheet/SpreadsheetDocumentSettings.idl> + + +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#include <com/sun/star/frame/XModel.idl> +#include <com/sun/star/document/XActionLockable.idl> +#include <com/sun/star/document/XLinkTargetSupplier.idl> +#include <com/sun/star/util/XProtectable.idl> +#include <com/sun/star/sheet/XSpreadsheetDocument.idl> +#include <com/sun/star/sheet/XCalculatable.idl> +#include <com/sun/star/sheet/XDocumentAuditing.idl> +#include <com/sun/star/sheet/XConsolidatable.idl> +#include <com/sun/star/sheet/XGoalSeek.idl> +#include <com/sun/star/drawing/XDrawPagesSupplier.idl> +#include <com/sun/star/style/XStyleFamiliesSupplier.idl> +#include <com/sun/star/util/XNumberFormatsSupplier.idl> + + +#include <com/sun/star/sheet/XNamedRanges.idl> +#include <com/sun/star/sheet/XDatabaseRanges.idl> +#include <com/sun/star/sheet/XLabelRanges.idl> +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/sheet/XAreaLinks.idl> +#include <com/sun/star/sheet/XExternalDocLinks.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a model component which consists of some settings and + one or more spreadsheets. + */ +published service SpreadsheetDocument +{ + + /** common service for all types of documents. + */ + service com::sun::star::document::OfficeDocument; + + + /** contributes spreadsheet document specific properties. + + @deprecated + */ + [optional] service com::sun::star::sheet::SpreadsheetDocumentSettings; + + + /** provides methods to create instances of several spreadsheet + services. + */ + interface com::sun::star::lang::XMultiServiceFactory; + + + /** provides common methods for a document model. + + <p>This interface is derived from + com::sun::star::lang::XComponent.</p> + */ + interface com::sun::star::frame::XModel; + + + /** provides methods to control the automatic update of cell contents. + */ + interface com::sun::star::document::XActionLockable; + + + /** provides access to the collection of link targets available in + the document. + */ + interface com::sun::star::document::XLinkTargetSupplier; + + + /** provides methods to protect and unprotect the document. + */ + interface com::sun::star::util::XProtectable; + + + /** provides access to the collection of spreadsheets. + */ + interface com::sun::star::sheet::XSpreadsheetDocument; + + + /** controls the recalculation settings of the document. + */ + interface com::sun::star::sheet::XCalculatable; + + + /** provides a method to refresh all auditing arrows. + */ + interface com::sun::star::sheet::XDocumentAuditing; + + + /** provides methods to perform a data consolidation. + */ + interface com::sun::star::sheet::XConsolidatable; + + + /** provides a method to perform a goal seek. + */ + interface com::sun::star::sheet::XGoalSeek; + + + /** provides access to the collection of draw pages of this document. + */ + interface com::sun::star::drawing::XDrawPagesSupplier; + + + /** provides access to the collection of style families. + + <p>A spreadsheet document contains 2 families of styles: + "PageStyles" and "CellStyles".</p> + */ + interface com::sun::star::style::XStyleFamiliesSupplier; + + + /** provides access to the collection of number formats contained in + the document. + */ + interface com::sun::star::util::XNumberFormatsSupplier; + + + /** contains the collection of named ranges in the document. + */ + [readonly, property] com::sun::star::sheet::XNamedRanges NamedRanges; + + + /** contains the collection of database ranges in the document. + */ + [readonly, property] com::sun::star::sheet::XDatabaseRanges DatabaseRanges; + + + /** contains the collection of column label ranges in the document. + */ + [readonly, property] com::sun::star::sheet::XLabelRanges ColumnLabelRanges; + + + /** contains the collection of row label ranges in the document. + */ + [readonly, property] com::sun::star::sheet::XLabelRanges RowLabelRanges; + + + /** contains the collection of sheet links in the document. + */ + [readonly, property] com::sun::star::container::XNameAccess SheetLinks; + + + /** contains the collection of area links in the document. + */ + [readonly, property] com::sun::star::sheet::XAreaLinks AreaLinks; + + + /** contains the collection of DDE links in the document. + */ + [readonly, property] com::sun::star::container::XNameAccess DDELinks; + + +// /** contains the collection of external document links in the document. +// +// @since OOo 3.1 +// */ +// [optional, readonly, property] com::sun::star::sheet::XExternalDocLinks ExternalDocLinks; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SpreadsheetDocumentSettings.idl b/offapi/com/sun/star/sheet/SpreadsheetDocumentSettings.idl new file mode 100644 index 000000000..5f8d4fa89 --- /dev/null +++ b/offapi/com/sun/star/sheet/SpreadsheetDocumentSettings.idl @@ -0,0 +1,238 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SpreadsheetDocumentSettings_idl__ +#define __com_sun_star_sheet_SpreadsheetDocumentSettings_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/util/Date.idl> +#include <com/sun/star/i18n/XForbiddenCharacters.idl> +#include <com/sun/star/lang/Locale.idl> +#include <com/sun/star/awt/XDevice.idl> + + +module com { module sun { module star { module sheet { + + +/** contributes properties to control the configuration which is global + for all views of a spreadsheet document. + + @deprecated + + @see com::sun::star::sheet::SpreadsheetDocument + */ +published service SpreadsheetDocumentSettings +{ + +//!published service PropertySet + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** enables iterated calculation of circular references. + */ + [property] boolean IsIterationEnabled; + + + /** specifies how many iterations are carried out. + + <p>This setting is only used, if iteration is enabled using + SpreadsheetDocumentSettings::IsIterationEnabled.</p> + */ + [property] long IterationCount; + + + /** specifies the point at which a change in results will stop + the iteration. + + <p>More exactly it specifies a difference in the change of the + result between two iterations. If the result difference + is less than or equal to this epsilon-value, the iteration + is stopped.</p> + + <p>This setting is only used, if iteration is enabled using + SpreadsheetDocumentSettings::IsIterationEnabled.</p> + */ + [property] double IterationEpsilon; + + + /** specifies the number of decimals in the default number format. + */ + [property] short StandardDecimals; + + + /** specifies the date that is represented by the value zero. + */ + [property] com::sun::star::util::Date NullDate; + + + /** specifies the width of default tabulators. + */ + [property] short DefaultTabStop; + + + /** specifies whether upper and lower cases are treated as equal + when comparing cells. + */ + [property] boolean IgnoreCase; + + + /** specifies whether calculations are performed with the rounded + values displayed in cells (set to `TRUE`) instead of the + internal values (set to `FALSE`). + */ + [property] boolean CalcAsShown; + + + /** specifies whether filter criteria must match entire cell contents. + */ + [property] boolean MatchWholeCell; + + + /** enables online spell checking. + */ + [property] boolean SpellOnline; + + + /** specifies whether column or row labels are looked up from + anywhere on the sheet. + + <p>Explicitly defined label ranges are used even if this property + is set to `FALSE`.</p> + + @see com::sun::star::sheet::LabelRanges + */ + [property] boolean LookUpLabels; + + + /** specifies whether regular expressions in formulas are enabled, + e.g., for functions which look up spreadsheet contents. + + <p>RegularExpressions and Wildcards are mutually exclusive, only + one can have the value `TRUE`. If both are set to `TRUE` via API + calls then the last one set takes precedence.</p> + */ + [property] boolean RegularExpressions; + + + /** contains the interface XForbiddenCharacters. + */ + [readonly, optional, property] com::sun::star::i18n::XForbiddenCharacters ForbiddenCharacters; + + + /** If this property is set the document has DrawPages. Use this + property to find out, whether the document has DrawPages or not, + because the getDrawPage method on the XDrawPageSupplier and the + getDrawPages method on the XDrawPagesSupplier always creates the + DrawPages if there are none; and this is very slow and needs more + memory. + */ + [readonly, optional, property] boolean HasDrawPages; + + + /** contains the standard document language for Western text. + */ + [optional, property] com::sun::star::lang::Locale CharLocale; + + + /** contains the standard document language for Asian text. + */ + [optional, property] com::sun::star::lang::Locale CharLocaleAsian; + + + /** contains the standard document language for Complex text. + */ + [optional, property] com::sun::star::lang::Locale CharLocaleComplex; + + + /** specifies whether the document data are already loaded. + + @since OOo 3.0 + */ + [optional, property] boolean IsLoaded; + + + /** specifies whether the undo command is enabled. + + @since OOo 3.0 + */ + [optional, property] boolean IsUndoEnabled; + + + /** specifies whether the automatic adjustment of the row height is + enabled. + + </p>This boolean is actually a counter internally, of the number of times + something has locked the height, so setting it to false will only perform one + unlock operation, and might leave it still locked</p> + + @since OOo 3.0 + */ + [optional, property] boolean IsAdjustHeightEnabled; + + + /** specifies whether the automatic execution of links is enabled. + + @since OOo 3.0 + */ + [optional, property] boolean IsExecuteLinkEnabled; + + + /** contains the reference device used for formatting the document. + + @since OOo 3.0 + */ + [readonly, optional, property] com::sun::star::awt::XDevice ReferenceDevice; + + /** specifies whether changes record is enabled. + + <p>No modification applied if the record changes protection is activated + information given by SpreadsheetDocumentSettings::IsRecordChangesProtected</p> + + @since LibreOffice 5.0 + */ + [optional, property] boolean RecordChanges; + + /** specifies whether changes record is protected. + + @since LibreOffice 5.0 + */ + [readonly,optional, property] boolean IsRecordChangesProtected; + + + /** specifies whether wildcards in formulas are enabled, + e.g., for functions which look up spreadsheet contents. + + <p>Wildcards and RegularExpressions are mutually exclusive, only + one can have the value `TRUE`. If both are set to `TRUE` via API + calls then the last one set takes precedence.</p> + + @since LibreOffice 5.2 + */ + [optional, property] boolean Wildcards; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SpreadsheetDrawPage.idl b/offapi/com/sun/star/sheet/SpreadsheetDrawPage.idl new file mode 100644 index 000000000..01fb918e3 --- /dev/null +++ b/offapi/com/sun/star/sheet/SpreadsheetDrawPage.idl @@ -0,0 +1,75 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_SpreadsheetDrawPage_idl__ +#define __com_sun_star_sheet_SpreadsheetDrawPage_idl__ + +#include <com/sun/star/drawing/XDrawPage.idl> +#include <com/sun/star/drawing/XShapeGrouper.idl> + + + module com { module sun { module star { module sheet { + + +/** This abstract service is implemented by every page of a + SpreadsheetDocument. + + Example: create and insert a couple of com::sun::star::drawing::LineShapes: + + @code{.bas} + xPage = xDoc.DrawPages(0) + for x% = 0 to 200 + xShape = xProv.createInstance( "com.sun.star.drawing.LineShape" ) + xShape.LineColor = rgb( 255, 0, n%+20 ) + xShape.LineWidth = 20 + xShape.Position = Point( x%, 2*x% ) + xShape.Size = Size( 300-x%, 20 ) + xPage.add( xShape ) + next x% + @endcode + + @since OOo 1.1.2 + */ +published service SpreadsheetDrawPage +{ + + + /** manages the com::sun::star::drawing::Shapes of this page. + + <p>It also lets you add new com::sun::star::drawing::Shapes. The program currently + requires that these com::sun::star::drawing::Shapes be created by the factory of + the document. + + @see SpreadsheetDocument + */ + interface com::sun::star::drawing::XDrawPage; + + + /** With this interface you can group/ungroup a collection of + com::sun::star::drawing::Shapes. + */ + interface com::sun::star::drawing::XShapeGrouper; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SpreadsheetView.idl b/offapi/com/sun/star/sheet/SpreadsheetView.idl new file mode 100644 index 000000000..864c97307 --- /dev/null +++ b/offapi/com/sun/star/sheet/SpreadsheetView.idl @@ -0,0 +1,103 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_SpreadsheetView_idl__ +#define __com_sun_star_sheet_SpreadsheetView_idl__ + +#include <com/sun/star/frame/Controller.idl> +#include <com/sun/star/sheet/SpreadsheetViewSettings.idl> +#include <com/sun/star/sheet/SpreadsheetViewPane.idl> +#include <com/sun/star/sheet/XSpreadsheetView.idl> +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/view/XSelectionSupplier.idl> +#include <com/sun/star/sheet/XViewSplitable.idl> +#include <com/sun/star/sheet/XViewFreezable.idl> +#include <com/sun/star/sheet/XRangeSelection.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/sheet/XActivationBroadcaster.idl> +#include <com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl> + + + module com { module sun { module star { module sheet { + + +/** represents a view of a spreadsheet document. + */ +published service SpreadsheetView +{ + /** provides the integration into the framework. + */ + service com::sun::star::frame::Controller; + + /** provides the view's settings. + */ + service com::sun::star::sheet::SpreadsheetViewSettings; + + /** provides direct access to the view's active pane. + */ + service com::sun::star::sheet::SpreadsheetViewPane; + + /** provides access to the active sheet in the view. + */ + interface com::sun::star::sheet::XSpreadsheetView; + + /** provides access to the collection of view panes. + */ + interface com::sun::star::container::XIndexAccess; + + /** creates an enumeration of view panes. + + @see com::sun::star::sheet::SpreadsheetViewPanesEnumeration + + */ + interface com::sun::star::container::XEnumerationAccess; + + /** provides access to the view's selection. + <p>The selection in a spreadsheet view can be a + com::sun::star::sheet::SheetCell, + com::sun::star::sheet::SheetCellRange, + com::sun::star::sheet::SheetCellRanges, + com::sun::star::drawing::Shape or + com::sun::star::drawing::Shapes object. + </p> + */ + interface com::sun::star::view::XSelectionSupplier; + + /** allows to split the view. + */ + interface com::sun::star::sheet::XViewSplitable; + + /** allows to freeze columns and rows of the view. + */ + interface com::sun::star::sheet::XViewFreezable; + + /** allows to let the user interactively select a cell range. + */ + interface com::sun::star::sheet::XRangeSelection; + + [optional] interface com::sun::star::sheet::XEnhancedMouseClickBroadcaster; + + [optional] interface com::sun::star::sheet::XActivationBroadcaster; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl b/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl new file mode 100644 index 000000000..ea157c1cb --- /dev/null +++ b/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SpreadsheetViewObjectsMode_idl__ +#define __com_sun_star_sheet_SpreadsheetViewObjectsMode_idl__ + + +module com { module sun { module star { module sheet { + + +/** Constants that control how embedded objects are shown in the view. + */ +published constants SpreadsheetViewObjectsMode +{ + + /** Specifies to display a specific set of objects in the spreadsheet view. + */ + const short SHOW = 0; + + + /** Specifies to hide a specific set of objects from the spreadsheet view. + */ + const short HIDE = 1; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewPane.idl b/offapi/com/sun/star/sheet/SpreadsheetViewPane.idl new file mode 100644 index 000000000..db4cdd2e1 --- /dev/null +++ b/offapi/com/sun/star/sheet/SpreadsheetViewPane.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_SpreadsheetViewPane_idl__ +#define __com_sun_star_sheet_SpreadsheetViewPane_idl__ + +#include <com/sun/star/sheet/XViewPane.idl> + +#include <com/sun/star/sheet/XCellRangeReferrer.idl> + +#include <com/sun/star/view/XControlAccess.idl> + + + + module com { module sun { module star { module sheet { + + +/** represents a single pane in a view of a spreadsheet document. + */ +published service SpreadsheetViewPane +{ + /** allows to control which cells are shown in the view pane. + */ + interface com::sun::star::sheet::XViewPane; + + /** gives direct access to the cell range object for the visible range. + */ + interface com::sun::star::sheet::XCellRangeReferrer; + + /** provides access to a control model's control for the view pane. + */ + [optional] interface com::sun::star::view::XControlAccess; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewPanesEnumeration.idl b/offapi/com/sun/star/sheet/SpreadsheetViewPanesEnumeration.idl new file mode 100644 index 000000000..30ea1c71f --- /dev/null +++ b/offapi/com/sun/star/sheet/SpreadsheetViewPanesEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SpreadsheetViewPanesEnumeration_idl__ +#define __com_sun_star_sheet_SpreadsheetViewPanesEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of spreadsheet view panes. + + @see com::sun::star::sheet::SpreadsheetViewPane + */ +published service SpreadsheetViewPanesEnumeration +{ + + /** provides methods to access the spreadsheet view panes in the enumeration. + + @see com::sun::star::sheet::SpreadsheetViewPane + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl b/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl new file mode 100644 index 000000000..69da69013 --- /dev/null +++ b/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl @@ -0,0 +1,169 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SpreadsheetViewSettings_idl__ +#define __com_sun_star_sheet_SpreadsheetViewSettings_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> + +#include <com/sun/star/util/Color.idl> + + +module com { module sun { module star { module sheet { + + +/** contains settings which are specific to each view of a spreadsheet + */ +published service SpreadsheetViewSettings +{ + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** controls whether formulas are displayed instead of their + results. + */ + [property] boolean ShowFormulas; + + + /** enables display of zero-values. + */ + [property] boolean ShowZeroValues; + + + /** controls whether strings, values, and formulas are + displayed in different colors. + */ + [property] boolean IsValueHighlightingEnabled; + + + /** controls whether a marker is shown for notes in cells. + */ + [property] boolean ShowNotes; + + + /** enables the vertical scroll bar of the view. + */ + [property] boolean HasVerticalScrollBar; + + + /** enables the horizontal scroll bar of the view. + */ + [property] boolean HasHorizontalScrollBar; + + + /** enables the sheet tabs of the view. + */ + [property] boolean HasSheetTabs; + + + /** enables the display of outline symbols. + */ + [property] boolean IsOutlineSymbolsSet; + + + /** enables the column and row headers of the view. + */ + [property] boolean HasColumnRowHeaders; + + + /** enables the display of the cell grid. + */ + [property] boolean ShowGrid; + + + /** specifies the color in which the cell grid is + displayed. + */ + [property] com::sun::star::util::Color GridColor; + + + /** enables display of help lines when moving drawing + objects. + */ + [property] boolean ShowHelpLines; + + + /** enables display of anchor symbols when drawing + objects are selected. + */ + [property] boolean ShowAnchor; + + + /** enables display of page breaks. + */ + [property] boolean ShowPageBreaks; + + + /** enables display of embedded objects in the view. + + @see SpreadsheetViewObjectsMode + */ + [property] short ShowObjects; + + + /** enables the display of charts in the view. + + @see SpreadsheetViewObjectsMode + */ + [property] short ShowCharts; + + + /** enables the display of drawing objects in the view. + + @see SpreadsheetViewObjectsMode + */ + [property] short ShowDrawing; + + + /** disables the display of marks from online spelling. + + @deprecated + */ + [property] boolean HideSpellMarks; + + + /** This property defines the zoom type for the document. + + @see com::sun::star::view::DocumentZoomType + */ + [property] short ZoomType; + + + /** Defines the zoom value to use. + Valid only if the ZoomType is set to + com::sun::star::view::DocumentZoomType::BY_VALUE. + */ + [property] short ZoomValue; + + /** Number of lines shown in the Formula bar + Default is 1, maximum value is 25. + + @since LibreOffice 7.4 + */ + [optional, property] short FormulaBarHeight; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/Spreadsheets.idl b/offapi/com/sun/star/sheet/Spreadsheets.idl new file mode 100644 index 000000000..6c6971564 --- /dev/null +++ b/offapi/com/sun/star/sheet/Spreadsheets.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_Spreadsheets_idl__ +#define __com_sun_star_sheet_Spreadsheets_idl__ + +#include <com/sun/star/sheet/XSpreadsheets.idl> +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/sheet/XCellRangesAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents the collection of spreadsheets in a spreadsheet document. + + @see com::sun::star::sheet::SpreadsheetDocument + */ +published service Spreadsheets +{ + + /** provides methods to access the spreadsheets by name and to insert, + copy, remove and rearrange spreadsheets. + + @see com::sun::star::sheet::Spreadsheet + */ + interface com::sun::star::sheet::XSpreadsheets; + + + /** provides methods to access the spreadsheets by index. + + @see com::sun::star::sheet::Spreadsheet + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all spreadsheets. + + @see com::sun::star::sheet::SpreadsheetsEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + + + [optional] interface com::sun::star::sheet::XCellRangesAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SpreadsheetsEnumeration.idl b/offapi/com/sun/star/sheet/SpreadsheetsEnumeration.idl new file mode 100644 index 000000000..33885fe37 --- /dev/null +++ b/offapi/com/sun/star/sheet/SpreadsheetsEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SpreadsheetsEnumeration_idl__ +#define __com_sun_star_sheet_SpreadsheetsEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of spreadsheets in a spreadsheet document. + + @see com::sun::star::sheet::Spreadsheets + */ +published service SpreadsheetsEnumeration +{ + + /** provides methods to access the spreadsheets in the enumeration. + + @see com::sun::star::sheet::Spreadsheet + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/StatusBarFunction.idl b/offapi/com/sun/star/sheet/StatusBarFunction.idl new file mode 100644 index 000000000..df8281445 --- /dev/null +++ b/offapi/com/sun/star/sheet/StatusBarFunction.idl @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_StatusBarFunction_idl__ +#define __com_sun_star_sheet_StatusBarFunction_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify the function used to calculate a result in the + spreadsheet's status bar. + */ +published constants StatusBarFunction +{ + + /** nothing is calculated. + */ + const short NONE = 0; + + + /** average of all numerical values is calculated. + */ + const short AVERAGE = 1; + + + /** all values, including non-numerical values, are counted. + */ + const short COUNTNUMS = 2; + + + /** numerical values are counted. + */ + const short COUNT = 3; + + + /** maximum value of all numerical values is calculated. + */ + const short MAX = 4; + + + /** minimum value of all numerical values is calculated. + */ + const short MIN = 5; + + + /** sum of all numerical values is calculated. + */ + const short SUM = 9; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SubTotalColumn.idl b/offapi/com/sun/star/sheet/SubTotalColumn.idl new file mode 100644 index 000000000..c8ef8e358 --- /dev/null +++ b/offapi/com/sun/star/sheet/SubTotalColumn.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SubTotalColumn_idl__ +#define __com_sun_star_sheet_SubTotalColumn_idl__ + +#include <com/sun/star/sheet/GeneralFunction.idl> + + +module com { module sun { module star { module sheet { + + +/** describes how a single data column is treated when creating subtotals. + + @see com::sun::star::sheet::SubTotalDescriptor + */ +published struct SubTotalColumn +{ + + /** the index of the column inside the source data area. + */ + long Column; + + + /** specifies what kind of subtotals are calculated. + */ + com::sun::star::sheet::GeneralFunction Function; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SubTotalDescriptor.idl b/offapi/com/sun/star/sheet/SubTotalDescriptor.idl new file mode 100644 index 000000000..1811a6f04 --- /dev/null +++ b/offapi/com/sun/star/sheet/SubTotalDescriptor.idl @@ -0,0 +1,119 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SubTotalDescriptor_idl__ +#define __com_sun_star_sheet_SubTotalDescriptor_idl__ + +#include <com/sun/star/sheet/XSubTotalDescriptor.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a description of how subtotals are created. + + <p>The descriptor contains properties and a collection of subtotal fields + which control the behavior of operation.</p> + */ +published service SubTotalDescriptor +{ + + /** provides access to the collection of subtotal fields. + */ + interface com::sun::star::sheet::XSubTotalDescriptor; + + + /** creates an enumeration of all sub total fields. + + @see com::sun::star::sheet::SubTotalFieldsEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides access to the sub total fields in the collection via index. + */ + interface com::sun::star::container::XIndexAccess; + + +//!published service PropertySet + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** specifies if page breaks are inserted after each group change. + */ + [property] boolean InsertPageBreaks; + + + /** specifies if the case of letters is important when comparing entries. + */ + [property] boolean IsCaseSensitive; + + + /** specifies if a user defined sorting list is used. + */ + [property] boolean EnableUserSortList; + + + /** specifies which user defined sorting list is used. + + <p>This property is only used if + SubTotalDescriptor::EnableUserSortList + is `TRUE`.</p> + */ + [property] long UserSortListIndex; + + + /** specifies if cell formats are moved with the contents they belong to. + */ + [property] boolean BindFormatsToContent; + + + /** specifies if the contents of the fields will be sorted to groups + while performing a subtotal operation. + */ + [property] boolean EnableSort; + + + /** specifies the sorting order if + SubTotalDescriptor::EnableSort is set to `TRUE`. + */ + [property] boolean SortAscending; + + + /** returns the maximum number of subtotal fields the descriptor can + hold. + + <p>This read-only property indicates the maximum count of fields the + current implementation supports.</p> + */ + [readonly, property] long MaxFieldCount; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SubTotalField.idl b/offapi/com/sun/star/sheet/SubTotalField.idl new file mode 100644 index 000000000..5409c5a7c --- /dev/null +++ b/offapi/com/sun/star/sheet/SubTotalField.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SubTotalField_idl__ +#define __com_sun_star_sheet_SubTotalField_idl__ + +#include <com/sun/star/sheet/XSubTotalField.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a single field in a subtotal descriptor. + + <p>A subtotal field contains all columns for which subtotal values + will be calculated and the column used to create subtotal groups. + + @see com::sun::star::sheet::SubTotalDescriptor + */ +published service SubTotalField +{ + + /** provides access to the settings of the subtotal field. + */ + interface com::sun::star::sheet::XSubTotalField; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/SubTotalFieldsEnumeration.idl b/offapi/com/sun/star/sheet/SubTotalFieldsEnumeration.idl new file mode 100644 index 000000000..309dcfb81 --- /dev/null +++ b/offapi/com/sun/star/sheet/SubTotalFieldsEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_SubTotalFieldsEnumeration_idl__ +#define __com_sun_star_sheet_SubTotalFieldsEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of sub total fields. + + @see com::sun::star::sheet::SubTotalField + */ +published service SubTotalFieldsEnumeration +{ + + /** provides methods to access the sub total fields in the enumeration. + + @see com::sun::star::sheet::SubTotalField + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableAutoFormat.idl b/offapi/com/sun/star/sheet/TableAutoFormat.idl new file mode 100644 index 000000000..6eda428bc --- /dev/null +++ b/offapi/com/sun/star/sheet/TableAutoFormat.idl @@ -0,0 +1,110 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableAutoFormat_idl__ +#define __com_sun_star_sheet_TableAutoFormat_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/beans/XPropertySet.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an AutoFormat, containing exactly 16 AutoFormat fields. + + <p>Each of the 16 fields contain formatting properties for a table + cell at a specific position in the AutoFormat range. The rows of the + range are divided into a header row, a footer row and 2 data rows + (repeated in turn between header and footer row). The columns are + divided similar. This results in 16 different types of cells in the + range. The AutoFormats are numbered row by row, then column by column.</p> + + @see com::sun::star::sheet::TableAutoFormatField + */ +published service TableAutoFormat +{ + +//! service com::sun::star::beans::PropertySet; + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** provides methods to access the AutoFormat fields via index. + + @see com::sun::star::sheet::TableAutoFormatField + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all 16 AutoFormat fields. + + @see com::sun::star::sheet::TableAutoFormatEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides methods to access the name of the AutoFormat. + */ + interface com::sun::star::container::XNamed; + + + /** specifies whether the font settings from the fields are used. + */ + [property] boolean IncludeFont; + + + /** specifies whether the justification settings from the fields + are used. + */ + [property] boolean IncludeJustify; + + + /** specifies whether the border settings from the fields are used. + */ + [property] boolean IncludeBorder; + + + /** specifies whether the background settings from the fields are used. + */ + [property] boolean IncludeBackground; + + + /** specifies whether the number format settings from the fields + are used. + */ + [property] boolean IncludeNumberFormat; + + + /** specifies whether the column widths and row heights should be + updated after applying the format. + */ + [property] boolean IncludeWidthAndHeight; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableAutoFormatEnumeration.idl b/offapi/com/sun/star/sheet/TableAutoFormatEnumeration.idl new file mode 100644 index 000000000..9d68a1c4c --- /dev/null +++ b/offapi/com/sun/star/sheet/TableAutoFormatEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableAutoFormatEnumeration_idl__ +#define __com_sun_star_sheet_TableAutoFormatEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of AutoFormat fields in an AutoFormat. + + @see com::sun::star::sheet::TableAutoFormat + */ +published service TableAutoFormatEnumeration +{ + + /** provides methods to access the AutoFormat fields in the enumeration. + + @see com::sun::star::sheet::TableAutoFormatField + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableAutoFormatField.idl b/offapi/com/sun/star/sheet/TableAutoFormatField.idl new file mode 100644 index 000000000..f93c9abfd --- /dev/null +++ b/offapi/com/sun/star/sheet/TableAutoFormatField.idl @@ -0,0 +1,282 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableAutoFormatField_idl__ +#define __com_sun_star_sheet_TableAutoFormatField_idl__ + +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/util/Color.idl> +#include <com/sun/star/lang/Locale.idl> +#include <com/sun/star/awt/FontSlant.idl> +#include <com/sun/star/table/ShadowFormat.idl> +#include <com/sun/star/table/CellHoriJustify.idl> +#include <com/sun/star/table/CellVertJustify.idl> +#include <com/sun/star/table/CellOrientation.idl> +#include <com/sun/star/table/TableBorder.idl> +#include <com/sun/star/table/TableBorder2.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a field in an AutoFormat. A field contains all cell + properties for a specific position in an AutoFormat. + */ +published service TableAutoFormatField +{ + +//! service com::sun::star::beans::PropertySet; + /** provides access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + + /** specifies the name of the western font. + */ + [property] string CharFontName; + + /** specifies the name of the Asian font. + */ + [optional, property] string CharFontNameAsian; + + /** specifies the name of the complex font. + */ + [optional, property] string CharFontNameComplex; + + + /** specifies the name of the western font style. + */ + [property] string CharFontStyleName; + + /** specifies the name of the Asian font style. + */ + [optional, property] string CharFontStyleNameAsian; + + /** specifies the name of the complex font style. + */ + [optional, property] string CharFontStyleNameComplex; + + + /** contains the value of the character set of the western font. + */ + [property] string CharFontCharSet; + + /** contains the value of the character set of the Asian font. + */ + [optional, property] string CharFontCharSetAsian; + + /** contains the value of the character set of the complex font. + */ + [optional, property] string CharFontCharSetComplex; + + + /** contains the value of the western font family. + */ + [property] string CharFontFamily; + + /** contains the value of the Asian font family. + */ + [optional, property] string CharFontFamilyAsian; + + /** contains the value of the complex font family. + */ + [optional, property] string CharFontFamilyComplex; + + + /** contains the value of the pitch of the western font. + */ + [property] string CharFontPitch; + + /** contains the value of the pitch of the Asian font. + */ + [optional, property] string CharFontPitchAsian; + + /** contains the value of the pitch of the complex font. + */ + [optional, property] string CharFontPitchComplex; + + + /** contains the height of characters of the western font in point. + */ + [property] float CharHeight; + + /** contains the height of characters of the Asian font in point. + */ + [optional, property] float CharHeightAsian; + + /** contains the height of characters of the complex font in point. + */ + [optional, property] float CharHeightComplex; + + + /** contains the value for the weight of characters of the western font. + */ + [property] float CharWeight; + + /** contains the value for the weight of characters of the Asian font. + */ + [optional, property] float CharWeightAsian; + + /** contains the value for the weight of characters of the complex font. + */ + [optional, property] float CharWeightComplex; + + + /** contains the value of the posture of characters of the western font. + */ + [property] com::sun::star::awt::FontSlant CharPosture; + + /** contains the value of the posture of characters of the Asian font. + */ + [optional, property] com::sun::star::awt::FontSlant CharPostureAsian; + + /** contains the value of the posture of characters of the complex font. + */ + [optional, property] com::sun::star::awt::FontSlant CharPostureComplex; + + + /** contains the value for the character underline. + */ + [property] short CharUnderline; + + + /** is `TRUE` if the characters are crossed out. + */ + [property] boolean CharCrossedOut; + + + /** is `TRUE` if the characters are contoured. + */ + [property] boolean CharContoured; + + + /** is `TRUE` if the characters are shadowed. + */ + [property] boolean CharShadowed; + + + /** contains the value of the text color. + */ + [property] com::sun::star::util::Color CharColor; + + + /** contains the cell background color. + */ + [property] com::sun::star::util::Color CellBackColor; + + + /** is `TRUE` if the cell background is transparent. + + <p>In this case the TableAutoFormatField::CellBackColor + value is not used.</p> + */ + [property] boolean IsCellBackgroundTransparent; + + + /** contains a description of the shadow. + */ + [optional, property] com::sun::star::table::ShadowFormat ShadowFormat; + + + /** specifies the horizontal alignment of the cell contents. + */ + [optional, property] com::sun::star::table::CellHoriJustify HoriJustify; + + + /** specifies the vertical alignment of the cell contents. + + changed from com::sun::star::table::CellVertJustify to long in LibO 3.5 + + @see com::sun::star::table::CellVertJustify2 + */ + [optional, property] long VertJustify; + + + /** is `TRUE` if text breaks automatically at cell borders. + */ + [optional, property] boolean IsTextWrapped; + + + /** contains the orientation of the cell contents + (i.e. top-to-bottom or stacked). + */ + [optional, property] com::sun::star::table::CellOrientation Orientation; + + + /** contains the rotation angle of the cell contents. + */ + [optional, property] long RotateAngle; + + + /** contains the reference edge of the cell rotation. + + changed from com::sun::star::table::CellVertJustify to long in LibO 3.5 + + @see com::sun::star::table::CellVertJustify2 + */ + [optional, property] long RotateReference; + + + /** contains the margin between cell contents and top border + (in 1/100 mm). + */ + [optional, property] long ParaTopMargin; + + + /** contains the margin between cell contents and bottom border + (in 1/100 mm). + */ + [optional, property] long ParaBottomMargin; + + + /** contains the margin between cell contents and left border + (in 1/100 mm). + */ + [optional, property] long ParaLeftMargin; + + + /** contains the margin between cell contents and right border + (in 1/100 mm). + */ + [optional, property] long ParaRightMargin; + + + /** property containing a description of the cell border. + + @since OOo 1.1.2 + */ + [optional, property] com::sun::star::table::TableBorder TableBorder; + + + /** property containing a description of the cell border. + Preferred over com::sun::star::table::TableBorder + #TableBorder. + + @since LibreOffice 3.6 + */ + [optional, property] com::sun::star::table::TableBorder2 TableBorder2; +}; + + +}; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableAutoFormats.idl b/offapi/com/sun/star/sheet/TableAutoFormats.idl new file mode 100644 index 000000000..b50dd34cc --- /dev/null +++ b/offapi/com/sun/star/sheet/TableAutoFormats.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableAutoFormats_idl__ +#define __com_sun_star_sheet_TableAutoFormats_idl__ + +#include <com/sun/star/container/XNameContainer.idl> +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents the collection of AutoFormats. + + <p>There is only one instance of this collection, containing all + AutoFormats usable in spreadsheet and text tables.</p> + */ +published service TableAutoFormats +{ + + /** provides methods to access, insert and remove AutoFormats via name. + + @see com::sun::star::sheet::TableAutoFormat + */ + interface com::sun::star::container::XNameContainer; + + + /** provides methods to access AutoFormats via index. + + @see com::sun::star::sheet::TableAutoFormat + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all AutoFormats. + + @see com::sun::star::sheet::TableAutoFormatEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableAutoFormatsEnumeration.idl b/offapi/com/sun/star/sheet/TableAutoFormatsEnumeration.idl new file mode 100644 index 000000000..017c75e01 --- /dev/null +++ b/offapi/com/sun/star/sheet/TableAutoFormatsEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableAutoFormatsEnumeration_idl__ +#define __com_sun_star_sheet_TableAutoFormatsEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of AutoFormats. + + @see com::sun::star::sheet::TableAutoFormats + */ +published service TableAutoFormatsEnumeration +{ + + /** provides methods to access the AutoFormats in the enumeration. + + @see com::sun::star::sheet::TableAutoFormat + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableCellStyle.idl b/offapi/com/sun/star/sheet/TableCellStyle.idl new file mode 100644 index 000000000..47d6fd74f --- /dev/null +++ b/offapi/com/sun/star/sheet/TableCellStyle.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableCellStyle_idl__ +#define __com_sun_star_sheet_TableCellStyle_idl__ + +#include <com/sun/star/table/CellProperties.idl> +#include <com/sun/star/style/CellStyle.idl> +#include <com/sun/star/style/CharacterProperties.idl> +#include <com/sun/star/style/CharacterPropertiesAsian.idl> +#include <com/sun/star/style/CharacterPropertiesComplex.idl> +#include <com/sun/star/style/ParagraphProperties.idl> + + +module com { module sun { module star { module sheet { + + +/** contains the properties of a table cell style. + + <p>This service extends the service + com::sun::star::style::CellStyle with spreadsheet + specific properties.</p> + */ +published service TableCellStyle +{ + + /** contributes cell specific properties. + */ + service com::sun::star::table::CellProperties; + + + /** is the base service for table cells. + */ + service com::sun::star::style::CellStyle; + + + /** contributes properties for character formatting of Western text. + */ + service com::sun::star::style::CharacterProperties; + + + /** contributes properties for character formatting of Asian text. + */ + service com::sun::star::style::CharacterPropertiesAsian; + + + /** contributes properties for character formatting of Complex text. + */ + service com::sun::star::style::CharacterPropertiesComplex; + + + /** contributes properties for paragraph formatting. + */ + service com::sun::star::style::ParagraphProperties; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableConditionalEntry.idl b/offapi/com/sun/star/sheet/TableConditionalEntry.idl new file mode 100644 index 000000000..491ccc530 --- /dev/null +++ b/offapi/com/sun/star/sheet/TableConditionalEntry.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableConditionalEntry_idl__ +#define __com_sun_star_sheet_TableConditionalEntry_idl__ + +#include <com/sun/star/sheet/XSheetCondition.idl> +#include <com/sun/star/sheet/XSheetConditionalEntry.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a single condition in a conditional format. + + @see com::sun::star::sheet::TableConditionalFormat + */ +published service TableConditionalEntry +{ + + /** provides methods to access the settings of this condition. + */ + interface com::sun::star::sheet::XSheetCondition; + + + /** provides methods to access the cell style name for this condition. + */ + interface com::sun::star::sheet::XSheetConditionalEntry; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableConditionalEntryEnumeration.idl b/offapi/com/sun/star/sheet/TableConditionalEntryEnumeration.idl new file mode 100644 index 000000000..dc508b134 --- /dev/null +++ b/offapi/com/sun/star/sheet/TableConditionalEntryEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableConditionalEntryEnumeration_idl__ +#define __com_sun_star_sheet_TableConditionalEntryEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of conditional entries. + + @see com::sun::star::sheet::TableConditionalEntry + */ +published service TableConditionalEntryEnumeration +{ + + /** provides methods to access the conditional entries in the enumeration. + + @see com::sun::star::sheet::TableConditionalEntry + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableConditionalFormat.idl b/offapi/com/sun/star/sheet/TableConditionalFormat.idl new file mode 100644 index 000000000..a1e7d8956 --- /dev/null +++ b/offapi/com/sun/star/sheet/TableConditionalFormat.idl @@ -0,0 +1,82 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableConditionalFormat_idl__ +#define __com_sun_star_sheet_TableConditionalFormat_idl__ + +#include <com/sun/star/sheet/XSheetConditionalEntries.idl> +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of conditional formatting settings for a + cell or cell range. + + <p>The style of the first fulfilled condition (in index order) will + be applied to the cell(s).</p> + + @see com::sun::star::sheet::SheetCell + @see com::sun::star::sheet::SheetCellRange + @see com::sun::star::sheet::SheetCellRanges + */ +published service TableConditionalFormat +{ + + /** provides methods to insert and remove conditions and to access + the condition via index. + + @see com::sun::star::sheet::TableConditionalEntry + */ + interface com::sun::star::sheet::XSheetConditionalEntries; + + + /** provides methods to access the condition via name. + + <p>The name of a condition is "Entry", followed by its index + (i.e. Entry0, Entry1, ...).</p> + + @see com::sun::star::sheet::TableConditionalEntry + */ + interface com::sun::star::container::XNameAccess; + + + /** creates an enumeration of all conditional entries. + + @see com::sun::star::sheet::TableConditionalEntryEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + + + /** provides methods to access the contained conditional entries by index. + + @see com::sun::star::sheet::TableConditionalEntry + */ + interface com::sun::star::container::XIndexAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableFilterField.idl b/offapi/com/sun/star/sheet/TableFilterField.idl new file mode 100644 index 000000000..2f259ccbb --- /dev/null +++ b/offapi/com/sun/star/sheet/TableFilterField.idl @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableFilterField_idl__ +#define __com_sun_star_sheet_TableFilterField_idl__ + +#include <com/sun/star/sheet/FilterConnection.idl> +#include <com/sun/star/sheet/FilterOperator.idl> + + +module com { module sun { module star { module sheet { + + +/** describes a single condition in a filter descriptor. + + @see SheetFilterDescriptor + */ +published struct TableFilterField +{ + + /** specifies how the condition is connected to the previous condition. + */ + FilterConnection Connection; + + + /** specifies which field (column) is used for the condition. + */ + long Field; + + + /** specifies the type of the condition. + */ + FilterOperator Operator; + + + /** selects whether the TableFilterField::NumericValue + or the TableFilterField::StringValue is used. + */ + boolean IsNumeric; + + + /** specifies a numeric value for the condition. + */ + double NumericValue; + + + /** specifies a string value for the condition. + */ + string StringValue; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableFilterField2.idl b/offapi/com/sun/star/sheet/TableFilterField2.idl new file mode 100644 index 000000000..7c3fcaba0 --- /dev/null +++ b/offapi/com/sun/star/sheet/TableFilterField2.idl @@ -0,0 +1,81 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableFilterField2_idl__ +#define __com_sun_star_sheet_TableFilterField2_idl__ + +#include <com/sun/star/sheet/FilterConnection.idl> +#include <com/sun/star/sheet/FilterOperator2.idl> + + +module com { module sun { module star { module sheet { + + +/** describes a single condition in a filter descriptor. + + <p>This struct has the FilterOperator2 constants group as + member, whereas the TableFilterField struct uses the + FilterOperator enum.</p> + + @see SheetFilterDescriptor + @since OOo 3.2 + */ +published struct TableFilterField2 +{ + + /** specifies how the condition is connected to the previous condition. + */ + FilterConnection Connection; + + + /** specifies which field (column) is used for the condition. + */ + long Field; + + + /** specifies the type of the condition as defined in + FilterOperator2. + */ + long Operator; + + + /** selects whether the TableFilterField2::NumericValue + or the TableFilterField2::StringValue is used. + */ + boolean IsNumeric; + + + /** specifies a numeric value for the condition. + */ + double NumericValue; + + + /** specifies a string value for the condition. + */ + string StringValue; + +}; + + +}; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableFilterField3.idl b/offapi/com/sun/star/sheet/TableFilterField3.idl new file mode 100644 index 000000000..731fb76dd --- /dev/null +++ b/offapi/com/sun/star/sheet/TableFilterField3.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_TableFilterField3_idl__ +#define __com_sun_star_sheet_TableFilterField3_idl__ + +#include <com/sun/star/sheet/FilterConnection.idl> +#include <com/sun/star/sheet/FilterOperator2.idl> +#include <com/sun/star/sheet/FilterFieldValue.idl> + +module com { module sun { module star { module sheet { + +/** + * @since LibreOffice 3.5 + */ +struct TableFilterField3 +{ + /** specifies how the condition is connected to the previous condition. + */ + FilterConnection Connection; + + /** specifies which field (column) is used for the condition. + */ + long Field; + + /** specifies the type of the condition as defined in + FilterOperator2. + */ + long Operator; + + /** specifies values to match against. Each filter field may have one or + more values.*/ + sequence<FilterFieldValue> Values; +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableOperationMode.idl b/offapi/com/sun/star/sheet/TableOperationMode.idl new file mode 100644 index 000000000..20fd95004 --- /dev/null +++ b/offapi/com/sun/star/sheet/TableOperationMode.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableOperationMode_idl__ +#define __com_sun_star_sheet_TableOperationMode_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify if a table operation is applied to + columns, rows, or both columns and rows. + */ +published enum TableOperationMode +{ + + /** is applied to the columns. + + <p>In this mode, the column contains values and the row + contains formulas.</p> + */ + COLUMN, + + + /** is applied to the rows. + + <p>In this mode, the row contains values and the column + contains formulas.</p> + */ + ROW, + + + /** is applied to rows and columns. + + <p>In this mode, the row and the column contain values. A formula + using both row and column values is specified separately.</p> + */ + BOTH + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TablePageBreakData.idl b/offapi/com/sun/star/sheet/TablePageBreakData.idl new file mode 100644 index 000000000..cd0ae3bfe --- /dev/null +++ b/offapi/com/sun/star/sheet/TablePageBreakData.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TablePageBreakData_idl__ +#define __com_sun_star_sheet_TablePageBreakData_idl__ + + +module com { module sun { module star { module sheet { + + +/** describes a page break in a spreadsheet. + + @see com::sun::star::sheet::XSheetPageBreak + */ +published struct TablePageBreakData +{ + + /** the position (column or row index) of the page break. + */ + long Position; + + + /** is `TRUE` for a manual page break, `FALSE` for an automatic one. + */ + boolean ManualBreak; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TablePageStyle.idl b/offapi/com/sun/star/sheet/TablePageStyle.idl new file mode 100644 index 000000000..a4ecc9bdb --- /dev/null +++ b/offapi/com/sun/star/sheet/TablePageStyle.idl @@ -0,0 +1,185 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TablePageStyle_idl__ +#define __com_sun_star_sheet_TablePageStyle_idl__ + +#include <com/sun/star/style/PageStyle.idl> +#include <com/sun/star/sheet/XHeaderFooterContent.idl> + + + module com { module sun { module star { module sheet { + + +/** represents a page style for a spreadsheet. + + <p>This service extends the service + com::sun::star::style::PageStyle with spreadsheet + specific properties.</p> + */ +published service TablePageStyle +{ + + /** contains all common page style properties. + */ + service com::sun::star::style::PageStyle; + + + /** determines whether the table is centered horizontally on the page. + */ + [property] boolean CenterHorizontally; + + + /** determines whether the table is centered vertically on the page. + */ + [property] boolean CenterVertically; + + + /** enables printing of cell annotations. + */ + [property] boolean PrintAnnotations; + + + /** enables printing of the cell grid. + */ + [property] boolean PrintGrid; + + + /** enables printing of column and row headers. + */ + [property] boolean PrintHeaders; + + + /** enables printing of charts. + */ + [property] boolean PrintCharts; + + + /** enables printing of embedded objects. + */ + [property] boolean PrintObjects; + + + /** enables printing of drawing objects. + */ + [property] boolean PrintDrawing; + + + /** enables printing of formulas instead of their results. + */ + [property] boolean PrintFormulas; + + + /** enables printing of zero-values. + */ + [property] boolean PrintZeroValues; + + + /** specifies the print order for the pages within each sheet. + + <p>If `TRUE`, the order for printing pages begins with + top-to-bottom, then continues with the next set of cell columns + to the right. If `FALSE`, the order for printing pages begins + with left-to-right, then continues with the next set of cell + rows to the bottom.</p> + */ + [property] boolean PrintDownFirst; + + + /** contains the content of the header for left pages. + + <p>After changing the header text contents, this property has to be + reinserted into the property set.</p> + + @see com::sun::star::sheet::HeaderFooterContent + */ + [property] com::sun::star::sheet::XHeaderFooterContent LeftPageHeaderContent; + + + /** contains the content of the footer for left pages. + + <p>After changing the footer text contents, this property has to be + reinserted into the property set.</p> + + @see com::sun::star::sheet::HeaderFooterContent + */ + [property] com::sun::star::sheet::XHeaderFooterContent LeftPageFooterContent; + + + /** contains the content of the header for right pages. + + <p>After changing the header text contents, this property has to be + reinserted into the property set.</p> + + @see com::sun::star::sheet::HeaderFooterContent + */ + [property] com::sun::star::sheet::XHeaderFooterContent RightPageHeaderContent; + + + /** contains the content of the footer for right pages. + + <p>After changing the footer text contents, this property has to be + reinserted into the property set.</p> + + @see com::sun::star::sheet::HeaderFooterContent + */ + [property] com::sun::star::sheet::XHeaderFooterContent RightPageFooterContent; + + + /** contains the page number applied to the first page for this sheet. + + <p>The value 0 indicates that the page numbers are continued from + the previous sheet.</p> + */ + [property] short FirstPageNumber; + + + /** contains the scaling factor (in percent) for printing the sheet. + */ + [property] short PageScale; + + + /** contains the number of pages the sheet will printed. + */ + [property] short ScaleToPages; + + + /** contains the number of horizontal pages the sheet will printed on. + + @since OOo 2.0 + + */ + [property, optional] short ScaleToPagesX; + + + /** contains the number of vertical pages the sheet will printed on. + + @since OOo 2.0 + + */ + [property, optional] short ScaleToPagesY; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableValidation.idl b/offapi/com/sun/star/sheet/TableValidation.idl new file mode 100644 index 000000000..6a2943f32 --- /dev/null +++ b/offapi/com/sun/star/sheet/TableValidation.idl @@ -0,0 +1,117 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableValidation_idl__ +#define __com_sun_star_sheet_TableValidation_idl__ + +#include <com/sun/star/sheet/XSheetCondition.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/sheet/ValidationType.idl> +#include <com/sun/star/sheet/ValidationAlertStyle.idl> + + +module com { module sun { module star { module sheet { + + +/** represents the data validation settings for a cell or cell range. + */ +published service TableValidation +{ + + interface com::sun::star::beans::XPropertySet; + + interface com::sun::star::sheet::XSheetCondition; + + + /** specifies the type of validation. + */ + [property] com::sun::star::sheet::ValidationType Type; + + + /** specifies if an input message is shown when the cursor is in a + cell with these validation settings. + */ + [property] boolean ShowInputMessage; + + + /** specifies the title of the window showing the input message. + + <p>This is only used if TableValidation::ShowInputMessage + is set to `TRUE`.</p> + */ + [property] string InputTitle; + + + /** specifies the text of the input message. + + <p>This is only used if TableValidation::ShowInputMessage + is set to `TRUE`.</p> + */ + [property] string InputMessage; + + + /** specifies if an error message is displayed when invalid data + is entered. + */ + [property] boolean ShowErrorMessage; + + + /** specifies the title of the window showing the error message. + + <p>This is only used if TableValidation::ShowErrorMessage + is set to `TRUE`.</p> + */ + [property] string ErrorTitle; + + + /** specifies the text of the error message. + + <p>This is only used if TableValidation::ShowErrorMessage + is set to `TRUE`.</p> + */ + [property] string ErrorMessage; + + + /** specifies if blank cells should be allowed. + */ + [property] boolean IgnoreBlankCells; + + + /** specifies the style of the error message. + + <p>This is used only if TableValidation::ShowErrorMessage + is set to `TRUE`.</p> + */ + [property] com::sun::star::sheet::ValidationAlertStyle ErrorAlertStyle; + + + /** specifies if the list of possible values should be shown on the cell and how. + + See also TableValidationVisibility + */ + [optional,property] short ShowList; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/TableValidationVisibility.idl b/offapi/com/sun/star/sheet/TableValidationVisibility.idl new file mode 100644 index 000000000..c7aeea051 --- /dev/null +++ b/offapi/com/sun/star/sheet/TableValidationVisibility.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_TableValidationVisibility_idl__ +#define __com_sun_star_sheet_TableValidationVisibility_idl__ + + +module com { module sun { module star { module sheet { + + +/** These constants specify whether and how a list of possible values + of a cell should be shown. + */ +constants TableValidationVisibility +{ + + /** The List is not shown. + */ + const short INVISIBLE = 0; + + + /** The List is shown unsorted. + */ + const short UNSORTED = 1; + + + /** The List is shown sorted ascending. + */ + const short SORTEDASCENDING = 2; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/UniqueCellFormatRanges.idl b/offapi/com/sun/star/sheet/UniqueCellFormatRanges.idl new file mode 100644 index 000000000..1536fd4e2 --- /dev/null +++ b/offapi/com/sun/star/sheet/UniqueCellFormatRanges.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_UniqueCellFormatRanges_idl__ +#define __com_sun_star_sheet_UniqueCellFormatRanges_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a collection of equal-formatted cell range collections. + + <p>All cells inside a cell range collection (a member of this + collection) have the same formatting attributes.</p> + + @see com::sun::star::sheet::SheetCellRange + @see com::sun::star::sheet::SheetCellRanges + @see com::sun::star::sheet::CellFormatRanges + */ +published service UniqueCellFormatRanges +{ + + /** provides methods to access the contained cell range + collections by index. + + @see com::sun::star::sheet::SheetCellRanges + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all cell range collections. + + @see com::sun::star::sheet::UniqueCellFormatRangesEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/UniqueCellFormatRangesEnumeration.idl b/offapi/com/sun/star/sheet/UniqueCellFormatRangesEnumeration.idl new file mode 100644 index 000000000..48ee0d01d --- /dev/null +++ b/offapi/com/sun/star/sheet/UniqueCellFormatRangesEnumeration.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_UniqueCellFormatRangesEnumeration_idl__ +#define __com_sun_star_sheet_UniqueCellFormatRangesEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module sheet { + + +/** represents an enumeration of equal-formatted cell range collections. + + @see com::sun::star::sheet::UniqueCellFormatRanges + */ +published service UniqueCellFormatRangesEnumeration +{ + + /** provides methods to access the cell range collections + in the enumeration. + + @see com::sun::star::sheet::SheetCellRanges + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ValidationAlertStyle.idl b/offapi/com/sun/star/sheet/ValidationAlertStyle.idl new file mode 100644 index 000000000..6508c0e99 --- /dev/null +++ b/offapi/com/sun/star/sheet/ValidationAlertStyle.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_ValidationAlertStyle_idl__ +#define __com_sun_star_sheet_ValidationAlertStyle_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify how invalid cell contents are treated. + */ +published enum ValidationAlertStyle +{ + + /** error message is shown and the change is rejected. + */ + STOP, + + + /** warning message is shown and the user is asked whether the + change will be accepted (defaulted to "No"). + */ + WARNING, + + + /** information message is shown and the user is asked whether the + change will be accepted (defaulted to "Yes"). + */ + INFO, + + + /** macro is executed. + */ + MACRO + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/ValidationType.idl b/offapi/com/sun/star/sheet/ValidationType.idl new file mode 100644 index 000000000..7461ebc25 --- /dev/null +++ b/offapi/com/sun/star/sheet/ValidationType.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_ValidationType_idl__ +#define __com_sun_star_sheet_ValidationType_idl__ + + +module com { module sun { module star { module sheet { + + +/** used to specify which cell contents are treated as valid. + */ +published enum ValidationType +{ + + /** any cell content is valid; no conditions are used. + */ + ANY, + + + /** any whole number matching the specified condition is valid. + */ + WHOLE, + + + /** any number matching the specified condition is valid. + */ + DECIMAL, + + + /** any date value matching the specified condition is valid. + */ + DATE, + + + /** any time value matching the specified condition is valid. + */ + TIME, + + + /** string is valid if its length matches the specified condition. + */ + TEXT_LEN, + + + /** Only strings from a specified list are valid. + */ + LIST, + + + /** The specified formula determines which contents are valid. + */ + CUSTOM + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/VolatileResult.idl b/offapi/com/sun/star/sheet/VolatileResult.idl new file mode 100644 index 000000000..c4e15da1a --- /dev/null +++ b/offapi/com/sun/star/sheet/VolatileResult.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_VolatileResult_idl__ +#define __com_sun_star_sheet_VolatileResult_idl__ + +#include <com/sun/star/sheet/XVolatileResult.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a volatile function result. + + <p>A volatile function result can change its value over time. The + XVolatileResult interface allows the addition of + listeners which are notified when the value changes.</p> + + @see com::sun::star::sheet::AddIn + */ +published service VolatileResult +{ + + /** provides handling with a volatile function result. + */ + interface com::sun::star::sheet::XVolatileResult; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XActivationBroadcaster.idl b/offapi/com/sun/star/sheet/XActivationBroadcaster.idl new file mode 100644 index 000000000..30b497cfa --- /dev/null +++ b/offapi/com/sun/star/sheet/XActivationBroadcaster.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XActivationBroadcaster_idl__ +#define __com_sun_star_sheet_XActivationBroadcaster_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/XActivationEventListener.idl> + + + +module com { module sun { module star { module sheet { + + +/** provides methods to add and remove XActivationEventListener + + @since OOo 2.0 + + */ +published interface XActivationBroadcaster: com::sun::star::uno::XInterface +{ + + /** allows a component supporting the + XActivationEventListener interface to + register as listener. The component will be notified with a + ActivationEvent every time the active sheet + changes.</p> + + @param aListener + the component that is to be added as listener + + @see XActivationEventListener + @see ActivationEvent + */ + void addActivationEventListener([in] com::sun::star::sheet::XActivationEventListener aListener); + + + /** removes a previously registered listener. + + @param aListener + the component that is to be removed + */ + void removeActivationEventListener( [in] com::sun::star::sheet::XActivationEventListener aListener ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XActivationEventListener.idl b/offapi/com/sun/star/sheet/XActivationEventListener.idl new file mode 100644 index 000000000..531339ca6 --- /dev/null +++ b/offapi/com/sun/star/sheet/XActivationEventListener.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_XActivationEventListener_idl__ +#define __com_sun_star_sheet_XActivationEventListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/sheet/ActivationEvent.idl> + + + + module com { module sun { module star { module sheet { + + +/** makes it possible to receive events when the active spreadsheet changes. + */ +published interface XActivationEventListener: com::sun::star::lang::XEventListener +{ + + /** is called whenever data or a selection changed. + + <p>This interface must be implemented by components that wish + to get notified of changes of the active Spreadsheet. + They can be registered at an XSpreadsheetViewEventProvider component.</p> + + @param aEvent + the event that gives further information on which Spreadsheet is active now. + + @see ActivationEvent + @see XSpreadsheetViewEventProvider + + @since OOo 2.0 + + */ + void activeSpreadsheetChanged( [in] com::sun::star::sheet::ActivationEvent aEvent ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XAddIn.idl b/offapi/com/sun/star/sheet/XAddIn.idl new file mode 100644 index 000000000..694c548f7 --- /dev/null +++ b/offapi/com/sun/star/sheet/XAddIn.idl @@ -0,0 +1,199 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XAddIn_idl__ +#define __com_sun_star_sheet_XAddIn_idl__ + +#include <com/sun/star/lang/XLocalizable.idl> + + +module com { module sun { module star { module sheet { + + +/** gives access to function descriptions and user-visible names. + */ +published interface XAddIn: com::sun::star::lang::XLocalizable +{ + + /** returns the internal function name for an user-visible name. + + <p>The user-visible name of a function is the name shown to the + user. It may be translated to the current language of the AddIn, + so it is never stored in files. It should be a single word and is + used when entering or displaying formulas.</p> + + <p>Attention: The method name contains a spelling error. Due to + compatibility reasons the name cannot be changed.</p> + + @param aDisplayName + the user-visible name of a function. + + @returns + the exact name of the method within its interface. + + */ + string getProgrammaticFuntionName( [in] string aDisplayName ); + + + /** returns the user-visible function name for an internal name. + + <p>The user-visible name of a function is the name shown to the + user. It may be translated to the current language of the AddIn, + so it is never stored in files. It should be a single word and is + used when entering or displaying formulas.</p> + + @param aProgrammaticName + is the exact name of a method within its interface. + + @returns + the user-visible name of the specified function. + */ + string getDisplayFunctionName( [in] string aProgrammaticName ); + + + /** returns the description of a function. + + <p>The description is shown to the user when selecting functions. + It may be translated to the current language of the AddIn.</p> + + @param aProgrammaticName + is the exact name of a method within its interface. + + @returns + the description of the specified function. + */ + string getFunctionDescription( [in] string aProgrammaticName ); + + + /** returns the user-visible name of the specified argument. + + <p>The argument name is shown to the user when prompting for + arguments. It should be a single word and may be translated + to the current language of the AddIn.</p> + + @param aProgrammaticFunctionName + is the exact name of a method within its interface. + + @param nArgument + the index of the argument (0-based). + + @returns + the user-visible name of the specified argument. + */ + string getDisplayArgumentName( + [in] string aProgrammaticFunctionName, + [in] long nArgument ); + + + /** returns the description of the specified argument. + + <p>The argument description is shown to the user when prompting + for arguments. It may be translated to the current language of + the AddIn.</p> + + @param aProgrammaticFunctionName + is the exact name of a method within its interface. + + @param nArgument + the index of the argument (0-based). + + @returns + the description of the specified argument. + */ + string getArgumentDescription( + [in] string aProgrammaticFunctionName, + [in] long nArgument ); + + + /** returns the programmatic name of the category the function + belongs to. + + <p>The category name is used to group similar functions together. + The programmatic category name should always be in English, it is + never shown to the user. + It should be one of the following names if the function falls into + the corresponding category.</p> + + <dl> + <dt>Database</dt> + <dd>for functions that operate with data organized in tabular form + like databases.</dd> + + <dt>Date&Time</dt> + <dd>for functions that deal with date or time values.</dd> + + <dt>Financial</dt> + <dd>for functions that solve financial problems.</dd> + + <dt>Information</dt> + <dd>for functions that provide information about cells.</dd> + + <dt>Logical</dt> + <dd>for functions that deal with logical expressions.</dd> + + <dt>Mathematical</dt> + <dd>for mathematical functions.</dd> + + <dt>Matrix</dt> + <dd>for matrix functions.</dd> + + <dt>Statistical</dt> + <dd>for statistical functions.</dd> + + <dt>Spreadsheet</dt> + <dd>for functions that deal with cell ranges.</dd> + + <dt>Text</dt> + <dd>for functions that deal with text strings.</dd> + + <dt>Add-In</dt> + <dd>for additional functions.</dd> + </dl> + + @param aProgrammaticFunctionName + is the exact name of a method within its interface. + + @returns + the category name the specified function belongs to. + */ + string getProgrammaticCategoryName( [in] string aProgrammaticFunctionName ); + + + /** returns the user-visible name of the category the function + belongs to. + + <p>This is used when category names are shown to the user.</p> + + @param aProgrammaticFunctionName + is the exact name of a method within its interface. + + @returns + the user-visible category name the specified function + belongs to. + */ + string getDisplayCategoryName( [in] string aProgrammaticFunctionName ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XAreaLink.idl b/offapi/com/sun/star/sheet/XAreaLink.idl new file mode 100644 index 000000000..70a677b39 --- /dev/null +++ b/offapi/com/sun/star/sheet/XAreaLink.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XAreaLink_idl__ +#define __com_sun_star_sheet_XAreaLink_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to change the settings of a linked cell range. + + @see com::sun::star::sheet::CellAreaLink + */ +published interface XAreaLink: com::sun::star::uno::XInterface +{ + + /** returns the source of the range within the source document. + + <p>This can be the address of a cell or range in the form + "Sheet1.A1:C5", or the name of a named range or database range.</p> + */ + string getSourceArea(); + + + /** sets the source of the range within the source document. + + <p>This can be the address of a cell or range in the form + "Sheet1.A1:C5", or the name of a named range or database range.</p> + */ + void setSourceArea( [in] string aSourceArea ); + + + /** returns the position of the linked range in the destination + document. + */ + com::sun::star::table::CellRangeAddress getDestArea(); + + + /** sets the position of the linked range in the destination document. + */ + void setDestArea( [in] com::sun::star::table::CellRangeAddress aDestArea ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XAreaLinks.idl b/offapi/com/sun/star/sheet/XAreaLinks.idl new file mode 100644 index 000000000..6d6215dd7 --- /dev/null +++ b/offapi/com/sun/star/sheet/XAreaLinks.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XAreaLinks_idl__ +#define __com_sun_star_sheet_XAreaLinks_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access via index to a collection of area links and inserting + and removing area links. + + @see com::sun::star::sheet::CellAreaLinks + @see com::sun::star::sheet::CellAreaLink + */ +published interface XAreaLinks: com::sun::star::container::XIndexAccess +{ + + /** creates an area link and adds it to the collection. + + @param aDestPos + the address of the first cell of the range inside the current + document. + + @param aFileName + the URL of the source document. + + @param aSourceArea + the name of the range in the source document. + + <p>This can be the address of a cell or range in the form + "Sheet1.A1:C5", or the name of a named range or database range.</p> + + @param aFilter + the name of the filter used to load the source document. + + @param aFilterOptions + optional filter options for the specified filter. + */ + void insertAtPosition( [in] com::sun::star::table::CellAddress aDestPos, + [in] string aFileName, + [in] string aSourceArea, + [in] string aFilter, + [in] string aFilterOptions ); + + + /** removes an area link from the collection. + */ + void removeByIndex( [in] long nIndex ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XArrayFormulaRange.idl b/offapi/com/sun/star/sheet/XArrayFormulaRange.idl new file mode 100644 index 000000000..d3ed4ba0a --- /dev/null +++ b/offapi/com/sun/star/sheet/XArrayFormulaRange.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XArrayFormulaRange_idl__ +#define __com_sun_star_sheet_XArrayFormulaRange_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** provides handling of array formulas in a cell range. + */ +published interface XArrayFormulaRange: com::sun::star::uno::XInterface +{ + + /** returns the array formula of the range or an empty string, if the + range does not contain an array formula. + */ + string getArrayFormula(); + + + /** applies the array formula to the entire cell range. + + @param aFormula + the formula that will be applied as array formula. Passing an + empty string erases an existing array formula. + */ + void setArrayFormula( [in] string aFormula ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XArrayFormulaTokens.idl b/offapi/com/sun/star/sheet/XArrayFormulaTokens.idl new file mode 100644 index 000000000..47e3a5be5 --- /dev/null +++ b/offapi/com/sun/star/sheet/XArrayFormulaTokens.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XArrayFormulaTokens_idl__ +#define __com_sun_star_sheet_XArrayFormulaTokens_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/FormulaToken.idl> + + +module com { module sun { module star { module sheet { + + +/** gives access to an array formula as token sequence. + */ +interface XArrayFormulaTokens +{ + + /** returns the array formula as sequence of tokens. + */ + sequence< FormulaToken > getArrayTokens(); + + + /** sets the array formula as sequence of tokens. + */ + void setArrayTokens( [in] sequence< FormulaToken > aTokens ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XCalculatable.idl b/offapi/com/sun/star/sheet/XCalculatable.idl new file mode 100644 index 000000000..6fc192ae9 --- /dev/null +++ b/offapi/com/sun/star/sheet/XCalculatable.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XCalculatable_idl__ +#define __com_sun_star_sheet_XCalculatable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** represents something that can recalculate. + */ +published interface XCalculatable: com::sun::star::uno::XInterface +{ + + /** recalculates all dirty cells. + + <p>This calculates all formula cells which have not yet been + calculated after their precedents have changed.</p> + */ + void calculate(); + + + /** recalculates all cells. + */ + void calculateAll(); + + + /** returns whether automatic calculation is enabled. + + <p>With automatic calculation, each formula cell is recalculated + whenever its value is needed after its precedents have changed. + The value is needed if the cell is displayed or used in another + calculation.</p> + + @returns + `TRUE`, if automatic calculation is enabled. + */ + boolean isAutomaticCalculationEnabled(); + + + /** enables automatic calculation. + + <p>With automatic calculation, each formula cell is recalculated + whenever its value is needed after its precedents have changed. + The value is needed if the cell is displayed or used in another + calculation.</p> + + @param bEnabled + `TRUE` to enable automatic calculation, `FALSE` to disable. + */ + void enableAutomaticCalculation( [in] boolean bEnabled ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XCellAddressable.idl b/offapi/com/sun/star/sheet/XCellAddressable.idl new file mode 100644 index 000000000..68df2404c --- /dev/null +++ b/offapi/com/sun/star/sheet/XCellAddressable.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XCellAddressable_idl__ +#define __com_sun_star_sheet_XCellAddressable_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a cell which can be addressed with a + com::sun::star::table::CellAddress. + */ +published interface XCellAddressable: com::sun::star::uno::XInterface +{ + + /** returns the address of the cell in the spreadsheet document. + + <p>The com::sun::star::table::CellAddress + can be used to address the cell within its document.</p> + */ + com::sun::star::table::CellAddress getCellAddress(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XCellFormatRangesSupplier.idl b/offapi/com/sun/star/sheet/XCellFormatRangesSupplier.idl new file mode 100644 index 000000000..03e38903e --- /dev/null +++ b/offapi/com/sun/star/sheet/XCellFormatRangesSupplier.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XCellFormatRangesSupplier_idl__ +#define __com_sun_star_sheet_XCellFormatRangesSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to a collection of equal-formatted cell ranges. + + @see com::sun::star::sheet::SheetCellRange + @see com::sun::star::sheet::SheetCellRanges + */ +published interface XCellFormatRangesSupplier: com::sun::star::uno::XInterface +{ + + /** returns a collection of equal-formatted cell ranges. + + <p>Each cell of the original range is contained in one of the + ranges (even unformatted cells). If there is a non-rectangular + equal-formatted cell area, it will be split into several + rectangular ranges.</p> + + @returns + the collection of equal-formatted cell ranges. + + @see com::sun::star::sheet::CellFormatRanges + */ + com::sun::star::container::XIndexAccess getCellFormatRanges(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XCellRangeAddressable.idl b/offapi/com/sun/star/sheet/XCellRangeAddressable.idl new file mode 100644 index 000000000..973c69d73 --- /dev/null +++ b/offapi/com/sun/star/sheet/XCellRangeAddressable.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XCellRangeAddressable_idl__ +#define __com_sun_star_sheet_XCellRangeAddressable_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a cell which can be addressed with a + com::sun::star::table::CellRangeAddress. + */ +published interface XCellRangeAddressable: com::sun::star::uno::XInterface +{ + + /** returns the address of the cell range in the spreadsheet document. + + <p>The com::sun::star::table::CellRangeAddress + can be used to address the range within its document.</p> + */ + com::sun::star::table::CellRangeAddress getRangeAddress(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XCellRangeData.idl b/offapi/com/sun/star/sheet/XCellRangeData.idl new file mode 100644 index 000000000..e9c6b225b --- /dev/null +++ b/offapi/com/sun/star/sheet/XCellRangeData.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_XCellRangeData_idl__ +#define __com_sun_star_sheet_XCellRangeData_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module sheet { + + +/** allows to get and set an array of data from a cell range. + <p>The outer sequence represents the rows and the inner sequence + the columns of the array.</p> + */ + +published interface XCellRangeData: com::sun::star::uno::XInterface +{ + /** gets an array from the contents of the cell range. + + <p>Each element of the result contains a `double` + or a `string`.</p> + */ + sequence< sequence< any > > getDataArray(); + + /** fills the cell range with values from an array. + + <p>The size of the array must be the same as the size of the cell + range. Each element of the array must contain a `double` + or a `string`.</p> + + @throws com::sun::star::uno::RuntimeException + If the size of the array is different from the current size. + */ + void setDataArray( [in] sequence< sequence< any > > aArray ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XCellRangeFormula.idl b/offapi/com/sun/star/sheet/XCellRangeFormula.idl new file mode 100644 index 000000000..0b8626c69 --- /dev/null +++ b/offapi/com/sun/star/sheet/XCellRangeFormula.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XCellRangeFormula_idl__ +#define __com_sun_star_sheet_XCellRangeFormula_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** allows to get and set cell contents (values, text or formulas) + for a cell range. + + <p>The outer sequence represents the rows and the inner sequence + the columns of the array.</p> + + @since OOo 1.1.2 + */ + +published interface XCellRangeFormula: com::sun::star::uno::XInterface +{ + /** gets an array from the contents of the cell range. + + <p>Each element of the result contains the same string that + would be returned by + com::sun::star::table::XCell::getFormula() + for the corresponding cell.</p> + */ + sequence< sequence< string > > getFormulaArray(); + + /** fills the cell range with values from an array. + + <p>The size of the array must be the same as the size of the cell + range. Each element of the array is interpreted the same way as + the argument to a + com::sun::star::table::XCell::setFormula() + call for the corresponding cell.</p> + + @throws com::sun::star::uno::RuntimeException + If the size of the array is different from the current size. + */ + void setFormulaArray( [in] sequence< sequence< string > > aArray ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XCellRangeMovement.idl b/offapi/com/sun/star/sheet/XCellRangeMovement.idl new file mode 100644 index 000000000..249c5e491 --- /dev/null +++ b/offapi/com/sun/star/sheet/XCellRangeMovement.idl @@ -0,0 +1,103 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XCellRangeMovement_idl__ +#define __com_sun_star_sheet_XCellRangeMovement_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellRangeAddress.idl> +#include <com/sun/star/sheet/CellInsertMode.idl> +#include <com/sun/star/sheet/CellDeleteMode.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods for moving ranges of cells in a sheet. + */ +published interface XCellRangeMovement: com::sun::star::uno::XInterface +{ + + /** inserts cells, moving other cells down or right. + + <p>Non-empty cells cannot be moved off the sheet.</p> + + @param aRange + the cell range in which empty cells will be inserted. + + @param nMode + describes how to move existing cells. + */ + void insertCells( + [in] com::sun::star::table::CellRangeAddress aRange, + [in] com::sun::star::sheet::CellInsertMode nMode ); + + + /** deletes cells, moving other cells up or left. + + @param aRange + the cell range to remove. + + @param nMode + describes how to move following cells. + */ + void removeRange( + [in] com::sun::star::table::CellRangeAddress aRange, + [in] com::sun::star::sheet::CellDeleteMode nMode ); + + + /** moves a cell range to another position in the document. + + <p>After copying the contents of the cell range, all cells + will be cleared.</p> + + @param aDestination + the address of the top left cell of the destination range. + + @param aSource + the cell range which will be copied. + */ + void moveRange( + [in] com::sun::star::table::CellAddress aDestination, + [in] com::sun::star::table::CellRangeAddress aSource ); + + + /** copies a cell range to another position in the document. + + <p>The source cell range keeps unchanged.</p> + + @param aDestination + the address of the top left cell of the destination range. + + @param aSource + the cell range which will be copied. + */ + void copyRange( + [in] com::sun::star::table::CellAddress aDestination, + [in] com::sun::star::table::CellRangeAddress aSource ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XCellRangeReferrer.idl b/offapi/com/sun/star/sheet/XCellRangeReferrer.idl new file mode 100644 index 000000000..2dc0983bd --- /dev/null +++ b/offapi/com/sun/star/sheet/XCellRangeReferrer.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XCellRangeReferrer_idl__ +#define __com_sun_star_sheet_XCellRangeReferrer_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/XCellRange.idl> + + +module com { module sun { module star { module sheet { + + +/** allows direct access to the cells in a named range or to the cells + which are visible in a view, without the need to get the document + object first. + + @see com::sun::star::sheet::NamedRange + @see com::sun::star::sheet::DatabaseRange + @see com::sun::star::sheet::SpreadsheetViewPane + */ +published interface XCellRangeReferrer: com::sun::star::uno::XInterface +{ + + /** returns the cell range object that is represented. + */ + com::sun::star::table::XCellRange getReferredCells(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XCellRangesAccess.idl b/offapi/com/sun/star/sheet/XCellRangesAccess.idl new file mode 100644 index 000000000..14c7e3b73 --- /dev/null +++ b/offapi/com/sun/star/sheet/XCellRangesAccess.idl @@ -0,0 +1,125 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XCellRangesAccess_idl__ +#define __com_sun_star_sheet_XCellRangesAccess_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/table/XCell.idl> +#include <com/sun/star/table/XCellRange.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the cells or to sub-ranges of all sheets. + + @see com::sun::star::sheet::Spreadsheets + */ +published interface XCellRangesAccess: com::sun::star::uno::XInterface +{ + + /** Returns a single cell within the range. + + @param nColumn + is the column index of the cell inside the sheet. + + @param nRow + is the row index of the cell inside the sheet. + + @param nSheet + is the sheet index of the sheet inside the document. + + @returns + the specified cell. + + @throws com::sun::star::lang::IndexOutOfBoundsException + if an index is outside the dimensions of this range. + + @see com::sun::star::table::Cell + */ + com::sun::star::table::XCell getCellByPosition( + [in] long nColumn, + [in] long nRow, + [in] long nSheet ) + raises( com::sun::star::lang::IndexOutOfBoundsException ); + + + /** Returns a sub-range of cells within the range. + + @param nLeft + is the column index of the first cell inside the range. + + @param nTop + is the row index of the first cell inside the range. + + @param nRight + is the column index of the last cell inside the range. + + @param nBottom + is the row index of the last cell inside the range. + + @param nSheet + is the sheet index of the sheet inside the document. + + @returns + the specified cell range. + + @throws com::sun::star::lang::IndexOutOfBoundsException + if an index is outside the dimensions of this range. + + @see com::sun::star::table::CellRange + */ + com::sun::star::table::XCellRange getCellRangeByPosition( + [in] long nLeft, + [in] long nTop, + [in] long nRight, + [in] long nBottom, + [in] long nSheet ) + raises( com::sun::star::lang::IndexOutOfBoundsException ); + + + /** Returns a sub-range of cells within the range. + + <p>The sub-range is specified by its name. The format of the range + name is dependent of the context of the table. In spreadsheets valid + names may be "Sheet1.A1:C5" or "$Sheet1.$B$2" or even defined names for cell ranges + such as "MySpecialCell".</p> + + @param aRange + the name of the sub-range. + + @returns + the specified cell ranges. + + @see com::sun::star::table::CellRange + */ + sequence <com::sun::star::table::XCellRange> getCellRangesByName( [in] string aRange ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XCellRangesQuery.idl b/offapi/com/sun/star/sheet/XCellRangesQuery.idl new file mode 100644 index 000000000..eb9a6dcd6 --- /dev/null +++ b/offapi/com/sun/star/sheet/XCellRangesQuery.idl @@ -0,0 +1,149 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XCellRangesQuery_idl__ +#define __com_sun_star_sheet_XCellRangesQuery_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/XSheetCellRanges.idl> +#include <com/sun/star/table/CellAddress.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to query for cell ranges with specific contents. + + <p>All methods return a collection of cell ranges.</p> + + @see com::sun::star::sheet::SheetRangesQuery + @see com::sun::star::sheet::SheetCellRanges + */ +published interface XCellRangesQuery: com::sun::star::uno::XInterface +{ + + /** queries all visible cells. + + @returns + the visible (not hidden) cells of the current cell range(s). + */ + com::sun::star::sheet::XSheetCellRanges queryVisibleCells(); + + + /** queries all empty cells. + + @returns + the empty cells of the current cell range(s). + */ + com::sun::star::sheet::XSheetCellRanges queryEmptyCells(); + + + /** queries all cells with the specified content type(s). + + @param nContentFlags + a combination of CellFlags flags. + + <p>Attention: Despite the CellFlags flags are + `long` values, this method expects a `short` + parameter.</p> + + <p>Attention: Empty cells in the range may be skipped depending on + the content flag used. For instance, when querying for STYLES, + the returned ranges may not include empty cells even if styles are + applied to those cells.</p> + + @returns + all cells of the current cell range(s) with the specified + content type(s). + */ + com::sun::star::sheet::XSheetCellRanges queryContentCells( + [in] short nContentFlags ); + + + /** queries all formula cells with the specified result type. + + @param nResultFlags + a combination of FormulaResult flags. + + @returns + all formula cells of the current cell range(s) with the + specified result type(s). + */ + com::sun::star::sheet::XSheetCellRanges queryFormulaCells( + [in] long nResultFlags ); + + + /** queries all cells with different values in a specified row. + + <p>This method takes each column of the current cell range(s) and + compares all cells with the cell in the specified row. All cells + which are different to this comparison cell will be returned.</p> + + @param aCompare + contains a cell address with the row index used for comparison. + Only this row index is of interest. + + @returns + all cells of the current cell range(s) which are different + to the comparison cell of each column. + */ + com::sun::star::sheet::XSheetCellRanges queryColumnDifferences( + [in] com::sun::star::table::CellAddress aCompare ); + + + /** queries all cells with different values in a specified column. + + <p>This method takes each row of the current cell range(s) and + compares all cells with the cell in the specified column. All cells + which are different to this comparison cell will be returned.</p> + + @param aCompare + contains a cell address with the column index used for + comparison. Only this column index is of interest. + + @returns + all cells of the current cell range(s) which are different + to the comparison cell of each row. + */ + com::sun::star::sheet::XSheetCellRanges queryRowDifferences( + [in] com::sun::star::table::CellAddress aCompare ); + + + /** intersects the current cell range(s) with the specified cell range. + + @param aRange + contains the cell range for intersection. + + @return + all cells of the current cell range(s) which are contained + in the passed cell range. + + */ + com::sun::star::sheet::XSheetCellRanges queryIntersection( + [in] com::sun::star::table::CellRangeAddress aRange ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XCellSeries.idl b/offapi/com/sun/star/sheet/XCellSeries.idl new file mode 100644 index 000000000..cf1642b6f --- /dev/null +++ b/offapi/com/sun/star/sheet/XCellSeries.idl @@ -0,0 +1,87 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XCellSeries_idl__ +#define __com_sun_star_sheet_XCellSeries_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/FillDirection.idl> +#include <com/sun/star/sheet/FillMode.idl> +#include <com/sun/star/sheet/FillDateMode.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to fill out a cell range automatically with values + based on a start value, step count and fill mode. + + @see com::sun::star::sheet::SheetCellRange + */ +published interface XCellSeries: com::sun::star::uno::XInterface +{ + + /** fills all cells in the range based on the specified settings. + + @param nFillDirection + specifies the direction to fill the rows/columns of the range. + + @param nFillMode + specifies the type of the series. + + @param nFillDateMode + specifies the calculation mode for date values. + + @param fStep + contains the value used to increase/decrease the series values. + + @param fEndValue + contains the threshold value on which the calculation of the + current series stops. + */ + void fillSeries( + [in] com::sun::star::sheet::FillDirection nFillDirection, + [in] com::sun::star::sheet::FillMode nFillMode, + [in] com::sun::star::sheet::FillDateMode nFillDateMode, + [in] double fStep, + [in] double fEndValue ); + + + /** fills all cells in the range in a way that is specified by the + first cell(s) in the range. + + @param nFillDirection + specifies the direction to fill the rows/columns of the range. + + @param nSourceCount + contains the number of cells in each row/column used to + constitute the fill algorithm. + */ + void fillAuto( + [in] com::sun::star::sheet::FillDirection nFillDirection, + [in] long nSourceCount ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XColorScaleEntry.idl b/offapi/com/sun/star/sheet/XColorScaleEntry.idl new file mode 100644 index 000000000..8d29e6365 --- /dev/null +++ b/offapi/com/sun/star/sheet/XColorScaleEntry.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_XColorScaleEntry_idl__ +#define __com_sun_star_sheet_XColorScaleEntry_idl__ + +#include <com/sun/star/util/Color.idl> + +module com { module sun { module star { module sheet { + +interface XColorScaleEntry +{ + com::sun::star::util::Color getColor(); + + void setColor( [in] com::sun::star::util::Color Color); + + string getFormula(); + + void setFormula( [in] string Formula); + + /** + * See com.sun.star.sheet.ColorScaleEntryType for possible values + */ + long getType(); + + /** + * See com.sun.star.sheet.ColorScaleEntryType for possible values + */ + void setType( [in] long Type); +}; + + +}; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XCompatibilityNames.idl b/offapi/com/sun/star/sheet/XCompatibilityNames.idl new file mode 100644 index 000000000..cf8e37388 --- /dev/null +++ b/offapi/com/sun/star/sheet/XCompatibilityNames.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XCompatibilityNames_idl__ +#define __com_sun_star_sheet_XCompatibilityNames_idl__ + +#include <com/sun/star/sheet/LocalizedName.idl> + + +module com { module sun { module star { module sheet { + + +/** gives access to the sequence of compatibility names for an Addin + function. + */ +published interface XCompatibilityNames: com::sun::star::uno::XInterface +{ + /** returns the compatibility names of the specified function. + + <p>Compatibility names are localized names of AddIn functions that + are used to import files from other applications.</p> + + <p>If on import a localized function name is read, this list of + compatibility names is used to find the internal name of the + function. The current locale may differ from the locale used in + the imported file, so the method + XAddIn::getProgrammaticFuntionName() cannot be used + here.</p> + + <p>The order inside the sequence of compatibility names is used to + prioritize the names. Initially the first compatibility name of + each function is compared to the imported name (each function may + provide a sequence of compatibility names - the first entry of all + sequences is used). If no entry is equal, the second entry of each + sequence is used and so on.</p> + + <p>If a locale is not present in the sequence of compatibility names, + the first entry of the sequence is used. So the method should return + a sequence which contains first the entry representing the current + locale.`TRUE`</p> + + @param aProgrammaticName + is the exact name of a method within its interface. + */ + sequence< com::sun::star::sheet::LocalizedName > + getCompatibilityNames( [in] string aProgrammaticName ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XConditionEntry.idl b/offapi/com/sun/star/sheet/XConditionEntry.idl new file mode 100644 index 000000000..d3ac1f9a9 --- /dev/null +++ b/offapi/com/sun/star/sheet/XConditionEntry.idl @@ -0,0 +1,32 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_XConditionEntry_idl__ +#define __com_sun_star_sheet_XConditionEntry_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/ConditionEntryType.idl> + +module com { module sun { module star { module sheet { + +/** + * Abstract base interface for any conditional format + * + * Is extended by any conditional format entry, e.g. color scale, data bar, icon set, date formats, condition formats + */ +interface XConditionEntry : com::sun::star::uno::XInterface +{ + long getType(); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XConditionalFormat.idl b/offapi/com/sun/star/sheet/XConditionalFormat.idl new file mode 100644 index 000000000..9520eae80 --- /dev/null +++ b/offapi/com/sun/star/sheet/XConditionalFormat.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_XConditionalFormat_idl__ +#define __com_sun_star_sheet_XConditionalFormat_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/sheet/XConditionEntry.idl> + +module com { module sun { module star { module sheet { + +interface XConditionalFormat : com::sun::star::container::XIndexAccess +{ + /** + * Creates a new conditional format entry and insert its at the position. + * + * @param Type: a com.sun.star.sheet.ConditionEntryType specifying the + * type of the new entry + * + * @param Position: the position in the conditional format + * + */ + void createEntry( [in] long Type, [in] long Position ); + + void removeByIndex( [in] long Index ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XConditionalFormats.idl b/offapi/com/sun/star/sheet/XConditionalFormats.idl new file mode 100644 index 000000000..7230fe5f2 --- /dev/null +++ b/offapi/com/sun/star/sheet/XConditionalFormats.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_XConditionalFormats_idl__ +#define __com_sun_star_sheet_XConditionalFormats_idl__ + +#include <com/sun/star/sheet/XConditionalFormat.idl> +#include <com/sun/star/sheet/XSheetCellRanges.idl> +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module sheet { + +interface XConditionalFormats : com::sun::star::uno::XInterface +{ + /** + * adds a conditional format to the existing list + * returns the id of the inserted conditional format + */ + long createByRange( [in] com::sun::star::sheet::XSheetCellRanges range); + + void removeByID( [in] long ID); + + sequence< XConditionalFormat > getConditionalFormats(); + + long getLength(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XConsolidatable.idl b/offapi/com/sun/star/sheet/XConsolidatable.idl new file mode 100644 index 000000000..493ddffbd --- /dev/null +++ b/offapi/com/sun/star/sheet/XConsolidatable.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XConsolidatable_idl__ +#define __com_sun_star_sheet_XConsolidatable_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/XConsolidationDescriptor.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to consolidate ranges in a spreadsheet document. + + <p>Consolidation combines the cells of multiple cell ranges, using a + specific function.</p> + + @deprecated + */ +published interface XConsolidatable: com::sun::star::uno::XInterface +{ + + /** creates a consolidation descriptor. + + @param bEmpty + `TRUE` leaves the descriptor empty, `FALSE` fills it with + the settings from the last consolidation action. + + @see com::sun::star::sheet::ConsolidationDescriptor + */ + com::sun::star::sheet::XConsolidationDescriptor createConsolidationDescriptor( + [in] boolean bEmpty ); + + + /** consolidates data from several cell ranges, using the settings + in the passed descriptor. + + @param xDescriptor + the descriptor used to perform the consolidation. + + @see com::sun::star::sheet::ConsolidationDescriptor + */ + void consolidate( + [in] com::sun::star::sheet::XConsolidationDescriptor xDescriptor ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XConsolidationDescriptor.idl b/offapi/com/sun/star/sheet/XConsolidationDescriptor.idl new file mode 100644 index 000000000..746b9cc6c --- /dev/null +++ b/offapi/com/sun/star/sheet/XConsolidationDescriptor.idl @@ -0,0 +1,117 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XConsolidationDescriptor_idl__ +#define __com_sun_star_sheet_XConsolidationDescriptor_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/GeneralFunction.idl> +#include <com/sun/star/table/CellRangeAddress.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the settings of a consolidation descriptor. + + @deprecated + + @see com::sun::star::sheet::ConsolidationDescriptor + */ +published interface XConsolidationDescriptor: com::sun::star::uno::XInterface +{ + + /** returns the function by which the ranges are consolidated. + */ + com::sun::star::sheet::GeneralFunction getFunction(); + + + /** sets the function by which the ranges are consolidated. + */ + void setFunction( [in] com::sun::star::sheet::GeneralFunction nFunction ); + + + /** returns the cell ranges which are consolidated. + */ + sequence< com::sun::star::table::CellRangeAddress > getSources(); + + + /** sets the cell ranges which are consolidated. + */ + void setSources( + [in] sequence< com::sun::star::table::CellRangeAddress > aSources ); + + + /** returns the position of the top left cell of the cell range where + the consolidated data are copied. + */ + com::sun::star::table::CellAddress getStartOutputPosition(); + + + /** sets the position of the top left cell of the cell range + where the consolidated data are copied. + */ + void setStartOutputPosition( + [in] com::sun::star::table::CellAddress aStartOutputPosition ); + + + /** returns, whether column headers from the cell ranges are used to + find matching data or not. + */ + boolean getUseColumnHeaders(); + + + /** specifies if column headers from the cell ranges are used to find + matching data. + */ + void setUseColumnHeaders( [in] boolean bUseColumnHeaders ); + + + /** returns, whether row headers from the cell ranges are used to + find matching data or not. + */ + boolean getUseRowHeaders(); + + + /** specifies if row headers from the cell ranges are used to find + matching data. + */ + void setUseRowHeaders( [in] boolean bUseRowHeaders ); + + + /** returns, whether links to the original data are inserted in the + output area or not. + */ + boolean getInsertLinks(); + + + /** specifies if links to the original data are inserted in the + output area. + */ + void setInsertLinks( [in] boolean bInsertLinks ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDDELink.idl b/offapi/com/sun/star/sheet/XDDELink.idl new file mode 100644 index 000000000..a710df258 --- /dev/null +++ b/offapi/com/sun/star/sheet/XDDELink.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDDELink_idl__ +#define __com_sun_star_sheet_XDDELink_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to change the settings of a DDE link. + + @deprecated + + @see com::sun::star::sheet::DDELink + */ +published interface XDDELink: com::sun::star::uno::XInterface +{ + + /** returns the application from which data are requested + (the DDE server application). + */ + string getApplication(); + + + /** returns the DDE topic from which data are requested. + */ + string getTopic(); + + + /** returns the DDE item from which data are requested. + */ + string getItem(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDDELinkResults.idl b/offapi/com/sun/star/sheet/XDDELinkResults.idl new file mode 100644 index 000000000..a17f41bec --- /dev/null +++ b/offapi/com/sun/star/sheet/XDDELinkResults.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDDELinkResults_idl__ +#define __com_sun_star_sheet_XDDELinkResults_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the DDE link results. + + @see com::sun::star::sheet::DDELink + + @since OOo 3.0 + */ +published interface XDDELinkResults: com::sun::star::uno::XInterface +{ + + /** returns the DDE link results. + + @returns + the DDE link results. The outer sequence contains the value rows. + The inner sequences contain the result values for one row. + */ + sequence< sequence< any > > getResults(); + + + /** sets the DDE link results. + + @param aResults + the DDE link results. The outer sequence contains the value rows. + The inner sequences contain the result values for one row. + If the outer sequence is empty, the existing DDE link results are + cleared. + */ + void setResults( [in] sequence< sequence< any > > aResults ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDDELinks.idl b/offapi/com/sun/star/sheet/XDDELinks.idl new file mode 100644 index 000000000..8bfdb9663 --- /dev/null +++ b/offapi/com/sun/star/sheet/XDDELinks.idl @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDDELinks_idl__ +#define __com_sun_star_sheet_XDDELinks_idl__ + +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/sheet/XDDELink.idl> +#include <com/sun/star/sheet/DDELinkMode.idl> + + +module com { module sun { module star { module sheet { + + +/** provides a method to add a DDE link to a spreadsheet. + + @see com::sun::star::sheet::DDELinks + + @since OOo 3.0 + */ +published interface XDDELinks: com::sun::star::container::XNameAccess +{ + + /** adds a DDE link to the spreadsheet without updating it. + + <p>If a DDE link with the specified parameters already exists, the + existing DDE link will be returned. Otherwise a new DDE link will be + created.</p> + + @param aApplication + the DDE server application from which data are requested. + + @param aTopic + the DDE topic from which data are requested. + + @param aItem + the DDE item from which data are requested. + + @param nMode + the DDE link mode. + + @returns + the DDE link. + */ + com::sun::star::sheet::XDDELink addDDELink( + [in] string aApplication, + [in] string aTopic, + [in] string aItem, + [in] com::sun::star::sheet::DDELinkMode nMode ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDataBarEntry.idl b/offapi/com/sun/star/sheet/XDataBarEntry.idl new file mode 100644 index 000000000..746de16c2 --- /dev/null +++ b/offapi/com/sun/star/sheet/XDataBarEntry.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_XDataBarEntry_idl__ +#define __com_sun_star_sheet_XDataBarEntry_idl__ + +module com { module sun { module star { module sheet { + +interface XDataBarEntry +{ + string getFormula(); + + void setFormula( [in] string Formula); + + /** + * See com.sun.star.sheet.DataBarEntryType for possible values + */ + long getType(); + + /** + * See com.sun.star.sheet.DataBarEntryType for possible values + */ + void setType( [in] long Type); +}; + + +}; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl b/offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl new file mode 100644 index 000000000..ab3038c35 --- /dev/null +++ b/offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDataPilotDataLayoutFieldSupplier_idl__ +#define __com_sun_star_sheet_XDataPilotDataLayoutFieldSupplier_idl__ + +#include <com/sun/star/sheet/XDataPilotField.idl> + + +module com { module sun { module star { module sheet { + + +/** Provides access to the DataPilotField used to layout + multiple data fields. + + <p>This data field can be inserted into the rows dimension or columns + dimension by changing its DataPilotField::Orientation + property. This interface can be used to access the data layout field + before multiple data fields are inserted into the DataPilot table. It + remains invisible as long as the DataPilot table contains at most one data + field.</p> + + @see com::sun::star::sheet::DataPilotDescriptor + @see com::sun::star::sheet::DataPilotTable + */ +published interface XDataPilotDataLayoutFieldSupplier +{ + + /** Returns the DataPilotField used to layout multiple data + fields. + + <p>If the field does not exist yet, it will be created. It is possible + to insert this field into the rows or columns dimension by changing + its DataPilotField::Orientation property.</p> + */ + XDataPilotField getDataLayoutField(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl b/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl new file mode 100644 index 000000000..651fba350 --- /dev/null +++ b/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl @@ -0,0 +1,118 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDataPilotDescriptor_idl__ +#define __com_sun_star_sheet_XDataPilotDescriptor_idl__ + +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/table/CellRangeAddress.idl> +#include <com/sun/star/sheet/XSheetFilterDescriptor.idl> +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the layout settings of a data pilot table. + + <p>This interface extends the interface + com::sun::star::container::XNamed which provides + access to the name of the data pilot table used e.g. in collections.</p> + + @see com::sun::star::sheet::DataPilotDescriptor + @see com::sun::star::sheet::DataPilotTable + */ +published interface XDataPilotDescriptor: com::sun::star::container::XNamed +{ + + /** returns an additional string stored in the data pilot table. + */ + string getTag(); + + + /** sets an additional string stored in the data pilot table. + */ + void setTag( [in] string aTag ); + + + /** returns the cell range containing the data for the data pilot table. + */ + com::sun::star::table::CellRangeAddress getSourceRange(); + + + /** sets the cell range containing the data for the data pilot table. + */ + void setSourceRange( + [in] com::sun::star::table::CellRangeAddress aSourceRange ); + + + /** returns the filter descriptor specifying which data from the + source cell range are used for the data pilot table. + */ + com::sun::star::sheet::XSheetFilterDescriptor getFilterDescriptor(); + + + /** returns the collection of all the data pilot fields. + */ + com::sun::star::container::XIndexAccess getDataPilotFields(); + + + /** returns the collection of the data pilot fields used as column fields. + + @see com::sun::star::sheet::DataPilotFields + */ + com::sun::star::container::XIndexAccess getColumnFields(); + + + /** returns the collection of the data pilot fields used as row fields. + + @see com::sun::star::sheet::DataPilotFields + */ + com::sun::star::container::XIndexAccess getRowFields(); + + + /** returns the collection of the data pilot fields used as page fields. + + @see com::sun::star::sheet::DataPilotFields + */ + com::sun::star::container::XIndexAccess getPageFields(); + + + /** returns the collection of the data pilot fields used as data fields. + + @see com::sun::star::sheet::DataPilotFields + */ + com::sun::star::container::XIndexAccess getDataFields(); + + + /** returns the collection of the data pilot fields not used as + column, row, page, or data fields. + + @see com::sun::star::sheet::DataPilotFields + */ + com::sun::star::container::XIndexAccess getHiddenFields(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDataPilotField.idl b/offapi/com/sun/star/sheet/XDataPilotField.idl new file mode 100644 index 000000000..11b7ae8d4 --- /dev/null +++ b/offapi/com/sun/star/sheet/XDataPilotField.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDataPilotField_idl__ +#define __com_sun_star_sheet_XDataPilotField_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to control a data pilot field which has already + been created. + + @see com::sun::star::sheet::DataPilotField + */ +published interface XDataPilotField: com::sun::star::uno::XInterface +{ + + /** returns the collection of the data pilot items. + + @see com::sun::star::sheet::DataPilotItems + */ + com::sun::star::container::XIndexAccess getItems(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl b/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl new file mode 100644 index 000000000..3b935013b --- /dev/null +++ b/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl @@ -0,0 +1,155 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDataPilotFieldGrouping_idl__ +#define __com_sun_star_sheet_XDataPilotFieldGrouping_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/DataPilotFieldGroupInfo.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +module com { module sun { module star { module sheet { + + +/** Provides methods to create new DataPilot fields where some or all items of + this DataPilot field are grouped in some way. + + @see DataPilotField + */ +published interface XDataPilotFieldGrouping: com::sun::star::uno::XInterface +{ + + /** Creates a new DataPilot field which contains a group containing the + given DataPilot field items (members). + + <p>It is possible to create multiple groups by calling this method + several times at the same DataPilot field. On subsequent calls, the + DataPilot field created at the first call is used to insert the new + groups.</p> + + <p>The collection of groups can be accessed via the + DataPilotField::GroupInfo property. The returned + struct contains the sequence of groups in its member + DataPilotFieldGroupInfo::Groups.</p> + + @param aItems + a sequence containing the names of the items (members) which will + be part of the new group. Must be names of items contained in the + current field. + + @returns + the new created field if there is one created on the first call of + this method. `NULL` is returned on subsequent calls. + + @see DataPilotField + @see DataPilotFieldGroupInfo + */ + XDataPilotField createNameGroup([in] sequence< string > aItems) + raises( com::sun::star::lang::IllegalArgumentException ); + + + /** Groups the members of this field by dates, according to the passed + settings. + + <p>If this field is already grouped by dates, a new DataPilot field + will be created and returned. If this field is not grouped at all, the + date grouping is performed inside of this field (no new field will be + created). There must not be any other grouping (by member names or by + numeric ranges), otherwise an exception is thrown.</p> + + @param aInfo + contains the information how to group the items of the field. The + members of this struct have to fulfill the following requirements: + + <ul> + <li>If the member DataPilotFieldGroupInfo::HasAutoStart + is set to `FALSE`, then the value of + DataPilotFieldGroupInfo::Start must be a floating-point + value representing a valid date/time value (if + DataPilotFieldGroupInfo::HasAutoStart is set to `TRUE`, + the value of DataPilotFieldGroupInfo::Start will + be ignored).</li> + + <li>If the member DataPilotFieldGroupInfo::HasAutoEnd + is set to `FALSE`, then the value of + DataPilotFieldGroupInfo::End must be a floating-point + value representing a valid date/time value( if + DataPilotFieldGroupInfo::HasAutoEnd is set to `TRUE`, + the value of DataPilotFieldGroupInfo::End will be + ignored).</li> + + <li>If the members DataPilotFieldGroupInfo::HasAutoStart + and DataPilotFieldGroupInfo::HasAutoEnd + are set to `FALSE` both, then the value of + DataPilotFieldGroupInfo::Start must be less than or equal + to the value of DataPilotFieldGroupInfo::End.</li> + + <li>The member DataPilotFieldGroupInfo::HasDateValues + must be set to `TRUE`.</li> + + <li>The member DataPilotFieldGroupInfo::Step must + be zero, unless ranges of days have to be grouped (see the + description of the member GroupBy below), in that case the value + must be greater than or equal to 1 and less than or equal to 32767. + The fractional part of the value will be ignored.</li> + + <li>The member DataPilotFieldGroupInfo::GroupBy + must contain exactly one of the flags from DataPilotFieldGroupBy. + A combination of several flags will not be accepted. If + DataPilotFieldGroupBy::DAYS is specified, the + value of the member DataPilotFieldGroupInfo::Step + will specify the type of day grouping (see above). If that value + is zero, grouping is performed on all days of the year (e.g. the + members containing the 1st of January of any year are grouped + together). If that value is greater than zero, grouping is done on + ranges of days, and the value specifies the number of days grouped + into one range (e.g. a value of 7 groups the members of a week + into a range).</li> + + <li>The contents of the member + DataPilotFieldGroupInfo::SourceField will be ignored.</li> + + <li>The contents of the member + DataPilotFieldGroupInfo::Groups will be ignored.</li> + </ul> + + @returns + the new created field if there is one created. `NULL` is returned, + if date grouping is performed inside this field (i.e. this field + was not grouped by dates before). + + @throws com::sun::star::lang::IllegalArgumentException + if the passed struct does not contain valid settings as described, + or if this field is already grouped by member names or numeric + ranges. + + @see DataPilotField + */ + XDataPilotField createDateGroup([in] DataPilotFieldGroupInfo aInfo) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDataPilotMemberResults.idl b/offapi/com/sun/star/sheet/XDataPilotMemberResults.idl new file mode 100644 index 000000000..9f574783e --- /dev/null +++ b/offapi/com/sun/star/sheet/XDataPilotMemberResults.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDataPilotMemberResults_idl__ +#define __com_sun_star_sheet_XDataPilotMemberResults_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/MemberResult.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to a sequence of results of a data pilot source level. + + <p>These results are used to fill the data area for the level in a data + pilot table.</p> + + @see com::sun::star::sheet::DataPilotSourceLevel + @see com::sun::star::sheet::DataPilotSource + @see com::sun::star::sheet::XDataPilotResults + */ +interface XDataPilotMemberResults: com::sun::star::uno::XInterface +{ + + /** returns the sequence of results for the regarding data pilot + source level. + */ + sequence< com::sun::star::sheet::MemberResult > getResults(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDataPilotResults.idl b/offapi/com/sun/star/sheet/XDataPilotResults.idl new file mode 100644 index 000000000..65903526c --- /dev/null +++ b/offapi/com/sun/star/sheet/XDataPilotResults.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDataPilotResults_idl__ +#define __com_sun_star_sheet_XDataPilotResults_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/DataResult.idl> +#include <com/sun/star/sheet/DataPilotFieldFilter.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to a table of results of a data pilot source. + + <p>These results are used to fill the data area of a data pilot table.</p> + + @see com::sun::star::sheet::DataPilotSource + @see com::sun::star::sheet::XDataPilotMemberResults + */ +interface XDataPilotResults: com::sun::star::uno::XInterface +{ + + /** returns the result array. + + <p>The outer sequence contains the value rows. The inner sequences + contain the values for one row.</p> + */ + sequence< sequence< DataResult > > getResults(); + + sequence<double> getFilteredResults( + [in] sequence<com::sun::star::sheet::DataPilotFieldFilter> aFilters ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDataPilotTable.idl b/offapi/com/sun/star/sheet/XDataPilotTable.idl new file mode 100644 index 000000000..3b3db2a60 --- /dev/null +++ b/offapi/com/sun/star/sheet/XDataPilotTable.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDataPilotTable_idl__ +#define __com_sun_star_sheet_XDataPilotTable_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to control a data pilot table which has already + been created. + + @see com::sun::star::sheet::DataPilotTable + */ +published interface XDataPilotTable: com::sun::star::uno::XInterface +{ + + /** returns the address of the cell range that contains the data + pilot table. + */ + com::sun::star::table::CellRangeAddress getOutputRange(); + + + /** recreates the data pilot table with current data from the source + cell range. + */ + void refresh(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDataPilotTable2.idl b/offapi/com/sun/star/sheet/XDataPilotTable2.idl new file mode 100644 index 000000000..cec0aed51 --- /dev/null +++ b/offapi/com/sun/star/sheet/XDataPilotTable2.idl @@ -0,0 +1,106 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDataPilotTable2_idl__ +#define __com_sun_star_sheet_XDataPilotTable2_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellAddress.idl> +#include <com/sun/star/table/CellRangeAddress.idl> +#include <com/sun/star/sheet/XDataPilotTable.idl> +#include <com/sun/star/sheet/DataPilotOutputRangeType.idl> +#include <com/sun/star/sheet/DataPilotFieldFilter.idl> +#include <com/sun/star/sheet/DataPilotTablePositionData.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + +module com { module sun { module star { module sheet { + +/** additional methods to extend com::sun::star::sheet::XDataPilotTable. + + com::sun::star::sheet::XDataPilotTable2 extends the old + com::sun::star::sheet::XDataPilotTable interface with + additional methods. + + @see com::sun::star::sheet::XDataPilotTable + + @since OOo 3.0 + */ +interface XDataPilotTable2: com::sun::star::sheet::XDataPilotTable +{ + /** When the address of a cell within the result area is given, + XDataPilotTable2::getDrillDownData() returns its drill-down + output table that includes only those rows that contribute to the value of + that cell. + + @param aAddr cell address within the result area of a DataPilot table. + + @returns drill-down output as 2-dimensional sequence, including the header row. + + @see XDataPilotTable2::insertDrillDownSheet() + */ + sequence< sequence< any > > getDrillDownData( [in] com::sun::star::table::CellAddress aAddr ); + + /** Given a cell address, it returns the information about that cell. The + type of information returned depends upon whether the cell is within + the result area or column/row header area. + + @param aAddr address of the cell whose information is to be returned. + + @returns DataPilotTablePositionData which contains the + position type and the information for that cell position. + + @see com::sun::star::sheet::DataPilotTablePositionData + @see com::sun::star::sheet::DataPilotTableHeaderData + @see com::sun::star::sheet::DataPilotTableResultData + */ + DataPilotTablePositionData getPositionData( [in] com::sun::star::table::CellAddress aAddr ); + + /** <p>This method inserts a new sheet to display the drill-down data for a + specified result cell. A drill-down data for a result cell consists + of a subset of rows from the original data source that contribute to + the value displayed in that cell.</p> + + <p>The new sheet is always inserted to the immediate left of the current + sheet where the DataPilot table is. Note that when the drill-down data + is empty, no new sheet is inserted.</p> + + @param aAddr address of a result cell + + @returns `VOID` + */ + void insertDrillDownSheet( [in] com::sun::star::table::CellAddress aAddr ); + + /** <p>This method returns a different output range of a DataPilot table + per specified output range type.</p> + + @returns com::sun::star::table::CellRangeAddress depicting + the range specified. See DataPilotOutputRangeType for a set + of possible output range types. + + @see com::sun::star::sheet::DataPilotOutputRangeType + */ + com::sun::star::table::CellRangeAddress getOutputRangeByType( [in] long nType ) + raises (com::sun::star::lang::IllegalArgumentException); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDataPilotTables.idl b/offapi/com/sun/star/sheet/XDataPilotTables.idl new file mode 100644 index 000000000..75feee5e3 --- /dev/null +++ b/offapi/com/sun/star/sheet/XDataPilotTables.idl @@ -0,0 +1,85 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDataPilotTables_idl__ +#define __com_sun_star_sheet_XDataPilotTables_idl__ + +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/sheet/XDataPilotDescriptor.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the data pilot tables via name and inserting and + removing data pilot tables. + + <p>This interface extends the interface + com::sun::star::container::XNameAccess which provides + access to existing data pilot tables in the collection.</p> + + @see com::sun::star::sheet::DataPilotTables + @see com::sun::star::sheet::DataPilotTable + */ +published interface XDataPilotTables: com::sun::star::container::XNameAccess +{ + + /** creates a data pilot descriptor. + + <p>This descriptor can be used with + XDataPilotTables::addTable().</p> + + @see com::sun::star::sheet::DataPilotDescriptor + */ + com::sun::star::sheet::XDataPilotDescriptor createDataPilotDescriptor(); + + + /** creates a new data pilot table and adds it to the collection. + + @param aName + the name of the data pilot table used in the collection. + + @param OutputAddress + the top left cell of the location of the data pilot table in + the spreadsheet document. + + @param xDescriptor + the descriptor containing the settings of the data pilot table. + + @see com::sun::star::sheet::DataPilotDescriptor + */ + void insertNewByName( + [in] string aName, + [in] com::sun::star::table::CellAddress OutputAddress, + [in] com::sun::star::sheet::XDataPilotDescriptor xDescriptor ); + + + /** deletes a data pilot table from the collection. + */ + void removeByName( [in] string aName ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDataPilotTablesSupplier.idl b/offapi/com/sun/star/sheet/XDataPilotTablesSupplier.idl new file mode 100644 index 000000000..6add6e106 --- /dev/null +++ b/offapi/com/sun/star/sheet/XDataPilotTablesSupplier.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDataPilotTablesSupplier_idl__ +#define __com_sun_star_sheet_XDataPilotTablesSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/XDataPilotTables.idl> + + +module com { module sun { module star { module sheet { + + +/** grants access to a collection of data pilot tables. + + @see com::sun::star::sheet::Spreadsheet + */ +published interface XDataPilotTablesSupplier: com::sun::star::uno::XInterface +{ + + /** Returns the collection of data pilot tables. + + @see com::sun::star::sheet::DataPilotTables + */ + com::sun::star::sheet::XDataPilotTables getDataPilotTables(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDatabaseRange.idl b/offapi/com/sun/star/sheet/XDatabaseRange.idl new file mode 100644 index 000000000..6a8d753bb --- /dev/null +++ b/offapi/com/sun/star/sheet/XDatabaseRange.idl @@ -0,0 +1,100 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDatabaseRange_idl__ +#define __com_sun_star_sheet_XDatabaseRange_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellRangeAddress.idl> +#include <com/sun/star/beans/PropertyValue.idl> +#include <com/sun/star/sheet/XSheetFilterDescriptor.idl> +#include <com/sun/star/sheet/XSubTotalDescriptor.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the settings and options of a database range. + + @see com::sun::star::sheet::DatabaseRange + */ +published interface XDatabaseRange: com::sun::star::uno::XInterface +{ + + /** returns the data area of the database range in the + spreadsheet document. + */ + com::sun::star::table::CellRangeAddress getDataArea(); + + + /** sets the data area of the database range. + */ + void setDataArea( [in] com::sun::star::table::CellRangeAddress aDataArea ); + + + /** returns the sort descriptor stored with the database range. + + @see SheetSortDescriptor2 + */ + sequence< com::sun::star::beans::PropertyValue > getSortDescriptor(); + + + /** returns the filter descriptor stored with the database range. + + <p>If the filter descriptor is modified, the new filtering is + carried out when XDatabaseRange::refresh() is + called.</p> + + @see SheetFilterDescriptor + */ + XSheetFilterDescriptor getFilterDescriptor(); + + + /** returns the subtotal descriptor stored with the database range. + + <p>If the subtotal descriptor is modified, the new subtotals are + inserted when XDatabaseRange::refresh() is + called.</p> + + @see SubTotalDescriptor + */ + XSubTotalDescriptor getSubTotalDescriptor(); + + + /** returns the database import descriptor stored with this database + range. + + @see DatabaseImportDescriptor + */ + sequence< com::sun::star::beans::PropertyValue > getImportDescriptor(); + + + /** executes the stored import, filter, sorting, and subtotals + descriptors again. + */ + void refresh(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDatabaseRanges.idl b/offapi/com/sun/star/sheet/XDatabaseRanges.idl new file mode 100644 index 000000000..3e9f9f1bf --- /dev/null +++ b/offapi/com/sun/star/sheet/XDatabaseRanges.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDatabaseRanges_idl__ +#define __com_sun_star_sheet_XDatabaseRanges_idl__ + +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides functions to manage a collection of database ranges. + + @see com::sun::star::sheet::DatabaseRanges + */ +published interface XDatabaseRanges: com::sun::star::container::XNameAccess +{ + + /** adds a new database range to the collection. + */ + void addNewByName( + [in] string aName, + [in] com::sun::star::table::CellRangeAddress aRange ); + + + /** removes a database range from the collection. + */ + void removeByName( [in] string aName ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDimensionsSupplier.idl b/offapi/com/sun/star/sheet/XDimensionsSupplier.idl new file mode 100644 index 000000000..9294d06cd --- /dev/null +++ b/offapi/com/sun/star/sheet/XDimensionsSupplier.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDimensionsSupplier_idl__ +#define __com_sun_star_sheet_XDimensionsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/XNameAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the collection of dimensions of a data pilot source. + + @see com::sun::star::sheet::DataPilotSource + */ +interface XDimensionsSupplier: com::sun::star::uno::XInterface +{ + + /** returns the collection of dimensions. + + @see com::sun::star::sheet::DataPilotSourceDimensions + */ + com::sun::star::container::XNameAccess getDimensions(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDocumentAuditing.idl b/offapi/com/sun/star/sheet/XDocumentAuditing.idl new file mode 100644 index 000000000..b3be8763e --- /dev/null +++ b/offapi/com/sun/star/sheet/XDocumentAuditing.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDocumentAuditing_idl__ +#define __com_sun_star_sheet_XDocumentAuditing_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** provides auditing functions of a document. + */ +published interface XDocumentAuditing: com::sun::star::uno::XInterface +{ + + /** refreshes all existing auditing arrows on all sheets of the + document. + + <p>Dependencies are marked for all the cells that were marked + before, but using current formulas.</p> + */ + void refreshArrows(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl b/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl new file mode 100644 index 000000000..681967c15 --- /dev/null +++ b/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XDrillDownDataSupplier_idl__ +#define __com_sun_star_sheet_XDrillDownDataSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/DataPilotFieldFilter.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** supplies a filtered subset of the original data source based on filtering criteria. + + A service that acts as a DataPilot data source can optionally implement this + interface to allow drill-down of result data. The method this interface provides + is used internally when calling XDataPilotTable2::getDrillDownData() + or XDataPilotTable2::insertDrillDownSheet(). If the data source + service does not implement this interface, then the aforementioned two methods + will have no effect. + + @see com::sun::star::sheet::DataPilotSource + + @since OOo 3.0 + */ +interface XDrillDownDataSupplier: com::sun::star::uno::XInterface +{ + /** This method returns filtered subset of the original source data based on + a given set of filtering criteria. + + @param aFilters filtering criteria + + @returns a filtered subset of the original source data as 2-dimensional + sequences of `any`. The first row must be the header row. Each `any` + instance must contain either double value for a numeric cell, or + a string value for a string cell. + + @see com::sun::star::sheet::DataPilotFieldFilter + @see com::sun::star::sheet::XDataPilotTable2 + */ + sequence< sequence< any > > getDrillDownData( + [in] sequence< com::sun::star::sheet::DataPilotFieldFilter > aFilters ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl b/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl new file mode 100644 index 000000000..b88244ee8 --- /dev/null +++ b/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XEnhancedMouseClickBroadcaster_idl__ +#define __com_sun_star_sheet_XEnhancedMouseClickBroadcaster_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/awt/XEnhancedMouseClickHandler.idl> + + + +module com { module sun { module star { module sheet { + + +/** provides methods to add and remove EnhancedMouseClickHandler + + @since OOo 2.0 + + */ +published interface XEnhancedMouseClickBroadcaster: com::sun::star::uno::XInterface +{ + + /** allows a component supporting the + XEnhancedMouseClickHandler interface to + register as listener. The component will be notified with a + EnhancedMouseEvent every time the mouse is clicked + in the spreadsheet</p> + + @param aListener + the component that is to be added as listener + + @see XEnhancedMouseClickHandler + @see EnhancedMouseEvent + + The interfaces in the EnhancedMouseEvent can be XCell or XShape + + @see XShape + @see XCell + + */ + void addEnhancedMouseClickHandler([in] com::sun::star::awt::XEnhancedMouseClickHandler aListener); + + + /** removes a previously registered listener. + + @param aListener + the component that is to be removed + */ + void removeEnhancedMouseClickHandler( [in] com::sun::star::awt::XEnhancedMouseClickHandler aListener ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XExternalDocLink.idl b/offapi/com/sun/star/sheet/XExternalDocLink.idl new file mode 100644 index 000000000..a19b50088 --- /dev/null +++ b/offapi/com/sun/star/sheet/XExternalDocLink.idl @@ -0,0 +1,88 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#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 com::sun::star::sheet::ExternalDocLink service. + + @see com::sun::star::sheet::ExternalDocLink + + @since OOo 3.1 + */ +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 + + @param DynamicCache specify whether or not the cache can grow when + non-cached regions are queried. If `TRUE`, querying a non-cached + cell in this sheet cache will allow Calc to try to access the source + document to fetch the value in first access. If `FALSE`, the source + document will not be accessed, and the non-cached regions are treated + as empty cells. + + @return com::sun::star::sheet::XExternalSheetCache sheet cache instance + */ + com::sun::star::sheet::XExternalSheetCache addSheetCache( [in] string aSheetName, [in] boolean DynamicCache ); + + + /** Index corresponding to the external document link. + + <p>This index value corresponds with the external document + represented by an instance of + com::sun::star::sheet::ExternalDocLink. 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 com::sun::star::sheet::ExternalDocLinks 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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XExternalDocLinks.idl b/offapi/com/sun/star/sheet/XExternalDocLinks.idl new file mode 100644 index 000000000..0fca782f2 --- /dev/null +++ b/offapi/com/sun/star/sheet/XExternalDocLinks.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#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 com::sun::star::sheet::ExternalDocLinks service. + + @see com::sun::star::sheet::ExternalDocLinks + + @since OOo 3.1 + */ +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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XExternalSheetCache.idl b/offapi/com/sun/star/sheet/XExternalSheetCache.idl new file mode 100644 index 000000000..d386bf4dc --- /dev/null +++ b/offapi/com/sun/star/sheet/XExternalSheetCache.idl @@ -0,0 +1,92 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#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 com::sun::star::sheet::ExternalSheetCache service. + + @see com::sun::star::sheet::ExternalSheetCache + + @since OOo 3.1 + */ +interface XExternalSheetCache +{ + /** It sets a cached value for a specified cell position. The value is expected + to be either of type string or of type double. 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 string or double. + + @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 + SingleReference::Sheet member if it is part of an + external reference token. + + <p>Each external sheet cache has a unique index value inside the + ExternalDocLink instance.</p> + + @see FormulaToken + @see ExternalReference + */ + [attribute, readonly] long TokenIndex; + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XExternalSheetName.idl b/offapi/com/sun/star/sheet/XExternalSheetName.idl new file mode 100644 index 000000000..dc9cdf95b --- /dev/null +++ b/offapi/com/sun/star/sheet/XExternalSheetName.idl @@ -0,0 +1,66 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XExternalSheetName_idl__ +#define __com_sun_star_sheet_XExternalSheetName_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/ElementExistException.idl> + + +module com { module sun { module star { module sheet { + + +/** provides a method to set an external name at the sheet. + + <p>An external reference in a cell formula is implemented using a + hidden sheet which is linked to the sheet in the external document. + The name of the hidden sheet is composed of the URL of the external + document and the external sheet name.</p> + + @since OOo 3.0 + */ +interface XExternalSheetName: com::sun::star::uno::XInterface +{ + + /** sets an external name at the sheet. + + <p>This method allows to compose the sheet name from the URL of the + external document and the name of the external sheet.</p> + + @param aUrl + the URL of the external document. + + @param aSheetName + the name of the sheet in the external document. + + @throws ::com::sun::star::container::ElementExistException + a sheet with that external name already exists in this document + */ + void setExternalName( [in] string aUrl, [in] string aSheetName ) + raises (com::sun::star::container::ElementExistException); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XFillAcrossSheet.idl b/offapi/com/sun/star/sheet/XFillAcrossSheet.idl new file mode 100644 index 000000000..93a47e74c --- /dev/null +++ b/offapi/com/sun/star/sheet/XFillAcrossSheet.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XFillAcrossSheet_idl__ +#define __com_sun_star_sheet_XFillAcrossSheet_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + + module com { module sun { module star { module sheet { + + +/** @deprecated + */ +published interface XFillAcrossSheet: com::sun::star::uno::XInterface +{ + + /** copies data between ranges onto different sheets in + the document. + */ + void fillAcrossSheets( [in] long nContentFlags ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XFilterFormulaParser.idl b/offapi/com/sun/star/sheet/XFilterFormulaParser.idl new file mode 100644 index 000000000..008097fe3 --- /dev/null +++ b/offapi/com/sun/star/sheet/XFilterFormulaParser.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XFilterFormulaParser_idl__ +#define __com_sun_star_sheet_XFilterFormulaParser_idl__ + +#include <com/sun/star/sheet/XFormulaParser.idl> + + +module com { module sun { module star { module sheet { + + +/** Extends the interface XFormulaParser by an attribute that + specifies the namespace URL of the supported formula language. + */ +interface XFilterFormulaParser : XFormulaParser +{ + + /** Specifies the namespace URL of the formula language supported by this + implementation. + */ + [attribute, readonly] string SupportedNamespace; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl b/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl new file mode 100644 index 000000000..90fe048dd --- /dev/null +++ b/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl @@ -0,0 +1,132 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XFormulaOpCodeMapper_idl__ +#define __com_sun_star_sheet_XFormulaOpCodeMapper_idl__ + +#include <com/sun/star/sheet/FormulaOpCodeMapEntry.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +module com { module sun { module star { module sheet { + + +/** gives access to spreadsheet compiler token interns. + */ +interface XFormulaOpCodeMapper +{ + + /** OpCode value used for external Add-In functions. + + <p>Needed to be able to identify which of the function names map to an + Add-In implementation where this OpCode is used in the returned + mapping and the programmatic name is available as additional + information.</p> + */ + [attribute, readonly] long OpCodeExternal; + + + /** OpCode value used for unknown functions. + + <p>Used to identify which of the function names queried with + getMappings() are unknown to the implementation.</p> + */ + [attribute, readonly] long OpCodeUnknown; + + + /** returns a sequence of tokens matching the input sequence of + strings in order. + + @param Names + Sequence of names to be mapped. These can be function names, + operators, separators and other symbols the formula compiler + knows. + + @param Language + Formula language to be used, one of FormulaLanguage + constants. If a constant unknown to the implementation is passed, + com::sun::star::lang::IllegalArgumentException + is thrown. + + @returns + a sequence of FormulaToken matching the input + sequence in order. + + <p>Each string element in parameter Names according to the formula + language in parameter Language is mapped to a FormulaToken + containing the internal OpCode used by the spreadsheet + application in FormulaToken::OpCode and by + contract maybe additional information in + FormulaToken::Data.</p> + + <p>The order of the FormulaToken sequence returned matches the + input order of the string sequence.</p> + + <p>An unknown Name string gets the OpCode value of + #OpCodeUnknown assigned.</p> + + <p>Additional information in FormulaToken::Data + is returned for: + <ul> + <li>Add-in names: the programmatic name. The OpCode value used + for add-ins can be queried with the #OpCodeExternal + getter method.</li> + </ul></p> + */ + sequence< FormulaToken > getMappings( + [in] sequence< string > Names, + [in] long Language ) + raises( com::sun::star::lang::IllegalArgumentException ); + + + /** returns a sequence of map entries for all available elements of + a given formula language. + + @param Language + Formula language to be used, one of FormulaLanguage + constants. If a constant unknown to the implementation is passed, + com::sun::star::lang::IllegalArgumentException + is thrown. + + @param Groups + Group of mappings to be returned, a bit mask of + FormulaMapGroup constants. + + @returns + Sequence of FormulaOpCodeMapEntry. + + <p>Each element of the formula language in parameter Language is + mapped to a FormulaToken containing the internal + OpCode used by the spreadsheet application in + FormulaToken::OpCode and by contract maybe additional + information in FormulaToken::Data. See + getMappings() for more details.</p> + */ + sequence< FormulaOpCodeMapEntry > getAvailableMappings( + [in] long Language, [in] long Groups ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XFormulaParser.idl b/offapi/com/sun/star/sheet/XFormulaParser.idl new file mode 100644 index 000000000..3cede3b92 --- /dev/null +++ b/offapi/com/sun/star/sheet/XFormulaParser.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XFormulaParser_idl__ +#define __com_sun_star_sheet_XFormulaParser_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/FormulaToken.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** converts between text and token representations of formulas. + */ +interface XFormulaParser +{ + + /** parses a formula into a sequence of tokens. + */ + sequence< FormulaToken > parseFormula( + [in] string aFormula, + [in] ::com::sun::star::table::CellAddress aReferencePos ); + + + /** converts a formula into a string. + */ + string printFormula( + [in] sequence< FormulaToken > aTokens, + [in] ::com::sun::star::table::CellAddress aReferencePos ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XFormulaQuery.idl b/offapi/com/sun/star/sheet/XFormulaQuery.idl new file mode 100644 index 000000000..0101ce101 --- /dev/null +++ b/offapi/com/sun/star/sheet/XFormulaQuery.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XFormulaQuery_idl__ +#define __com_sun_star_sheet_XFormulaQuery_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/XSheetCellRanges.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to query cells for dependencies + in formulas. + + <p>All methods return a collection of cell ranges.</p> + + @see com::sun::star::sheet::SheetRangesQuery + @see com::sun::star::sheet::SheetCellRanges + */ +published interface XFormulaQuery: com::sun::star::uno::XInterface +{ + + /** queries all dependent formula cells. + + <p>Dependent cells are cells containing formulas with references to + the original cell.</p> + + @param bRecursive + `FALSE` = queries cells dependent from the original range(s), + `TRUE` = repeats query with all found cells + (finds dependents of dependents, and so on). + + @return + all dependent cells of any formula cell of the current + cell range(s). + */ + com::sun::star::sheet::XSheetCellRanges queryDependents( + [in] boolean bRecursive ); + + + /** queries all precedent cells. + + <p>Precedent cells are cells which are referenced from a formula + cell.</p> + + @param bRecursive + `FALSE` = queries precedent cells of the original range(s), + `TRUE` = repeats query with all found cells + (finds precedents of precedents, and so on). + + @return + all precedent cells of any formula cell of the current cell + range(s). + */ + com::sun::star::sheet::XSheetCellRanges queryPrecedents( + [in] boolean bRecursive ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XFormulaTokens.idl b/offapi/com/sun/star/sheet/XFormulaTokens.idl new file mode 100644 index 000000000..4606ad46f --- /dev/null +++ b/offapi/com/sun/star/sheet/XFormulaTokens.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XFormulaTokens_idl__ +#define __com_sun_star_sheet_XFormulaTokens_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/FormulaToken.idl> + + +module com { module sun { module star { module sheet { + + +/** gives access to a formula as token sequence. + */ +interface XFormulaTokens +{ + + /** returns the formula as sequence of tokens. + */ + sequence< FormulaToken > getTokens(); + + + /** sets the formula as sequence of tokens. + */ + void setTokens( [in] sequence< FormulaToken > aTokens ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XFunctionAccess.idl b/offapi/com/sun/star/sheet/XFunctionAccess.idl new file mode 100644 index 000000000..bf7abce71 --- /dev/null +++ b/offapi/com/sun/star/sheet/XFunctionAccess.idl @@ -0,0 +1,106 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XFunctionAccess_idl__ +#define __com_sun_star_sheet_XFunctionAccess_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +module com { module sun { module star { module sheet { + + +/** allows generic access to all spreadsheet functions. + + @see com::sun::star::sheet::FunctionAccess + */ +published interface XFunctionAccess: com::sun::star::uno::XInterface +{ + + /** calls a function and returns the result of the call. + + @param aName + the (programmatic) name of the function. + + @param aArguments + the arguments for the function call. + <p>Each element must be of one of the following types:</p> + + <dl> + <dt>`long` or `double`</dt> + <dd>for a numeric value.</dd> + + <dt>`string`</dt> + <dd>for a textual value.</dd> + + <dt>`long[][]` or `double[][]`</dt> + <dd>for an array of numeric values.</dd> + + <dt>`string[][]`</dt> + <dd>for an array of textual values.</dd> + + <dt>`any[][]`</dt> + <dd>for a mixed array, where each element must be of `VOID`, + `long`, `double` or `string` + type.</dd> + + <dt>com::sun::star::table::XCellRange</dt> + <dd>for a SheetCellRange object that contains the + data.</dd> + </dl> + + @returns + the result of the function call. + + <p>Possible types for the result are:</p> + + <dl> + <dt>`VOID`</dt> + <dd>if no result is available.</dd> + + <dt>`double`</dt> + <dd>for a numeric result.</dd> + + <dt>`string`</dt> + <dd>for a textual result.</dd> + + <dt>`any[][]`</dt> + <dd>for an array result, containing `double` and + `string` values.</dd> + </dl> + + @throws com::sun::star::container::NoSuchElementException + if the named function does not exist. + + @throws com::sun::star::lang::IllegalArgumentException + if the function can not be called with these arguments. + */ + any callFunction( [in] string aName, [in] sequence< any > aArguments ) + raises( com::sun::star::container::NoSuchElementException, + com::sun::star::lang::IllegalArgumentException ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XFunctionDescriptions.idl b/offapi/com/sun/star/sheet/XFunctionDescriptions.idl new file mode 100644 index 000000000..c668ec674 --- /dev/null +++ b/offapi/com/sun/star/sheet/XFunctionDescriptions.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XFunctionDescriptions_idl__ +#define __com_sun_star_sheet_XFunctionDescriptions_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/beans/PropertyValue.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the property sequence of a function description + via function index or identifier. + + <p>The container access methods return a sequence of + com::sun::star::beans::PropertyValue structs. + The properties contained in the sequence are collected in the service + FunctionDescription.</p> + + @see com::sun::star::sheet::FunctionDescriptions + */ +published interface XFunctionDescriptions: com::sun::star::container::XIndexAccess +{ + + /** finds a function description by the identifier of the function. + + @param nId + is the identifier of the function description (the same that + is used in the service RecentFunctions.</p> + + @returns + the sequence of property values (described in + FunctionDescription). + */ + sequence< com::sun::star::beans::PropertyValue > getById( [in] long nId ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XGlobalSheetSettings.idl b/offapi/com/sun/star/sheet/XGlobalSheetSettings.idl new file mode 100644 index 000000000..c0a7c3218 --- /dev/null +++ b/offapi/com/sun/star/sheet/XGlobalSheetSettings.idl @@ -0,0 +1,154 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XGlobalSheetSettings_idl__ +#define __com_sun_star_sheet_XGlobalSheetSettings_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** + @since LibreOffice 4.1 + */ +published interface XGlobalSheetSettings +{ + /** specifies whether the cursor is moved after entering into cells. + */ + [attribute] boolean MoveSelection; + + + /** contains the direction the cursor moves after entering cells. + + @see com::sun::star::sheet::MoveDirection + */ + [attribute] short MoveDirection; + + + /** specifies whether the enter key can be used to start editing a cell. + */ + [attribute] boolean EnterEdit; + + + /** specifies whether cell formatting is extended when entering data. + */ + [attribute] boolean ExtendFormat; + + + /** specifies whether ranges are highlighted on the sheet when + editing a formula. + */ + [attribute] boolean RangeFinder; + + + /** specifies whether formula references are extended when cells + are inserted below or to the right of them. + */ + [attribute] boolean ExpandReferences; + + + /** specifies whether the current selection is highlighted in + column and row headers. + */ + [attribute] boolean MarkHeader; + + + /** specifies whether the enter key moves the cursor to the column + it was in before using the tab key to change columns. + */ + [attribute] boolean UseTabCol; + + + /** contains the metric for all spreadsheet documents. + + @see com::sun::star::util::MeasureUnit + */ + [attribute] short Metric; + + + /** contains the default scale for new spreadsheet documents + (in percent). + + <p>There are several special values:</p> + <p>-1 = Optimal width</p> + <p>-2 = Show whole page</p> + <p>-3 = Page width</p> + */ + [attribute] short Scale; + + + /** specifies whether automatic completion of text in a cell is used. + */ + [attribute] boolean DoAutoComplete; + + + /** contains the function that is displayed in the status bar. + + @see com::sun::star::sheet::StatusBarFunction + */ + [attribute] short StatusBarFunction; + + + /** contains the string lists used for sorting and filling. + + <p>Each string contains the members of a list, separated by + commas.</p> + */ + [attribute] sequence< string > UserLists; + + + /** specifies the update mode for external linked data. + + <p>0 = always</p> + <p>1 = never</p> + <p>2 = on demand</p> + */ + [attribute] short LinkUpdateMode; + + + /** specifies whether all sheets or only selected sheets are printed. + */ + [attribute] boolean PrintAllSheets; + + + /** specifies whether empty pages are printed. + */ + [attribute] boolean PrintEmptyPages; + + + /** specifies whether printer metrics are used for display. + */ + [attribute] boolean UsePrinterMetrics; + + + /** specifies whether a warning is shown before replacing cells + (i.e. when pasting from clipboard). + */ + [attribute] boolean ReplaceCellsWarning; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XGoalSeek.idl b/offapi/com/sun/star/sheet/XGoalSeek.idl new file mode 100644 index 000000000..8737f0219 --- /dev/null +++ b/offapi/com/sun/star/sheet/XGoalSeek.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XGoalSeek_idl__ +#define __com_sun_star_sheet_XGoalSeek_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/GoalResult.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides seeking a goal value for a cell. + */ +published interface XGoalSeek: com::sun::star::uno::XInterface +{ + + /** calculates a value which gives a specified result in a formula. + + @param aFormulaPosition + is the address of the formula cell used for the calculation. + + @param aVariablePosition + is the address of the cell that is used in the formula as + variable. + + @param aGoalValue + is the value which should be reached during the goal seek. + + @returns + the result of the goal seek, including the value that results + in the specified goal, using the specified formula. + */ + com::sun::star::sheet::GoalResult seekGoal( + [in] com::sun::star::table::CellAddress aFormulaPosition, + [in] com::sun::star::table::CellAddress aVariablePosition, + [in] string aGoalValue ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XHeaderFooterContent.idl b/offapi/com/sun/star/sheet/XHeaderFooterContent.idl new file mode 100644 index 000000000..5bb45551d --- /dev/null +++ b/offapi/com/sun/star/sheet/XHeaderFooterContent.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XHeaderFooterContent_idl__ +#define __com_sun_star_sheet_XHeaderFooterContent_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/text/XText.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the text contents of a header or footer on a page. + + @see com::sun::star::sheet::HeaderFooterContent + @see com::sun::star::sheet::TablePageStyle + */ +published interface XHeaderFooterContent: com::sun::star::uno::XInterface +{ + + /** returns the text which is printed in the left part of the + header or footer. + + @see com::sun::star::text::Text + */ + com::sun::star::text::XText getLeftText(); + + + /** returns the text which is printed in the center part of the + header or footer. + + @see com::sun::star::text::Text + */ + com::sun::star::text::XText getCenterText(); + + + /** returns the text which is printed in the right part of the + header or footer. + + @see com::sun::star::text::Text + */ + com::sun::star::text::XText getRightText(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XHierarchiesSupplier.idl b/offapi/com/sun/star/sheet/XHierarchiesSupplier.idl new file mode 100644 index 000000000..570e014c8 --- /dev/null +++ b/offapi/com/sun/star/sheet/XHierarchiesSupplier.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XHierarchiesSupplier_idl__ +#define __com_sun_star_sheet_XHierarchiesSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/XNameAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the collection of hierarchies of a data pilot source + dimension. + + @see com::sun::star::sheet::DataPilotSourceDimension + @see com::sun::star::sheet::DataPilotSource + */ +interface XHierarchiesSupplier: com::sun::star::uno::XInterface +{ + + /** returns the collection of hierarchies. + + @see com::sun::star::sheet::DataPilotSourceHierarchies + */ + com::sun::star::container::XNameAccess getHierarchies(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XIconSetEntry.idl b/offapi/com/sun/star/sheet/XIconSetEntry.idl new file mode 100644 index 000000000..4382e4406 --- /dev/null +++ b/offapi/com/sun/star/sheet/XIconSetEntry.idl @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_XIconSetEntry_idl__ +#define __com_sun_star_sheet_XIconSetEntry_idl__ + +#include <com/sun/star/sheet/IconSetEntryType.idl> + +module com { module sun { module star { module sheet { + +interface XIconSetEntry +{ + string getFormula(); + + void setFormula([in] string Formula); + + /** + * See com.sun.star.sheet.IconSetEntryType for possible values. + */ + long getType(); + + /** + * See com.sun.star.sheet.IconSetEntryType for possible values. + */ + void setType([in] long Type); +}; + + +}; }; }; }; + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XLabelRange.idl b/offapi/com/sun/star/sheet/XLabelRange.idl new file mode 100644 index 000000000..6319fee16 --- /dev/null +++ b/offapi/com/sun/star/sheet/XLabelRange.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XLabelRange_idl__ +#define __com_sun_star_sheet_XLabelRange_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the settings of a label range in a spreadsheet + document. + + <p>These can be column or row labels, depending on where they are used.</p> + + @see com::sun::star::sheet::LabelRange + */ +published interface XLabelRange: com::sun::star::uno::XInterface +{ + + /** returns the cell range address that contains the labels. + */ + com::sun::star::table::CellRangeAddress getLabelArea(); + + + /** sets the cell range address that contains the labels. + */ + void setLabelArea( + [in] com::sun::star::table::CellRangeAddress aLabelArea ); + + + /** returns the cell range address for which the labels are valid. + */ + com::sun::star::table::CellRangeAddress getDataArea(); + + + /** sets the cell range address for which the labels are valid. + */ + void setDataArea( + [in] com::sun::star::table::CellRangeAddress aDataArea ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XLabelRanges.idl b/offapi/com/sun/star/sheet/XLabelRanges.idl new file mode 100644 index 000000000..d8e5ecfd1 --- /dev/null +++ b/offapi/com/sun/star/sheet/XLabelRanges.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XLabelRanges_idl__ +#define __com_sun_star_sheet_XLabelRanges_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to access the members of a label range collection + and to insert and remove them. + + @see com::sun::star::sheet::LabelRanges + @see com::sun::star::sheet::LabelRange + */ +published interface XLabelRanges: com::sun::star::container::XIndexAccess +{ + + /** adds a new label range to the collection. + + @param aLabelArea + the cell range containing the titles of the label range. + + @param aDataArea + the cell range containing the values of the label range. + */ + void addNew( + [in] com::sun::star::table::CellRangeAddress aLabelArea, + [in] com::sun::star::table::CellRangeAddress aDataArea ); + + + /** removes a label range from the collection. + */ + void removeByIndex( [in] long nIndex ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XLevelsSupplier.idl b/offapi/com/sun/star/sheet/XLevelsSupplier.idl new file mode 100644 index 000000000..f86c1fa3b --- /dev/null +++ b/offapi/com/sun/star/sheet/XLevelsSupplier.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XLevelsSupplier_idl__ +#define __com_sun_star_sheet_XLevelsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/XNameAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the collection of levels of a data pilot source + hierarchy. + + @see com::sun::star::sheet::DataPilotSourceHierarchy + @see com::sun::star::sheet::DataPilotSource + */ +interface XLevelsSupplier: com::sun::star::uno::XInterface +{ + + /** returns the collection of levels. + + @see com::sun::star::sheet::DataPilotSourceLevels + */ + com::sun::star::container::XNameAccess getLevels(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XMembersAccess.idl b/offapi/com/sun/star/sheet/XMembersAccess.idl new file mode 100644 index 000000000..3a3a17484 --- /dev/null +++ b/offapi/com/sun/star/sheet/XMembersAccess.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_XMembersAccess_idl__ +#define __com_sun_star_sheet_XMembersAccess_idl__ + +#include <com/sun/star/container/XNameAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** is used to access named members in a data pilot source + level collection. + + @see com::sun::star::sheet::DataPilotSourceMember + */ +interface XMembersAccess: com::sun::star::container::XNameAccess +{ + + /** returns names of data pilot members in a locale independent + notation. + + <p> Specifically date values are represented in an ISO 8601 + YYYY-MM-DD notation and date+time as YYYY-MM-DD HH:MM:SS, + whereas the strings returned by + com::sun::star::container::XNameAccess::getElementNames() may + represent these in a locale dependent or user formatted notation + such as MM/DD/YY or DD.MM.YYYY or other. </p> + + <p> The names returned by this function can NOT be used in calls + to com::sun::star::container::XNameAccess::getByName(). However, + the order returned in two immediately consecutive calls to + getElementNames() and getLocaleIndependentElementNames() maps to + the same elements in order. </p> + + @returns + a sequence of all element names in this container. + + */ + sequence<string> getLocaleIndependentElementNames(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XMembersSupplier.idl b/offapi/com/sun/star/sheet/XMembersSupplier.idl new file mode 100644 index 000000000..1fd13bf38 --- /dev/null +++ b/offapi/com/sun/star/sheet/XMembersSupplier.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XMembersSupplier_idl__ +#define __com_sun_star_sheet_XMembersSupplier_idl__ + +#include <com/sun/star/sheet/XMembersAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the collection of members of a data pilot source + level. + + @see com::sun::star::sheet::DataPilotSourceLevel + @see com::sun::star::sheet::DataPilotSource + */ +interface XMembersSupplier: com::sun::star::uno::XInterface +{ + + /** returns the collection of members. + + @see com::sun::star::sheet::DataPilotSourceMembers + */ + com::sun::star::sheet::XMembersAccess getMembers(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XMultiFormulaTokens.idl b/offapi/com/sun/star/sheet/XMultiFormulaTokens.idl new file mode 100644 index 000000000..580a6ee84 --- /dev/null +++ b/offapi/com/sun/star/sheet/XMultiFormulaTokens.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XMultiFormulaTokens_idl__ +#define __com_sun_star_sheet_XMultiFormulaTokens_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/FormulaToken.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> + + +module com { module sun { module star { module sheet { + + +/** gives access to multiple sets of formula tokens. + + A service implementing this interface can internally set an arbitrary + number of formula token sequences. The number of allowed formula token + sequences must be returned by the + com::sun::star::sheet::XMultiFormulaTokens::getCount() + method. When the client code tries to access formula tokens at index that + is outside the allowed index range, the implementation shall return an + com::sun::star::lang::IndexOutOfBoundsException. + */ +interface XMultiFormulaTokens +{ + + /** returns the formula at specified index as sequence of tokens. + + @throws IndexOutOfBoundsException + If the given index lies not in the valid range then an + com::sun::star::lang::IndexOutOfBoundsException + exception is thrown. + */ + sequence< FormulaToken > getTokens( [in] long nIndex ) + raises (::com::sun::star::lang::IndexOutOfBoundsException); + + + /** sets the formula at specified index as sequence of tokens. + + @throws IndexOutOfBoundsException + If the given index lies not in the valid range then an + com::sun::star::lang::IndexOutOfBoundsException + exception is thrown. + */ + void setTokens( [in] long nIndex, [in] sequence< FormulaToken > aTokens ) + raises (::com::sun::star::lang::IndexOutOfBoundsException); + + + /** returns the number of formulas allowed in this formula token set. + + @return the number of formulas the implementation supports. + */ + long getCount(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XMultipleOperation.idl b/offapi/com/sun/star/sheet/XMultipleOperation.idl new file mode 100644 index 000000000..9af543020 --- /dev/null +++ b/offapi/com/sun/star/sheet/XMultipleOperation.idl @@ -0,0 +1,80 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XMultipleOperation_idl__ +#define __com_sun_star_sheet_XMultipleOperation_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellRangeAddress.idl> +#include <com/sun/star/sheet/TableOperationMode.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides a method to apply a Multiple Operations Table to the + cell range. + */ +published interface XMultipleOperation: com::sun::star::uno::XInterface +{ + + /** creates a table of formulas (a "Multiple Operations Table"). + + <p>The specified formulas are repeated, with references to the + specified cells replaced by references to values in the first + column and/or row of the range.</p> + + @param aFormulaRange + the range that contains formula cells (modes + TableOperationMode::ROW or + TableOperationMode::COLUMN) or a single formula + cell (mode TableOperationMode::BOTH). + + @param nMode + specifies the calculation mode to fill the cells. + + @param aColumnCell + contains the address of the cell that is referenced by + formulas in a row (mode TableOperationMode::ROW) + or by the formula cell used for two value series (mode + TableOperationMode::BOTH). This parameter is not + used if mode is TableOperationMode::COLUMN. + + @param aRowCell + contains the address of the cell that is referenced by + formulas in a column (mode TableOperationMode::COLUMN) + or by the formula cell used for two value series (mode + TableOperationMode::BOTH). This parameter is not + used if mode is TableOperationMode::ROW. + */ + void setTableOperation( + [in] com::sun::star::table::CellRangeAddress aFormulaRange, + [in] com::sun::star::sheet::TableOperationMode nMode, + [in] com::sun::star::table::CellAddress aColumnCell, + [in] com::sun::star::table::CellAddress aRowCell ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XNamedRange.idl b/offapi/com/sun/star/sheet/XNamedRange.idl new file mode 100644 index 000000000..fe0feb758 --- /dev/null +++ b/offapi/com/sun/star/sheet/XNamedRange.idl @@ -0,0 +1,90 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XNamedRange_idl__ +#define __com_sun_star_sheet_XNamedRange_idl__ + +#include <com/sun/star/container/XNamed.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the settings of a named range in a spreadsheet + document. + + @see com::sun::star::sheet::NamedRange + */ +published interface XNamedRange: com::sun::star::container::XNamed +{ + + /** returns the content of the named range. + + <p>The content can be a reference to a cell or cell range + or any formula expression.</p> + */ + string getContent(); + + + /** sets the content of the named range. + + <p>The content can be a reference to a cell or cell range + or any formula expression.</p> + */ + void setContent( [in] string aContent ); + + + /** returns the position in the document which is used as a + base for relative references in the content. + */ + com::sun::star::table::CellAddress getReferencePosition(); + + + /** sets the position in the document which is used as a + base for relative references in the content. + */ + void setReferencePosition( + [in] com::sun::star::table::CellAddress aReferencePosition ); + + + /** returns the type of the named range. + + <p>This is a combination of flags as defined in + NamedRangeFlag.</p> + */ + long getType(); + + + /** sets the type of the named range. + + @param nType + a combination of flags that specify the type of a named range, + as defined in NamedRangeFlag. + */ + void setType( [in] long nType ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XNamedRanges.idl b/offapi/com/sun/star/sheet/XNamedRanges.idl new file mode 100644 index 000000000..0087dd605 --- /dev/null +++ b/offapi/com/sun/star/sheet/XNamedRanges.idl @@ -0,0 +1,117 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XNamedRanges_idl__ +#define __com_sun_star_sheet_XNamedRanges_idl__ + +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/table/CellAddress.idl> +#include <com/sun/star/table/CellRangeAddress.idl> +#include <com/sun/star/sheet/Border.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the members in a collection of named ranges and to + insert and remove them. + + @see com::sun::star::sheet::NamedRanges + @see com::sun::star::sheet::NamedRange + */ +published interface XNamedRanges: com::sun::star::container::XNameAccess +{ + + /** adds a new named range to the collection. + + @param aName + the new name of the named range. + + @param aContent + the formula expression. + + <p>A cell range address is one possible content of a named + range.</p> + + @param aPosition + specifies the base address for relative cell references. + + @param nType + a combination of flags that specify the type of a named range, + as defined in NamedRangeFlag. + + <p>This parameter will be zero for any common named range.</p> + */ + void addNewByName( + [in] string aName, + [in] string aContent, + [in] com::sun::star::table::CellAddress aPosition, + [in] long nType ); + + + /** creates named cell ranges from titles in a cell range. + + <p>The names for the named ranges are taken from title cells in the + top or bottom row, or from the cells of the left or right column + of the range (depending on the parameter aBorder. + The named ranges refer to single columns or rows in the inner + part of the original range, excluding the labels.</p> + + <p>Example: The source range is A1:B3. The named ranges shall be + created using row titles. This requires Border::TOP + for the second parameter. The method creates two named ranges. The + name of the first is equal to the content of cell A1 and contains the + range $Sheet.$A$2:$A$3 (excluding the title cell). The latter named + range is named using cell B1 and contains the cell range address + $Sheet.$B$2:$B$3.</p> + + @param aSource + the cell range used to create the named ranges. + + @param aBorder + specifies the location of the title cells. + */ + void addNewFromTitles( + [in] com::sun::star::table::CellRangeAddress aSource, + [in] com::sun::star::sheet::Border aBorder ); + + + /** removes a named range from the collection. + */ + void removeByName( [in] string aName ); + + + /** writes a list of all named ranges into the document. + + <p>The first column of the list contains the names. The second + column contains the contents of the named ranges.</p> + + @param aOutputPosition + specifies the top left cell of the output range. + */ + void outputList( [in] com::sun::star::table::CellAddress aOutputPosition ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XPrintAreas.idl b/offapi/com/sun/star/sheet/XPrintAreas.idl new file mode 100644 index 000000000..814462c62 --- /dev/null +++ b/offapi/com/sun/star/sheet/XPrintAreas.idl @@ -0,0 +1,140 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XPrintAreas_idl__ +#define __com_sun_star_sheet_XPrintAreas_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a sheet which has print areas. + */ +published interface XPrintAreas: com::sun::star::uno::XInterface +{ + + /** returns a sequence containing all print areas of the sheet. + */ + sequence< com::sun::star::table::CellRangeAddress > getPrintAreas(); + + + /** sets the print areas of the sheet. + + <p>If none of the sheets in a document have print areas, + the whole sheets are printed. If any sheet contains print areas, + other sheets without print areas are not printed.</p> + + @param aPrintAreas + a sequence containing all print areas for this sheet. + */ + void setPrintAreas( [in] sequence< com::sun::star::table::CellRangeAddress > aPrintAreas ); + + + /** returns, whether the title columns are repeated on all subsequent + print pages to the right. + */ + boolean getPrintTitleColumns(); + + + /** specifies whether the title columns are repeated on all subsequent + print pages to the right. + + @param bPrintTitleColumns + if `TRUE`, title columns are repeated on each page. + */ + void setPrintTitleColumns( [in] boolean bPrintTitleColumns ); + + + /** returns the range that is specified as title columns range. + + <p>Title columns can be automatically repeated on all subsequent + print pages to the right, using + XPrintAreas::setPrintTitleColumns().</p> + + @returns + the range of columns that is specified as title columns range. + */ + com::sun::star::table::CellRangeAddress getTitleColumns(); + + + /** specifies a range of columns as title columns range. + + <p>The rows of the passed range are ignored.</p> + + <p>Title columns can be automatically repeated on all subsequent + print pages to the right, using + XPrintAreas::setPrintTitleColumns().</p> + + @param aTitleColumns + the title columns range. + */ + void setTitleColumns( [in] com::sun::star::table::CellRangeAddress aTitleColumns ); + + + /** returns, whether the title rows are repeated on all subsequent + print pages to the bottom. + */ + boolean getPrintTitleRows(); + + + /** specifies whether the title rows are repeated on all subsequent + print pages to the bottom. + + @param bPrintTitleRows + if `TRUE`, title rows are repeated on each page. + */ + void setPrintTitleRows( [in] boolean bPrintTitleRows ); + + + /** returns the range that is specified as title rows range. + + <p>Title rows can be automatically repeated on all subsequent + print pages to the bottom, using + XPrintAreas::setPrintTitleRows().</p> + + @returns + the range of rows that is specified as title rows range. + */ + com::sun::star::table::CellRangeAddress getTitleRows(); + + + /** specifies a range of rows as title rows range. + + <p>The columns of the passed range are ignored.</p> + + <p>Title rows can be automatically repeated on all subsequent + print pages to the bottom, using + XPrintAreas::setPrintTitleRows().</p> + + @param aTitleRows + the title rows range. + */ + void setTitleRows( [in] com::sun::star::table::CellRangeAddress aTitleRows ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XRangeSelection.idl b/offapi/com/sun/star/sheet/XRangeSelection.idl new file mode 100644 index 000000000..8aa5ccc29 --- /dev/null +++ b/offapi/com/sun/star/sheet/XRangeSelection.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_XRangeSelection_idl__ +#define __com_sun_star_sheet_XRangeSelection_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/beans/PropertyValue.idl> + + + module com { module sun { module star { module sheet { + + published interface XRangeSelectionListener; + published interface XRangeSelectionChangeListener; + + +/** allows to let the user to select a cell range. + + @see com::sun::star::sheet::SpreadsheetView + */ +published interface XRangeSelection: com::sun::star::uno::XInterface +{ + /** starts the range selection. + + @param aArguments + the RangeSelectionArguments that specify how the + range selection is done. + */ + void startRangeSelection( + [in] sequence<com::sun::star::beans::PropertyValue> aArguments ); + + /** aborts the range selection. + */ + void abortRangeSelection(); + + /** adds a listener that is notified when range selection is completed + or aborted. + */ + void addRangeSelectionListener( + [in] com::sun::star::sheet::XRangeSelectionListener aListener ); + + /** removes the specified listener. + */ + void removeRangeSelectionListener( + [in] com::sun::star::sheet::XRangeSelectionListener aListener ); + + /** adds a listener that is notified when the selected range is changed. + */ + void addRangeSelectionChangeListener( + [in] com::sun::star::sheet::XRangeSelectionChangeListener aListener ); + + /** removes the specified listener. + */ + void removeRangeSelectionChangeListener( + [in] com::sun::star::sheet::XRangeSelectionChangeListener aListener ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XRangeSelectionChangeListener.idl b/offapi/com/sun/star/sheet/XRangeSelectionChangeListener.idl new file mode 100644 index 000000000..dfa544e55 --- /dev/null +++ b/offapi/com/sun/star/sheet/XRangeSelectionChangeListener.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_XRangeSelectionChangeListener_idl__ +#define __com_sun_star_sheet_XRangeSelectionChangeListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/sheet/RangeSelectionEvent.idl> + + + + module com { module sun { module star { module sheet { + + +/** allows notification when the selected range is changed. + + @see com::sun::star::sheet::XRangeSelection + */ +published interface XRangeSelectionChangeListener: com::sun::star::lang::XEventListener +{ + /** is called when the selected range is changed while + range selection is active. + */ + void descriptorChanged( [in] com::sun::star::sheet::RangeSelectionEvent aEvent ); +}; + + +}; }; }; }; + + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XRangeSelectionListener.idl b/offapi/com/sun/star/sheet/XRangeSelectionListener.idl new file mode 100644 index 000000000..c313b1f35 --- /dev/null +++ b/offapi/com/sun/star/sheet/XRangeSelectionListener.idl @@ -0,0 +1,52 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_XRangeSelectionListener_idl__ +#define __com_sun_star_sheet_XRangeSelectionListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/sheet/RangeSelectionEvent.idl> + + + + module com { module sun { module star { module sheet { + + +/** allows notification when range selection is completed or aborted. + + @see com::sun::star::sheet::XRangeSelection + */ +published interface XRangeSelectionListener: com::sun::star::lang::XEventListener +{ + /** is called when range selection is completed. + */ + void done( [in] com::sun::star::sheet::RangeSelectionEvent aEvent ); + + /** is called when range selection is aborted. + */ + void aborted( [in] com::sun::star::sheet::RangeSelectionEvent aEvent ); +}; + + +}; }; }; }; + + +#endif + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XRecentFunctions.idl b/offapi/com/sun/star/sheet/XRecentFunctions.idl new file mode 100644 index 000000000..8c092cf5b --- /dev/null +++ b/offapi/com/sun/star/sheet/XRecentFunctions.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XRecentFunctions_idl__ +#define __com_sun_star_sheet_XRecentFunctions_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to a list of recently used functions. + + @see com::sun::star::sheet::RecentFunctions + */ +published interface XRecentFunctions: com::sun::star::uno::XInterface +{ + + /** returns a sequence of those functions that were most recently used. + + <P>The functions are represented by their identifiers.</P> + + @returns + the sequence of function identifiers most recently used. + */ + sequence< long > getRecentFunctionIds(); + + + /** sets the list of those functions that were most recently used. + + <p>The functions are represented by their identifiers.</p> + + @param aRecentFunctionIds + the sequence of function identifiers most recently used. + */ + void setRecentFunctionIds( [in] sequence< long > aRecentFunctionIds ); + + + /** returns the maximum number of entries that will be stored as + recently used functions. + */ + long getMaxRecentFunctions(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XResultListener.idl b/offapi/com/sun/star/sheet/XResultListener.idl new file mode 100644 index 000000000..cbf2e8cf4 --- /dev/null +++ b/offapi/com/sun/star/sheet/XResultListener.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XResultListener_idl__ +#define __com_sun_star_sheet_XResultListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/sheet/ResultEvent.idl> + + +module com { module sun { module star { module sheet { + + +/** allows notification when a new volatile function result is available. + + @see com::sun::star::sheet::XVolatileResult + */ +published interface XResultListener: com::sun::star::lang::XEventListener +{ + + /** is called when a new value is available. + */ + void modified( [in] com::sun::star::sheet::ResultEvent aEvent ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XScenario.idl b/offapi/com/sun/star/sheet/XScenario.idl new file mode 100644 index 000000000..9a02c9cb7 --- /dev/null +++ b/offapi/com/sun/star/sheet/XScenario.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_XScenario_idl__ +#define __com_sun_star_sheet_XScenario_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + + +module com { module sun { module star { module sheet { + + +/** provides access to the settings of a scenario sheet. + + @see com::sun::star::sheet::Spreadsheet + */ +published interface XScenario: com::sun::star::uno::XInterface +{ + + /** returns `TRUE` if the current object is a scenario. + */ + boolean getIsScenario(); + + + /** returns the comment for the scenario. + */ + string getScenarioComment(); + + + /** sets a new comment for the scenario. + */ + void setScenarioComment( [in] string aScenarioComment ); + + + /** adds more ranges to the scenario. + */ + void addRanges( + [in] sequence< com::sun::star::table::CellRangeAddress > aRanges ); + + + /** applies the scenario. + + <p>The contents of the scenario ranges are copied into the first + non-scenario sheet which is in front of the sheet containing + the scenario by itself.</p> + */ + void apply(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XScenarioEnhanced.idl b/offapi/com/sun/star/sheet/XScenarioEnhanced.idl new file mode 100644 index 000000000..e9c348b76 --- /dev/null +++ b/offapi/com/sun/star/sheet/XScenarioEnhanced.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_XScenarioEnhanced_idl__ +#define __com_sun_star_sheet_XScenarioEnhanced_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + + +module com { module sun { module star { module sheet { + + +/** provides enhanced access to the settings of a scenario sheet. + + @see com::sun::star::sheet::Spreadsheet + + @see com::sun::star::sheet::Scenario + + @see com::sun::star::sheet::XScenario + + @since OOo 2.0 + + */ +interface XScenarioEnhanced: com::sun::star::uno::XInterface +{ + + /** gets the ranges to the scenario. + */ + sequence< com::sun::star::table::CellRangeAddress > getRanges(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XScenarios.idl b/offapi/com/sun/star/sheet/XScenarios.idl new file mode 100644 index 000000000..c39158df8 --- /dev/null +++ b/offapi/com/sun/star/sheet/XScenarios.idl @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XScenarios_idl__ +#define __com_sun_star_sheet_XScenarios_idl__ + +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access via name to the scenarios in a collection and inserting + and removing scenarios. + + @see com::sun::star::sheet::Scenarios + @see com::sun::star::sheet::Spreadsheet + */ +published interface XScenarios: com::sun::star::container::XNameAccess +{ + + /** creates a new scenario and adds it to the collection. + + @param aName + the name of the scenario (used i.e. for collection access). + + @param aRanges + the cell ranges contained in the scenario. + + @param aComment + the user defined comment for the scenario. + */ + void addNewByName( + [in] string aName, + [in] sequence< com::sun::star::table::CellRangeAddress > aRanges, + [in] string aComment ); + + + /** removes a scenario from the collection. + */ + void removeByName( [in] string aName ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XScenariosSupplier.idl b/offapi/com/sun/star/sheet/XScenariosSupplier.idl new file mode 100644 index 000000000..1fd8c42b3 --- /dev/null +++ b/offapi/com/sun/star/sheet/XScenariosSupplier.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XScenariosSupplier_idl__ +#define __com_sun_star_sheet_XScenariosSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/XScenarios.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to a collection of scenarios. + */ +published interface XScenariosSupplier: com::sun::star::uno::XInterface +{ + + /** returns the collection of scenarios. + + @see com::sun::star::sheet::Scenarios + */ + com::sun::star::sheet::XScenarios getScenarios(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSelectedSheetsSupplier.idl b/offapi/com/sun/star/sheet/XSelectedSheetsSupplier.idl new file mode 100644 index 000000000..8dfaee941 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSelectedSheetsSupplier.idl @@ -0,0 +1,33 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_XSelectedSheetsSupplier_idl__ +#define __com_sun_star_sheet_XSelectedSheetsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module sheet { + +/** + * @since LibreOffice 3.5 + */ +interface XSelectedSheetsSupplier: com::sun::star::uno::XInterface +{ + /** + returns the indices of currently selected sheets. Sheet indices are + 0-based. + */ + sequence<long> getSelectedSheets(); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetAnnotation.idl b/offapi/com/sun/star/sheet/XSheetAnnotation.idl new file mode 100644 index 000000000..02b7f2fa2 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetAnnotation.idl @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetAnnotation_idl__ +#define __com_sun_star_sheet_XSheetAnnotation_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to query data of the annotation and to show and + hide it. + + @see com::sun::star::sheet::CellAnnotation + */ +published interface XSheetAnnotation: com::sun::star::uno::XInterface +{ + + /** returns the position of cell in the spreadsheet document that + contains this annotation. + */ + com::sun::star::table::CellAddress getPosition(); + + + /** returns the name of the user who last changed the annotation. + */ + string getAuthor(); + + + /** returns a formatted string representing the date when the + annotation was last changed. + */ + string getDate(); + + + /** returns, whether the annotation is permanently visible. + */ + boolean getIsVisible(); + + + /** specifies whether the annotation is permanently visible. + */ + void setIsVisible( [in] boolean bIsVisible ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetAnnotationAnchor.idl b/offapi/com/sun/star/sheet/XSheetAnnotationAnchor.idl new file mode 100644 index 000000000..149518a17 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetAnnotationAnchor.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetAnnotationAnchor_idl__ +#define __com_sun_star_sheet_XSheetAnnotationAnchor_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/XSheetAnnotation.idl> + + + module com { module sun { module star { module sheet { + + +/** provides access to a cell annotation attached to a spreadsheet cell. + + @see com::sun::star::sheet::SheetCell + @see com::sun::star::sheet::CellAnnotation + */ +published interface XSheetAnnotationAnchor: com::sun::star::uno::XInterface +{ + + /** returns the annotation at this anchor. + */ + com::sun::star::sheet::XSheetAnnotation getAnnotation(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl b/offapi/com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl new file mode 100644 index 000000000..5d37b766c --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetAnnotationShapeSupplier_idl__ +#define __com_sun_star_sheet_XSheetAnnotationShapeSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/drawing/XShape.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to get the shape of o annotation + + @see com::sun::star::sheet::CellAnnotation + + @see com::sun::star::sheet::CellAnnotationShape + */ +published interface XSheetAnnotationShapeSupplier: com::sun::star::uno::XInterface +{ + + /** returns the shape of the annotation + */ + com::sun::star::drawing::XShape getAnnotationShape(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetAnnotations.idl b/offapi/com/sun/star/sheet/XSheetAnnotations.idl new file mode 100644 index 000000000..2327c4f51 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetAnnotations.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetAnnotations_idl__ +#define __com_sun_star_sheet_XSheetAnnotations_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to access cell annotations via index and to + insert and remove annotations. + + @see com::sun::star::sheet::CellAnnotation + @see com::sun::star::sheet::SheetCell + */ +published interface XSheetAnnotations: com::sun::star::container::XIndexAccess +{ + + /** creates a new annotation. + + <p>This method creates a new annotation object, attaches it to the + specified cell and inserts it into the collection.</p> + + @param aPosition + contains the address of the cell that will contain the + annotation. + + @param aText + contains the annotation text. + */ + void insertNew( + [in] com::sun::star::table::CellAddress aPosition, + [in] string aText ); + + + /** removes a cell annotation from the collection. + + <p>This method removes the annotation from its cell and from the + collection.</p> + + @param nIndex + is the index of the annotation in the collection. + */ + void removeByIndex( [in] long nIndex ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetAnnotationsSupplier.idl b/offapi/com/sun/star/sheet/XSheetAnnotationsSupplier.idl new file mode 100644 index 000000000..05647fcb9 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetAnnotationsSupplier.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetAnnotationsSupplier_idl__ +#define __com_sun_star_sheet_XSheetAnnotationsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/XSheetAnnotations.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to a collection of cell annotations. + */ +published interface XSheetAnnotationsSupplier: com::sun::star::uno::XInterface +{ + + /** returns the collection of cell annotations. + + @see com::sun::star::sheet::CellAnnotations + */ + com::sun::star::sheet::XSheetAnnotations getAnnotations(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetAuditing.idl b/offapi/com/sun/star/sheet/XSheetAuditing.idl new file mode 100644 index 000000000..7a826a8a9 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetAuditing.idl @@ -0,0 +1,102 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetAuditing_idl__ +#define __com_sun_star_sheet_XSheetAuditing_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to access auditing (detective) features in a + spreadsheet. + */ +published interface XSheetAuditing: com::sun::star::uno::XInterface +{ + + /** removes arrows for one level of dependents of a formula cell. + + <p>If the method is executed again for the same cell, the previous + level of dependent cells is removed.</p> + + @param aPosition + the address of the formula cell. + */ + boolean hideDependents( [in] com::sun::star::table::CellAddress aPosition ); + + + /** removes arrows for one level of precedents of a formula cell. + + <p>If the method is executed again for the same cell, the previous + level of dependent cells is removed.</p> + + @param aPosition + the address of the formula cell. + */ + boolean hidePrecedents( [in] com::sun::star::table::CellAddress aPosition ); + + + /** draws arrows between a formula cell and its dependents. + + <p>If the method is executed again for the same cell, the next + level of dependent cells is marked.</p> + + @param aPosition + the address of the formula cell. + */ + boolean showDependents( [in] com::sun::star::table::CellAddress aPosition ); + + + /** draws arrows between a formula cell and its precedents. + + <p>If the method is executed again for the same cell, the next + level of dependent cells is marked.</p> + + @param aPosition + the address of the formula cell. + */ + boolean showPrecedents( [in] com::sun::star::table::CellAddress aPosition ); + + + /** draws arrows between a formula cell containing an error + and the cells causing the error. + */ + boolean showErrors( [in] com::sun::star::table::CellAddress aPosition ); + + + /** marks all cells containing invalid values. + */ + boolean showInvalid(); + + + /** removes all auditing arrows from the spreadsheet. + */ + void clearArrows(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetCellCursor.idl b/offapi/com/sun/star/sheet/XSheetCellCursor.idl new file mode 100644 index 000000000..d65a9de74 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetCellCursor.idl @@ -0,0 +1,95 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetCellCursor_idl__ +#define __com_sun_star_sheet_XSheetCellCursor_idl__ + +#include <com/sun/star/sheet/XSheetCellRange.idl> + + +module com { module sun { module star { module sheet { + + +/** provides advanced methods to control the position of a cursor in a + spreadsheet. + + @see com::sun::star::sheet::SheetCellCursor + */ +published interface XSheetCellCursor: com::sun::star::sheet::XSheetCellRange +{ + + /** expands the cursor into the region containing the cells to which + it currently points. + + <p>A region is a cell range bounded by empty cells.</p> + */ + void collapseToCurrentRegion(); + + + /** collapses the cursor into the range of the array formula to which + it is currently pointing. + + <p>To get the correct result, the top left cell of the original + cursor must point to any cell containing an array formula. + If not, the cursor is left unchanged.</p> + */ + void collapseToCurrentArray(); + + + /** expands the cursor to merged cell ranges. + + <p>Expands the current cursor range in a way so that all merged + cell ranges intersecting the current range will fit completely. + If the cursor does not point to any range with merged cells, it + is left unchanged.</p> + */ + void collapseToMergedArea(); + + + /** expands the cursor to include the entire columns of the cells + to which it is currently pointing. + */ + void expandToEntireColumns(); + + + /** expands the cursor to include the entire rows of the cells to + which it is currently pointing. + */ + void expandToEntireRows(); + + + /** changes the size of a cursor range. + + <p>The top left cell of the cursor keeps unmodified. </p> + + @param nColumns + the number of columns of the new cursor range. + @param nRows + the number of rows of the new cursor range. + */ + void collapseToSize( [in] long nColumns, [in] long nRows ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetCellRange.idl b/offapi/com/sun/star/sheet/XSheetCellRange.idl new file mode 100644 index 000000000..c76a15aaf --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetCellRange.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetCellRange_idl__ +#define __com_sun_star_sheet_XSheetCellRange_idl__ + +#include <com/sun/star/table/XCellRange.idl> + + +module com { module sun { module star { module sheet { + + + published interface XSpreadsheet; + + +/** provides access to the spreadsheet that contains a cell range. + + @see com::sun::star::sheet::SheetCellRange + */ +published interface XSheetCellRange: com::sun::star::table::XCellRange +{ + + /** returns the spreadsheet interface which contains the cell range. + + @returns + a Spreadsheet object. + + @see com::sun::star::sheet::SheetCellRange + @see com::sun::star::sheet::SheetCellRanges + */ + com::sun::star::sheet::XSpreadsheet getSpreadsheet(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetCellRangeContainer.idl b/offapi/com/sun/star/sheet/XSheetCellRangeContainer.idl new file mode 100644 index 000000000..f2b5bec7f --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetCellRangeContainer.idl @@ -0,0 +1,105 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetCellRangeContainer_idl__ +#define __com_sun_star_sheet_XSheetCellRangeContainer_idl__ + +#include <com/sun/star/sheet/XSheetCellRanges.idl> +#include <com/sun/star/table/CellRangeAddress.idl> +#include <com/sun/star/container/NoSuchElementException.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to access cell ranges in a collection via index and + to add and remove cell ranges. + + @see com::sun::star::sheet::SheetCellRanges + */ +published interface XSheetCellRangeContainer: com::sun::star::sheet::XSheetCellRanges +{ + + /** adds the given range to the collection of cell ranges. + + @param aCellRangeAddress + contains the address of the new range. + + @param bMergeRanges + defines how the range should be added. To merge the ranges + takes more time, but the memory usage is lower. + */ + void addRangeAddress( + [in] com::sun::star::table::CellRangeAddress aCellRangeAddress, + [in] boolean bMergeRanges ); + + + /** removes the given range from the collection of cell ranges. + + @param aCellRangeAddress + contains the address of the range to be removed. + + <p>The specified range must fit exactly to an element of the + collection. The method does not try to shorten a range.</p> + + @throws com::sun::star::container::NoSuchElementException + if the collection does not contain the specified range. + */ + void removeRangeAddress( + [in] com::sun::star::table::CellRangeAddress aCellRangeAddress ) + raises( com::sun::star::container::NoSuchElementException ); + + + /** adds the given ranges to the collection of cell ranges. + + @param aCellRangeAddresses + contains a sequence of addresses of all new ranges. + + @param bMergeRanges + defines how the ranges should be added. To merge the ranges + takes more time, but the memory usage is lower. + */ + void addRangeAddresses( + [in] sequence<com::sun::star::table::CellRangeAddress> aCellRangeAddresses, + [in] boolean bMergeRanges ); + + + /** removes the given ranges from the collection of cell ranges. + + @param aCellRangeAddresses + contains a sequence of addresses of all ranges to be removed. + + <p>All specified ranges must fit exactly to elements of the + collection. The method does not try to shorten ranges.</p> + + @throws com::sun::star::container::NoSuchElementException + if the collection does not contain any of the specified ranges. + */ + void removeRangeAddresses( + [in] sequence<com::sun::star::table::CellRangeAddress> aCellRangeAddresses ) + raises( com::sun::star::container::NoSuchElementException); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetCellRanges.idl b/offapi/com/sun/star/sheet/XSheetCellRanges.idl new file mode 100644 index 000000000..8ad3fc491 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetCellRanges.idl @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetCellRanges_idl__ +#define __com_sun_star_sheet_XSheetCellRanges_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to access cell ranges in a collection via index and + other helper methods. + + @see com::sun::star::sheet::SheetCellRanges + */ +published interface XSheetCellRanges: com::sun::star::container::XIndexAccess +{ + + /** returns the collection of all used cells. + + @see com::sun::star::sheet::Cells + */ + com::sun::star::container::XEnumerationAccess getCells(); + + + /** creates a string with addresses of all contained cell ranges. + + <p>The range addresses are separated with semicolons. For instance + the string could have the form "Sheet1.A1:C3;Sheet2.D5:F8".</p> + + @returns + a string containing the addresses of all cell ranges. + */ + string getRangeAddressesAsString(); + + + /** creates a sequence with addresses of all contained cell ranges. + + @returns + a sequence with the addresses of all cell ranges. + */ + sequence<com::sun::star::table::CellRangeAddress> getRangeAddresses(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetCondition.idl b/offapi/com/sun/star/sheet/XSheetCondition.idl new file mode 100644 index 000000000..fffeb9702 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetCondition.idl @@ -0,0 +1,106 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetCondition_idl__ +#define __com_sun_star_sheet_XSheetCondition_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/ConditionOperator.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to access the settings of a condition in a + conditional format or data validation. + + @see com::sun::star::sheet::TableConditionalEntry + @see com::sun::star::sheet::TableValidation + */ +published interface XSheetCondition: com::sun::star::uno::XInterface +{ + + /** returns the operator in the condition. + */ + com::sun::star::sheet::ConditionOperator getOperator(); + + + /** sets the operator in the condition. + */ + void setOperator( + [in] com::sun::star::sheet::ConditionOperator nOperator ); + + + /** returns either the comparison value, which is used in the condition, + or the first value if two values are needed for the operator. + + @returns + a formula, a numeric constant, or a string constant in quotes. + */ + string getFormula1(); + + + /** sets either the comparison value, which is used in the condition, + or the first value if two values are needed for the operator. + + @param aFormula1 + a formula, a numeric constant, or a string constant in quotes. + */ + void setFormula1( [in] string aFormula1 ); + + + /** if two values are needed for the operator, this method returns + the second one. + + @returns + a formula, a numeric constant, or a string constant in quotes. + */ + string getFormula2(); + + + /** if two values are needed for the operator, this method sets + the second one. + + @param aFormula2 + a formula, a numeric constant, or a string constant in quotes. + */ + void setFormula2( [in] string aFormula2 ); + + + /** returns the position in the document which is used as a base for + relative references in the formulas. + */ + com::sun::star::table::CellAddress getSourcePosition(); + + + /** sets the position in the document which is used as a base for + relative references in the formulas. + */ + void setSourcePosition( + [in] com::sun::star::table::CellAddress aSourcePosition ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetCondition2.idl b/offapi/com/sun/star/sheet/XSheetCondition2.idl new file mode 100644 index 000000000..afbfd72a8 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetCondition2.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_XSheetCondition2_idl__ +#define __com_sun_star_sheet_XSheetCondition2_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/ConditionOperator2.idl> +#include <com/sun/star/sheet/XSheetCondition.idl> +#include <com/sun/star/table/CellAddress.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to access the settings of a condition in a + conditional format or data validation. + + @see com::sun::star::sheet::TableConditionalEntry + @see com::sun::star::sheet::TableValidation + @see com::sun::star::sheet::XSheetCondition + */ +interface XSheetCondition2: com::sun::star::sheet::XSheetCondition +{ + + /** returns the operator in the condition (new interface). + */ + long getConditionOperator(); + + + /** sets the operator in the condition (new interface). + */ + void setConditionOperator( + [in] long nOperator ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetConditionalEntries.idl b/offapi/com/sun/star/sheet/XSheetConditionalEntries.idl new file mode 100644 index 000000000..14c6659a5 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetConditionalEntries.idl @@ -0,0 +1,84 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetConditionalEntries_idl__ +#define __com_sun_star_sheet_XSheetConditionalEntries_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/beans/PropertyValue.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to add and remove conditions of a conditional format. + + @see com::sun::star::sheet::TableConditionalFormat + @see com::sun::star::sheet::TableConditionalEntry + */ +published interface XSheetConditionalEntries: com::sun::star::container::XIndexAccess +{ + + /** adds a conditional entry to the format. + + <p>Supported properties are:</p> + + <dl> + <dt>ConditionOperator Operator</dt> + <dd>contains the operation to perform for this condition.</dd> + + <dt>`string` Formula1</dt> + <dd>contains the value or formula for the operation.</dd> + + <dt>`string` Formula2</dt> + <dd>contains the second value or formula for the operation (used with + ConditionOperator::BETWEEN or + ConditionOperator::NOT_BETWEEN operations).</dd> + + <dt>com::sun::star::table::CellAddress + SourcePosition</dt> + <dd>contains the base address for relative cell references in formulas. + </dd> + + <dt>`string` StyleName</dt> + <dd>contains the name of the cell style used by this condition.</dd> + </dl> + + @see com::sun::star::sheet::TableConditionalFormat + */ + void addNew( [in] sequence< com::sun::star::beans::PropertyValue > aConditionalEntry ); + + + /** removes a conditional entry from the format. + */ + void removeByIndex( [in] long nIndex ); + + + /** clears all condition entries. + */ + void clear(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetConditionalEntry.idl b/offapi/com/sun/star/sheet/XSheetConditionalEntry.idl new file mode 100644 index 000000000..45caecd8d --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetConditionalEntry.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetConditionalEntry_idl__ +#define __com_sun_star_sheet_XSheetConditionalEntry_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to access the cell style name for a condition in a + conditional format. + + @see com::sun::star::sheet::TableConditionalEntry + */ +published interface XSheetConditionalEntry: com::sun::star::uno::XInterface +{ + + /** returns the name of the cell style that is used when the condition + is fulfilled. + */ + string getStyleName(); + + + /** sets the name of the cell style that is used when the condition + is fulfilled. + */ + void setStyleName( [in] string aStyleName ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl new file mode 100644 index 000000000..d181d9ce0 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetFilterDescriptor_idl__ +#define __com_sun_star_sheet_XSheetFilterDescriptor_idl__ + +#include <com/sun/star/sheet/TableFilterField.idl> +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to a collection of filter conditions (filter fields). + + @see SheetFilterDescriptor + */ +published interface XSheetFilterDescriptor: com::sun::star::uno::XInterface +{ + + /** returns the collection of filter fields. + */ + sequence< TableFilterField > getFilterFields(); + + + /** sets a new collection of filter fields. + */ + void setFilterFields( [in] sequence< TableFilterField > aFilterFields ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl new file mode 100644 index 000000000..50460035d --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetFilterDescriptor2_idl__ +#define __com_sun_star_sheet_XSheetFilterDescriptor2_idl__ + +#include <com/sun/star/sheet/TableFilterField2.idl> +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to a collection of filter conditions (filter fields). + + <p>This interface uses the TableFilterField2 struct, + whereas the XSheetFilterDescriptor interface uses the + TableFilterField struct.</p> + + @see SheetFilterDescriptor + @since OOo 3.2 + */ +published interface XSheetFilterDescriptor2: com::sun::star::uno::XInterface +{ + + /** returns the collection of filter fields. + */ + sequence< TableFilterField2 > getFilterFields2(); + + + /** sets a new collection of filter fields. + */ + void setFilterFields2( [in] sequence< TableFilterField2 > aFilterFields ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor3.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor3.idl new file mode 100644 index 000000000..2ceadcbd3 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor3.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_XSheetFilterDescriptor3_idl__ +#define __com_sun_star_sheet_XSheetFilterDescriptor3_idl__ + +#include <com/sun/star/sheet/TableFilterField3.idl> +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module sheet { + +/** provides access to a collection of filter conditions (filter fields). + + <p>This interface uses the TableFilterField3 struct. + whereas the XSheetFilterDescriptor2 interface uses the + TableFilterField2 struct.</p> + + @see SheetFilterDescriptor2 + + @since LibreOffice 3.5 + */ +interface XSheetFilterDescriptor3: com::sun::star::uno::XInterface +{ + + /** returns the collection of filter fields. + */ + sequence<TableFilterField3> getFilterFields3(); + + + /** sets a new collection of filter fields. + */ + void setFilterFields3( [in] sequence<TableFilterField3> aFilterFields ); + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetFilterable.idl b/offapi/com/sun/star/sheet/XSheetFilterable.idl new file mode 100644 index 000000000..94e1d5f79 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetFilterable.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetFilterable_idl__ +#define __com_sun_star_sheet_XSheetFilterable_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/XSheetFilterDescriptor.idl> + + +module com { module sun { module star { module sheet { + + +/** represents something that can be filtered using an XSheetFilterDescriptor. + + @see com::sun::star::sheet::XSheetFilterableEx + */ +published interface XSheetFilterable: com::sun::star::uno::XInterface +{ + + /** creates a filter descriptor. + + @param bEmpty + if set to `TRUE`, creates an empty filter descriptor. If set to + `FALSE`, fills the filter descriptor with previous settings of + the current object (i.e. a database range). + */ + com::sun::star::sheet::XSheetFilterDescriptor + createFilterDescriptor( [in] boolean bEmpty ); + + + /** performs a filter operation, using the settings of the passed filter + descriptor. + + @param xDescriptor + the settings for the filter operation. + */ + void filter( + [in] com::sun::star::sheet::XSheetFilterDescriptor xDescriptor ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetFilterableEx.idl b/offapi/com/sun/star/sheet/XSheetFilterableEx.idl new file mode 100644 index 000000000..a4e4d808e --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetFilterableEx.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_XSheetFilterableEx_idl__ +#define __com_sun_star_sheet_XSheetFilterableEx_idl__ + +#include <com/sun/star/sheet/XSheetFilterable.idl> +#include <com/sun/star/sheet/XSheetFilterDescriptor.idl> + + + +module com { module sun { module star { module sheet { + + +/** represents something from which criteria for filtering can be read. + + <p>In general the current object will be used only to create the + descriptor to filter another object, i.e. the advanced filter feature + in a spreadsheet.</p> + + @see com::sun::star::sheet::SheetCellRange + */ +published interface XSheetFilterableEx: com::sun::star::sheet::XSheetFilterable +{ + + /** creates a filter descriptor for the specified filterable object from + the contents of this object. + */ + com::sun::star::sheet::XSheetFilterDescriptor + createFilterDescriptorByObject( + [in] com::sun::star::sheet::XSheetFilterable xObject ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetLinkable.idl b/offapi/com/sun/star/sheet/XSheetLinkable.idl new file mode 100644 index 000000000..e2ede26a5 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetLinkable.idl @@ -0,0 +1,112 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetLinkable_idl__ +#define __com_sun_star_sheet_XSheetLinkable_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/SheetLinkMode.idl> + + +module com { module sun { module star { module sheet { + + +/** enables a sheet to refer to another sheet in a different document. + + <p>To insert a sheet link, the sheet used as linked sheet has to exist + already. The method XSheetLinkable::link() creates a + SheetLink object in the document's SheetLinks + collection and links the sheet to the specified external sheet.</p> + + @see com::sun::star::sheet::SheetLinks + @see com::sun::star::sheet::SheetLink + + @deprecated + */ +published interface XSheetLinkable: com::sun::star::uno::XInterface +{ + + /** returns the link mode of the spreadsheet. + + <p>If the returned value is SheetLinkMode::NORMAL, + formulas are copied. With SheetLinkMode::VALUE, + only results of formulas are used.</p> + */ + com::sun::star::sheet::SheetLinkMode getLinkMode(); + + + /** enables the linking of the sheet and controls whether formulas + are copied. + + @param nLinkMode + the value specifying the link mode for this spreadsheet. + + <p>If the value is SheetLinkMode::NORMAL, + formulas are copied. With SheetLinkMode::VALUE, + only results of formulas are used.</p> + */ + void setLinkMode( [in] com::sun::star::sheet::SheetLinkMode nLinkMode ); + + + /** returns the target URL of the link. + */ + string getLinkUrl(); + + + /** sets the target URL of the link. + + <p>A SheetLink object with the same file name must + exist already or the link will not work.</p> + */ + void setLinkUrl( [in] string aLinkUrl ); + + + /** returns the sheet name of the sheet in the source document. + */ + string getLinkSheetName(); + + + /** sets the name of the linked sheet in the source document. + + <p>This method sets the sheet name in the SheetLink + object, it does not modify the sheet name in the source document.</p> + */ + void setLinkSheetName( [in] string aLinkSheetName ); + + + /** links the sheet to another sheet in another document. + + <p>A SheetLink object is created if it does not exist, + and the link mode, the URL of the linked document and the linked + sheet name are set.</p> + */ + void link( [in] string aUrl, + [in] string aSheetName, + [in] string aFilterName, + [in] string aFilterOptions, + [in] com::sun::star::sheet::SheetLinkMode nMode ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetOperation.idl b/offapi/com/sun/star/sheet/XSheetOperation.idl new file mode 100644 index 000000000..7ec2e1a6d --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetOperation.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetOperation_idl__ +#define __com_sun_star_sheet_XSheetOperation_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/GeneralFunction.idl> +#include <com/sun/star/uno/Exception.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to execute operations on a cell range or ranges. + + @see com::sun::star::sheet::SheetCellRange + @see com::sun::star::sheet::SheetCellRanges + */ +published interface XSheetOperation: com::sun::star::uno::XInterface +{ + + /** computes a general function based on all cells in the current + cell range(s). + + @param nFunction + is the function used to compute the result. + + @returns + the result of the calculation. + */ + double computeFunction( + [in] com::sun::star::sheet::GeneralFunction nFunction ) + raises( com::sun::star::uno::Exception ); //! unnecessary + + + /** clears the specified contents of the current cell range(s). + + @param nContentFlags + a combination of CellFlags flags selecting the + contents to be deleted. + */ + void clearContents( [in] long nContentFlags ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetOutline.idl b/offapi/com/sun/star/sheet/XSheetOutline.idl new file mode 100644 index 000000000..a20c52d66 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetOutline.idl @@ -0,0 +1,116 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetOutline_idl__ +#define __com_sun_star_sheet_XSheetOutline_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellRangeAddress.idl> +#include <com/sun/star/table/TableOrientation.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to access the outlines of a sheet. + */ +published interface XSheetOutline: com::sun::star::uno::XInterface +{ + + /** creates an outline group. + + @param aRange + contains the range of rows or columns, depending on + the parameter nOrientation. + + @param nOrientation + the orientation of the new outline (columns or rows). + */ + void group( + [in] com::sun::star::table::CellRangeAddress aRange, + [in] com::sun::star::table::TableOrientation nOrientation ); + + + /** removes outline groups. + + <p>In the specified range, all outline groups on the innermost + level are removed.</p> + + @param aRange + contains the range of rows or columns, depending on + the parameter nOrientation. + + @param nOrientation + the orientation of the outlines to remove (columns or rows). + */ + void ungroup( + [in] com::sun::star::table::CellRangeAddress aRange, + [in] com::sun::star::table::TableOrientation nOrientation ); + + + /** creates outline groups from formula references in a range. + + @param aRange + the cell range for which outlines are generated. + */ + void autoOutline( [in] com::sun::star::table::CellRangeAddress aRange ); + + + /** removes all outline groups from the sheet. + */ + void clearOutline(); + + + /** collapses an outline group. + + @param aRange + the cell range for which the outlines are collapsed. + */ + void hideDetail( [in] com::sun::star::table::CellRangeAddress aRange ); + + + /** reopens an outline group. + + @param aRange + the cell range for which the outlines are reopened. + */ + void showDetail( [in] com::sun::star::table::CellRangeAddress aRange ); + + + /** shows all outlined groups below a specific level. + + @param nLevel + all outline levels from 1 to this value will be opened and + the higher levels will be closed. + + @param nOrientation + the orientation of the outlines (columns or rows). + */ + void showLevel( + [in] short nLevel, + [in] com::sun::star::table::TableOrientation nOrientation ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetPageBreak.idl b/offapi/com/sun/star/sheet/XSheetPageBreak.idl new file mode 100644 index 000000000..57abdbba9 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetPageBreak.idl @@ -0,0 +1,76 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetPageBreak_idl__ +#define __com_sun_star_sheet_XSheetPageBreak_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/TablePageBreakData.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to page breaks in a sheet. + + @deprecated + */ +published interface XSheetPageBreak: com::sun::star::uno::XInterface +{ + + /** returns a sequence of descriptions of all horizontal page breaks + on the sheet. + + <P>This includes manual and automatic page breaks. To add or + remove manual breaks, use the + com::sun::star::table::TableColumn::IsStartOfNewPage + property of the column.</P> + + @returns + a sequence of structs containing column page break data. + */ + sequence< com::sun::star::sheet::TablePageBreakData > getColumnPageBreaks(); + + + /** returns a sequence of descriptions of all vertical page breaks + on the sheet. + + <P>This includes manual and automatic page breaks. To add or + remove manual breaks, use the + com::sun::star::table::TableRow::IsStartOfNewPage + property of the row.</P> + + @returns + a sequence of structs containing row page break data. + */ + sequence< com::sun::star::sheet::TablePageBreakData > getRowPageBreaks(); + + + /** removes all manual page breaks on the sheet. + */ + void removeAllManualPageBreaks(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSheetPastable.idl b/offapi/com/sun/star/sheet/XSheetPastable.idl new file mode 100644 index 000000000..46c30036e --- /dev/null +++ b/offapi/com/sun/star/sheet/XSheetPastable.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSheetPastable_idl__ +#define __com_sun_star_sheet_XSheetPastable_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellAddress.idl> +#include <com/sun/star/table/CellRangeAddress.idl> +#include <com/sun/star/sheet/PasteOperation.idl> +#include <com/sun/star/sheet/CellInsertMode.idl> + + +module com { module sun { module star { module sheet { + + +/** represents a sheet into which contents of the clipboard can be pasted. + + @deprecated + */ +published interface XSheetPastable: com::sun::star::uno::XInterface +{ + + /** pastes the contents of the clipboard at the specified + position on the sheet. + */ + void paste( [in] com::sun::star::table::CellAddress aDestination ); + + + /** pastes the contents of the clipboard at the + specified position on the sheet, using the specified format. + */ + void pasteFormat( [in] com::sun::star::table::CellAddress aDestination, + [in] string aFormat ); + + + /** pastes clipboard data from a cell range into + another cell range. + + <p>The contents of the clipboard must be from a cell range.</p> + */ + void pasteCellRange( [in] com::sun::star::table::CellRangeAddress aDestination, + [in] com::sun::star::sheet::PasteOperation nOperation, + [in] short nContents, + [in] boolean bSkipEmpty, + [in] boolean bTranspose, + [in] boolean bAsLink, + [in] com::sun::star::sheet::CellInsertMode nInsert ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSolver.idl b/offapi/com/sun/star/sheet/XSolver.idl new file mode 100644 index 000000000..29b9ba011 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSolver.idl @@ -0,0 +1,69 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSolver_idl__ +#define __com_sun_star_sheet_XSolver_idl__ + +#include <com/sun/star/sheet/XSpreadsheetDocument.idl> +#include <com/sun/star/sheet/SolverConstraint.idl> + + +module com { module sun { module star { module sheet { + + +/** allows to call a solver for a model that is defined by spreadsheet cells. + */ +interface XSolver: com::sun::star::uno::XInterface +{ + /// The spreadsheet document that contains the cells. + [attribute] XSpreadsheetDocument Document; + + /// The address of the cell that contains the objective value. + [attribute] com::sun::star::table::CellAddress Objective; + + /// The addresses of the cells that contain the variables. + [attribute] sequence< com::sun::star::table::CellAddress > Variables; + + /// The constraints of the model. + [attribute] sequence< SolverConstraint > Constraints; + + /// selects if the objective value is maximized or minimized. + [attribute] boolean Maximize; + + /// executes the calculation and tries to find a solution. + void solve(); + + /// contains `TRUE` if a solution was found. + [attribute, readonly] boolean Success; + + /// contains the objective value for the solution, if a solution was found. + [attribute, readonly] double ResultValue; + + /** contains the solution's value for each of the variables, + if a solution was found. + */ + [attribute, readonly] sequence< double > Solution; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSolverDescription.idl b/offapi/com/sun/star/sheet/XSolverDescription.idl new file mode 100644 index 000000000..233029db0 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSolverDescription.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSolverDescription_idl__ +#define __com_sun_star_sheet_XSolverDescription_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** gives access to user-visible strings for a solver. + */ +interface XSolverDescription: com::sun::star::uno::XInterface +{ + /** A user-visible name of the component. + */ + [attribute, readonly] string ComponentDescription; + + /** returns a short description for a property in the component's + com::sun::star::beans::XPropertySet interface. + */ + string getPropertyDescription( [in] string aPropertyName ); + + /** After calling solve, a message describing the status + (explaining why no solution was found). + */ + [attribute, readonly] string StatusDescription; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSpreadsheet.idl b/offapi/com/sun/star/sheet/XSpreadsheet.idl new file mode 100644 index 000000000..431a0bec4 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSpreadsheet.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSpreadsheet_idl__ +#define __com_sun_star_sheet_XSpreadsheet_idl__ + +#include <com/sun/star/sheet/XSheetCellRange.idl> + + +module com { module sun { module star { module sheet { + + + published interface XSheetCellCursor; + + +/** provides methods to create a cell range cursor. + */ +published interface XSpreadsheet: com::sun::star::sheet::XSheetCellRange +{ + + /** creates a cell cursor including the whole spreadsheet. + + @see com::sun::star::sheet::SheetCellCursor + */ + com::sun::star::sheet::XSheetCellCursor createCursor(); + + + /** creates a cell cursor to travel in the given range context. + + @param aRange + the cell range for the cursor. + + @see com::sun::star::sheet::SheetCellCursor + */ + com::sun::star::sheet::XSheetCellCursor createCursorByRange( + [in] com::sun::star::sheet::XSheetCellRange aRange ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSpreadsheetDocument.idl b/offapi/com/sun/star/sheet/XSpreadsheetDocument.idl new file mode 100644 index 000000000..b3f1e3100 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSpreadsheetDocument.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSpreadsheetDocument_idl__ +#define __com_sun_star_sheet_XSpreadsheetDocument_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/XSpreadsheets.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to a collection of spreadsheets. + + @see com::sun::star::sheet::SpreadsheetDocument + */ +published interface XSpreadsheetDocument: com::sun::star::uno::XInterface +{ + + /** returns the collection of sheets in the document. + + @see com::sun::star::sheet::Spreadsheets + */ + com::sun::star::sheet::XSpreadsheets getSheets(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSpreadsheetView.idl b/offapi/com/sun/star/sheet/XSpreadsheetView.idl new file mode 100644 index 000000000..bc5aa062a --- /dev/null +++ b/offapi/com/sun/star/sheet/XSpreadsheetView.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_XSpreadsheetView_idl__ +#define __com_sun_star_sheet_XSpreadsheetView_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/sheet/XSpreadsheet.idl> + + + + module com { module sun { module star { module sheet { + + +/** is the main interface of a SpreadsheetView. It + manages the active sheet within this view. + */ +published interface XSpreadsheetView: com::sun::star::uno::XInterface +{ + + /** returns the sheet that is shown in the view. + */ + com::sun::star::sheet::XSpreadsheet getActiveSheet(); + + + /** sets the sheet that is shown in the view. + */ + void setActiveSheet( [in] com::sun::star::sheet::XSpreadsheet xActiveSheet ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSpreadsheets.idl b/offapi/com/sun/star/sheet/XSpreadsheets.idl new file mode 100644 index 000000000..9f46690b1 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSpreadsheets.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSpreadsheets_idl__ +#define __com_sun_star_sheet_XSpreadsheets_idl__ + +#include <com/sun/star/container/XNameContainer.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to access the spreadsheets by name and to insert, + copy, remove and rearrange spreadsheets. + + @see com::sun::star::sheet::Spreadsheets + */ +published interface XSpreadsheets: com::sun::star::container::XNameContainer +{ + + /** inserts a new sheet into the collection. + + @param aName + the name of the new spreadsheet. + @param nPosition + the index of the new spreadsheet in the collection. + */ + void insertNewByName( [in] string aName, [in] short nPosition ); + + + /** moves a sheet within the collection. + + @param aName + the name of the spreadsheet to move. + @param nDestination + the new index of the spreadsheet in the collection. + */ + void moveByName( [in] string aName, [in] short nDestination ); + + + /** copies a sheet within the collection. + + @param aName + the name of the spreadsheet to copy. + @param aCopy + the name of the copy of the spreadsheet. + @param nDestination + the index of the copy in the collection. + */ + void copyByName( + [in] string aName, + [in] string aCopy, + [in] short nDestination ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSpreadsheets2.idl b/offapi/com/sun/star/sheet/XSpreadsheets2.idl new file mode 100644 index 000000000..16d44768e --- /dev/null +++ b/offapi/com/sun/star/sheet/XSpreadsheets2.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_XSpreadsheets2_idl__ +#define __com_sun_star_sheet_XSpreadsheets2_idl__ + +#include <com/sun/star/sheet/XSpreadsheets.idl> +#include <com/sun/star/sheet/XSpreadsheetDocument.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> + + +module com { module sun { module star { module sheet { + + +/** extends XSpreadsheets interface to import external sheets. + + @see com::sun::star::sheet::Spreadsheets + */ +interface XSpreadsheets2: com::sun::star::sheet::XSpreadsheets +{ + /** copies a sheet from a source document. + + @param srcDoc + a valid XSpreadsheetDocument reference to source doc + + @param srcName + the source sheet name. Throw IllegalArgumentException if not valid + + @param nDestPosition + the destination sheet position. Throw IndexOutOfBoundsException if not valid + + @returns the position of the imported sheet + + @throws ::com::sun::star::lang::IllegalArgumentException + @throws com::sun::star::lang::IndexOutOfBoundsException + + @since LibreOffice 3.5 + */ + long importSheet( + [in] com::sun::star::sheet::XSpreadsheetDocument srcDoc, + [in] string srcName, + [in] long nDestPosition) + raises (com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::IndexOutOfBoundsException); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSubTotalCalculatable.idl b/offapi/com/sun/star/sheet/XSubTotalCalculatable.idl new file mode 100644 index 000000000..02ff9a52f --- /dev/null +++ b/offapi/com/sun/star/sheet/XSubTotalCalculatable.idl @@ -0,0 +1,77 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSubTotalCalculatable_idl__ +#define __com_sun_star_sheet_XSubTotalCalculatable_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/XSubTotalDescriptor.idl> + + +module com { module sun { module star { module sheet { + + +/** contains methods to handle a subtotal descriptor. + + <p>The subtotal descriptor provides properties to set up the subtotal + function.</p> + + @see com::sun::star::sheet::SheetCellRange + @see com::sun::star::sheet::SubTotalDescriptor + */ +published interface XSubTotalCalculatable: com::sun::star::uno::XInterface +{ + + /** creates a subtotal descriptor. + + @param bEmpty + if set to `TRUE`, creates an empty descriptor. If set to + `FALSE`, fills the descriptor with previous settings of the + current object (i.e. a database range). + */ + com::sun::star::sheet::XSubTotalDescriptor createSubTotalDescriptor( + [in] boolean bEmpty ); + + + /** creates subtotals using the settings of the passed descriptor. + + @param xDescriptor + the subtotal descriptor with the settings used for the subtotal + operation. + + @param bReplace + if set to `TRUE`, replaces previous subtotal results. + */ + void applySubTotals( + [in] com::sun::star::sheet::XSubTotalDescriptor xDescriptor, + [in] boolean bReplace ); + + + /** removes the subtotals from the current object. + */ + void removeSubTotals(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSubTotalDescriptor.idl b/offapi/com/sun/star/sheet/XSubTotalDescriptor.idl new file mode 100644 index 000000000..e4f7ffe13 --- /dev/null +++ b/offapi/com/sun/star/sheet/XSubTotalDescriptor.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSubTotalDescriptor_idl__ +#define __com_sun_star_sheet_XSubTotalDescriptor_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/SubTotalColumn.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the collection of subtotal fields in a subtotal + descriptor. + + @see com::sun::star::sheet::SubTotalDescriptor + */ +published interface XSubTotalDescriptor: com::sun::star::uno::XInterface +{ + + /** adds a subtotal field definition to the descriptor. + + @param aSubTotalColumns + a sequence of all columns used to calculate subtotal values. + + @param nGroupColumn + specifies which column of the source range is used to group the + contents of the source data. + */ + void addNew( + [in] sequence< com::sun::star::sheet::SubTotalColumn > aSubTotalColumns, + [in] long nGroupColumn ); + + + /** removes all subtotal field definitions from the descriptor. + */ + void clear(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XSubTotalField.idl b/offapi/com/sun/star/sheet/XSubTotalField.idl new file mode 100644 index 000000000..21158ccac --- /dev/null +++ b/offapi/com/sun/star/sheet/XSubTotalField.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XSubTotalField_idl__ +#define __com_sun_star_sheet_XSubTotalField_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/SubTotalColumn.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to the settings of a field in a subtotal descriptor. + + @see com::sun::star::sheet::SubTotalField + @see com::sun::star::sheet::SubTotalDescriptor + */ +published interface XSubTotalField: com::sun::star::uno::XInterface +{ + + /** returns the column by which entries are grouped. + */ + long getGroupColumn(); + + + /** sets the column by which entries are grouped. + */ + void setGroupColumn( [in] long nGroupColumn ); + + + /** returns the definitions of which columns should have subtotals + added to them. + */ + sequence< com::sun::star::sheet::SubTotalColumn > getSubTotalColumns(); + + + /** sets the definitions of which columns should have subtotals + added to them. + */ + void setSubTotalColumns( + [in] sequence< com::sun::star::sheet::SubTotalColumn > + aSubTotalColumns ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl b/offapi/com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl new file mode 100644 index 000000000..e21ca11b0 --- /dev/null +++ b/offapi/com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XUniqueCellFormatRangesSupplier_idl__ +#define __com_sun_star_sheet_XUniqueCellFormatRangesSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** provides access to a collection of collections of equal-formatted + cell ranges. + + @see com::sun::star::sheet::SheetCellRange + @see com::sun::star::sheet::SheetCellRanges + */ +published interface XUniqueCellFormatRangesSupplier: com::sun::star::uno::XInterface +{ + /** returns a collection of equal-formatted cell range collections. + + <p>Each cell of the original range is contained in one of the + ranges (even unformatted cells). If there is a non-rectangular + equal-formatted cell area, it will be split into several + rectangular ranges.</p> + + <p>All equal-formatted ranges are consolidated into one collection. + These collections are the members contained in a + UniqueCellFormatRanges collection.</p> + + @returns + the collection of equal-formatted cell range collections. + + @see com::sun::star::sheet::UniqueCellFormatRanges + */ + com::sun::star::container::XIndexAccess getUniqueCellFormatRanges(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XUnnamedDatabaseRanges.idl b/offapi/com/sun/star/sheet/XUnnamedDatabaseRanges.idl new file mode 100644 index 000000000..fd51f50cb --- /dev/null +++ b/offapi/com/sun/star/sheet/XUnnamedDatabaseRanges.idl @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_XUnnamedDatabaseRanges_idl__ +#define __com_sun_star_sheet_XUnnamedDatabaseRanges_idl__ + +#include <com/sun/star/table/CellRangeAddress.idl> +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> + + +module com { module sun { module star { module sheet { + + +/** provides functions to manage the sheet local databases + * @since LibreOffice 3.5 + */ + +interface XUnnamedDatabaseRanges: com::sun::star::uno::XInterface + { + void setByTable( [in] com::sun::star::table::CellRangeAddress aRange ) + raises( com::sun::star::lang::IndexOutOfBoundsException ); + + any getByTable( [in] long nTab ) + raises( com::sun::star::container::NoSuchElementException, + com::sun::star::lang::IndexOutOfBoundsException ); + + boolean hasByTable ( [in] long nTab ) + raises( com::sun::star::lang::IndexOutOfBoundsException ); + + }; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XUsedAreaCursor.idl b/offapi/com/sun/star/sheet/XUsedAreaCursor.idl new file mode 100644 index 000000000..9038db4c4 --- /dev/null +++ b/offapi/com/sun/star/sheet/XUsedAreaCursor.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XUsedAreaCursor_idl__ +#define __com_sun_star_sheet_XUsedAreaCursor_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to find the used area of the entire sheet. + + <p>The used area is the smallest cell range that contains all cells + of the spreadsheet with any contents (values, text, formulas) or + visible formatting (borders and background color).</p> + + @see com::sun::star::sheet::SheetCellCursor + */ +published interface XUsedAreaCursor: com::sun::star::uno::XInterface +{ + + /** points the cursor to the start of the used area. + + @param bExpand + `TRUE` = expands the current cursor range, + `FALSE` = sets size of the cursor to a single cell. + */ + void gotoStartOfUsedArea( [in] boolean bExpand ); + + + /** points the cursor to the end of the used area. + + @param bExpand + `TRUE` = expands the current cursor range, + `FALSE` = sets size of the cursor to a single cell. + */ + void gotoEndOfUsedArea( [in] boolean bExpand ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XViewFreezable.idl b/offapi/com/sun/star/sheet/XViewFreezable.idl new file mode 100644 index 000000000..2815d028d --- /dev/null +++ b/offapi/com/sun/star/sheet/XViewFreezable.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_XViewFreezable_idl__ +#define __com_sun_star_sheet_XViewFreezable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + + module com { module sun { module star { module sheet { + + +/** enables a SpreadsheetView to freeze + columns and rows of the view. + */ +published interface XViewFreezable: com::sun::star::uno::XInterface +{ + + /** returns `TRUE` if the view has frozen panes. + + <p>Only one of + XViewSplitable::getIsWindowSplit() and + XViewFreezable::hasFrozenPanes() + can be `TRUE`.</p> + */ + boolean hasFrozenPanes(); + + + /** freezes panes with the specified number of + columns and rows. + + <p>To freeze only horizontally, specify nRows as 0. + To freeze only vertically, specify nColumns as 0.</p> + */ + void freezeAtPosition( [in] long nColumns, + [in] long nRows ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XViewPane.idl b/offapi/com/sun/star/sheet/XViewPane.idl new file mode 100644 index 000000000..254dab563 --- /dev/null +++ b/offapi/com/sun/star/sheet/XViewPane.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_XViewPane_idl__ +#define __com_sun_star_sheet_XViewPane_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +#include <com/sun/star/table/CellRangeAddress.idl> + + + + module com { module sun { module star { module sheet { + + +/** represents a pane in a view of a spreadsheet document. + + @see com::sun::star::sheet::SpreadsheetViewPane + */ +published interface XViewPane: com::sun::star::uno::XInterface +{ + + /** returns the first column that is visible in the pane. + */ + long getFirstVisibleColumn(); + + + /** sets the first column that is visible in the pane. + */ + void setFirstVisibleColumn( [in] long nFirstVisibleColumn ); + + + /** returns the first row that is visible in the pane. + */ + long getFirstVisibleRow(); + + + /** sets the first row that is visible in the pane. + */ + void setFirstVisibleRow( [in] long nFirstVisibleRow ); + + + /** returns the address of the cell range that consists of + the cells which are visible in the pane. + */ + com::sun::star::table::CellRangeAddress getVisibleRange(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XViewPanesSupplier.idl b/offapi/com/sun/star/sheet/XViewPanesSupplier.idl new file mode 100644 index 000000000..370262ba9 --- /dev/null +++ b/offapi/com/sun/star/sheet/XViewPanesSupplier.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XViewPanesSupplier_idl__ +#define __com_sun_star_sheet_XViewPanesSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module sheet { + + +/** enables access to the panes in a view. + + @deprecated + */ +published interface XViewPanesSupplier: com::sun::star::uno::XInterface +{ + + /** returns the collection of panes in the view. + */ + com::sun::star::container::XIndexAccess getViewPanes(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XViewSplitable.idl b/offapi/com/sun/star/sheet/XViewSplitable.idl new file mode 100644 index 000000000..7fe0b799a --- /dev/null +++ b/offapi/com/sun/star/sheet/XViewSplitable.idl @@ -0,0 +1,84 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#ifndef __com_sun_star_sheet_XViewSplitable_idl__ +#define __com_sun_star_sheet_XViewSplitable_idl__ + +#include <com/sun/star/uno/XInterface.idl> + + + + module com { module sun { module star { module sheet { + + +/** enables a SpreadsheetView to split the view. + + @deprecated + */ +published interface XViewSplitable: com::sun::star::uno::XInterface +{ + + /** returns `TRUE` if the view is split + into individual panes. + + <p>Only one of + XViewSplitable::getIsWindowSplit() and + XViewFreezable::hasFrozenPanes() + can be `TRUE`.</p> + */ + boolean getIsWindowSplit(); + + + /** returns the horizontal position in pixels where + the view is split. + */ + long getSplitHorizontal(); + + + /** returns the vertical position in pixels where + the view is split. + */ + long getSplitVertical(); + + + /** returns the column before which the view is split. + */ + long getSplitColumn(); + + + /** returns the row before which the view is split. + */ + long getSplitRow(); + + + /** splits the view at the specified position. + + <p>To split only horizontally, specify <var>nPixelY</var> as 0. + To split only vertically, specify <var>nPixelX</var> as 0.</p> + */ + void splitAtPosition( [in] long nPixelX, + [in] long nPixelY ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/XVolatileResult.idl b/offapi/com/sun/star/sheet/XVolatileResult.idl new file mode 100644 index 000000000..b1d36368a --- /dev/null +++ b/offapi/com/sun/star/sheet/XVolatileResult.idl @@ -0,0 +1,56 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_sheet_XVolatileResult_idl__ +#define __com_sun_star_sheet_XVolatileResult_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/sheet/XResultListener.idl> + + +module com { module sun { module star { module sheet { + + +/** provides methods to handle a volatile function result. + + @see com::sun::star::sheet::VolatileResult + @see com::sun::star::sheet::ResultEvent + */ +published interface XVolatileResult: com::sun::star::uno::XInterface +{ + + /** adds a listener to be notified when a new value is available. + */ + void addResultListener( + [in] com::sun::star::sheet::XResultListener aListener ); + + + /** removes the specified listener. + */ + void removeResultListener( + [in] com::sun::star::sheet::XResultListener aListener ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/opencl/OpenCLDevice.idl b/offapi/com/sun/star/sheet/opencl/OpenCLDevice.idl new file mode 100644 index 000000000..7cf795f97 --- /dev/null +++ b/offapi/com/sun/star/sheet/opencl/OpenCLDevice.idl @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_opencl_OpenCLDevice_idl__ +#define __com_sun_star_sheet_opencl_OpenCLDevice_idl__ + +module com { module sun { module star { module sheet { module opencl { + +struct OpenCLDevice +{ + /** + * The name of the device as returned by OpenCL + */ + string Name; + + /** + * The vendor of the device as returned by OpenCL + */ + string Vendor; + + /** + * The driver version as returned by OpenCL + */ + string Driver; +}; + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/opencl/OpenCLPlatform.idl b/offapi/com/sun/star/sheet/opencl/OpenCLPlatform.idl new file mode 100644 index 000000000..bb8a683b8 --- /dev/null +++ b/offapi/com/sun/star/sheet/opencl/OpenCLPlatform.idl @@ -0,0 +1,33 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_sheet_opencl_OpenCLPlatform_idl__ +#define __com_sun_star_sheet_opencl_OpenCLPlatform_idl__ + +#include <com/sun/star/sheet/opencl/OpenCLDevice.idl> + +module com { module sun { module star { module sheet { module opencl { + +struct OpenCLPlatform +{ + /** + * The name of the platform as returned by OpenCL + */ + string Name; + + string Vendor; + + sequence< OpenCLDevice > Devices; +}; + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/sheet/opencl/XOpenCLSelection.idl b/offapi/com/sun/star/sheet/opencl/XOpenCLSelection.idl new file mode 100644 index 000000000..69374baf8 --- /dev/null +++ b/offapi/com/sun/star/sheet/opencl/XOpenCLSelection.idl @@ -0,0 +1,106 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include <com/sun/star/sheet/opencl/OpenCLPlatform.idl> + +module com { module sun { module star { module sheet { module opencl { + +interface XOpenCLSelection : com::sun::star::uno::XInterface +{ + + /** + * Returns true if calculation with OpenCL is enabled (at all). + * The actual use of OpenCL for a formula is also affected by the + * configuration settings specifying whether OpenCL is used for + * all opcodes or just for a subset, and the deny- and allowlists + * of OpenCL implementations that are in use. + */ + boolean isOpenCLEnabled(); + + /** + * Enables or disables use of OpenCL for calculations. When using + * this API to enable OpenCL the configuration parameters are set + * to their built-in default values, not ones read from the + * installation of user-specific configuration. + */ + void enableOpenCL( [in] boolean enable ); + + /** + * Enables automatic OpenCL Device Selection + * @param force forces a new evaluation of the best device + */ + void enableAutomaticDeviceSelection( [in] boolean force ); + + /** + * Disables automatic OpenCL Device Selection + */ + void disableAutomaticDeviceSelection(); + + /** + * Select the OpenCL device with the given platform and device + * number. The platform number corresponds to an index into the + * sequence returned by getOpenCLPlatforms, and the device number + * corresponds to an index into the sequence of devices in that + * platform. + */ + void selectOpenCLDevice( [in] long platform, [in] long device ); + + /** + * returns the index of the platform of the currently selected + * device. This is an index into the sequence that + * getOpenCLPlatforms returns in the current instance of + * LibreOffice (and not some a priori defined identifier for an + * OpenCL platform). + */ + long getPlatformID(); + + /** + * returns the index of the currently selected device. This is an + * index into the sequence of devices in the OpenCLPLatform object + * the device is part of in the current instance of LibreOffice + * (and not some a priori defined identifier for a specific model + * of device accessed through a specific platform). + */ + long getDeviceID(); + + /** + * lists all OpenCL devices and platforms + */ + sequence< OpenCLPlatform > getOpenCLPlatforms(); + + /* + * Sets OpenCL to be considered only for formulas that use only a specific subset of opcodes. + */ + void enableOpcodeSubsetTest(); + + /* + * Sets OpenCL to be considered for formulas regardless of what opcodes they contain. + */ + void disableOpcodeSubsetTest(); + + /* + * Returns whether OpenCL is considered or not depending on the opcodes a formula uses. + */ + boolean isOpcodeSubsetTested(); + + /* + * Sets the lower limit on the size of a formula group for OpenCL to be considered. (Sorry, the name is misleading.) + */ + void setFormulaCellNumberLimit( [in] long number ); + + /* + * Returns the lower limit on the size of a formula group for OpenCL to be considered. + */ + long getFormulaCellNumberLimit(); + +}; + +}; }; }; }; }; + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |