summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl')
-rw-r--r--offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl184
1 files changed, 184 insertions, 0 deletions
diff --git a/offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl b/offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl
new file mode 100644
index 000000000..d22321da0
--- /dev/null
+++ b/offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl
@@ -0,0 +1,184 @@
+/* -*- 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 .
+ */
+
+#ifndef __com_sun_star_awt_grid_XMutableGridDataModel_idl__
+#define __com_sun_star_awt_grid_XMutableGridDataModel_idl__
+
+#include <com/sun/star/awt/grid/XGridDataModel.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+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 <code>Titles</code> and <code>Data</code> 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 <code>Index</code> is smaller than <code>0</code> 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 <code>Titles</code> and <code>Data</code> are of different length.
+ @throws ::com::sun::star::lang::IndexOutOfBoundsException
+ if <code>Index</code> is smaller than <code>0</code> 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.
+
+ <p>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.</p>
+
+ @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 the <code>ColumnIndexes</code> and <code>Values</code> 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
+
+ <p>Effectively this method is a shortcut for calling updateCellToolTip() multiple
+ times in a row, for all cells of a given row.</p>
+
+ @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 );
+};
+
+
+}; }; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */