1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef __com_sun_star_sheet_XSheetCellRangeContainer_idl__
21 #define __com_sun_star_sheet_XSheetCellRangeContainer_idl__
23 #include
<com
/sun
/star
/sheet
/XSheetCellRanges.idl
>
24 #include
<com
/sun
/star
/table
/CellRangeAddress.idl
>
25 #include
<com
/sun
/star
/container
/NoSuchElementException.idl
>
28 module com
{ module sun
{ module star
{ module sheet
{
31 /** provides methods to access cell ranges in a collection via index and
32 to add and remove cell ranges.
34 @see com::sun::star::sheet::SheetCellRanges
36 published
interface XSheetCellRangeContainer
: com
::sun
::star
::sheet
::XSheetCellRanges
39 /** adds the given range to the collection of cell ranges.
41 @param aCellRangeAddress
42 contains the address of the new range.
45 defines how the range should be added. To merge the ranges
46 takes more time, but the memory usage is lower.
49 [in] com
::sun
::star
::table
::CellRangeAddress aCellRangeAddress
,
50 [in] boolean bMergeRanges
);
53 /** removes the given range from the collection of cell ranges.
55 @param aCellRangeAddress
56 contains the address of the range to be removed.
58 <p>The specified range must fit exactly to an element of the
59 collection. The method does not try to shorten a range.</p>
61 @throws com::sun::star::container::NoSuchElementException
62 if the collection does not contain the specified range.
64 void removeRangeAddress
(
65 [in] com
::sun
::star
::table
::CellRangeAddress aCellRangeAddress
)
66 raises
( com
::sun
::star
::container
::NoSuchElementException
);
69 /** adds the given ranges to the collection of cell ranges.
71 @param aCellRangeAddresses
72 contains a sequence of addresses of all new ranges.
75 defines how the ranges should be added. To merge the ranges
76 takes more time, but the memory usage is lower.
78 void addRangeAddresses
(
79 [in] sequence
<com
::sun
::star
::table
::CellRangeAddress
> aCellRangeAddresses
,
80 [in] boolean bMergeRanges
);
83 /** removes the given ranges from the collection of cell ranges.
85 @param aCellRangeAddresses
86 contains a sequence of addresses of all ranges to be removed.
88 <p>All specified ranges must fit exactly to elements of the
89 collection. The method does not try to shorten ranges.</p>
91 @throws com::sun::star::container::NoSuchElementException
92 if the collection does not contain any of the specified ranges.
94 void removeRangeAddresses
(
95 [in] sequence
<com
::sun
::star
::table
::CellRangeAddress
> aCellRangeAddresses
)
96 raises
( com
::sun
::star
::container
::NoSuchElementException
);
105 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */