/* -*- 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 {
/** An instance of this interface is used by the UnoControlGrid 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 DefaultGridColumnModel .
@ since OOo 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 addColumn ( )
after you initialized the column object . < / p >
*/
XGridColumn
createColumn();
/** Adds a column to the model.
< p > You should use the createColumn ( ) 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 GridColumn 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 XGridColumn .
*/
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 com : : sun : : star : : container : : XContainerListener : : elementRemoved ( ) event
for each removed column , and one com : : sun : : star : : container : : XContainerListener : : elementInserted ( )
event for each insertion . < / p >
@ param elements
the number of default columns that should be set .
*/
void setDefaultColumns([in] long elements);
};
}; }; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=95 H=100 G=97
¤ Dauer der Verarbeitung: 0.4 Sekunden
¤
*© Formatika GbR, Deutschland