diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/table | |
parent | Initial commit. (diff) | |
download | libreoffice-upstream.tar.xz libreoffice-upstream.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/table')
56 files changed, 4157 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 000000000..d09f00b5c --- /dev/null +++ b/offapi/com/sun/star/table/AccessibleCellView.idl @@ -0,0 +1,127 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_table_AccessibleCellView_idl__ +#define __com_sun_star_table_AccessibleCellView_idl__ + +#include <com/sun/star/accessibility/XAccessibleContext.idl> +#include <com/sun/star/accessibility/XAccessibleComponent.idl> +#include <com/sun/star/accessibility/XAccessibleValue.idl> +#include <com/sun/star/accessibility/XAccessibleText.idl> +#include <com/sun/star/accessibility/XAccessibleSelection.idl> +#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl> + + + +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; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/AccessibleTableView.idl b/offapi/com/sun/star/table/AccessibleTableView.idl new file mode 100644 index 000000000..834436882 --- /dev/null +++ b/offapi/com/sun/star/table/AccessibleTableView.idl @@ -0,0 +1,135 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_table_AccessibleTableView_idl__ +#define __com_sun_star_table_AccessibleTableView_idl__ + +#include <com/sun/star/accessibility/XAccessibleContext.idl> +#include <com/sun/star/accessibility/XAccessibleComponent.idl> +#include <com/sun/star/accessibility/XAccessibleTable.idl> +#include <com/sun/star/accessibility/XAccessibleSelection.idl> +#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl> + + + +module com { module sun { module star { module 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; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/BorderLine.idl b/offapi/com/sun/star/table/BorderLine.idl new file mode 100644 index 000000000..06a61dcad --- /dev/null +++ b/offapi/com/sun/star/table/BorderLine.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_BorderLine_idl__ +#define __com_sun_star_table_BorderLine_idl__ + +#include <com/sun/star/util/Color.idl> + + +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; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/BorderLine2.idl b/offapi/com/sun/star/table/BorderLine2.idl new file mode 100644 index 000000000..dfbbfd7e0 --- /dev/null +++ b/offapi/com/sun/star/table/BorderLine2.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_BorderLine2_idl__ +#define __com_sun_star_table_BorderLine2_idl__ + + +#include <com/sun/star/table/BorderLine.idl> +#include <com/sun/star/table/BorderLineStyle.idl> + + +module com { module sun { module star { module table { + + +/** A border line, extended with line style. + + @since LibreOffice 3.4 + */ +published struct BorderLine2 : BorderLine +{ + /** Style of the border. @see BorderLineStyle + */ + short LineStyle; + + /** Width of the border, this is the base to compute all the lines + and gaps widths. These widths computations are based on the + LineStyle property + + This property is prevailing on the old Out, In and Dist width + from BorderLine. If this property is set to 0, then the other + widths will be used to guess the border width. + */ + unsigned long LineWidth; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/BorderLineStyle.idl b/offapi/com/sun/star/table/BorderLineStyle.idl new file mode 100644 index 000000000..90d5930b4 --- /dev/null +++ b/offapi/com/sun/star/table/BorderLineStyle.idl @@ -0,0 +1,120 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_table_BorderLineStyle_idl__ +#define __com_sun_star_table_BorderLineStyle_idl__ + + +module com { module sun { module star { module table { + + +constants BorderLineStyle +{ + /** No border line + */ + const short NONE = 0x7FFF; + + /** Solid border line. + */ + const short SOLID = 0; + + /** Dotted border line. + */ + const short DOTTED = 1; + + /** Dashed border line. + */ + const short DASHED = 2; + + /** Double border line. Widths of the lines and the gap are all equal, + and vary equally with the total width. + */ + const short DOUBLE = 3; + + /** Double border line with a thin line outside and a thick line + inside separated by a small gap. + */ + const short THINTHICK_SMALLGAP = 4; + + /** Double border line with a thin line outside and a thick line + inside separated by a medium gap. + */ + const short THINTHICK_MEDIUMGAP = 5; + + /** Double border line with a thin line outside and a thick line + inside separated by a large gap. + */ + const short THINTHICK_LARGEGAP = 6; + + /** Double border line with a thick line outside and a thin line + inside separated by a small gap. + */ + const short THICKTHIN_SMALLGAP = 7; + + /** Double border line with a thick line outside and a thin line + inside separated by a medium gap. + */ + const short THICKTHIN_MEDIUMGAP = 8; + + /** Double border line with a thick line outside and a thin line + inside separated by a large gap. + */ + const short THICKTHIN_LARGEGAP = 9; + + /** 3D embossed border line. + */ + const short EMBOSSED = 10; + + /** 3D engraved border line. + */ + const short ENGRAVED = 11; + + /** Outset border line. + */ + const short OUTSET = 12; + + /** Inset border line. + */ + const short INSET = 13; + + /** Finely dashed border line. + */ + const short FINE_DASHED = 14; + + /** Double border line consisting of two fixed thin lines separated by a + variable gap. + */ + const short DOUBLE_THIN = 15; + + /** Line consisting of a repetition of one dash and one dot. */ + const short DASH_DOT = 16; + + /** Line consisting of a repetition of one dash and 2 dots. */ + const short DASH_DOT_DOT = 17; + + /** Maximum valid border line style value. + */ + const short BORDER_LINE_STYLE_MAX = 17; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/Cell.idl b/offapi/com/sun/star/table/Cell.idl new file mode 100644 index 000000000..753ebb2d9 --- /dev/null +++ b/offapi/com/sun/star/table/Cell.idl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_Cell_idl__ +#define __com_sun_star_table_Cell_idl__ + +#include <com/sun/star/table/CellProperties.idl> +#include <com/sun/star/table/XCell.idl> +#include <com/sun/star/text/XText.idl> + + +module com { module sun { module star { module table { + + +/** represents a single cell within a table. + */ +published service Cell +{ + + /** contains the properties of the table cell. + */ + service com::sun::star::table::CellProperties; + + + /** provides access to the cell contents. + */ + interface com::sun::star::table::XCell; + + + /** provides access to formatted and unformatted text contents. + */ + interface com::sun::star::text::XText; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellAddress.idl b/offapi/com/sun/star/table/CellAddress.idl new file mode 100644 index 000000000..86fc2342d --- /dev/null +++ b/offapi/com/sun/star/table/CellAddress.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellAddress_idl__ +#define __com_sun_star_table_CellAddress_idl__ + + +module com { module sun { module star { module table { + + +/** contains a cell address within a spreadsheet document. + */ +published struct CellAddress +{ + + /** is the index of the sheet that contains the cell. + */ + short Sheet; + + + /** is the index of the column where the cell is located. + */ + long Column; + + + /** is the index of the row where the cell is located. + */ + long Row; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellContentType.idl b/offapi/com/sun/star/table/CellContentType.idl new file mode 100644 index 000000000..316dc73db --- /dev/null +++ b/offapi/com/sun/star/table/CellContentType.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellContentType_idl__ +#define __com_sun_star_table_CellContentType_idl__ + + +module com { module sun { module star { module table { + + +/** is used to determine the type of contents in a cell. + */ +published enum CellContentType +{ + + /** cell is empty. + */ + EMPTY, + + + /** cell contains a constant value. + */ + VALUE, + + + /** cell contains text. + */ + TEXT, + + + /** cell contains a formula. + */ + FORMULA + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellCursor.idl b/offapi/com/sun/star/table/CellCursor.idl new file mode 100644 index 000000000..2fe286cf9 --- /dev/null +++ b/offapi/com/sun/star/table/CellCursor.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellCursor_idl__ +#define __com_sun_star_table_CellCursor_idl__ + +#include <com/sun/star/table/XCellCursor.idl> + + +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; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellHoriJustify.idl b/offapi/com/sun/star/table/CellHoriJustify.idl new file mode 100644 index 000000000..a9621ccd9 --- /dev/null +++ b/offapi/com/sun/star/table/CellHoriJustify.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellHoriJustify_idl__ +#define __com_sun_star_table_CellHoriJustify_idl__ + + +module com { module sun { module star { module table { + + +/** specifies how cell contents are aligned horizontally. + */ +published enum CellHoriJustify +{ + + /** default alignment is used (left for numbers, right for text). + */ + STANDARD, + + + /** contents are aligned to the left edge of the cell. + */ + LEFT, + + + /** contents are horizontally centered. + */ + CENTER, + + + /** contents are aligned to the right edge of the cell. + */ + RIGHT, + + + /** contents are justified to the cell width. + */ + BLOCK, + + + /** contents are repeated to fill the cell. + */ + REPEAT + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellJustifyMethod.idl b/offapi/com/sun/star/table/CellJustifyMethod.idl new file mode 100644 index 000000000..6a23a863d --- /dev/null +++ b/offapi/com/sun/star/table/CellJustifyMethod.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellJustifyMethod_idl__ +#define __com_sun_star_table_CellJustifyMethod_idl__ + + +module com { module sun { module star { module table { + + +/** Specifies how text inside a cell is justified. The justification methods + closely follow the methods described under the text-justify property of the + CSS Text Level 3 specification. The latest version of the aforementioned + specification is found here http://www.w3.org/TR/css3-text/. + */ +constants CellJustifyMethod +{ + + /** Automatic. + */ + const long AUTO = 0; + + + /** When applied in the direction of text flow, characters in each line are + distributed at equal intervals so that the ends of each line are aligned + with the start and end edges of the cell. When applied in the + perpendicular direction of text flow, the lines are distributed at equal + intervals so that the first and last lines are aligned with the start and + end edges of the cell. + */ + const long DISTRIBUTE = 1; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellOrientation.idl b/offapi/com/sun/star/table/CellOrientation.idl new file mode 100644 index 000000000..0ff39124e --- /dev/null +++ b/offapi/com/sun/star/table/CellOrientation.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellOrientation_idl__ +#define __com_sun_star_table_CellOrientation_idl__ + + +module com { module sun { module star { module table { + + +/** specifies the orientation of a cell. + */ +published enum CellOrientation +{ + + /** contents are printed from left to right. + */ + STANDARD, + + + /** contents are printed from top to bottom. + */ + TOPBOTTOM, + + + /** contents are printed from bottom to top. + */ + BOTTOMTOP, + + + /** contents are printed from top to bottom with individual + characters in normal (horizontal) orientation. + */ + STACKED + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellProperties.idl b/offapi/com/sun/star/table/CellProperties.idl new file mode 100644 index 000000000..3e01b315e --- /dev/null +++ b/offapi/com/sun/star/table/CellProperties.idl @@ -0,0 +1,283 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellProperties_idl__ +#define __com_sun_star_table_CellProperties_idl__ + +#include <com/sun/star/util/Color.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/table/ShadowFormat.idl> +#include <com/sun/star/table/CellHoriJustify.idl> +#include <com/sun/star/table/CellVertJustify.idl> +#include <com/sun/star/table/CellOrientation.idl> +#include <com/sun/star/util/CellProtection.idl> +#include <com/sun/star/table/TableBorder.idl> +#include <com/sun/star/table/TableBorder2.idl> +#include <com/sun/star/table/BorderLine.idl> +#include <com/sun/star/table/BorderLine2.idl> +#include <com/sun/star/container/XNameContainer.idl> + + +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; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellRange.idl b/offapi/com/sun/star/table/CellRange.idl new file mode 100644 index 000000000..7a7fc66e7 --- /dev/null +++ b/offapi/com/sun/star/table/CellRange.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellRange_idl__ +#define __com_sun_star_table_CellRange_idl__ + +#include <com/sun/star/table/CellProperties.idl> +#include <com/sun/star/table/XCellRange.idl> + + +module com { module sun { module star { module table { + + +/** represents a range of cells within a table. + */ +published service CellRange +{ + + /** contains the properties of the cells of this cell range. + */ + service com::sun::star::table::CellProperties; + + + /** provides access to the cells or to sub-ranges of this cell range. + */ + interface com::sun::star::table::XCellRange; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellRangeAddress.idl b/offapi/com/sun/star/table/CellRangeAddress.idl new file mode 100644 index 000000000..629c8b896 --- /dev/null +++ b/offapi/com/sun/star/table/CellRangeAddress.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellRangeAddress_idl__ +#define __com_sun_star_table_CellRangeAddress_idl__ + + +module com { module sun { module star { module table { + + +/** contains a cell range address within a spreadsheet document. + */ +published struct CellRangeAddress +{ + + /** is the index of the sheet that contains the cell range. + */ + short Sheet; + + + /** is the index of the column of the left edge of the range. + */ + long StartColumn; + + + /** is the index of the row of the top edge of the range. + */ + long StartRow; + + + /** is the index of the column of the right edge of the range. + */ + long EndColumn; + + + /** is the index of the row of the bottom edge of the range. + */ + long EndRow; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellRangeListSource.idl b/offapi/com/sun/star/table/CellRangeListSource.idl new file mode 100644 index 000000000..edbb53fbb --- /dev/null +++ b/offapi/com/sun/star/table/CellRangeListSource.idl @@ -0,0 +1,80 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellRangeListSource_idl__ +#define __com_sun_star_table_CellRangeListSource_idl__ + +#include <com/sun/star/form/binding/ListEntrySource.idl> +#include <com/sun/star/table/CellRangeAddress.idl> +#include <com/sun/star/lang/XInitialization.idl> + + +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; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellValueBinding.idl b/offapi/com/sun/star/table/CellValueBinding.idl new file mode 100644 index 000000000..ee6320b3f --- /dev/null +++ b/offapi/com/sun/star/table/CellValueBinding.idl @@ -0,0 +1,92 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellValueBinding_idl__ +#define __com_sun_star_table_CellValueBinding_idl__ + +#include <com/sun/star/form/binding/ValueBinding.idl> +#include <com/sun/star/table/CellAddress.idl> +#include <com/sun/star/lang/XInitialization.idl> + + +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; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellVertJustify.idl b/offapi/com/sun/star/table/CellVertJustify.idl new file mode 100644 index 000000000..b11e75570 --- /dev/null +++ b/offapi/com/sun/star/table/CellVertJustify.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellVertJustify_idl__ +#define __com_sun_star_table_CellVertJustify_idl__ + + +module com { module sun { module star { module table { + + +/** specifies how cell contents are aligned vertically. + */ +published enum CellVertJustify +{ + + /** default alignment is used. + */ + STANDARD, + + + /** contents are aligned with the upper edge of the cell. + */ + TOP, + + + /** contents are aligned to the vertical middle of the cell. + */ + CENTER, + + + /** contents are aligned to the lower edge of the cell. + */ + BOTTOM + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/CellVertJustify2.idl b/offapi/com/sun/star/table/CellVertJustify2.idl new file mode 100644 index 000000000..87ce35475 --- /dev/null +++ b/offapi/com/sun/star/table/CellVertJustify2.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_CellVertJustify2_idl__ +#define __com_sun_star_table_CellVertJustify2_idl__ + + +module com { module sun { module star { module table { + + +/** specifies how cell contents are aligned vertically. + */ +constants CellVertJustify2 +{ + + /** default alignment is used. + */ + const long STANDARD = 0; + + + /** contents are aligned with the upper edge of the cell. + */ + const long TOP = 1; + + + /** contents are aligned to the vertical middle of the cell. + */ + const long CENTER = 2; + + + /** contents are aligned to the lower edge of the cell. + */ + const long BOTTOM = 3; + + + /** contents are justified to the cell height. + */ + const long BLOCK = 4; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/ListPositionCellBinding.idl b/offapi/com/sun/star/table/ListPositionCellBinding.idl new file mode 100644 index 000000000..e3a786654 --- /dev/null +++ b/offapi/com/sun/star/table/ListPositionCellBinding.idl @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_ListPositionCellBinding_idl__ +#define __com_sun_star_table_ListPositionCellBinding_idl__ + +#include <com/sun/star/table/CellValueBinding.idl> + + +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; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/ShadowFormat.idl b/offapi/com/sun/star/table/ShadowFormat.idl new file mode 100644 index 000000000..9db765643 --- /dev/null +++ b/offapi/com/sun/star/table/ShadowFormat.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_ShadowFormat_idl__ +#define __com_sun_star_table_ShadowFormat_idl__ + +#include <com/sun/star/util/Color.idl> +#include <com/sun/star/table/ShadowLocation.idl> + + +module com { module sun { module star { module table { + + +/** describes the settings of a cell shadow. + */ +published struct ShadowFormat +{ + + /** contains the location of the shadow. + */ + com::sun::star::table::ShadowLocation Location; + + + /** contains the size of the shadow. + */ + short ShadowWidth; + + + /** is `TRUE`, if shadow is transparent. + */ + boolean IsTransparent; + + + /** contains the color value of the shadow. + */ + com::sun::star::util::Color Color; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/ShadowLocation.idl b/offapi/com/sun/star/table/ShadowLocation.idl new file mode 100644 index 000000000..1a810af94 --- /dev/null +++ b/offapi/com/sun/star/table/ShadowLocation.idl @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_ShadowLocation_idl__ +#define __com_sun_star_table_ShadowLocation_idl__ + + +module com { module sun { module star { module table { + + +/** specifies the location of the shadow in a ShadowFormat. + */ +published enum ShadowLocation +{ + + /** no shadow. + */ + NONE, + + + /** shadow is located along the upper and left sides. + */ + TOP_LEFT, + + + /** shadow is located along the upper and right sides. + */ + TOP_RIGHT, + + + /** shadow is located along the lower and left sides. + */ + BOTTOM_LEFT, + + + /** shadow is located along the lower and right sides. + */ + BOTTOM_RIGHT + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableBorder.idl b/offapi/com/sun/star/table/TableBorder.idl new file mode 100644 index 000000000..be994d401 --- /dev/null +++ b/offapi/com/sun/star/table/TableBorder.idl @@ -0,0 +1,128 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableBorder_idl__ +#define __com_sun_star_table_TableBorder_idl__ + +#include <com/sun/star/table/BorderLine.idl> + + +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; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableBorder2.idl b/offapi/com/sun/star/table/TableBorder2.idl new file mode 100644 index 000000000..611569018 --- /dev/null +++ b/offapi/com/sun/star/table/TableBorder2.idl @@ -0,0 +1,124 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_table_TableBorder2_idl__ +#define __com_sun_star_table_TableBorder2_idl__ + +#include <com/sun/star/table/BorderLine2.idl> + + +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; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableBorderDistances.idl b/offapi/com/sun/star/table/TableBorderDistances.idl new file mode 100644 index 000000000..9c959b8e3 --- /dev/null +++ b/offapi/com/sun/star/table/TableBorderDistances.idl @@ -0,0 +1,90 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableBorderDistances_idl__ +#define __com_sun_star_table_TableBorderDistances_idl__ + +#include <com/sun/star/table/BorderLine.idl> + + +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; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableChart.idl b/offapi/com/sun/star/table/TableChart.idl new file mode 100644 index 000000000..8a5cdf8a2 --- /dev/null +++ b/offapi/com/sun/star/table/TableChart.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableChart_idl__ +#define __com_sun_star_table_TableChart_idl__ + +#include <com/sun/star/table/XTableChart.idl> +#include <com/sun/star/document/XEmbeddedObjectSupplier.idl> +#include <com/sun/star/container/XNamed.idl> + + +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; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableCharts.idl b/offapi/com/sun/star/table/TableCharts.idl new file mode 100644 index 000000000..9eff85605 --- /dev/null +++ b/offapi/com/sun/star/table/TableCharts.idl @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableCharts_idl__ +#define __com_sun_star_table_TableCharts_idl__ + +#include <com/sun/star/table/XTableCharts.idl> +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module table { + + +/** represents a collection of all charts based on data in a table. + + @see com::sun::star::table::TableChart + */ +published service TableCharts +{ + + /** provides methods to insert and remove charts. + */ + interface com::sun::star::table::XTableCharts; + + + /** provides methods to access the charts via index. + */ + interface com::sun::star::container::XIndexAccess; + + + /** creates an enumeration of all contained charts. + + @see com::sun::star::table::TableChartsEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableChartsEnumeration.idl b/offapi/com/sun/star/table/TableChartsEnumeration.idl new file mode 100644 index 000000000..6dddc58e7 --- /dev/null +++ b/offapi/com/sun/star/table/TableChartsEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableChartsEnumeration_idl__ +#define __com_sun_star_table_TableChartsEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module table { + + +/** represents an enumeration of table charts. + + @see com::sun::star::table::TableCharts + */ +published service TableChartsEnumeration +{ + + /** provides methods to access the charts in the enumeration. + + @see com::sun::star::table::TableChart + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableColumn.idl b/offapi/com/sun/star/table/TableColumn.idl new file mode 100644 index 000000000..72a6aaf0e --- /dev/null +++ b/offapi/com/sun/star/table/TableColumn.idl @@ -0,0 +1,87 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableColumn_idl__ +#define __com_sun_star_table_TableColumn_idl__ + +#include <com/sun/star/table/XCellRange.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/container/XNamed.idl> + + +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; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableColumns.idl b/offapi/com/sun/star/table/TableColumns.idl new file mode 100644 index 000000000..ce4ac6a0c --- /dev/null +++ b/offapi/com/sun/star/table/TableColumns.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableColumns_idl__ +#define __com_sun_star_table_TableColumns_idl__ + +#include <com/sun/star/table/XTableColumns.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/container/XNameAccess.idl> + + +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; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableColumnsEnumeration.idl b/offapi/com/sun/star/table/TableColumnsEnumeration.idl new file mode 100644 index 000000000..2f7d54dae --- /dev/null +++ b/offapi/com/sun/star/table/TableColumnsEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableColumnsEnumeration_idl__ +#define __com_sun_star_table_TableColumnsEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module table { + + +/** represents an enumeration of table columns. + + @see com::sun::star::table::TableColumns + */ +published service TableColumnsEnumeration +{ + + /** provides methods to access the columns in the enumeration. + + @see com::sun::star::table::TableColumn + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableOrientation.idl b/offapi/com/sun/star/table/TableOrientation.idl new file mode 100644 index 000000000..e8a363f4c --- /dev/null +++ b/offapi/com/sun/star/table/TableOrientation.idl @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableOrientation_idl__ +#define __com_sun_star_table_TableOrientation_idl__ + + +module com { module sun { module star { module table { + + +/** used to select whether operations are carried out on columns or rows. + */ +published enum TableOrientation +{ + + /** operations are carried out on columns. + */ + COLUMNS, + + + /** operations are carried out on rows. + */ + ROWS + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableRow.idl b/offapi/com/sun/star/table/TableRow.idl new file mode 100644 index 000000000..d3bec00f5 --- /dev/null +++ b/offapi/com/sun/star/table/TableRow.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableRow_idl__ +#define __com_sun_star_table_TableRow_idl__ + +#include <com/sun/star/table/XCellRange.idl> +#include <com/sun/star/beans/XPropertySet.idl> + + +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; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableRows.idl b/offapi/com/sun/star/table/TableRows.idl new file mode 100644 index 000000000..58d08f212 --- /dev/null +++ b/offapi/com/sun/star/table/TableRows.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableRows_idl__ +#define __com_sun_star_table_TableRows_idl__ + +#include <com/sun/star/table/XTableRows.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> + + +module com { module sun { module star { module table { + + +/** represents a collection of all rows of a table or spreadsheet. + + @see com::sun::star::table::TableRow + */ +published service TableRows +{ + + /** provides methods to insert and remove rows. + */ + interface com::sun::star::table::XTableRows; + + + /** creates an enumeration of all contained rows. + + @see com::sun::star::table::TableRowsEnumeration + */ + interface com::sun::star::container::XEnumerationAccess; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableRowsEnumeration.idl b/offapi/com/sun/star/table/TableRowsEnumeration.idl new file mode 100644 index 000000000..00097bc5e --- /dev/null +++ b/offapi/com/sun/star/table/TableRowsEnumeration.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableRowsEnumeration_idl__ +#define __com_sun_star_table_TableRowsEnumeration_idl__ + +#include <com/sun/star/container/XEnumeration.idl> + + +module com { module sun { module star { module table { + + +/** represents an enumeration of table rows. + + @see com::sun::star::table::TableRows + */ +published service TableRowsEnumeration +{ + + /** provides methods to access the rows in the enumeration. + + @see com::sun::star::table::TableRow + */ + interface com::sun::star::container::XEnumeration; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableSortDescriptor.idl b/offapi/com/sun/star/table/TableSortDescriptor.idl new file mode 100644 index 000000000..f7ef6f69d --- /dev/null +++ b/offapi/com/sun/star/table/TableSortDescriptor.idl @@ -0,0 +1,81 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableSortDescriptor_idl__ +#define __com_sun_star_table_TableSortDescriptor_idl__ + +#include <com/sun/star/util/SortDescriptor.idl> +#include <com/sun/star/util/SortField.idl> +#include <com/sun/star/table/TableOrientation.idl> + + +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; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableSortDescriptor2.idl b/offapi/com/sun/star/table/TableSortDescriptor2.idl new file mode 100644 index 000000000..7dbedb6e4 --- /dev/null +++ b/offapi/com/sun/star/table/TableSortDescriptor2.idl @@ -0,0 +1,68 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_TableSortDescriptor2_idl__ +#define __com_sun_star_table_TableSortDescriptor2_idl__ + +#include <com/sun/star/util/SortDescriptor2.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/table/TableSortField.idl> + + +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; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableSortField.idl b/offapi/com/sun/star/table/TableSortField.idl new file mode 100644 index 000000000..fc6bab3c5 --- /dev/null +++ b/offapi/com/sun/star/table/TableSortField.idl @@ -0,0 +1,88 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_table_TableSortField_idl__ +#define __com_sun_star_table_TableSortField_idl__ + +#include <com/sun/star/lang/Locale.idl> +#include <com/sun/star/table/TableSortFieldType.idl> + + + +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; + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/TableSortFieldType.idl b/offapi/com/sun/star/table/TableSortFieldType.idl new file mode 100644 index 000000000..5bf296685 --- /dev/null +++ b/offapi/com/sun/star/table/TableSortFieldType.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_table_TableSortFieldType_idl__ +#define __com_sun_star_table_TableSortFieldType_idl__ + + + +module com { module sun { module star { module table { + + +/** enumeration used to specify the type of contents in a sort field + (row/column) of a table. + + @since OOo 1.1.2 + */ +published enum TableSortFieldType +{ + /** type is determined automatically. + */ + AUTOMATIC, + + /** sort field contains numerical data. + */ + NUMERIC, + + /** sort field contains text data. + */ + ALPHANUMERIC + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XAutoFormattable.idl b/offapi/com/sun/star/table/XAutoFormattable.idl new file mode 100644 index 000000000..8fe657605 --- /dev/null +++ b/offapi/com/sun/star/table/XAutoFormattable.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_XAutoFormattable_idl__ +#define __com_sun_star_table_XAutoFormattable_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +module com { module sun { module star { module table { + + +/** provides a method to apply TableAutoFormats to a cell range. + */ +published interface XAutoFormattable: com::sun::star::uno::XInterface +{ + + /** applies an AutoFormat to the cell range of the current context. + + @param aName + is the name of the AutoFormat to apply. + + @throws com::sun::star::lang::IllegalArgumentException + if the specified AutoFormat does not exist. + */ + void autoFormat( [in] string aName ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XCell.idl b/offapi/com/sun/star/table/XCell.idl new file mode 100644 index 000000000..d236022f6 --- /dev/null +++ b/offapi/com/sun/star/table/XCell.idl @@ -0,0 +1,95 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_XCell_idl__ +#define __com_sun_star_table_XCell_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellContentType.idl> + + +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(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XCell2.idl b/offapi/com/sun/star/table/XCell2.idl new file mode 100644 index 000000000..dd1c495bc --- /dev/null +++ b/offapi/com/sun/star/table/XCell2.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_table_XCell2_idl__ +#define __com_sun_star_table_XCell2_idl__ + +#include <com/sun/star/table/XCell.idl> + + +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 ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XCellCursor.idl b/offapi/com/sun/star/table/XCellCursor.idl new file mode 100644 index 000000000..39ad8fa51 --- /dev/null +++ b/offapi/com/sun/star/table/XCellCursor.idl @@ -0,0 +1,83 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_XCellCursor_idl__ +#define __com_sun_star_table_XCellCursor_idl__ + +#include <com/sun/star/table/XCellRange.idl> + + +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 ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XCellRange.idl b/offapi/com/sun/star/table/XCellRange.idl new file mode 100644 index 000000000..5ba075113 --- /dev/null +++ b/offapi/com/sun/star/table/XCellRange.idl @@ -0,0 +1,114 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_XCellRange_idl__ +#define __com_sun_star_table_XCellRange_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#include <com/sun/star/table/XCell.idl> + + +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 ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XColumnRowRange.idl b/offapi/com/sun/star/table/XColumnRowRange.idl new file mode 100644 index 000000000..371710318 --- /dev/null +++ b/offapi/com/sun/star/table/XColumnRowRange.idl @@ -0,0 +1,59 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_XColumnRowRange_idl__ +#define __com_sun_star_table_XColumnRowRange_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/XTableColumns.idl> +#include <com/sun/star/table/XTableRows.idl> + + +module com { module sun { module star { module table { + + +/** provides methods to access the collections of columns and rows + of a cell range. + + @see com::sun::star::table::CellRange + */ +published interface XColumnRowRange: com::sun::star::uno::XInterface +{ + + /** returns the collection of columns in the range. + + @see com::sun::star::table::TableColumns + */ + com::sun::star::table::XTableColumns getColumns(); + + + /** returns the collection of rows in the range. + + @see com::sun::star::table::TableRows + */ + com::sun::star::table::XTableRows getRows(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XMergeableCell.idl b/offapi/com/sun/star/table/XMergeableCell.idl new file mode 100644 index 000000000..221888317 --- /dev/null +++ b/offapi/com/sun/star/table/XMergeableCell.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_XMergeableCell_idl__ +#define __com_sun_star_table_XMergeableCell_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/XCell.idl> + + +module com { module sun { module star { module table { + + +/** provides methods to access information about a cell that is mergeable with + other sells. + + @see com::sun::star::table::Cell + */ +interface XMergeableCell: com::sun::star::table::XCell +{ + + /** returns the number of columns this cell spans. + */ + long getRowSpan(); + + + /** returns the number of rows this cell spans. + */ + long getColumnSpan(); + + + /** returns `TRUE` if this cell is merged with another cell. + */ + boolean isMerged(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XMergeableCellRange.idl b/offapi/com/sun/star/table/XMergeableCellRange.idl new file mode 100644 index 000000000..368c89026 --- /dev/null +++ b/offapi/com/sun/star/table/XMergeableCellRange.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_table_XMergeableCellRange_idl__ +#define __com_sun_star_table_XMergeableCellRange_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/lang/NoSupportException.idl> + + +module com { module sun { module star { module table { + + +/** represents a range of cells that can possibly be merged or unmerged. + */ +interface XMergeableCellRange : com::sun::star::uno::XInterface +{ + /** merges the area specified by this range. + + @throws com::sun::star::lang::NoSupportException + if a merge is not possible for this range. You can use + isMergeable() to check if a merge is possible. + */ + void merge() raises( ::com::sun::star::lang::NoSupportException ); + + + /** splits the cells in this range. + This will be done by inserting rows and columns if needed or unmerging + cells that are already split. + + @param Columns + this is the number of columns that will be added to each cell. Zero + means no new columns + + @param Rows + this is the number of rows that will be added to each cell. Zero + means no new rows + + @throws com::sun::star::lang::IllegalArgumentException + if at least one of the parameters is less than zero. + + @throws com::sun::star::lang::NoSupportException + if a split is not possible for this range. + */ + void split( [in] long Columns, [in] long Rows ) + raises( ::com::sun::star::lang::NoSupportException, + ::com::sun::star::lang::IllegalArgumentException ); + + + /** @returns + `TRUE` if all cells from this range can be merged to one + or `FALSE` otherwise. + */ + boolean isMergeable(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XTable.idl b/offapi/com/sun/star/table/XTable.idl new file mode 100644 index 000000000..c00edeab1 --- /dev/null +++ b/offapi/com/sun/star/table/XTable.idl @@ -0,0 +1,99 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_XTable_idl__ +#define __com_sun_star_table_XTable_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/table/XCellRange.idl> +#include <com/sun/star/table/XColumnRowRange.idl> +#include <com/sun/star/table/XCellCursor.idl> +#include <com/sun/star/util/XModifiable.idl> +#include <com/sun/star/beans/XMultiPropertySet.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/beans/XFastPropertySet.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + + +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; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XTableChart.idl b/offapi/com/sun/star/table/XTableChart.idl new file mode 100644 index 000000000..b508403f0 --- /dev/null +++ b/offapi/com/sun/star/table/XTableChart.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_XTableChart_idl__ +#define __com_sun_star_table_XTableChart_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + +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 ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XTableCharts.idl b/offapi/com/sun/star/table/XTableCharts.idl new file mode 100644 index 000000000..8129a2b0f --- /dev/null +++ b/offapi/com/sun/star/table/XTableCharts.idl @@ -0,0 +1,82 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_XTableCharts_idl__ +#define __com_sun_star_table_XTableCharts_idl__ + +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/awt/Rectangle.idl> +#include <com/sun/star/table/CellRangeAddress.idl> + + +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 ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XTableChartsSupplier.idl b/offapi/com/sun/star/table/XTableChartsSupplier.idl new file mode 100644 index 000000000..047cf72fe --- /dev/null +++ b/offapi/com/sun/star/table/XTableChartsSupplier.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_XTableChartsSupplier_idl__ +#define __com_sun_star_table_XTableChartsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/XTableCharts.idl> + + +module com { module sun { module star { module table { + + +/** provides a method to access a collection of charts in a table or + spreadsheet. + */ +published interface XTableChartsSupplier: com::sun::star::uno::XInterface +{ + + /** returns the collection of charts. + + @see com::sun::star::table::TableCharts + */ + com::sun::star::table::XTableCharts getCharts(); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XTableColumns.idl b/offapi/com/sun/star/table/XTableColumns.idl new file mode 100644 index 000000000..b3aa993d8 --- /dev/null +++ b/offapi/com/sun/star/table/XTableColumns.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_XTableColumns_idl__ +#define __com_sun_star_table_XTableColumns_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> + + +module com { module sun { module star { module table { + + +/** provides methods to access columns via index and to insert and remove + columns. + + @see com::sun::star::table::TableColumns + */ +published interface XTableColumns: com::sun::star::container::XIndexAccess +{ + + /** inserts new columns. + + @param nIndex + is the index the first inserted column will have. + + @param nCount + is the number of columns to insert. + */ + void insertByIndex( [in] long nIndex, [in] long nCount ); + + + /** deletes columns. + + @param nIndex + is the index of the first column to delete. + + @param nCount + is the number of columns to delete. + */ + void removeByIndex( [in] long nIndex, [in] long nCount ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XTablePivotChart.idl b/offapi/com/sun/star/table/XTablePivotChart.idl new file mode 100644 index 000000000..f43b81455 --- /dev/null +++ b/offapi/com/sun/star/table/XTablePivotChart.idl @@ -0,0 +1,33 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_table_XTablePivotChart_idl__ +#define __com_sun_star_table_XTablePivotChart_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +module com { module sun { module star { module table { + +/** provides access to the settings of a pivot chart object in a + table or spreadsheet. + + @since LibreOffice 5.4 + */ +interface XTablePivotChart: com::sun::star::uno::XInterface +{ + /** returns the pivot table name of the associated pivot table + */ + string getPivotTableName(); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XTablePivotCharts.idl b/offapi/com/sun/star/table/XTablePivotCharts.idl new file mode 100644 index 000000000..acdd1f59a --- /dev/null +++ b/offapi/com/sun/star/table/XTablePivotCharts.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_table_XTablePivotCharts_idl__ +#define __com_sun_star_table_XTablePivotCharts_idl__ + +#include <com/sun/star/container/XNameAccess.idl> +#include <com/sun/star/awt/Rectangle.idl> + +module com { module sun { module star { module table { + +/** provides methods to access pivot charts via name and to insert + and remove pivot charts. + + @since LibreOffice 5.4 + */ +interface XTablePivotCharts: com::sun::star::container::XNameAccess +{ + /** creates a pivot chart and adds it to the collection. + + @param aName + is the name of the chart. This name is used to reference the + chart in the collection. + + @param aRect + contains the rectangular location of the chart within the table + (in 1/100th mm). + + @param aPivotTableName + the name of the pivot table (data pilot) to associate the pivot chart with + */ + void addNewByName( + [in] string aName, + [in] com::sun::star::awt::Rectangle aRect, + [in] string aPivotTableName); + + /** removes a pivot chart from the collection. + + @param aName + is the name of the chart to remove. + */ + void removeByName([in] string aName); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XTablePivotChartsSupplier.idl b/offapi/com/sun/star/table/XTablePivotChartsSupplier.idl new file mode 100644 index 000000000..edfd6bbb4 --- /dev/null +++ b/offapi/com/sun/star/table/XTablePivotChartsSupplier.idl @@ -0,0 +1,36 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_table_XTablePivotChartsSupplier_idl__ +#define __com_sun_star_table_XTablePivotChartsSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/table/XTablePivotCharts.idl> + + +module com { module sun { module star { module table { + +/** provides a method to access a collection of pivot charts in a table + or spreadsheet. + + @since LibreOffice 5.4 + */ +interface XTablePivotChartsSupplier: com::sun::star::uno::XInterface +{ + + /** returns the collection of pivot charts. + */ + com::sun::star::table::XTablePivotCharts getPivotCharts(); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/table/XTableRows.idl b/offapi/com/sun/star/table/XTableRows.idl new file mode 100644 index 000000000..c6886c1e0 --- /dev/null +++ b/offapi/com/sun/star/table/XTableRows.idl @@ -0,0 +1,70 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_table_XTableRows_idl__ +#define __com_sun_star_table_XTableRows_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> + + +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 ); + +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |