blob: 792fae4d18ff3909b8b830958498fe1c33ad51fd [file] [log] [blame]
/**************************************************************
*
* 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_awt_grid_XGridDataModel_idl__
#define __com_sun_star_awt_grid_XGridDataModel_idl__
#include <com/sun/star/lang/XComponent.idl>
#include <com/sun/star/util/XCloneable.idl>
#include <com/sun/star/awt/grid/XGridDataListener.idl>
#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
//=============================================================================
module com { module sun { module star { module awt { module grid {
//=============================================================================
/** An instance of this interface is used by the <type>UnoControlGrid</type> to
retrieve the content data that is displayed in the actual control.
If you do not need your own model implementation, you can also use the <type>DefaultGridDataModel</type>.
@since OpenOffice 3.3
*/
published interface XGridDataModel
{
/** implements life time control for the component
*/
interface ::com::sun::star::lang::XComponent;
/** allows cloning the complete data model
*/
interface ::com::sun::star::util::XCloneable;
/** denotes the number of rows for which the model can provide data
*/
[attribute, readonly] long RowCount;
/** denotes the number of columns for which the model can provide data
*/
[attribute, readonly] long ColumnCount;
/** retrieves the data for a given cell
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if the column or row index do not denote a valid cell position.
*/
any getCellData( [in] long Column, [in] long RowIndex )
raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
/** retrieves the tool tip to be displayed when the mouse hovers over a given cell
<p>At the moment, only string tool tips are supported.</p>
<p>If <VOID/> is returned here, the cell's content will be displayed as tip, but only if it does
not fit into the cell.</p>
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if the column or row index do not denote a valid cell position.
*/
any getCellToolTip( [in] long Column, [in] long RowIndex )
raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
/** retrieves the heading of a given row
<p>A grid control will usually paint a row's title in the header column of the respective row.</p>
<p>At the moment, only strings are supported as row headings.</p>
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if the given index does not denote a valid row.
*/
any
getRowHeading( [in] long RowIndex )
raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
/** retrieves the data for a complete row
<p>This method is provided for performance and convenience reasons, it delivers the same result
as subsequent calls to <member>getCellData</member> would.</p>
@param Row
the index of the row whose data should is to be retrieved.
@raises ::com::sun::star::lang::IndexOutOfBoundsException
of the given row index does not denote a valid row.
*/
sequence< any >
getRowData( [in] long RowIndex )
raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
};
//=============================================================================
}; }; }; };};
#endif