/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* 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 .
*/
module com { module sun { module star { module awt { module grid {
/** allows to modify the data represented by a XGridDataModel
*/
published interface XMutableGridDataModel : XGridDataModel
{
/** appends a row to the model.
@param Heading
denotes the heading of the row.
@param Data
specifies the content of the row.
*/
void addRow( [in] any Heading, [in] sequence< any > Data );
/** appends multiple rows of data to the model.
@param Headings
denotes the headings of the to-be-added rows.
@param Data
specifies the data of the rows to be added.
@throws ::com::sun::star::lang::IllegalArgumentException
if Titles
and Data
are of different length.
*/
void addRows( [in] sequence< any > Headings, [in] sequence< sequence< any > > Data )
raises ( ::com::sun::star::lang::IllegalArgumentException );
/** inserts a row into the set of data rows
@param Index
denotes the position at which the row is to be inserted
@param Heading
denotes the heading of the row.
@param Data
specifies the content of the row.
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if Index
is smaller than 0
or greater than the number of
rows in the model.
*/
void insertRow( [in] long Index, [in] any Heading, [in] sequence< any > Data )
raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
/** inserts multiple rows of data into the model.
@param Index
denotes the position at which the rows are to be inserted
@param Headings
denotes the headings of the to-be-added rows.
@param Data
specifies the data of the rows to be added.
@throws ::com::sun::star::lang::IllegalArgumentException
if Titles
and Data
are of different length.
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if Index
is smaller than 0
or greater than the number of
rows in the model.
*/
void insertRows( [in] long Index, [in] sequence< any > Headings, [in] sequence< sequence< any > > Data )
raises ( ::com::sun::star::lang::IndexOutOfBoundsException
, ::com::sun::star::lang::IllegalArgumentException );
/** removes a row of data from the model
@param RowIndex
the index of the row that should be removed.
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if the given index is invalid
*/
void removeRow( [in] long RowIndex )
raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
/** Removes all rows from the model.
*/
void removeAllRows();
/** updates the content of the given cell
@param ColumnIndex
the column index of the to-be-updated cell
@param RowIndex
the row index of the to-be-updated cell
@param Value
the new value of the cell.
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if the row or column index is invalid
*/
void updateCellData( [in] long ColumnIndex, [in] long RowIndex, [in] any Value )
raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
/** updates the content of a given row.
The change in the data model will be notified to registered listeners via XGridDataListener::dataChanged(). The GridDataEvent::FirstColumn and GridDataEvent::LastColumn will denote the smallest respectively largest column index from ColumnIndexes.
@param ColumnIndexes contains the column indexes of the cells, which should be updated @param RowIndex contains the index of the row whose data is to be updated @param Values specifies the new values of the cells. @throws ::com::sun::star::lang::IndexOutOfBoundsException if one of the row indexes or the column index is invalid @throws ::com::sun::star::lang::IllegalArgumentException if the lengths of theColumnIndexes
and Values
sequences are not equal.
*/
void updateRowData( [in] sequence< long > ColumnIndexes, [in] long RowIndex, [in] sequence< any > Values )
raises ( ::com::sun::star::lang::IndexOutOfBoundsException
, ::com::sun::star::lang::IllegalArgumentException);
/** sets a new title for a given row.
@throws ::com::sun::star::lang::IndexOutOfBoundsException
if the given index does not denote a valid row.
*/
void
updateRowHeading( [in] long RowIndex, [in] any Heading )
raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
/** updates the tooltip to be displayed for a given cell
@see XGridDataModel::getCellToolTip
*/
void updateCellToolTip( [in] long ColumnIndex, [in] long RowIndex, [in] any Value )
raises ( ::com::sun::star::lang::IndexOutOfBoundsException );
/** updates the tooltip for all cells of a given row
Effectively this method is a shortcut for calling updateCellToolTip() multiple times in a row, for all cells of a given row.
@see XGridDataModel::getCellToolTip @see updateCellToolTip */ void updateRowToolTip( [in] long RowIndex, [in] any Value ) raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); /** registers listener to be notified of data changes in the model @param Listener specifies the listener to register */ void addGridDataListener( [in] XGridDataListener Listener ); /** revokes a listener which was previously registered via addGridDataListener() @param Listener specifies the listener to revoke. */ void removeGridDataListener( [in] XGridDataListener Listener ); }; }; }; }; }; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */