/************************************************************************* * * $Revision: 1.8 $ * 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_awt_grid_XGridDataModel_idl__ #define __com_sun_star_awt_grid_XGridDataModel_idl__ #include #include #include #include //============================================================================= module com { module sun { module star { module awt { module grid { //============================================================================= /** An instance of this interface is used by the UnoControlGrid 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 DefaultGridDataModel. @since OOo 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

At the moment, only string tool tips are supported.

If is returned here, the cell's content will be displayed as tip, but only if it does not fit into the cell.

@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

A grid control will usually paint a row's title in the header column of the respective row.

At the moment, only strings are supported as row headings.

@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

This method is provided for performance and convenience reasons, it delivers the same result as subsequent calls to getCellData would.

@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