summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/table
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 05:54:39 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 05:54:39 +0000
commit267c6f2ac71f92999e969232431ba04678e7437e (patch)
tree358c9467650e1d0a1d7227a21dac2e3d08b622b2 /offapi/com/sun/star/table
parentInitial commit. (diff)
downloadlibreoffice-267c6f2ac71f92999e969232431ba04678e7437e.tar.xz
libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.zip
Adding upstream version 4:24.2.0.upstream/4%24.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/table')
-rw-r--r--offapi/com/sun/star/table/AccessibleCellView.idl116
-rw-r--r--offapi/com/sun/star/table/AccessibleTableView.idl125
-rw-r--r--offapi/com/sun/star/table/BorderLine.idl58
-rw-r--r--offapi/com/sun/star/table/BorderLine2.idl50
-rw-r--r--offapi/com/sun/star/table/BorderLineStyle.idl116
-rw-r--r--offapi/com/sun/star/table/Cell.idl48
-rw-r--r--offapi/com/sun/star/table/CellAddress.idl48
-rw-r--r--offapi/com/sun/star/table/CellContentType.idl53
-rw-r--r--offapi/com/sun/star/table/CellCursor.idl41
-rw-r--r--offapi/com/sun/star/table/CellHoriJustify.idl63
-rw-r--r--offapi/com/sun/star/table/CellJustifyMethod.idl50
-rw-r--r--offapi/com/sun/star/table/CellOrientation.idl54
-rw-r--r--offapi/com/sun/star/table/CellProperties.idl265
-rw-r--r--offapi/com/sun/star/table/CellRange.idl43
-rw-r--r--offapi/com/sun/star/table/CellRangeAddress.idl58
-rw-r--r--offapi/com/sun/star/table/CellRangeListSource.idl71
-rw-r--r--offapi/com/sun/star/table/CellValueBinding.idl83
-rw-r--r--offapi/com/sun/star/table/CellVertJustify.idl53
-rw-r--r--offapi/com/sun/star/table/CellVertJustify2.idl57
-rw-r--r--offapi/com/sun/star/table/ListPositionCellBinding.idl43
-rw-r--r--offapi/com/sun/star/table/ShadowFormat.idl53
-rw-r--r--offapi/com/sun/star/table/ShadowLocation.idl58
-rw-r--r--offapi/com/sun/star/table/TableBorder.idl121
-rw-r--r--offapi/com/sun/star/table/TableBorder2.idl117
-rw-r--r--offapi/com/sun/star/table/TableBorderDistances.idl83
-rw-r--r--offapi/com/sun/star/table/TableChart.idl53
-rw-r--r--offapi/com/sun/star/table/TableCharts.idl52
-rw-r--r--offapi/com/sun/star/table/TableChartsEnumeration.idl42
-rw-r--r--offapi/com/sun/star/table/TableColumn.idl78
-rw-r--r--offapi/com/sun/star/table/TableColumns.idl55
-rw-r--r--offapi/com/sun/star/table/TableColumnsEnumeration.idl42
-rw-r--r--offapi/com/sun/star/table/TableOrientation.idl43
-rw-r--r--offapi/com/sun/star/table/TableRow.idl71
-rw-r--r--offapi/com/sun/star/table/TableRows.idl47
-rw-r--r--offapi/com/sun/star/table/TableRowsEnumeration.idl42
-rw-r--r--offapi/com/sun/star/table/TableSortDescriptor.idl72
-rw-r--r--offapi/com/sun/star/table/TableSortDescriptor2.idl59
-rw-r--r--offapi/com/sun/star/table/TableSortField.idl81
-rw-r--r--offapi/com/sun/star/table/TableSortFieldType.idl49
-rw-r--r--offapi/com/sun/star/table/XAutoFormattable.idl45
-rw-r--r--offapi/com/sun/star/table/XCell.idl87
-rw-r--r--offapi/com/sun/star/table/XCell2.idl42
-rw-r--r--offapi/com/sun/star/table/XCellCursor.idl76
-rw-r--r--offapi/com/sun/star/table/XCellRange.idl105
-rw-r--r--offapi/com/sun/star/table/XColumnRowRange.idl50
-rw-r--r--offapi/com/sun/star/table/XMergeableCell.idl50
-rw-r--r--offapi/com/sun/star/table/XMergeableCellRange.idl70
-rw-r--r--offapi/com/sun/star/table/XTable.idl84
-rw-r--r--offapi/com/sun/star/table/XTableChart.idl71
-rw-r--r--offapi/com/sun/star/table/XTableCharts.idl73
-rw-r--r--offapi/com/sun/star/table/XTableChartsSupplier.idl41
-rw-r--r--offapi/com/sun/star/table/XTableColumns.idl58
-rw-r--r--offapi/com/sun/star/table/XTablePivotChart.idl26
-rw-r--r--offapi/com/sun/star/table/XTablePivotCharts.idl47
-rw-r--r--offapi/com/sun/star/table/XTablePivotChartsSupplier.idl28
-rw-r--r--offapi/com/sun/star/table/XTableRows.idl63
56 files changed, 3729 insertions, 0 deletions
diff --git a/offapi/com/sun/star/table/AccessibleCellView.idl b/offapi/com/sun/star/table/AccessibleCellView.idl
new file mode 100644
index 0000000000..c6141d6249
--- /dev/null
+++ b/offapi/com/sun/star/table/AccessibleCellView.idl
@@ -0,0 +1,116 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+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.
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible table view.</li>
+ <li>The children returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ all support the interface XAccessible. Calling
+ ::com::sun::star::accessibility::XAccessible::getAccessibleContext()
+ for these children returns an object that supports the 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.
+ <li>The name is something like A10 or B23 or so on.</li>
+ <li>The description is the name or the content of the given note.</li>
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::TABLE_CELL</li>
+ <li>For spreadsheets, there are relations between the cell and the
+ shapes with an anchor on this cell.</li>
+ <li>The following states are supported:
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is always false if the
+ cell is shown, otherwise it is true.</li>
+ <li>::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.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
+ is always true in spreadsheets and false otherwise.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is false if the cell
+ has no background color or graphic, otherwise it is true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is true if the
+ cell is not showed in a page preview, otherwise is it
+ false.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is true, if the cell
+ is selected. This is not possible in the page preview.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is true if the
+ Bounding Box lies in the Bounding Box of the parent.
+ Otherwise it is false.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::TRANSIENT
+ is true if the cell
+ is showed in a spreadsheet page preview. Otherwise it is
+ false.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always true.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface gives access to the visibility of the 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;
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..1e0189e458
--- /dev/null
+++ b/offapi/com/sun/star/table/AccessibleTableView.idl
@@ -0,0 +1,125 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+
+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.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible text document view, a page of the accessible
+ text document page preview, or the accessible spreadsheet
+ page preview.</li>
+ <li>The children returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ all support the interface XAccessible. Calling
+ ::com::sun::star::accessibility::XAccessible::getAccessibleContext()
+ for these children
+ returns an object that supports the service.
+ ::com::sun::star::table::AccessibleCellView:
+ A child where calling
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ an object that supports this service is returned for
+ every partially visible cell in this table.
+ <p>The following rules apply to the children order.</p>
+ <ul>
+ <li>All the children are cells. The order of this cells is to
+ the order on the screen. This means that the first cell is the
+ cell in the left top edge of the table and the last one is the
+ cell in the right bottom edge of the table. The second is the
+ cell in the first row and second column and so on.</li>
+ </ul>
+ <li>The description is ???.</li>
+ <li>The name is the given table name and a number to make it non-ambiguous.</li>
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::TABLE</li>
+ <li>In a spreadsheet page preview there are relations between the
+ table and the shapes with an anchor
+ on this table (not with an anchor on a cell in this table).</li>
+ <li>The following states are supported:
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is always false if the
+ table is not deleted, the document is open. Also it is
+ false if the table was showed in a page preview and the
+ page preview is already opened, otherwise it is true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is false if the
+ table is showed in a page preview or the table is
+ protected, otherwise it is true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE
+ is false
+ if the table is showed in a page preview, otherwise it is
+ true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is false, if the table
+ has no background color or graphic, otherwise it is
+ false.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is true if the
+ Bounding Box lies in the Bounding Box of the parent.
+ Otherwise it is false.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always true.</li>
+ </ul>
+ </li>
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface gives access to the visibility of the document.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface 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;
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..b59a31c2c8
--- /dev/null
+++ b/offapi/com/sun/star/table/BorderLine.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 .
+ */
+
+
+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).
+
+ <p>If this value is zero, only a single line is drawn.</p>
+ */
+ short InnerLineWidth;
+
+
+ /** contains the width of a single line or the width of outer part of
+ a double line (in 1/100 mm).
+
+ <p>If this value is zero, no line is drawn.</p>
+ */
+ short OuterLineWidth;
+
+
+ /** contains the distance between the inner and outer parts of a
+ double line (in 1/100 mm).
+ */
+ short LineDistance;
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..f92929af4b
--- /dev/null
+++ b/offapi/com/sun/star/table/BorderLine2.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 .
+ */
+
+
+
+
+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;
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..5a0d575dec
--- /dev/null
+++ b/offapi/com/sun/star/table/BorderLineStyle.idl
@@ -0,0 +1,116 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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;
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..1bbe3da454
--- /dev/null
+++ b/offapi/com/sun/star/table/Cell.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 .
+ */
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..26d77d6129
--- /dev/null
+++ b/offapi/com/sun/star/table/CellAddress.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 .
+ */
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..b1bfa4eaab
--- /dev/null
+++ b/offapi/com/sun/star/table/CellContentType.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 .
+ */
+
+
+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
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..bd00b858da
--- /dev/null
+++ b/offapi/com/sun/star/table/CellCursor.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a cell cursor in a table.
+
+ <p>A cell cursor is simply a cell range which provides methods to move
+ through the table (i.e. relative to the current position).</p>
+ */
+published service CellCursor
+{
+
+ /** provides methods to control the position of the cursor.
+ */
+ interface com::sun::star::table::XCellCursor;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..eda07066e2
--- /dev/null
+++ b/offapi/com/sun/star/table/CellHoriJustify.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 .
+ */
+
+
+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
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..d85d4eeac2
--- /dev/null
+++ b/offapi/com/sun/star/table/CellJustifyMethod.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 .
+ */
+
+
+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;
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..ee468ebeee
--- /dev/null
+++ b/offapi/com/sun/star/table/CellOrientation.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..0c1c33e9fa
--- /dev/null
+++ b/offapi/com/sun/star/table/CellProperties.idl
@@ -0,0 +1,265 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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.
+
+ <p>In this case the CellProperties::CellBackColor
+ value is not used.</p>
+ */
+ [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.
+
+ <p>If the CellProperties::RotateAngle property
+ is non-zero, this value is not used.</p>
+ */
+ [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.
+
+ <p>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.</p>
+ */
+ [optional, property] boolean AsianVerticalMode;
+
+
+ /** contains a description of the cell or cell range border.
+
+ <p>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.</p>
+ */
+ [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.
+
+ <p>The proper value can be determined by using the
+ com::sun::star::util::NumberFormatter
+ interface of the document.</p>
+ */
+ [property] long NumberFormat;
+
+
+ /** contains a description of the shadow.
+ */
+ [property] com::sun::star::table::ShadowFormat ShadowFormat;
+
+
+ /** contains a description of the cell protection.
+
+ <p>Cell protection is active only if the sheet is protected.</p>
+ */
+ [property] com::sun::star::util::CellProtection CellProtection;
+
+
+ /** stores additional attributes.
+
+ <p>This property is used i.e. by the XML filters to load and
+ restore unknown attributes.</p>
+ */
+ [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.
+
+ <p>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.</p>
+
+ @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
+
+ <p>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.</p>
+ */
+ [optional, property] sequence<com::sun::star::beans::PropertyValue> CellInteropGrabBag;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..6f2dee8091
--- /dev/null
+++ b/offapi/com/sun/star/table/CellRange.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..ce950600eb
--- /dev/null
+++ b/offapi/com/sun/star/table/CellRangeAddress.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 .
+ */
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..71d7052196
--- /dev/null
+++ b/offapi/com/sun/star/table/CellRangeListSource.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module table {
+
+
+
+/** defines the a source of list entries coming from a cell range in a table document
+
+ <p>The component cannot be instantiated at a global service factory, instead
+ it's usually provided by a document instance.</p>
+
+ @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
+
+ <p>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.</p>
+
+ <p>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.</p>
+
+ <p>The following aspects of the components can be initialized:<br/>
+ <ul><li><b>CellRange</b><br/>
+ specifies the address of the cell range to bind this instance to. Must be a
+ com::sun::star::table::CellRangeAddress instance.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..c2801816cf
--- /dev/null
+++ b/offapi/com/sun/star/table/CellValueBinding.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 .
+ */
+
+
+module com { module sun { module star { module table {
+
+
+/** defines the binding to a single cell in a table document
+
+ <p>Read/Write access to the cell represented by this component is supported,
+ as well as active broadcasting of value changes.</p>
+
+ <p>The binding supports exchanging <em>double</em> values, <em>string</em>
+ values.</p>
+
+ <p>The component cannot be instantiated at a global service factory, instead
+ it's usually provided by a document instance.</p>
+
+ @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.
+
+ <p>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.</p>
+ */
+ interface com::sun::star::util::XModifyBroadcaster;
+
+ /** allows setting initial, creation-time properties of the component
+
+ <p>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.</p>
+
+ <p>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.</p>
+
+ <p>The following aspects of the components can be initialized:<br/>
+ <ul><li><b>BoundCell</b><br/>
+ specifies the address of the cell to bind this instance to. Must be a
+ com::sun::star::table::CellAddress instance.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..f9981942b7
--- /dev/null
+++ b/offapi/com/sun/star/table/CellVertJustify.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 .
+ */
+
+
+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
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..3902318cb9
--- /dev/null
+++ b/offapi/com/sun/star/table/CellVertJustify2.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 .
+ */
+
+
+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;
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..7855005582
--- /dev/null
+++ b/offapi/com/sun/star/table/ListPositionCellBinding.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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.
+
+ <p>Additionally to the types supported by the super service, the
+ ListPositionCellBinding allows exchanging integer values.</p>
+
+ @see com::sun::star::form::binding::XValueBinding::getSupportedTypes
+ */
+ service CellValueBinding;
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..7ec20e501c
--- /dev/null
+++ b/offapi/com/sun/star/table/ShadowFormat.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 .
+ */
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..1407b0d14e
--- /dev/null
+++ b/offapi/com/sun/star/table/ShadowLocation.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 .
+ */
+
+
+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
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..3db5185acb
--- /dev/null
+++ b/offapi/com/sun/star/table/TableBorder.idl
@@ -0,0 +1,121 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module table {
+
+
+/** contains the style settings of the border lines of all cells in a cell
+ range.
+
+ <p>In a queried structure, the flags in
+ TableBorder::Is...LineValid indicate that not all
+ lines of the boxes have the same values.</p>
+
+ <p>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.</p>
+ */
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..2cfd1dd592
--- /dev/null
+++ b/offapi/com/sun/star/table/TableBorder2.idl
@@ -0,0 +1,117 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+
+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.
+
+ <p>In a queried structure, the flags in
+ TableBorder2::Is...LineValid indicate that not all
+ lines of the boxes have the same values.</p>
+
+ <p>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.</p>
+
+ @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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..d0e9b7d1bb
--- /dev/null
+++ b/offapi/com/sun/star/table/TableBorderDistances.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 .
+ */
+
+
+module com { module sun { module star { module table {
+
+
+/** contains the distance settings of the border lines of all cells in a cell
+ range.
+
+ <p>In a queried structure, the flags in
+ TableBorderDistances::Is...DistanceValid indicate that not all
+ lines of the boxes have the same values.</p>
+
+ <p>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.</p>
+ */
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..82f7e13005
--- /dev/null
+++ b/offapi/com/sun/star/table/TableChart.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 .
+ */
+
+
+module com { module sun { module star { module table {
+
+
+/** represents a chart based on data in a table or spreadsheet.
+
+ <p>This service does not represent the chart document model itself,
+ but the object in the table that contains this chart document.</p>
+ */
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..4747f4b5d9
--- /dev/null
+++ b/offapi/com/sun/star/table/TableCharts.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..88d193d77d
--- /dev/null
+++ b/offapi/com/sun/star/table/TableChartsEnumeration.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..8505d6b14b
--- /dev/null
+++ b/offapi/com/sun/star/table/TableColumn.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 .
+ */
+
+
+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.
+
+ <p>In spreadsheets, the name of a column cannot be changed.</p>
+ */
+ interface com::sun::star::container::XNamed;
+
+
+ /** contains the width of the column (in 1/100th mm).
+
+ <p>When hidden, it returns the width which the column would have,
+ if it were visible. </p>
+ */
+ [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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..036b9f7121
--- /dev/null
+++ b/offapi/com/sun/star/table/TableColumns.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 .
+ */
+
+
+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.
+
+ <p>The names of the columns are always absolute even if the current
+ cell range is a sub-range of a spreadsheet.</p>
+ */
+ [optional] interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..d66bcbd64e
--- /dev/null
+++ b/offapi/com/sun/star/table/TableColumnsEnumeration.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..fc2284f03c
--- /dev/null
+++ b/offapi/com/sun/star/table/TableOrientation.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..493f7fa1e8
--- /dev/null
+++ b/offapi/com/sun/star/table/TableRow.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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).
+
+ <p>When hidden, it returns the height which the row would have,
+ if it were visible. </p>
+ */
+ [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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..fee9c353a5
--- /dev/null
+++ b/offapi/com/sun/star/table/TableRows.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..b94cbabdef
--- /dev/null
+++ b/offapi/com/sun/star/table/TableRowsEnumeration.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..1bbbc695b2
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortDescriptor.idl
@@ -0,0 +1,72 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module table {
+
+
+/** contains properties which describe sorting of rows or columns in a table.
+
+ <p>It extends the general
+ com::sun::star::util::SortDescriptor with
+ table-specific properties.</p>
+
+ @deprecated
+ */
+published service TableSortDescriptor
+{
+
+ /** contains common sorting properties.
+ */
+ service com::sun::star::util::SortDescriptor;
+
+
+ /** specifies the descriptions of the individual sort fields.
+ */
+ [property] sequence<com::sun::star::util::SortField> SortFields;
+
+
+ /** contains the maximum number of sort fields the descriptor can hold.
+ */
+ [readonly, property] long MaxFieldCount;
+
+
+ /** specifies the sorting orientation (sort rows or columns).
+
+ <p>Some implementations may not support sorting columns.</p>
+
+ @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;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..56fd91bfc4
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortDescriptor2.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 .
+ */
+
+
+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.
+
+ <p>Each entry specifies properties that state the
+ row/column to be sorted and how that should be done.</p>
+ */
+ [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.
+
+ <dl>
+ <dt>`TRUE`</dt>
+ <dd>The columns are to be sorted.</dd>
+ <dt>`FALSE`</dt>
+ <dd>The rows are to be sorted.</dd>
+ </dl>
+ */
+ [property] boolean IsSortColumns;
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..86ba860ddb
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortField.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 .
+ */
+
+
+
+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.
+
+ <p>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".</p>
+ */
+ com::sun::star::table::TableSortFieldType FieldType;
+
+ /** the locale used by the collator when comparing/sorting text.
+
+ <p>This property will not be used when the "FieldType" is
+ com::sun::star::table::TableSortFieldType::NUMERIC
+ </p>
+
+ @see com::sun::star::i18n::XCollator
+ */
+ com::sun::star::lang::Locale CollatorLocale;
+
+ /** the algorithm used by the collator when comparing/sorting text.
+
+ <p>This property will not be used when the "FieldType" is
+ com::sun::star::table::TableSortFieldType::NUMERIC
+ </p>
+
+ @see com::sun::star::i18n::XCollator
+ */
+ string CollatorAlgorithm;
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..a3aaa2d546
--- /dev/null
+++ b/offapi/com/sun/star/table/TableSortFieldType.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 .
+ */
+
+
+
+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
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..855d4a8d10
--- /dev/null
+++ b/offapi/com/sun/star/table/XAutoFormattable.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..be62633649
--- /dev/null
+++ b/offapi/com/sun/star/table/XCell.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 .
+ */
+
+
+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.
+
+ <p>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
+ <em>value cell</em> will be formatted using the number format's
+ default format or the formula string, including "=", of a formula
+ cell.</p>
+ */
+ string getFormula();
+
+
+ /** sets a formula into the cell.
+
+ <p>When assigned, the string will be interpreted and a value, text
+ or formula cell is created, depending on the text and the number
+ format.</p>
+ */
+ void setFormula( [in] string aFormula );
+
+
+ /** returns the floating point value of the cell.
+
+ <p>For a <em>value cell</em> the value is returned, for a
+ <em>string cell</em> zero is returned and for a <em>formula cell</em>
+ the result value of a formula is returned.</p>
+ */
+ double getValue();
+
+
+ /** sets a floating point value into the cell.
+
+ <p>After a call to this method the type of the cell is
+ CellContentType::VALUE.</p>
+ */
+ void setValue( [in] double nValue );
+
+
+ /** returns the type of the cell.
+ */
+ com::sun::star::table::CellContentType getType();
+
+
+ /** returns the error value of the cell.
+
+ <P>If the cell does not contain a formula, the error is always
+ zero.</p>
+ */
+ long getError();
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..a093330fa1
--- /dev/null
+++ b/offapi/com/sun/star/table/XCell2.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+
+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.
+
+ <p>When assigned, the formula cell's result will be set to this
+ value and will not be calculated - unless a HardRecalc is
+ executed.</p>
+ */
+ void setFormulaResult( [in] double nValue );
+
+
+ /** sets a formula string into the cell.
+
+ <p>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.</p>
+ */
+ void setFormulaString( [in] string aFormula );
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..17de08b979
--- /dev/null
+++ b/offapi/com/sun/star/table/XCellCursor.idl
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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.
+
+ <p>If the sheet is not protected, this is the next cell to the
+ right.</p>
+ */
+ void gotoNext();
+
+
+ /** points the cursor to the previous unprotected cell.
+
+ <p>If the sheet is not protected, this is the next cell to the
+ left.</p>
+ */
+ 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 );
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..1698f1d3cf
--- /dev/null
+++ b/offapi/com/sun/star/table/XCellRange.idl
@@ -0,0 +1,105 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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.
+
+ <p>The sub-range is specified by its name. The format of the range
+ name is dependent of the context of the table. In spreadsheets valid
+ names may be "A1:C5" or "$B$2" or even defined names for cell ranges
+ such as "MySpecialCell".</p>
+
+ @param aRange
+ the name of the sub-range.
+
+ @returns
+ the specified cell range.
+
+ @see com::sun::star::table::CellRange
+ */
+ com::sun::star::table::XCellRange getCellRangeByName( [in] string aRange );
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..7b461f0a3a
--- /dev/null
+++ b/offapi/com/sun/star/table/XColumnRowRange.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 .
+ */
+
+
+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();
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..4af2630c98
--- /dev/null
+++ b/offapi/com/sun/star/table/XMergeableCell.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 .
+ */
+
+
+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();
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..443a2af228
--- /dev/null
+++ b/offapi/com/sun/star/table/XMergeableCellRange.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 .
+ */
+
+
+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();
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..103d98e5f0
--- /dev/null
+++ b/offapi/com/sun/star/table/XTable.idl
@@ -0,0 +1,84 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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.
+ <p>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;
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..7636782ca5
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableChart.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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<com::sun::star::table::CellRangeAddress> getRanges();
+
+
+ /** sets the cell ranges that contain the data for the chart.
+ */
+ void setRanges(
+ [in] sequence<com::sun::star::table::CellRangeAddress> aRanges );
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..a668ee8d62
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableCharts.idl
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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<com::sun::star::table::CellRangeAddress> 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 );
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..a33206451b
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableChartsSupplier.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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();
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..d4b17667b6
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableColumns.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 .
+ */
+
+
+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 );
+
+};
+
+
+}; }; }; };
+
+/* 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 0000000000..786aa82624
--- /dev/null
+++ b/offapi/com/sun/star/table/XTablePivotChart.idl
@@ -0,0 +1,26 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+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();
+};
+
+}; }; }; };
+
+/* 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 0000000000..70d17fbc9f
--- /dev/null
+++ b/offapi/com/sun/star/table/XTablePivotCharts.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+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);
+};
+
+}; }; }; };
+
+/* 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 0000000000..23f259a8b5
--- /dev/null
+++ b/offapi/com/sun/star/table/XTablePivotChartsSupplier.idl
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+
+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();
+};
+
+}; }; }; };
+
+/* 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 0000000000..7042baeaa4
--- /dev/null
+++ b/offapi/com/sun/star/table/XTableRows.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 .
+ */
+
+
+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.
+
+ <p>When the index or combination of index and count is out
+ of bounds an exception will be thrown.</p>
+
+ @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.
+
+ <p>When the index or combination of index and count is out
+ of bounds an exception will be thrown.</p>
+
+ @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 );
+
+};
+
+
+}; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */