From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001
From: Daniel Baumann
Date: Sun, 7 Apr 2024 11:06:44 +0200
Subject: Adding upstream version 4:7.4.7.
Signed-off-by: Daniel Baumann
---
offapi/com/sun/star/table/AccessibleCellView.idl | 127 +++++++++
offapi/com/sun/star/table/AccessibleTableView.idl | 135 ++++++++++
offapi/com/sun/star/table/BorderLine.idl | 65 +++++
offapi/com/sun/star/table/BorderLine2.idl | 57 +++++
offapi/com/sun/star/table/BorderLineStyle.idl | 120 +++++++++
offapi/com/sun/star/table/Cell.idl | 57 +++++
offapi/com/sun/star/table/CellAddress.idl | 53 ++++
offapi/com/sun/star/table/CellContentType.idl | 58 +++++
offapi/com/sun/star/table/CellCursor.idl | 48 ++++
offapi/com/sun/star/table/CellHoriJustify.idl | 68 +++++
offapi/com/sun/star/table/CellJustifyMethod.idl | 55 ++++
offapi/com/sun/star/table/CellOrientation.idl | 59 +++++
offapi/com/sun/star/table/CellProperties.idl | 283 +++++++++++++++++++++
offapi/com/sun/star/table/CellRange.idl | 51 ++++
offapi/com/sun/star/table/CellRangeAddress.idl | 63 +++++
offapi/com/sun/star/table/CellRangeListSource.idl | 80 ++++++
offapi/com/sun/star/table/CellValueBinding.idl | 92 +++++++
offapi/com/sun/star/table/CellVertJustify.idl | 58 +++++
offapi/com/sun/star/table/CellVertJustify2.idl | 62 +++++
.../com/sun/star/table/ListPositionCellBinding.idl | 50 ++++
offapi/com/sun/star/table/ShadowFormat.idl | 61 +++++
offapi/com/sun/star/table/ShadowLocation.idl | 63 +++++
offapi/com/sun/star/table/TableBorder.idl | 128 ++++++++++
offapi/com/sun/star/table/TableBorder2.idl | 124 +++++++++
offapi/com/sun/star/table/TableBorderDistances.idl | 90 +++++++
offapi/com/sun/star/table/TableChart.idl | 62 +++++
offapi/com/sun/star/table/TableCharts.idl | 61 +++++
.../com/sun/star/table/TableChartsEnumeration.idl | 49 ++++
offapi/com/sun/star/table/TableColumn.idl | 87 +++++++
offapi/com/sun/star/table/TableColumns.idl | 64 +++++
.../com/sun/star/table/TableColumnsEnumeration.idl | 49 ++++
offapi/com/sun/star/table/TableOrientation.idl | 48 ++++
offapi/com/sun/star/table/TableRow.idl | 79 ++++++
offapi/com/sun/star/table/TableRows.idl | 55 ++++
offapi/com/sun/star/table/TableRowsEnumeration.idl | 49 ++++
offapi/com/sun/star/table/TableSortDescriptor.idl | 81 ++++++
offapi/com/sun/star/table/TableSortDescriptor2.idl | 68 +++++
offapi/com/sun/star/table/TableSortField.idl | 88 +++++++
offapi/com/sun/star/table/TableSortFieldType.idl | 53 ++++
offapi/com/sun/star/table/XAutoFormattable.idl | 53 ++++
offapi/com/sun/star/table/XCell.idl | 95 +++++++
offapi/com/sun/star/table/XCell2.idl | 49 ++++
offapi/com/sun/star/table/XCellCursor.idl | 83 ++++++
offapi/com/sun/star/table/XCellRange.idl | 114 +++++++++
offapi/com/sun/star/table/XColumnRowRange.idl | 59 +++++
offapi/com/sun/star/table/XMergeableCell.idl | 58 +++++
offapi/com/sun/star/table/XMergeableCellRange.idl | 78 ++++++
offapi/com/sun/star/table/XTable.idl | 99 +++++++
offapi/com/sun/star/table/XTableChart.idl | 79 ++++++
offapi/com/sun/star/table/XTableCharts.idl | 82 ++++++
offapi/com/sun/star/table/XTableChartsSupplier.idl | 49 ++++
offapi/com/sun/star/table/XTableColumns.idl | 65 +++++
offapi/com/sun/star/table/XTablePivotChart.idl | 33 +++
offapi/com/sun/star/table/XTablePivotCharts.idl | 55 ++++
.../sun/star/table/XTablePivotChartsSupplier.idl | 36 +++
offapi/com/sun/star/table/XTableRows.idl | 70 +++++
56 files changed, 4157 insertions(+)
create mode 100644 offapi/com/sun/star/table/AccessibleCellView.idl
create mode 100644 offapi/com/sun/star/table/AccessibleTableView.idl
create mode 100644 offapi/com/sun/star/table/BorderLine.idl
create mode 100644 offapi/com/sun/star/table/BorderLine2.idl
create mode 100644 offapi/com/sun/star/table/BorderLineStyle.idl
create mode 100644 offapi/com/sun/star/table/Cell.idl
create mode 100644 offapi/com/sun/star/table/CellAddress.idl
create mode 100644 offapi/com/sun/star/table/CellContentType.idl
create mode 100644 offapi/com/sun/star/table/CellCursor.idl
create mode 100644 offapi/com/sun/star/table/CellHoriJustify.idl
create mode 100644 offapi/com/sun/star/table/CellJustifyMethod.idl
create mode 100644 offapi/com/sun/star/table/CellOrientation.idl
create mode 100644 offapi/com/sun/star/table/CellProperties.idl
create mode 100644 offapi/com/sun/star/table/CellRange.idl
create mode 100644 offapi/com/sun/star/table/CellRangeAddress.idl
create mode 100644 offapi/com/sun/star/table/CellRangeListSource.idl
create mode 100644 offapi/com/sun/star/table/CellValueBinding.idl
create mode 100644 offapi/com/sun/star/table/CellVertJustify.idl
create mode 100644 offapi/com/sun/star/table/CellVertJustify2.idl
create mode 100644 offapi/com/sun/star/table/ListPositionCellBinding.idl
create mode 100644 offapi/com/sun/star/table/ShadowFormat.idl
create mode 100644 offapi/com/sun/star/table/ShadowLocation.idl
create mode 100644 offapi/com/sun/star/table/TableBorder.idl
create mode 100644 offapi/com/sun/star/table/TableBorder2.idl
create mode 100644 offapi/com/sun/star/table/TableBorderDistances.idl
create mode 100644 offapi/com/sun/star/table/TableChart.idl
create mode 100644 offapi/com/sun/star/table/TableCharts.idl
create mode 100644 offapi/com/sun/star/table/TableChartsEnumeration.idl
create mode 100644 offapi/com/sun/star/table/TableColumn.idl
create mode 100644 offapi/com/sun/star/table/TableColumns.idl
create mode 100644 offapi/com/sun/star/table/TableColumnsEnumeration.idl
create mode 100644 offapi/com/sun/star/table/TableOrientation.idl
create mode 100644 offapi/com/sun/star/table/TableRow.idl
create mode 100644 offapi/com/sun/star/table/TableRows.idl
create mode 100644 offapi/com/sun/star/table/TableRowsEnumeration.idl
create mode 100644 offapi/com/sun/star/table/TableSortDescriptor.idl
create mode 100644 offapi/com/sun/star/table/TableSortDescriptor2.idl
create mode 100644 offapi/com/sun/star/table/TableSortField.idl
create mode 100644 offapi/com/sun/star/table/TableSortFieldType.idl
create mode 100644 offapi/com/sun/star/table/XAutoFormattable.idl
create mode 100644 offapi/com/sun/star/table/XCell.idl
create mode 100644 offapi/com/sun/star/table/XCell2.idl
create mode 100644 offapi/com/sun/star/table/XCellCursor.idl
create mode 100644 offapi/com/sun/star/table/XCellRange.idl
create mode 100644 offapi/com/sun/star/table/XColumnRowRange.idl
create mode 100644 offapi/com/sun/star/table/XMergeableCell.idl
create mode 100644 offapi/com/sun/star/table/XMergeableCellRange.idl
create mode 100644 offapi/com/sun/star/table/XTable.idl
create mode 100644 offapi/com/sun/star/table/XTableChart.idl
create mode 100644 offapi/com/sun/star/table/XTableCharts.idl
create mode 100644 offapi/com/sun/star/table/XTableChartsSupplier.idl
create mode 100644 offapi/com/sun/star/table/XTableColumns.idl
create mode 100644 offapi/com/sun/star/table/XTablePivotChart.idl
create mode 100644 offapi/com/sun/star/table/XTablePivotCharts.idl
create mode 100644 offapi/com/sun/star/table/XTablePivotChartsSupplier.idl
create mode 100644 offapi/com/sun/star/table/XTableRows.idl
(limited to 'offapi/com/sun/star/table')
diff --git a/offapi/com/sun/star/table/AccessibleCellView.idl b/offapi/com/sun/star/table/AccessibleCellView.idl
new file mode 100644
index 000000000..d09f00b5c
--- /dev/null
+++ b/offapi/com/sun/star/table/AccessibleCellView.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_table_AccessibleCellView_idl__
+#define __com_sun_star_table_AccessibleCellView_idl__
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+
+module com { module sun { module star { module table {
+
+
+/** The accessible view of a cell in a text document or in the page preview
+ of a spreadsheet document. See
+ ::com::sun::star::sheet::AccessibleCell for cells in
+ the edit view of a spreadsheet.
+ @since OOo 1.1.2
+*/
+service AccessibleCellView
+{
+ /** This interface gives access to the visible content of a cell in a
+ accessible spreadsheet page preview or accessible text document view.
+
+ - The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible table view.
+ - 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 service
+ ::com::sun::star::text::AccessibleParagraphView:
+ A child of this kind is returned for every paragraph
+ fragment that is contained in the cell and
+ is at least partially visible. A paragraph fragment is
+ the part of a paragraph that is displayed on a
+ certain page.
+
- The name is something like A10 or B23 or so on.
+ - The description is the name or the content of the given note.
+ - The role is
+ ::com::sun::star::accessibility::AccessibleRole::TABLE_CELL
+ - For spreadsheets, there are relations between the cell and the
+ shapes with an anchor on this cell.
+ - The following states are supported:
+
+ - ::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is always false if the
+ cell is shown, otherwise it is true.
+ - ::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is false if the cell
+ is showed in a page preview or the cell or the table is
+ protected, otherwise it is true.
+ - ::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always true.
+ - ::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
+ is always true in spreadsheets and false otherwise.
+ - ::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is false if the cell
+ has no background color or graphic, otherwise it is true.
+ - ::com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is true if the
+ cell is not showed in a page preview, otherwise is it
+ false.
+ - ::com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is true, if the cell
+ is selected. This is not possible in the page preview.
+ - ::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is true if the
+ Bounding Box lies in the Bounding Box of the parent.
+ Otherwise it is false.
+ - ::com::sun::star::accessibility::AccessibleStateType::TRANSIENT
+ is true if the cell
+ is showed in a spreadsheet page preview. Otherwise it is
+ false.
+ - ::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always true.
+
+
+
+ */
+ 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.
+ Only a readonly access is possible.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleValue;
+
+ /** This interface is for selecting the text, value or parts of this in the
+ cell. This interface is optional.
+ */
+ [optional] interface ::com::sun::star::accessibility::XAccessibleSelection;
+
+ /** This is the interface for listeners */
+ [optional] interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/AccessibleTableView.idl b/offapi/com/sun/star/table/AccessibleTableView.idl
new file mode 100644
index 000000000..834436882
--- /dev/null
+++ b/offapi/com/sun/star/table/AccessibleTableView.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_table_AccessibleTableView_idl__
+#define __com_sun_star_table_AccessibleTableView_idl__
+
+#include
+#include
+#include
+#include
+#include
+
+
+
+module com { module sun { module star { module table {
+
+
+/** The accessible view of a table in a text document or in the page preview
+ of a spreadsheet document. See
+ ::com::sun::star::sheet::AccessibleSpreadsheet for
+ tables in the edit view of a spreadsheet.
+ @since OOo 1.1.2
+*/
+service AccessibleTableView
+{
+ /** This interface gives access to any table cell that is contained in
+ a table fragment that is at least partially visible. A table fragment
+ is the part of a table that is displayed at a single page.
+
+
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface gives access to the visibility of the document.
+ */
+ 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. This interface is optional.
+ */
+ [optional] 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/table/BorderLine.idl b/offapi/com/sun/star/table/BorderLine.idl
new file mode 100644
index 000000000..06a61dcad
--- /dev/null
+++ b/offapi/com/sun/star/table/BorderLine.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_table_BorderLine_idl__
+#define __com_sun_star_table_BorderLine_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** describes the line type for a single cell edge.
+ */
+published struct BorderLine
+{
+
+ /** contains the color value of the line.
+ */
+ com::sun::star::util::Color Color;
+
+
+ /** contains the width of the inner part of a double line (in 1/100 mm).
+
+ If this value is zero, only a single line is drawn.
+ */
+ short InnerLineWidth;
+
+
+ /** contains the width of a single line or the width of outer part of
+ a double line (in 1/100 mm).
+
+ If this value is zero, no line is drawn.
+ */
+ short OuterLineWidth;
+
+
+ /** contains the distance between the inner and outer parts of a
+ double line (in 1/100 mm).
+ */
+ short LineDistance;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/BorderLine2.idl b/offapi/com/sun/star/table/BorderLine2.idl
new file mode 100644
index 000000000..dfbbfd7e0
--- /dev/null
+++ b/offapi/com/sun/star/table/BorderLine2.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_table_BorderLine2_idl__
+#define __com_sun_star_table_BorderLine2_idl__
+
+
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** A border line, extended with line style.
+
+ @since LibreOffice 3.4
+ */
+published struct BorderLine2 : BorderLine
+{
+ /** Style of the border. @see BorderLineStyle
+ */
+ short LineStyle;
+
+ /** Width of the border, this is the base to compute all the lines
+ and gaps widths. These widths computations are based on the
+ LineStyle property
+
+ This property is prevailing on the old Out, In and Dist width
+ from BorderLine. If this property is set to 0, then the other
+ widths will be used to guess the border width.
+ */
+ unsigned long LineWidth;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/BorderLineStyle.idl b/offapi/com/sun/star/table/BorderLineStyle.idl
new file mode 100644
index 000000000..90d5930b4
--- /dev/null
+++ b/offapi/com/sun/star/table/BorderLineStyle.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_table_BorderLineStyle_idl__
+#define __com_sun_star_table_BorderLineStyle_idl__
+
+
+module com { module sun { module star { module table {
+
+
+constants BorderLineStyle
+{
+ /** No border line
+ */
+ const short NONE = 0x7FFF;
+
+ /** Solid border line.
+ */
+ const short SOLID = 0;
+
+ /** Dotted border line.
+ */
+ const short DOTTED = 1;
+
+ /** Dashed border line.
+ */
+ const short DASHED = 2;
+
+ /** Double border line. Widths of the lines and the gap are all equal,
+ and vary equally with the total width.
+ */
+ const short DOUBLE = 3;
+
+ /** Double border line with a thin line outside and a thick line
+ inside separated by a small gap.
+ */
+ const short THINTHICK_SMALLGAP = 4;
+
+ /** Double border line with a thin line outside and a thick line
+ inside separated by a medium gap.
+ */
+ const short THINTHICK_MEDIUMGAP = 5;
+
+ /** Double border line with a thin line outside and a thick line
+ inside separated by a large gap.
+ */
+ const short THINTHICK_LARGEGAP = 6;
+
+ /** Double border line with a thick line outside and a thin line
+ inside separated by a small gap.
+ */
+ const short THICKTHIN_SMALLGAP = 7;
+
+ /** Double border line with a thick line outside and a thin line
+ inside separated by a medium gap.
+ */
+ const short THICKTHIN_MEDIUMGAP = 8;
+
+ /** Double border line with a thick line outside and a thin line
+ inside separated by a large gap.
+ */
+ const short THICKTHIN_LARGEGAP = 9;
+
+ /** 3D embossed border line.
+ */
+ const short EMBOSSED = 10;
+
+ /** 3D engraved border line.
+ */
+ const short ENGRAVED = 11;
+
+ /** Outset border line.
+ */
+ const short OUTSET = 12;
+
+ /** Inset border line.
+ */
+ const short INSET = 13;
+
+ /** Finely dashed border line.
+ */
+ const short FINE_DASHED = 14;
+
+ /** Double border line consisting of two fixed thin lines separated by a
+ variable gap.
+ */
+ const short DOUBLE_THIN = 15;
+
+ /** Line consisting of a repetition of one dash and one dot. */
+ const short DASH_DOT = 16;
+
+ /** Line consisting of a repetition of one dash and 2 dots. */
+ const short DASH_DOT_DOT = 17;
+
+ /** Maximum valid border line style value.
+ */
+ const short BORDER_LINE_STYLE_MAX = 17;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/Cell.idl b/offapi/com/sun/star/table/Cell.idl
new file mode 100644
index 000000000..753ebb2d9
--- /dev/null
+++ b/offapi/com/sun/star/table/Cell.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_table_Cell_idl__
+#define __com_sun_star_table_Cell_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a single cell within a table.
+ */
+published service Cell
+{
+
+ /** contains the properties of the table cell.
+ */
+ service com::sun::star::table::CellProperties;
+
+
+ /** provides access to the cell contents.
+ */
+ interface com::sun::star::table::XCell;
+
+
+ /** provides access to formatted and unformatted text contents.
+ */
+ interface com::sun::star::text::XText;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellAddress.idl b/offapi/com/sun/star/table/CellAddress.idl
new file mode 100644
index 000000000..86fc2342d
--- /dev/null
+++ b/offapi/com/sun/star/table/CellAddress.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_table_CellAddress_idl__
+#define __com_sun_star_table_CellAddress_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** contains a cell address within a spreadsheet document.
+ */
+published struct CellAddress
+{
+
+ /** is the index of the sheet that contains the cell.
+ */
+ short Sheet;
+
+
+ /** is the index of the column where the cell is located.
+ */
+ long Column;
+
+
+ /** is the index of the row where the cell is located.
+ */
+ long Row;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellContentType.idl b/offapi/com/sun/star/table/CellContentType.idl
new file mode 100644
index 000000000..316dc73db
--- /dev/null
+++ b/offapi/com/sun/star/table/CellContentType.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_table_CellContentType_idl__
+#define __com_sun_star_table_CellContentType_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** is used to determine the type of contents in a cell.
+ */
+published enum CellContentType
+{
+
+ /** cell is empty.
+ */
+ EMPTY,
+
+
+ /** cell contains a constant value.
+ */
+ VALUE,
+
+
+ /** cell contains text.
+ */
+ TEXT,
+
+
+ /** cell contains a formula.
+ */
+ FORMULA
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellCursor.idl b/offapi/com/sun/star/table/CellCursor.idl
new file mode 100644
index 000000000..2fe286cf9
--- /dev/null
+++ b/offapi/com/sun/star/table/CellCursor.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_table_CellCursor_idl__
+#define __com_sun_star_table_CellCursor_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a cell cursor in a table.
+
+ A cell cursor is simply a cell range which provides methods to move
+ through the table (i.e. relative to the current position).
+ */
+published service CellCursor
+{
+
+ /** provides methods to control the position of the cursor.
+ */
+ interface com::sun::star::table::XCellCursor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellHoriJustify.idl b/offapi/com/sun/star/table/CellHoriJustify.idl
new file mode 100644
index 000000000..a9621ccd9
--- /dev/null
+++ b/offapi/com/sun/star/table/CellHoriJustify.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_table_CellHoriJustify_idl__
+#define __com_sun_star_table_CellHoriJustify_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** specifies how cell contents are aligned horizontally.
+ */
+published enum CellHoriJustify
+{
+
+ /** default alignment is used (left for numbers, right for text).
+ */
+ STANDARD,
+
+
+ /** contents are aligned to the left edge of the cell.
+ */
+ LEFT,
+
+
+ /** contents are horizontally centered.
+ */
+ CENTER,
+
+
+ /** contents are aligned to the right edge of the cell.
+ */
+ RIGHT,
+
+
+ /** contents are justified to the cell width.
+ */
+ BLOCK,
+
+
+ /** contents are repeated to fill the cell.
+ */
+ REPEAT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellJustifyMethod.idl b/offapi/com/sun/star/table/CellJustifyMethod.idl
new file mode 100644
index 000000000..6a23a863d
--- /dev/null
+++ b/offapi/com/sun/star/table/CellJustifyMethod.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_table_CellJustifyMethod_idl__
+#define __com_sun_star_table_CellJustifyMethod_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** Specifies how text inside a cell is justified. The justification methods
+ closely follow the methods described under the text-justify property of the
+ CSS Text Level 3 specification. The latest version of the aforementioned
+ specification is found here http://www.w3.org/TR/css3-text/.
+ */
+constants CellJustifyMethod
+{
+
+ /** Automatic.
+ */
+ const long AUTO = 0;
+
+
+ /** When applied in the direction of text flow, characters in each line are
+ distributed at equal intervals so that the ends of each line are aligned
+ with the start and end edges of the cell. When applied in the
+ perpendicular direction of text flow, the lines are distributed at equal
+ intervals so that the first and last lines are aligned with the start and
+ end edges of the cell.
+ */
+ const long DISTRIBUTE = 1;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellOrientation.idl b/offapi/com/sun/star/table/CellOrientation.idl
new file mode 100644
index 000000000..0ff39124e
--- /dev/null
+++ b/offapi/com/sun/star/table/CellOrientation.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_table_CellOrientation_idl__
+#define __com_sun_star_table_CellOrientation_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** specifies the orientation of a cell.
+ */
+published enum CellOrientation
+{
+
+ /** contents are printed from left to right.
+ */
+ STANDARD,
+
+
+ /** contents are printed from top to bottom.
+ */
+ TOPBOTTOM,
+
+
+ /** contents are printed from bottom to top.
+ */
+ BOTTOMTOP,
+
+
+ /** contents are printed from top to bottom with individual
+ characters in normal (horizontal) orientation.
+ */
+ STACKED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellProperties.idl b/offapi/com/sun/star/table/CellProperties.idl
new file mode 100644
index 000000000..3e01b315e
--- /dev/null
+++ b/offapi/com/sun/star/table/CellProperties.idl
@@ -0,0 +1,283 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_table_CellProperties_idl__
+#define __com_sun_star_table_CellProperties_idl__
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** contains the properties of a table cell.
+
+ @see com::sun::star::table::Cell
+ @see com::sun::star::table::CellRange
+ */
+published service CellProperties
+{
+
+//!published service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** contains the name of the style of the cell.
+ */
+ [optional, property] string CellStyle;
+
+
+ /** contains the cell background color.
+ */
+ [property] com::sun::star::util::Color CellBackColor;
+
+
+ /** is `TRUE`, if the cell background is transparent.
+
+ In this case the CellProperties::CellBackColor
+ value is not used.
+ */
+ [property] boolean IsCellBackgroundTransparent;
+
+
+ /** contains the horizontal alignment of the cell contents.
+ */
+ [property] com::sun::star::table::CellHoriJustify HoriJustify;
+
+
+ /** contains 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
+ */
+ [property] long VertJustify;
+
+
+ /** is `TRUE`, if text in the cells will be wrapped automatically
+ at the right border.
+ */
+ [property] boolean IsTextWrapped;
+
+
+ /** defines the indentation of the cell contents (in 1/100 mm).
+ */
+ [property] short ParaIndent;
+
+
+ /** contains the orientation of the cell contents.
+
+ If the CellProperties::RotateAngle property
+ is non-zero, this value is not used.
+ */
+ [property] com::sun::star::table::CellOrientation Orientation;
+
+
+ /** defines how much the content of cells is rotated (in 1/100 degrees).
+ */
+ [property] long RotateAngle;
+
+
+ /** defines at which edge rotated cells are aligned.
+
+ changed from com::sun::star::table::CellVertJustify to long in LibO 3.5
+
+ @see com::sun::star::table::CellVertJustify2
+ */
+ [property] long RotateReference;
+
+
+ /** selects Asian character orientation in vertical orientation.
+
+ If the CellProperties::Orientation property is
+ CellOrientation::STACKED, in Asian mode only Asian
+ characters are printed in horizontal orientation instead of all
+ characters.
+ For other values of CellProperties::Orientation,
+ this value is not used.
+ */
+ [optional, property] boolean AsianVerticalMode;
+
+
+ /** contains a description of the cell or cell range border.
+
+ If used with a cell range, the top, left, right, and bottom
+ lines are at the edges of the entire range, not at the edges of
+ the individual cell.
+ */
+ [property] com::sun::star::table::TableBorder TableBorder;
+
+
+ /** contains a description of the top border line of each cell.
+ */
+ [property] com::sun::star::table::BorderLine TopBorder;
+
+
+ /** contains a description of the bottom border line of each cell.
+ */
+ [property] com::sun::star::table::BorderLine BottomBorder;
+
+
+ /** contains a description of the left border line of each cell.
+ */
+ [property] com::sun::star::table::BorderLine LeftBorder;
+
+
+ /** contains a description of the right border line of each cell.
+ */
+ [property] com::sun::star::table::BorderLine RightBorder;
+
+
+ /** contains the index of the number format that is used in the cells.
+
+ The proper value can be determined by using the
+ com::sun::star::util::NumberFormatter
+ interface of the document.
+ */
+ [property] long NumberFormat;
+
+
+ /** contains a description of the shadow.
+ */
+ [property] com::sun::star::table::ShadowFormat ShadowFormat;
+
+
+ /** contains a description of the cell protection.
+
+ Cell protection is active only if the sheet is protected.
+ */
+ [property] com::sun::star::util::CellProtection CellProtection;
+
+
+ /** stores additional attributes.
+
+ This property is used i.e. by the XML filters to load and
+ restore unknown attributes.
+ */
+ [optional, property] com::sun::star::container::XNameContainer
+ UserDefinedAttributes;
+
+
+ /** contains a description of the top left to bottom right diagonal line of each cell.
+ */
+ [optional, property] com::sun::star::table::BorderLine DiagonalTLBR;
+
+
+ /** contains a description of the bottom left to top right diagonal line of each cell.
+ */
+ [optional, property] com::sun::star::table::BorderLine DiagonalBLTR;
+
+
+ /** is `TRUE`, if the cell content will be shrunk to fit in the cell.
+ */
+ [optional, property] boolean ShrinkToFit;
+
+
+ //=== BorderLine2 / TableBorder2 optional properties, preferred ===========
+
+ /** contains a description of the cell or cell range border.
+ Preferred over TableBorder #TableBorder.
+
+ If used with a cell range, the top, left, right, and bottom
+ lines are at the edges of the entire range, not at the edges of
+ the individual cell.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::TableBorder2 TableBorder2;
+
+
+ /** contains a description of the top border line of each cell.
+ Preferred over BorderLine #TopBorder.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::BorderLine2 TopBorder2;
+
+
+ /** contains a description of the bottom border line of each cell.
+ Preferred over BorderLine #BottomBorder.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::BorderLine2 BottomBorder2;
+
+
+ /** contains a description of the left border line of each cell.
+ Preferred over BorderLine #LeftBorder.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::BorderLine2 LeftBorder2;
+
+
+ /** contains a description of the right border line of each cell.
+ Preferred over BorderLine #RightBorder.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::BorderLine2 RightBorder2;
+
+
+ /** contains a description of the top left to bottom right diagonal line of each cell.
+ Preferred over BorderLine #DiagonalTLBR.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::BorderLine2 DiagonalTLBR2;
+
+
+ /** contains a description of the bottom left to top right diagonal line of each cell.
+ Preferred over BorderLine #DiagonalBLTR.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::BorderLine2 DiagonalBLTR2;
+
+ /** Grab bag of cell properties, used as a string-any map for interim interop purposes.
+
+ @since LibreOffice 4.3
+
+ This property is intentionally not handled by the ODF filter. Any
+ member that should be handled there should be first moved out from this grab
+ bag to a separate property.
+ */
+ [optional, property] sequence CellInteropGrabBag;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellRange.idl b/offapi/com/sun/star/table/CellRange.idl
new file mode 100644
index 000000000..7a7fc66e7
--- /dev/null
+++ b/offapi/com/sun/star/table/CellRange.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_table_CellRange_idl__
+#define __com_sun_star_table_CellRange_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a range of cells within a table.
+ */
+published service CellRange
+{
+
+ /** contains the properties of the cells of this cell range.
+ */
+ service com::sun::star::table::CellProperties;
+
+
+ /** provides access to the cells or to sub-ranges of this cell range.
+ */
+ interface com::sun::star::table::XCellRange;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellRangeAddress.idl b/offapi/com/sun/star/table/CellRangeAddress.idl
new file mode 100644
index 000000000..629c8b896
--- /dev/null
+++ b/offapi/com/sun/star/table/CellRangeAddress.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_table_CellRangeAddress_idl__
+#define __com_sun_star_table_CellRangeAddress_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** contains a cell range address within a spreadsheet document.
+ */
+published struct CellRangeAddress
+{
+
+ /** is the index of the sheet that contains the cell range.
+ */
+ short Sheet;
+
+
+ /** is the index of the column of the left edge of the range.
+ */
+ long StartColumn;
+
+
+ /** is the index of the row of the top edge of the range.
+ */
+ long StartRow;
+
+
+ /** is the index of the column of the right edge of the range.
+ */
+ long EndColumn;
+
+
+ /** is the index of the row of the bottom edge of the range.
+ */
+ long EndRow;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellRangeListSource.idl b/offapi/com/sun/star/table/CellRangeListSource.idl
new file mode 100644
index 000000000..edbb53fbb
--- /dev/null
+++ b/offapi/com/sun/star/table/CellRangeListSource.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_table_CellRangeListSource_idl__
+#define __com_sun_star_table_CellRangeListSource_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+
+/** defines the a source of list entries coming from a cell range in a table document
+
+ The component cannot be instantiated at a global service factory, instead
+ it's usually provided by a document instance.
+
+ @see com::sun::star::document::OfficeDocument
+*/
+service CellRangeListSource
+{
+ /** ensures the basic functionality for supplying list entries
+ */
+ service com::sun::star::form::binding::ListEntrySource;
+
+ /** specifies the cell range within a document to which the component
+ is bound.
+ */
+ [property, bound, readonly] com::sun::star::table::CellRangeAddress CellRange;
+
+ /** allows setting initial, creation-time properties of the component
+
+ This interface is used to initialize the component after creation. It has
+ to be used exactly once in the life time of the component, every second call
+ to com::sun::star::lang::XInitialization::initialize()
+ will throw an exception.
+
+ The arguments passed to the
+ com::sun::star::lang::XInitialization::initialize()
+ method must be instances of com::sun::star::beans::NamedValue, where
+ the com::sun::star::beans::NamedValue::Name denotes the type of
+ information to initialize, and the
+ com::sun::star::beans::NamedValue::Value
+ the initial value.
+
+ The following aspects of the components can be initialized:
+
- CellRange
+ specifies the address of the cell range to bind this instance to. Must be a
+ com::sun::star::table::CellRangeAddress instance.
+
+
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellValueBinding.idl b/offapi/com/sun/star/table/CellValueBinding.idl
new file mode 100644
index 000000000..ee6320b3f
--- /dev/null
+++ b/offapi/com/sun/star/table/CellValueBinding.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_table_CellValueBinding_idl__
+#define __com_sun_star_table_CellValueBinding_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** defines the binding to a single cell in a table document
+
+ Read/Write access to the cell represented by this component is supported,
+ as well as active broadcasting of value changes.
+
+ The binding supports exchanging double values, string
+ values.
+
+ The component cannot be instantiated at a global service factory, instead
+ it's usually provided by a document instance.
+
+ @see com::sun::star::document::OfficeDocument
+*/
+service CellValueBinding
+{
+ /** ensures the basic functionality for binding to a value
+ */
+ service com::sun::star::form::binding::ValueBinding;
+
+ /** specifies the cell within a document whose value is reflected
+ by the binding.
+ */
+ [property, bound, readonly] com::sun::star::table::CellAddress BoundCell;
+
+ /** allows notifications of changes in the content of the underlying cell.
+
+ Note that this interface is already optionally allowed in the
+ underlying service (com::sun::star::form::binding::ValueBinding),
+ but it loses it's optionality here.
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+ /** allows setting initial, creation-time properties of the component
+
+ This interface is used to initialize the component after creation. It has
+ to be used exactly once in the life time of the component, every second call
+ to com::sun::star::lang::XInitialization::initialize()
+ will throw an exception.
+
+ The arguments passed to the
+ com::sun::star::lang::XInitialization::initialize()
+ method must be instances of com::sun::star::beans::NamedValue, where
+ the com::sun::star::beans::NamedValue::Name denotes the type of information
+ to initialize, and the com::sun::star::beans::NamedValue::Value
+ the initial value.
+
+ The following aspects of the components can be initialized:
+
- BoundCell
+ specifies the address of the cell to bind this instance to. Must be a
+ com::sun::star::table::CellAddress instance.
+
+
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellVertJustify.idl b/offapi/com/sun/star/table/CellVertJustify.idl
new file mode 100644
index 000000000..b11e75570
--- /dev/null
+++ b/offapi/com/sun/star/table/CellVertJustify.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_table_CellVertJustify_idl__
+#define __com_sun_star_table_CellVertJustify_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** specifies how cell contents are aligned vertically.
+ */
+published enum CellVertJustify
+{
+
+ /** default alignment is used.
+ */
+ STANDARD,
+
+
+ /** contents are aligned with the upper edge of the cell.
+ */
+ TOP,
+
+
+ /** contents are aligned to the vertical middle of the cell.
+ */
+ CENTER,
+
+
+ /** contents are aligned to the lower edge of the cell.
+ */
+ BOTTOM
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/CellVertJustify2.idl b/offapi/com/sun/star/table/CellVertJustify2.idl
new file mode 100644
index 000000000..87ce35475
--- /dev/null
+++ b/offapi/com/sun/star/table/CellVertJustify2.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_table_CellVertJustify2_idl__
+#define __com_sun_star_table_CellVertJustify2_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** specifies how cell contents are aligned vertically.
+ */
+constants CellVertJustify2
+{
+
+ /** default alignment is used.
+ */
+ const long STANDARD = 0;
+
+
+ /** contents are aligned with the upper edge of the cell.
+ */
+ const long TOP = 1;
+
+
+ /** contents are aligned to the vertical middle of the cell.
+ */
+ const long CENTER = 2;
+
+
+ /** contents are aligned to the lower edge of the cell.
+ */
+ const long BOTTOM = 3;
+
+
+ /** contents are justified to the cell height.
+ */
+ const long BLOCK = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/ListPositionCellBinding.idl b/offapi/com/sun/star/table/ListPositionCellBinding.idl
new file mode 100644
index 000000000..e3a786654
--- /dev/null
+++ b/offapi/com/sun/star/table/ListPositionCellBinding.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_table_ListPositionCellBinding_idl__
+#define __com_sun_star_table_ListPositionCellBinding_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+
+/** defines the binding to a single cell in a table document, which can be used to
+ transfer a list position into the cell.
+*/
+service ListPositionCellBinding
+{
+ /** provides the basic functionality for exchanging values with a table cell.
+
+ Additionally to the types supported by the super service, the
+ ListPositionCellBinding allows exchanging integer values.
+
+ @see com::sun::star::form::binding::XValueBinding::getSupportedTypes
+ */
+ service CellValueBinding;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/ShadowFormat.idl b/offapi/com/sun/star/table/ShadowFormat.idl
new file mode 100644
index 000000000..9db765643
--- /dev/null
+++ b/offapi/com/sun/star/table/ShadowFormat.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_table_ShadowFormat_idl__
+#define __com_sun_star_table_ShadowFormat_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** describes the settings of a cell shadow.
+ */
+published struct ShadowFormat
+{
+
+ /** contains the location of the shadow.
+ */
+ com::sun::star::table::ShadowLocation Location;
+
+
+ /** contains the size of the shadow.
+ */
+ short ShadowWidth;
+
+
+ /** is `TRUE`, if shadow is transparent.
+ */
+ boolean IsTransparent;
+
+
+ /** contains the color value of the shadow.
+ */
+ com::sun::star::util::Color Color;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/ShadowLocation.idl b/offapi/com/sun/star/table/ShadowLocation.idl
new file mode 100644
index 000000000..1a810af94
--- /dev/null
+++ b/offapi/com/sun/star/table/ShadowLocation.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_table_ShadowLocation_idl__
+#define __com_sun_star_table_ShadowLocation_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** specifies the location of the shadow in a ShadowFormat.
+ */
+published enum ShadowLocation
+{
+
+ /** no shadow.
+ */
+ NONE,
+
+
+ /** shadow is located along the upper and left sides.
+ */
+ TOP_LEFT,
+
+
+ /** shadow is located along the upper and right sides.
+ */
+ TOP_RIGHT,
+
+
+ /** shadow is located along the lower and left sides.
+ */
+ BOTTOM_LEFT,
+
+
+ /** shadow is located along the lower and right sides.
+ */
+ BOTTOM_RIGHT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableBorder.idl b/offapi/com/sun/star/table/TableBorder.idl
new file mode 100644
index 000000000..be994d401
--- /dev/null
+++ b/offapi/com/sun/star/table/TableBorder.idl
@@ -0,0 +1,128 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_table_TableBorder_idl__
+#define __com_sun_star_table_TableBorder_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** contains the style settings of the border lines of all cells in a cell
+ range.
+
+ In a queried structure, the flags in
+ TableBorder::Is...LineValid indicate that not all
+ lines of the boxes have the same values.
+
+ In a structure which is used for setting, these flags determine
+ if the corresponding line should be set or if the old value should
+ be kept.
+ */
+published struct TableBorder
+{
+
+ /** determines the line style at the top edge.
+ */
+ com::sun::star::table::BorderLine TopLine;
+
+
+ /** specifies whether the value of TableBorder::TopLine
+ is used.
+ */
+ boolean IsTopLineValid;
+
+
+ /** determines the line style at the bottom edge.
+ */
+ com::sun::star::table::BorderLine BottomLine;
+
+
+ /** specifies whether the value of
+ TableBorder::BottomLine is used.
+ */
+ boolean IsBottomLineValid;
+
+
+ /** determines the line style at the left edge.
+ */
+ com::sun::star::table::BorderLine LeftLine;
+
+
+ /** specifies whether the value of TableBorder::LeftLine
+ is used.
+ */
+ boolean IsLeftLineValid;
+
+
+ /** determines the line style at the right edge.
+ */
+ com::sun::star::table::BorderLine RightLine;
+
+
+ /** specifies whether the value of TableBorder::RightLine
+ is used.
+ */
+ boolean IsRightLineValid;
+
+
+ /** determines the line style of horizontal lines for the inner part
+ of a cell range.
+ */
+ com::sun::star::table::BorderLine HorizontalLine;
+
+
+ /** specifies whether the value of
+ TableBorder::HorizontalLine is used.
+ */
+ boolean IsHorizontalLineValid;
+
+
+ /** determines the line style of vertical lines for the inner part
+ of a cell range.
+ */
+ com::sun::star::table::BorderLine VerticalLine;
+
+
+ /** specifies whether the value of
+ TableBorder::VerticalLine is used.
+ */
+ boolean IsVerticalLineValid;
+
+
+ /** contains the distance between the lines and other contents.
+ */
+ short Distance;
+
+
+ /** specifies whether the value of TableBorder::Distance
+ is used.
+ */
+ boolean IsDistanceValid;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableBorder2.idl b/offapi/com/sun/star/table/TableBorder2.idl
new file mode 100644
index 000000000..611569018
--- /dev/null
+++ b/offapi/com/sun/star/table/TableBorder2.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.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_table_TableBorder2_idl__
+#define __com_sun_star_table_TableBorder2_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** contains the style settings of the border lines of all cells in a cell
+ range.
+
+ TableBorder2 is nearly identical to TableBorder, except that it has
+ members of BorderLine2 instead of
+ BorderLine.
+
+ In a queried structure, the flags in
+ TableBorder2::Is...LineValid indicate that not all
+ lines of the boxes have the same values.
+
+ In a structure which is used for setting, these flags determine
+ if the corresponding line should be set or if the old value should
+ be kept.
+
+ @since LibreOffice 3.6
+ */
+published struct TableBorder2
+{
+
+ /** determines the line style at the top edge.
+ */
+ com::sun::star::table::BorderLine2 TopLine;
+
+
+ /** specifies whether the value of
+ TableBorder2::TopLine is used.
+ */
+ boolean IsTopLineValid;
+
+
+ /** determines the line style at the bottom edge.
+ */
+ com::sun::star::table::BorderLine2 BottomLine;
+
+
+ /** specifies whether the value of
+ TableBorder2::BottomLine is used.
+ */
+ boolean IsBottomLineValid;
+
+
+ /** determines the line style at the left edge.
+ */
+ com::sun::star::table::BorderLine2 LeftLine;
+
+
+ /** specifies whether the value of
+ TableBorder2::LeftLine is used.
+ */
+ boolean IsLeftLineValid;
+
+
+ /** determines the line style at the right edge.
+ */
+ com::sun::star::table::BorderLine2 RightLine;
+
+
+ /** specifies whether the value of
+ TableBorder2::RightLine is used.
+ */
+ boolean IsRightLineValid;
+
+
+ /** determines the line style of horizontal lines for the inner part
+ of a cell range.
+ */
+ com::sun::star::table::BorderLine2 HorizontalLine;
+
+
+ /** specifies whether the value of
+ TableBorder2::HorizontalLine is used.
+ */
+ boolean IsHorizontalLineValid;
+
+
+ /** determines the line style of vertical lines for the inner part
+ of a cell range.
+ */
+ com::sun::star::table::BorderLine2 VerticalLine;
+
+
+ /** specifies whether the value of
+ TableBorder2::VerticalLine is used.
+ */
+ boolean IsVerticalLineValid;
+
+
+ /** contains the distance between the lines and other contents.
+ */
+ short Distance;
+
+
+ /** specifies whether the value of
+ TableBorder2::Distance is used.
+ */
+ boolean IsDistanceValid;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableBorderDistances.idl b/offapi/com/sun/star/table/TableBorderDistances.idl
new file mode 100644
index 000000000..9c959b8e3
--- /dev/null
+++ b/offapi/com/sun/star/table/TableBorderDistances.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_table_TableBorderDistances_idl__
+#define __com_sun_star_table_TableBorderDistances_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** contains the distance settings of the border lines of all cells in a cell
+ range.
+
+ In a queried structure, the flags in
+ TableBorderDistances::Is...DistanceValid indicate that not all
+ lines of the boxes have the same values.
+
+ In a structure which is used for setting, these flags determine
+ if the corresponding distance should be set or if the old value should
+ be kept.
+ */
+published struct TableBorderDistances
+{
+
+ /** contains the distance between the top lines and other contents.
+ */
+ short TopDistance;
+
+
+ /** specifies whether the value of TableBorder::TopDistance
+ is used.
+ */
+ boolean IsTopDistanceValid;
+
+ /** contains the distance between the bottom lines and other contents.
+ */
+ short BottomDistance;
+
+
+ /** specifies whether the value of TableBorder::BottomDistance
+ is used.
+ */
+ boolean IsBottomDistanceValid;
+
+ /** contains the distance between the left lines and other contents.
+ */
+ short LeftDistance;
+
+
+ /** specifies whether the value of TableBorder::LeftDistance
+ is used.
+ */
+ boolean IsLeftDistanceValid;
+
+ /** contains the distance between the right lines and other contents.
+ */
+ short RightDistance;
+
+
+ /** specifies whether the value of TableBorder::RightDistance
+ is used.
+ */
+ boolean IsRightDistanceValid;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableChart.idl b/offapi/com/sun/star/table/TableChart.idl
new file mode 100644
index 000000000..8a5cdf8a2
--- /dev/null
+++ b/offapi/com/sun/star/table/TableChart.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_table_TableChart_idl__
+#define __com_sun_star_table_TableChart_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a chart based on data in a table or spreadsheet.
+
+ This service does not represent the chart document model itself,
+ but the object in the table that contains this chart document.
+ */
+published service TableChart
+{
+
+ /** provides access to the settings of this chart.
+ */
+ interface com::sun::star::table::XTableChart;
+
+
+ /** provides access to the chart document model.
+
+ @see com::sun::star::chart::ChartDocument
+ */
+ interface com::sun::star::document::XEmbeddedObjectSupplier;
+
+
+ /** provides methods to access the name of the chart.
+ */
+ interface com::sun::star::container::XNamed;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableCharts.idl b/offapi/com/sun/star/table/TableCharts.idl
new file mode 100644
index 000000000..9eff85605
--- /dev/null
+++ b/offapi/com/sun/star/table/TableCharts.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_table_TableCharts_idl__
+#define __com_sun_star_table_TableCharts_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a collection of all charts based on data in a table.
+
+ @see com::sun::star::table::TableChart
+ */
+published service TableCharts
+{
+
+ /** provides methods to insert and remove charts.
+ */
+ interface com::sun::star::table::XTableCharts;
+
+
+ /** provides methods to access the charts via index.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all contained charts.
+
+ @see com::sun::star::table::TableChartsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableChartsEnumeration.idl b/offapi/com/sun/star/table/TableChartsEnumeration.idl
new file mode 100644
index 000000000..6dddc58e7
--- /dev/null
+++ b/offapi/com/sun/star/table/TableChartsEnumeration.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_table_TableChartsEnumeration_idl__
+#define __com_sun_star_table_TableChartsEnumeration_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents an enumeration of table charts.
+
+ @see com::sun::star::table::TableCharts
+ */
+published service TableChartsEnumeration
+{
+
+ /** provides methods to access the charts in the enumeration.
+
+ @see com::sun::star::table::TableChart
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableColumn.idl b/offapi/com/sun/star/table/TableColumn.idl
new file mode 100644
index 000000000..72a6aaf0e
--- /dev/null
+++ b/offapi/com/sun/star/table/TableColumn.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_table_TableColumn_idl__
+#define __com_sun_star_table_TableColumn_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a special cell range containing all cells of a single
+ specific column in a table or spreadsheet.
+ */
+published service TableColumn
+{
+
+ /** provides access to the cells of this column.
+
+ @see com::sun::star::table::CellRange
+ */
+ interface com::sun::star::table::XCellRange;
+
+
+//!published service PropertySet
+ /** provides access to the cell properties of all cells of this column.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** provides methods to access the name of the column.
+
+ In spreadsheets, the name of a column cannot be changed.
+ */
+ interface com::sun::star::container::XNamed;
+
+
+ /** contains the width of the column (in 1/100th mm).
+
+ When hidden, it returns the width which the column would have,
+ if it were visible.
+ */
+ [property] long Width;
+
+
+ /** is `TRUE`, if the column always keeps its optimal width.
+ */
+ [property] boolean OptimalWidth;
+
+
+ /** is `TRUE`, if the column is visible.
+ */
+ [property] boolean IsVisible;
+
+
+ /** is `TRUE`, if there is a manual horizontal page break attached
+ to the column.
+ */
+ [property] boolean IsStartOfNewPage;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableColumns.idl b/offapi/com/sun/star/table/TableColumns.idl
new file mode 100644
index 000000000..ce4ac6a0c
--- /dev/null
+++ b/offapi/com/sun/star/table/TableColumns.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_table_TableColumns_idl__
+#define __com_sun_star_table_TableColumns_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a collection of all columns of a table or spreadsheet.
+
+ @see com::sun::star::table::TableColumn
+ */
+published service TableColumns
+{
+
+ /** provides methods to insert and remove columns.
+ */
+ interface com::sun::star::table::XTableColumns;
+
+
+ /** creates an enumeration of all contained columns.
+
+ @see com::sun::star::table::TableColumnsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides methods to access the columns via their names.
+
+ The names of the columns are always absolute even if the current
+ cell range is a sub-range of a spreadsheet.
+ */
+ [optional] interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableColumnsEnumeration.idl b/offapi/com/sun/star/table/TableColumnsEnumeration.idl
new file mode 100644
index 000000000..2f7d54dae
--- /dev/null
+++ b/offapi/com/sun/star/table/TableColumnsEnumeration.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_table_TableColumnsEnumeration_idl__
+#define __com_sun_star_table_TableColumnsEnumeration_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents an enumeration of table columns.
+
+ @see com::sun::star::table::TableColumns
+ */
+published service TableColumnsEnumeration
+{
+
+ /** provides methods to access the columns in the enumeration.
+
+ @see com::sun::star::table::TableColumn
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableOrientation.idl b/offapi/com/sun/star/table/TableOrientation.idl
new file mode 100644
index 000000000..e8a363f4c
--- /dev/null
+++ b/offapi/com/sun/star/table/TableOrientation.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_table_TableOrientation_idl__
+#define __com_sun_star_table_TableOrientation_idl__
+
+
+module com { module sun { module star { module table {
+
+
+/** used to select whether operations are carried out on columns or rows.
+ */
+published enum TableOrientation
+{
+
+ /** operations are carried out on columns.
+ */
+ COLUMNS,
+
+
+ /** operations are carried out on rows.
+ */
+ ROWS
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableRow.idl b/offapi/com/sun/star/table/TableRow.idl
new file mode 100644
index 000000000..d3bec00f5
--- /dev/null
+++ b/offapi/com/sun/star/table/TableRow.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_table_TableRow_idl__
+#define __com_sun_star_table_TableRow_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a special cell range containing all cells of a single
+ specific row in a table or spreadsheet.
+ */
+published service TableRow
+{
+
+ /** provides access to the cells of this row.
+
+ @see com::sun::star::table::CellRange
+ */
+ interface com::sun::star::table::XCellRange;
+
+
+//!published service PropertySet
+ /** provides access to the cell properties of all cells of this row.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** contains the height of the row (in 1/100 mm).
+
+ When hidden, it returns the height which the row would have,
+ if it were visible.
+ */
+ [property] long Height;
+
+
+ /** is `TRUE`, if the row always keeps its optimal height.
+ */
+ [property] boolean OptimalHeight;
+
+
+ /** is `TRUE`, if the row is visible.
+ */
+ [property] boolean IsVisible;
+
+
+ /** is `TRUE`, if there is a manual vertical page break attached
+ to the row.
+ */
+ [property] boolean IsStartOfNewPage;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableRows.idl b/offapi/com/sun/star/table/TableRows.idl
new file mode 100644
index 000000000..58d08f212
--- /dev/null
+++ b/offapi/com/sun/star/table/TableRows.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_table_TableRows_idl__
+#define __com_sun_star_table_TableRows_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a collection of all rows of a table or spreadsheet.
+
+ @see com::sun::star::table::TableRow
+ */
+published service TableRows
+{
+
+ /** provides methods to insert and remove rows.
+ */
+ interface com::sun::star::table::XTableRows;
+
+
+ /** creates an enumeration of all contained rows.
+
+ @see com::sun::star::table::TableRowsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableRowsEnumeration.idl b/offapi/com/sun/star/table/TableRowsEnumeration.idl
new file mode 100644
index 000000000..00097bc5e
--- /dev/null
+++ b/offapi/com/sun/star/table/TableRowsEnumeration.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_table_TableRowsEnumeration_idl__
+#define __com_sun_star_table_TableRowsEnumeration_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents an enumeration of table rows.
+
+ @see com::sun::star::table::TableRows
+ */
+published service TableRowsEnumeration
+{
+
+ /** provides methods to access the rows in the enumeration.
+
+ @see com::sun::star::table::TableRow
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableSortDescriptor.idl b/offapi/com/sun/star/table/TableSortDescriptor.idl
new file mode 100644
index 000000000..f7ef6f69d
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortDescriptor.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_table_TableSortDescriptor_idl__
+#define __com_sun_star_table_TableSortDescriptor_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** contains properties which describe sorting of rows or columns in a table.
+
+ It extends the general
+ com::sun::star::util::SortDescriptor with
+ table-specific properties.
+
+ @deprecated
+ */
+published service TableSortDescriptor
+{
+
+ /** contains common sorting properties.
+ */
+ service com::sun::star::util::SortDescriptor;
+
+
+ /** specifies the descriptions of the individual sort fields.
+ */
+ [property] sequence SortFields;
+
+
+ /** contains the maximum number of sort fields the descriptor can hold.
+ */
+ [readonly, property] long MaxFieldCount;
+
+
+ /** specifies the sorting orientation (sort rows or columns).
+
+ Some implementations may not support sorting columns.
+
+ @deprecated
+ use the property com::sun::star::util::SortDescriptor::SortColumns
+ instead.
+ */
+ [property] com::sun::star::table::TableOrientation Orientation;
+
+
+ /** specifies whether the first row or column (depending on
+ com::sun::star::util::SortDescriptor::SortColumns) 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/table/TableSortDescriptor2.idl b/offapi/com/sun/star/table/TableSortDescriptor2.idl
new file mode 100644
index 000000000..7dbedb6e4
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortDescriptor2.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_table_TableSortDescriptor2_idl__
+#define __com_sun_star_table_TableSortDescriptor2_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** specifies properties which describe sorting of fields (rows or columns)
+ in a table.
+
+ @since OOo 1.1.2
+ */
+published service TableSortDescriptor2
+{
+ service com::sun::star::util::SortDescriptor2;
+
+ /** specifies a list of individual sort fields.
+
+ Each entry specifies properties that state the
+ row/column to be sorted and how that should be done.
+ */
+ [property] sequence< com::sun::star::table::TableSortField > SortFields;
+
+ /** contains the maximum number of sort fields the descriptor can hold.
+ */
+ [readonly, property] long MaxSortFieldsCount;
+
+ /** specifies if the columns or rows are to be sorted.
+
+
+ - `TRUE`
+ - The columns are to be sorted.
+ - `FALSE`
+ - The rows are to be sorted.
+
+ */
+ [property] boolean IsSortColumns;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableSortField.idl b/offapi/com/sun/star/table/TableSortField.idl
new file mode 100644
index 000000000..fc6bab3c5
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortField.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_table_TableSortField_idl__
+#define __com_sun_star_table_TableSortField_idl__
+
+#include
+#include
+
+
+
+module com { module sun { module star { module table {
+
+/** describes how to sort a single field (row/column) in a tables
+ sort descriptor.
+
+ @see com::sun::star::table::TableSortDescriptor2
+
+ @since OOo 1.1.2
+ */
+published struct TableSortField
+{
+ /** index of the row or column in the table to be sorted; 0-based.
+ */
+ long Field;
+
+ /** `TRUE` if data are sorted in ascending order,
+ `FALSE` if in descending order.
+ */
+ boolean IsAscending;
+
+ /** specifies if the case of letters is important when comparing entries.
+ */
+ boolean IsCaseSensitive;
+
+ /** type of contents in the field.
+
+ If the value is
+ com::sun::star::table::TableSortFieldType::AUTOMATIC
+ the algorithm used for sorting is application specific.
+ Especially it may or may not use the values given by
+ "CollatorLocale" and "CollatorAlgorithm".
+ */
+ com::sun::star::table::TableSortFieldType FieldType;
+
+ /** the locale used by the collator when comparing/sorting text.
+
+ This property will not be used when the "FieldType" is
+ com::sun::star::table::TableSortFieldType::NUMERIC
+
+
+ @see com::sun::star::i18n::XCollator
+ */
+ com::sun::star::lang::Locale CollatorLocale;
+
+ /** the algorithm used by the collator when comparing/sorting text.
+
+ This property will not be used when the "FieldType" is
+ com::sun::star::table::TableSortFieldType::NUMERIC
+
+
+ @see com::sun::star::i18n::XCollator
+ */
+ string CollatorAlgorithm;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/TableSortFieldType.idl b/offapi/com/sun/star/table/TableSortFieldType.idl
new file mode 100644
index 000000000..5bf296685
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortFieldType.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_table_TableSortFieldType_idl__
+#define __com_sun_star_table_TableSortFieldType_idl__
+
+
+
+module com { module sun { module star { module table {
+
+
+/** enumeration used to specify the type of contents in a sort field
+ (row/column) of a table.
+
+ @since OOo 1.1.2
+ */
+published enum TableSortFieldType
+{
+ /** type is determined automatically.
+ */
+ AUTOMATIC,
+
+ /** sort field contains numerical data.
+ */
+ NUMERIC,
+
+ /** sort field contains text data.
+ */
+ ALPHANUMERIC
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XAutoFormattable.idl b/offapi/com/sun/star/table/XAutoFormattable.idl
new file mode 100644
index 000000000..8fe657605
--- /dev/null
+++ b/offapi/com/sun/star/table/XAutoFormattable.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_table_XAutoFormattable_idl__
+#define __com_sun_star_table_XAutoFormattable_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** provides a method to apply TableAutoFormats to a cell range.
+ */
+published interface XAutoFormattable: com::sun::star::uno::XInterface
+{
+
+ /** applies an AutoFormat to the cell range of the current context.
+
+ @param aName
+ is the name of the AutoFormat to apply.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the specified AutoFormat does not exist.
+ */
+ void autoFormat( [in] string aName )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XCell.idl b/offapi/com/sun/star/table/XCell.idl
new file mode 100644
index 000000000..d236022f6
--- /dev/null
+++ b/offapi/com/sun/star/table/XCell.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_table_XCell_idl__
+#define __com_sun_star_table_XCell_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to access the contents of a cell in a table.
+
+ @see com::sun::star::table::Cell
+ */
+published interface XCell: com::sun::star::uno::XInterface
+{
+
+ /** returns the formula string of a cell.
+
+ Even if the cell does not contain a formula, an assignment of
+ this attribute's value to another cell's formula attribute would
+ create the same cell content. This is because this attribute contains
+ the original text value of a string cell. The value of a
+ value cell will be formatted using the number format's
+ default format or the formula string, including "=", of a formula
+ cell.
+ */
+ string getFormula();
+
+
+ /** sets a formula into the cell.
+
+ When assigned, the string will be interpreted and a value, text
+ or formula cell is created, depending on the text and the number
+ format.
+ */
+ void setFormula( [in] string aFormula );
+
+
+ /** returns the floating point value of the cell.
+
+ For a value cell the value is returned, for a
+ string cell zero is returned and for a formula cell
+ the result value of a formula is returned.
+ */
+ double getValue();
+
+
+ /** sets a floating point value into the cell.
+
+ After a call to this method the type of the cell is
+ CellContentType::VALUE.
+ */
+ void setValue( [in] double nValue );
+
+
+ /** returns the type of the cell.
+ */
+ com::sun::star::table::CellContentType getType();
+
+
+ /** returns the error value of the cell.
+
+ If the cell does not contain a formula, the error is always
+ zero.
+ */
+ long getError();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XCell2.idl b/offapi/com/sun/star/table/XCell2.idl
new file mode 100644
index 000000000..dd1c495bc
--- /dev/null
+++ b/offapi/com/sun/star/table/XCell2.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_table_XCell2_idl__
+#define __com_sun_star_table_XCell2_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** extends XCell methods to access the contents of a cell in a table.
+
+ @see com::sun::star::table::Cell
+ */
+interface XCell2: com::sun::star::table::XCell
+{
+ /** sets a formula result into the cell.
+
+ When assigned, the formula cell's result will be set to this
+ value and will not be calculated - unless a HardRecalc is
+ executed.
+ */
+ void setFormulaResult( [in] double nValue );
+
+
+ /** sets a formula string into the cell.
+
+ When assigned, the formula is set into the string. But is not
+ compiled, tokenized or calculated. Its useful when loading a
+ document and setFormulaResult() is used. Otherwise it is compiled
+ on trying to fetch a result value.
+ */
+ void setFormulaString( [in] string aFormula );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XCellCursor.idl b/offapi/com/sun/star/table/XCellCursor.idl
new file mode 100644
index 000000000..39ad8fa51
--- /dev/null
+++ b/offapi/com/sun/star/table/XCellCursor.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_table_XCellCursor_idl__
+#define __com_sun_star_table_XCellCursor_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to control the position of a cell cursor.
+
+ @see com::sun::star::table::CellCursor
+ */
+published interface XCellCursor: com::sun::star::table::XCellRange
+{
+
+ /** points the cursor to a single cell which is the beginning of a
+ contiguous series of (filled) cells.
+ */
+ void gotoStart();
+
+
+ /** points the cursor to a single cell which is the end of a contiguous
+ series of (filled) cells.
+ */
+ void gotoEnd();
+
+
+ /** points the cursor to the next unprotected cell.
+
+ If the sheet is not protected, this is the next cell to the
+ right.
+ */
+ void gotoNext();
+
+
+ /** points the cursor to the previous unprotected cell.
+
+ If the sheet is not protected, this is the next cell to the
+ left.
+ */
+ void gotoPrevious();
+
+
+ /** moves the origin of the cursor relative to the current position.
+
+ @param nColumnOffset
+ is the count of columns to move. A negative value moves the
+ cursor to the left.
+
+ @param nRowOffset
+ is the count of rows to move. A negative value moves the
+ cursor to the top.
+ */
+ void gotoOffset( [in] long nColumnOffset, [in] long nRowOffset );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XCellRange.idl b/offapi/com/sun/star/table/XCellRange.idl
new file mode 100644
index 000000000..5ba075113
--- /dev/null
+++ b/offapi/com/sun/star/table/XCellRange.idl
@@ -0,0 +1,114 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_table_XCellRange_idl__
+#define __com_sun_star_table_XCellRange_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** provides access to the cells or to sub-ranges of a cell range.
+
+ @see com::sun::star::table::CellRange
+ */
+published interface XCellRange: com::sun::star::uno::XInterface
+{
+
+ /** Returns a single cell within the range.
+
+ @param nColumn
+ is the column index of the cell inside the range.
+
+ @param nRow
+ is the row index of the cell inside the range.
+
+ @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 )
+ 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.
+
+ @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 )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ /** Returns a sub-range of cells within the range.
+
+ 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 "A1:C5" or "$B$2" or even defined names for cell ranges
+ such as "MySpecialCell".
+
+ @param aRange
+ the name of the sub-range.
+
+ @returns
+ the specified cell range.
+
+ @see com::sun::star::table::CellRange
+ */
+ com::sun::star::table::XCellRange getCellRangeByName( [in] string aRange );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XColumnRowRange.idl b/offapi/com/sun/star/table/XColumnRowRange.idl
new file mode 100644
index 000000000..371710318
--- /dev/null
+++ b/offapi/com/sun/star/table/XColumnRowRange.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_table_XColumnRowRange_idl__
+#define __com_sun_star_table_XColumnRowRange_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to access the collections of columns and rows
+ of a cell range.
+
+ @see com::sun::star::table::CellRange
+ */
+published interface XColumnRowRange: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of columns in the range.
+
+ @see com::sun::star::table::TableColumns
+ */
+ com::sun::star::table::XTableColumns getColumns();
+
+
+ /** returns the collection of rows in the range.
+
+ @see com::sun::star::table::TableRows
+ */
+ com::sun::star::table::XTableRows getRows();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XMergeableCell.idl b/offapi/com/sun/star/table/XMergeableCell.idl
new file mode 100644
index 000000000..221888317
--- /dev/null
+++ b/offapi/com/sun/star/table/XMergeableCell.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_table_XMergeableCell_idl__
+#define __com_sun_star_table_XMergeableCell_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to access information about a cell that is mergeable with
+ other sells.
+
+ @see com::sun::star::table::Cell
+ */
+interface XMergeableCell: com::sun::star::table::XCell
+{
+
+ /** returns the number of columns this cell spans.
+ */
+ long getRowSpan();
+
+
+ /** returns the number of rows this cell spans.
+ */
+ long getColumnSpan();
+
+
+ /** returns `TRUE` if this cell is merged with another cell.
+ */
+ boolean isMerged();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XMergeableCellRange.idl b/offapi/com/sun/star/table/XMergeableCellRange.idl
new file mode 100644
index 000000000..368c89026
--- /dev/null
+++ b/offapi/com/sun/star/table/XMergeableCellRange.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_table_XMergeableCellRange_idl__
+#define __com_sun_star_table_XMergeableCellRange_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a range of cells that can possibly be merged or unmerged.
+ */
+interface XMergeableCellRange : com::sun::star::uno::XInterface
+{
+ /** merges the area specified by this range.
+
+ @throws com::sun::star::lang::NoSupportException
+ if a merge is not possible for this range. You can use
+ isMergeable() to check if a merge is possible.
+ */
+ void merge() raises( ::com::sun::star::lang::NoSupportException );
+
+
+ /** splits the cells in this range.
+ This will be done by inserting rows and columns if needed or unmerging
+ cells that are already split.
+
+ @param Columns
+ this is the number of columns that will be added to each cell. Zero
+ means no new columns
+
+ @param Rows
+ this is the number of rows that will be added to each cell. Zero
+ means no new rows
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if at least one of the parameters is less than zero.
+
+ @throws com::sun::star::lang::NoSupportException
+ if a split is not possible for this range.
+ */
+ void split( [in] long Columns, [in] long Rows )
+ raises( ::com::sun::star::lang::NoSupportException,
+ ::com::sun::star::lang::IllegalArgumentException );
+
+
+ /** @returns
+ `TRUE` if all cells from this range can be merged to one
+ or `FALSE` otherwise.
+ */
+ boolean isMergeable();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTable.idl b/offapi/com/sun/star/table/XTable.idl
new file mode 100644
index 000000000..c00edeab1
--- /dev/null
+++ b/offapi/com/sun/star/table/XTable.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_table_XTable_idl__
+#define __com_sun_star_table_XTable_idl__
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+interface XTable
+{
+
+ interface com::sun::star::lang::XComponent;
+
+
+ interface com::sun::star::table::XCellRange;
+
+
+ interface com::sun::star::table::XColumnRowRange;
+
+
+ /** interface to make the modify state of the table accessible.
+ Additionally, it makes it possible to register listener objects, which
+ get notification whenever the content of the table changes.
+ */
+ interface ::com::sun::star::util::XModifiable;
+
+
+ /* interface ::com::sun::star::beans::XMultiPropertySet; */
+
+
+ interface ::com::sun::star::beans::XPropertySet;
+
+
+ interface ::com::sun::star::beans::XFastPropertySet;
+
+
+ /** creates a cell cursor including the whole table
+
+ @see com::sun::star::table::CellCursor
+ */
+ com::sun::star::table::XCellCursor createCursor();
+
+
+ /** creates a cell cursor to travel in the given range context.
+
+ @param Range
+ the cell range for the cursor.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given reference is empty or not a range from this table.
+
+ @see com::sun::star::table::CellCursor
+ */
+ com::sun::star::table::XCellCursor createCursorByRange( [in] com::sun::star::table::XCellRange Range )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** stores the current row count of this table */
+ [readonly, attribute] long RowCount;
+
+
+ /** stores the current column count of this table */
+ [readonly, attribute] long ColumnCount;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTableChart.idl b/offapi/com/sun/star/table/XTableChart.idl
new file mode 100644
index 000000000..b508403f0
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableChart.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_table_XTableChart_idl__
+#define __com_sun_star_table_XTableChart_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** provides access to the settings of a chart object in a table or
+ spreadsheet.
+
+ @see com::sun::star::table::TableChart
+ */
+published interface XTableChart: com::sun::star::uno::XInterface
+{
+
+ /** returns, whether the cells of the topmost row of the source data
+ are interpreted as column headers.
+ */
+ boolean getHasColumnHeaders();
+
+
+ /** specifies whether the cells of the topmost row of the source data
+ are interpreted as column headers.
+ */
+ void setHasColumnHeaders( [in] boolean bHasColumnHeaders );
+
+
+ /** returns, whether the cells of the leftmost column of the source
+ data are interpreted as row headers.
+ */
+ boolean getHasRowHeaders();
+
+
+ /** specifies whether the cells of the leftmost column of the source
+ data are interpreted as row headers.
+ */
+ void setHasRowHeaders( [in] boolean bHasRowHeaders );
+
+
+ /** returns the cell ranges that contain the data for the chart.
+ */
+ sequence getRanges();
+
+
+ /** sets the cell ranges that contain the data for the chart.
+ */
+ void setRanges(
+ [in] sequence aRanges );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTableCharts.idl b/offapi/com/sun/star/table/XTableCharts.idl
new file mode 100644
index 000000000..8129a2b0f
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableCharts.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_table_XTableCharts_idl__
+#define __com_sun_star_table_XTableCharts_idl__
+
+#include
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to access charts via name and to insert and remove
+ charts.
+
+ @see com::sun::star::table::TableCharts
+ */
+published interface XTableCharts: com::sun::star::container::XNameAccess
+{
+
+ /** creates a chart and adds it to the collection.
+
+ @param aName
+ is the name of the chart. This name is used to reference the
+ chart in the collection.
+
+ @param aRect
+ contains the rectangular location of the chart within the table
+ (in 1/100th mm).
+
+ @param aRanges
+ all cell ranges containing the source data of the chart.
+
+ @param bColumnHeaders
+ if set to `TRUE`, the topmost row of the source data will be
+ used to set labels for the category axis or the legend.
+
+ @param bRowHeaders
+ if set to `TRUE`, the leftmost column of the source data will
+ be used to set labels for the category axis or the legend.
+ */
+ void addNewByName(
+ [in] string aName,
+ [in] com::sun::star::awt::Rectangle aRect,
+ [in] sequence aRanges,
+ [in] boolean bColumnHeaders,
+ [in] boolean bRowHeaders );
+
+
+ /** removes a chart from the collection.
+
+ @param aName
+ is the name of the chart to remove.
+ */
+ void removeByName( [in] string aName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTableChartsSupplier.idl b/offapi/com/sun/star/table/XTableChartsSupplier.idl
new file mode 100644
index 000000000..047cf72fe
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableChartsSupplier.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_table_XTableChartsSupplier_idl__
+#define __com_sun_star_table_XTableChartsSupplier_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** provides a method to access a collection of charts in a table or
+ spreadsheet.
+ */
+published interface XTableChartsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of charts.
+
+ @see com::sun::star::table::TableCharts
+ */
+ com::sun::star::table::XTableCharts getCharts();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTableColumns.idl b/offapi/com/sun/star/table/XTableColumns.idl
new file mode 100644
index 000000000..b3aa993d8
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableColumns.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_table_XTableColumns_idl__
+#define __com_sun_star_table_XTableColumns_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to access columns via index and to insert and remove
+ columns.
+
+ @see com::sun::star::table::TableColumns
+ */
+published interface XTableColumns: com::sun::star::container::XIndexAccess
+{
+
+ /** inserts new columns.
+
+ @param nIndex
+ is the index the first inserted column will have.
+
+ @param nCount
+ is the number of columns to insert.
+ */
+ void insertByIndex( [in] long nIndex, [in] long nCount );
+
+
+ /** deletes columns.
+
+ @param nIndex
+ is the index of the first column to delete.
+
+ @param nCount
+ is the number of columns to delete.
+ */
+ void removeByIndex( [in] long nIndex, [in] long nCount );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTablePivotChart.idl b/offapi/com/sun/star/table/XTablePivotChart.idl
new file mode 100644
index 000000000..f43b81455
--- /dev/null
+++ b/offapi/com/sun/star/table/XTablePivotChart.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_table_XTablePivotChart_idl__
+#define __com_sun_star_table_XTablePivotChart_idl__
+
+#include
+
+module com { module sun { module star { module table {
+
+/** provides access to the settings of a pivot chart object in a
+ table or spreadsheet.
+
+ @since LibreOffice 5.4
+ */
+interface XTablePivotChart: com::sun::star::uno::XInterface
+{
+ /** returns the pivot table name of the associated pivot table
+ */
+ string getPivotTableName();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTablePivotCharts.idl b/offapi/com/sun/star/table/XTablePivotCharts.idl
new file mode 100644
index 000000000..acdd1f59a
--- /dev/null
+++ b/offapi/com/sun/star/table/XTablePivotCharts.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/.
+ */
+
+#ifndef __com_sun_star_table_XTablePivotCharts_idl__
+#define __com_sun_star_table_XTablePivotCharts_idl__
+
+#include
+#include
+
+module com { module sun { module star { module table {
+
+/** provides methods to access pivot charts via name and to insert
+ and remove pivot charts.
+
+ @since LibreOffice 5.4
+ */
+interface XTablePivotCharts: com::sun::star::container::XNameAccess
+{
+ /** creates a pivot chart and adds it to the collection.
+
+ @param aName
+ is the name of the chart. This name is used to reference the
+ chart in the collection.
+
+ @param aRect
+ contains the rectangular location of the chart within the table
+ (in 1/100th mm).
+
+ @param aPivotTableName
+ the name of the pivot table (data pilot) to associate the pivot chart with
+ */
+ void addNewByName(
+ [in] string aName,
+ [in] com::sun::star::awt::Rectangle aRect,
+ [in] string aPivotTableName);
+
+ /** removes a pivot chart from the collection.
+
+ @param aName
+ is the name of the chart to remove.
+ */
+ void removeByName([in] string aName);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTablePivotChartsSupplier.idl b/offapi/com/sun/star/table/XTablePivotChartsSupplier.idl
new file mode 100644
index 000000000..edfd6bbb4
--- /dev/null
+++ b/offapi/com/sun/star/table/XTablePivotChartsSupplier.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_table_XTablePivotChartsSupplier_idl__
+#define __com_sun_star_table_XTablePivotChartsSupplier_idl__
+
+#include
+#include
+
+
+module com { module sun { module star { module table {
+
+/** provides a method to access a collection of pivot charts in a table
+ or spreadsheet.
+
+ @since LibreOffice 5.4
+ */
+interface XTablePivotChartsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of pivot charts.
+ */
+ com::sun::star::table::XTablePivotCharts getPivotCharts();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/table/XTableRows.idl b/offapi/com/sun/star/table/XTableRows.idl
new file mode 100644
index 000000000..c6886c1e0
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableRows.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_table_XTableRows_idl__
+#define __com_sun_star_table_XTableRows_idl__
+
+#include
+
+
+module com { module sun { module star { module table {
+
+
+/** provides methods to access rows via index and to insert and remove rows.
+
+ @see com::sun::star::table::TableRows
+ */
+published interface XTableRows: com::sun::star::container::XIndexAccess
+{
+
+ /** inserts new rows.
+
+ When the index or combination of index and count is out
+ of bounds an exception will be thrown.
+
+ @param nIndex
+ is the index the first inserted row will have.
+
+ @param nCount
+ is the number of rows to insert.
+ */
+ void insertByIndex( [in] long nIndex, [in] long nCount );
+
+
+ /** deletes rows.
+
+ When the index or combination of index and count is out
+ of bounds an exception will be thrown.
+
+ @param nIndex
+ is the index of the first row to delete.
+
+ @param nCount
+ is the number of rows to delete.
+ */
+ void removeByIndex( [in] long nIndex, [in] long nCount );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
--
cgit v1.2.3