| /************************************************************** |
| * |
| * 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_XGridColumnModel_idl__ |
| #define __com_sun_star_awt_grid_XGridColumnModel_idl__ |
| |
| #include <com/sun/star/uno/XInterface.idl> |
| #include <com/sun/star/lang/XComponent.idl> |
| #include <com/sun/star/util/XCloneable.idl> |
| |
| #include <com/sun/star/awt/grid/XGridColumn.idl> |
| #include <com/sun/star/container/XContainer.idl> |
| #include <com/sun/star/lang/IndexOutOfBoundsException.idl> |
| #include <com/sun/star/lang/IllegalArgumentException.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 column structure that is displayed in the actual control. |
| |
| If you do not need your own model implementation, you can also use the <type>DefaultGridColumnModel</type>. |
| |
| @since OpenOffice 3.3 |
| */ |
| published interface XGridColumnModel |
| { |
| /** implements life time control for the component |
| */ |
| interface ::com::sun::star::lang::XComponent; |
| |
| /** allows to register listeners to be notified when columns are inserted or removed |
| */ |
| interface ::com::sun::star::container::XContainer; |
| |
| /** allows cloning the complete column model |
| */ |
| interface ::com::sun::star::util::XCloneable; |
| |
| /** Returns the number of columns. |
| |
| @returns |
| the number of columns. |
| */ |
| long getColumnCount(); |
| |
| /** creates a new column for use with the column model. |
| |
| <p>The newly created column is not yet inserted into the column container, you need to call <member>addColumn</member> |
| after you initialized the column object.</p> |
| */ |
| XGridColumn |
| createColumn(); |
| |
| /** Adds a column to the model. |
| |
| <p>You should use the <member>createColumn</member> member to create a new column. This gives |
| implementations of the <code>XGridColumnModel</code> interface the possibility to provide own column |
| implementations which extend the basic <type>GridColumn</type> type.</p> |
| |
| <p>As soon as the column has been inserted into the model, the model takes ownership of it. This means when the |
| column is removed, or when the column model is disposed, the grid column is disposed as well.</p> |
| |
| @param column |
| the column to add to the model. |
| @returns |
| the index of new created column. |
| |
| @throws ::com::sun::star::lang::IllegalArgumentException |
| if the given column is not a valid element for the column container, or if it is <NULL/>. |
| */ |
| long addColumn( [in] XGridColumn column ) |
| raises ( ::com::sun::star::lang::IllegalArgumentException ); |
| |
| /** removes a column from the model |
| |
| <p>The column object will be disposed upon removal.</p> |
| |
| @param ColumnIndex |
| denotes the index of the column to remove |
| @throws ::com::sun::star::lang::IndexOutOfBoundsException |
| if <code>ColumnIndex</code> does not denote a valid column index. |
| */ |
| void removeColumn( [in] long ColumnIndex ) |
| raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); |
| |
| /** Returns all columns of the model. |
| @returns |
| all columns associated with the model in a sequence of <type>XGridColumn</type>. |
| */ |
| sequence<XGridColumn> getColumns(); |
| |
| /** Returns a specific column. |
| @param index |
| the position of the requested column. |
| @returns |
| the requested column. |
| */ |
| XGridColumn getColumn( [in] long index) |
| raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); |
| |
| /** Fills the model with the given number of default columns |
| |
| <p>Existing columns will be removed before adding new columns. Listeners at the column model will |
| be notified one <member scope="com::sun::star::container">XContainerListener::elementRemoved</member> event |
| for each removed column, and one <member scope="com::sun::star::container">XContainerListener::elementInserted</member> |
| event for each insertion.</p> |
| |
| @param elements |
| the number of default columns that should be set. |
| */ |
| void setDefaultColumns([in] long elements); |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; }; |
| |
| #endif |