/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef __com_sun_star_sheet_XSheetCellRangeContainer_idl__ #define __com_sun_star_sheet_XSheetCellRangeContainer_idl__ #ifndef __com_sun_star_sheet_XSheetCellRanges_idl__ #include #endif #ifndef __com_sun_star_table_CellRangeAddress_idl__ #include #endif #ifndef __com_sun_star_container_NoSuchElementException_idl__ #include #endif //============================================================================= module com { module sun { module star { module sheet { //============================================================================= /** provides methods to access cell ranges in a collection via index and to add and remove cell ranges. @see com::sun::star::sheet::SheetCellRanges */ published interface XSheetCellRangeContainer: com::sun::star::sheet::XSheetCellRanges { //------------------------------------------------------------------------- /** adds the given range to the collection of cell ranges. @param aCellRangeAddress contains the address of the new range. @param bMergeRanges defines how the range should be added. To merge the ranges takes more time, but the memory usage is lower. */ void addRangeAddress( [in] com::sun::star::table::CellRangeAddress aCellRangeAddress, [in] boolean bMergeRanges ); //------------------------------------------------------------------------- /** removes the given range from the collection of cell ranges. @param aCellRangeAddress contains the address of the range to be removed.

The specified range must fit exactly to an element of the collection. The method does not try to shorten a range.

@throws NoSuchElementException if the collection does not contain the specified range. */ void removeRangeAddress( [in] com::sun::star::table::CellRangeAddress aCellRangeAddress ) raises( com::sun::star::container::NoSuchElementException ); //------------------------------------------------------------------------- /** adds the given ranges to the collection of cell ranges. @param aCellRangeAddresses contains a sequence of addresses of all new ranges. @param bMergeRanges defines how the ranges should be added. To merge the ranges takes more time, but the memory usage is lower. */ void addRangeAddresses( [in] sequence aCellRangeAddresses, [in] boolean bMergeRanges ); //------------------------------------------------------------------------- /** removes the given ranges from the collection of cell ranges. @param aCellRangeAddresses contains a sequence of addresses of all ranges to be removed.

All specified ranges must fit exactly to elements of the collection. The method does not try to shorten ranges.

@throws NoSuchElementException if the collection does not contain any of the specified ranges. */ void removeRangeAddresses( [in] sequence aCellRangeAddresses ) raises( com::sun::star::container::NoSuchElementException); }; //============================================================================= }; }; }; }; #endif