diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:54:39 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:54:39 +0000 |
commit | 267c6f2ac71f92999e969232431ba04678e7437e (patch) | |
tree | 358c9467650e1d0a1d7227a21dac2e3d08b622b2 /offapi/com/sun/star/table | |
parent | Initial commit. (diff) | |
download | libreoffice-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')
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: */ |