/**************************************************************
 * 
 * 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
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 *************************************************************/



#ifndef __com_sun_star_sheet_XCellRangeFormula_idl__
#define __com_sun_star_sheet_XCellRangeFormula_idl__

#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif

//=============================================================================

module com {  module sun {  module star {  module sheet {

//=============================================================================

/** allows to get and set cell contents (values, text or formulas)
	for a cell range.

	<p>The outer sequence represents the rows and the inner sequence
	the columns of the array.</p>

    @since OpenOffice 1.1.2
 */

published interface XCellRangeFormula: com::sun::star::uno::XInterface
{
	/** gets an array from the contents of the cell range.

		<p>Each element of the result contains the same string that
		would be returned by
		<member scope="com::sun::star::table">XCell::getFormula()</member>
		for the corresponding cell.</p>
	 */
	sequence< sequence< string > > getFormulaArray();

	/** fills the cell range with values from an array.

		<p>The size of the array must be the same as the size of the cell
		range. Each element of the array is interpreted the same way as
		the argument to a
		<member scope="com::sun::star::table">XCell::setFormula()</member>
		call for the corresponding cell.</p>

		@throws <type scope="com::sun::star::uno">RuntimeException</type>
			If the size of the array is different from the current size.
	 */
	void setFormulaArray( [in] sequence< sequence< string > > aArray );
};

//=============================================================================
}; }; }; };

#endif