1*d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*d1766043SAndrew Rist *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*d1766043SAndrew Rist *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19*d1766043SAndrew Rist *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_awt_grid_XGridDataModel_idl__
24cdf0e10cSrcweir#define __com_sun_star_awt_grid_XGridDataModel_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir
27cdf0e10cSrcweir#include <com/sun/star/lang/XComponent.idl>
28cdf0e10cSrcweir#include <com/sun/star/util/XCloneable.idl>
29cdf0e10cSrcweir#include <com/sun/star/awt/grid/XGridDataListener.idl>
30cdf0e10cSrcweir#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
31cdf0e10cSrcweir
32cdf0e10cSrcweir//=============================================================================
33cdf0e10cSrcweir
34cdf0e10cSrcweirmodule com {  module sun {  module star {  module awt { module grid {
35cdf0e10cSrcweir
36cdf0e10cSrcweir//=============================================================================
37cdf0e10cSrcweir/** An instance of this interface is used by the <type>UnoControlGrid</type> to
38cdf0e10cSrcweir	retrieve the content data that is displayed in the actual control.
39cdf0e10cSrcweir
40cdf0e10cSrcweir	If you do not need your own model implementation, you can also use the <type>DefaultGridDataModel</type>.
41cdf0e10cSrcweir
42cdf0e10cSrcweir	@since OOo 3.3
43cdf0e10cSrcweir*/
44cdf0e10cSrcweirpublished interface XGridDataModel
45cdf0e10cSrcweir{
46cdf0e10cSrcweir    /** implements life time control for the component
47cdf0e10cSrcweir    */
48cdf0e10cSrcweir    interface ::com::sun::star::lang::XComponent;
49cdf0e10cSrcweir
50cdf0e10cSrcweir    /** allows cloning the complete data model
51cdf0e10cSrcweir    */
52cdf0e10cSrcweir    interface ::com::sun::star::util::XCloneable;
53cdf0e10cSrcweir
54cdf0e10cSrcweir    /** denotes the number of rows for which the model can provide data
55cdf0e10cSrcweir    */
56cdf0e10cSrcweir    [attribute, readonly] long RowCount;
57cdf0e10cSrcweir
58cdf0e10cSrcweir    /** denotes the number of columns for which the model can provide data
59cdf0e10cSrcweir    */
60cdf0e10cSrcweir    [attribute, readonly] long ColumnCount;
61cdf0e10cSrcweir
62cdf0e10cSrcweir    /** retrieves the data for a given cell
63cdf0e10cSrcweir
64cdf0e10cSrcweir        @throws ::com::sun::star::lang::IndexOutOfBoundsException
65cdf0e10cSrcweir            if the column or row index do not denote a valid cell position.
66cdf0e10cSrcweir    */
67cdf0e10cSrcweir    any getCellData( [in] long Column, [in] long RowIndex )
68cdf0e10cSrcweir        raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
69cdf0e10cSrcweir
70cdf0e10cSrcweir    /** retrieves the tool tip to be displayed when the mouse hovers over a given cell
71cdf0e10cSrcweir
72cdf0e10cSrcweir        <p>At the moment, only string tool tips are supported.</p>
73cdf0e10cSrcweir
74cdf0e10cSrcweir        <p>If <VOID/> is returned here, the cell's content will be displayed as tip, but only if it does
75cdf0e10cSrcweir        not fit into the cell.</p>
76cdf0e10cSrcweir
77cdf0e10cSrcweir        @throws ::com::sun::star::lang::IndexOutOfBoundsException
78cdf0e10cSrcweir            if the column or row index do not denote a valid cell position.
79cdf0e10cSrcweir    */
80cdf0e10cSrcweir    any getCellToolTip( [in] long Column, [in] long RowIndex )
81cdf0e10cSrcweir        raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
82cdf0e10cSrcweir
83cdf0e10cSrcweir    /** retrieves the heading of a given row
84cdf0e10cSrcweir
85cdf0e10cSrcweir        <p>A grid control will usually paint a row's title in the header column of the respective row.</p>
86cdf0e10cSrcweir
87cdf0e10cSrcweir        <p>At the moment, only strings are supported as row headings.</p>
88cdf0e10cSrcweir
89cdf0e10cSrcweir        @throws ::com::sun::star::lang::IndexOutOfBoundsException
90cdf0e10cSrcweir            if the given index does not denote a valid row.
91cdf0e10cSrcweir    */
92cdf0e10cSrcweir    any
93cdf0e10cSrcweir        getRowHeading( [in] long RowIndex )
94cdf0e10cSrcweir        raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
95cdf0e10cSrcweir
96cdf0e10cSrcweir    /** retrieves the data for a complete row
97cdf0e10cSrcweir
98cdf0e10cSrcweir        <p>This method is provided for performance and convenience reasons, it delivers the same result
99cdf0e10cSrcweir        as subsequent calls to <member>getCellData</member> would.</p>
100cdf0e10cSrcweir
101cdf0e10cSrcweir        @param Row
102cdf0e10cSrcweir            the index of the row whose data should is to be retrieved.
103cdf0e10cSrcweir        @raises ::com::sun::star::lang::IndexOutOfBoundsException
104cdf0e10cSrcweir            of the given row index does not denote a valid row.
105cdf0e10cSrcweir    */
106cdf0e10cSrcweir    sequence< any >
107cdf0e10cSrcweir        getRowData( [in] long RowIndex )
108cdf0e10cSrcweir        raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
109cdf0e10cSrcweir};
110cdf0e10cSrcweir
111cdf0e10cSrcweir//=============================================================================
112cdf0e10cSrcweir
113cdf0e10cSrcweir}; }; }; };};
114cdf0e10cSrcweir
115cdf0e10cSrcweir#endif
116