blob: 2fcc5079f52120838f1b2aee67a23fe93b9c4e2c [file] [log] [blame]
/**************************************************************
*
* 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_XGridColumn_idl__
#define __com_sun_star_awt_grid_XGridColumn_idl__
#include <com/sun/star/lang/XComponent.idl>
#include <com/sun/star/style/HorizontalAlignment.idl>
#include <com/sun/star/lang/IllegalArgumentException.idl>
#include <com/sun/star/awt/grid/XGridColumnListener.idl>
#include <com/sun/star/util/XCloneable.idl>
//=============================================================================
module com { module sun { module star { module awt { module grid {
//=============================================================================
/** The <type>XGridColumn</types> defines the properties and behavior of a column in a grid control
@since OpenOffice 3.3
*/
published interface XGridColumn
{
/** implements life time control for the component
*/
interface ::com::sun::star::lang::XComponent;
/** allows cloning the complete grid column
*/
interface ::com::sun::star::util::XCloneable;
/** specifies an identifier of the column
<p>This identifier will not be evaluated by the grid control, or its model. It is merely for clients
to identify particular columns.</p>
*/
[attribute] any Identifier;
/** specifies the current width of the column.
*/
[attribute] long ColumnWidth;
/** specifies the minimal width the column can have.
*/
[attribute] long MinWidth;
/** specifies the maximal width the column can have.
*/
[attribute] long MaxWidth;
/** controls whether or not the column's width is fixed or not.
<p>If this is <TRUE/>, the user can interactively change the column's width. Also, the column is subject to
auto-resizing, if its <member>Flexibility</member> attribute is greater <code>0</code>.</p>
*/
[attribute] boolean Resizeable;
/** specifies the flexibility of the column when it is automatically resized due to the grid control as a whole
being resized.
<p>Specify <code>0</code> here if you do not want the column to be resized automatically.</p>
<p>If a column has a flexibility greater than 0, it is set in relationship to the flexibility of all
other such columns, and the respective widths of the columns are changed in the same relationship.</p>
<p>Note that a column's flexibility is ignored if its <member>Resizeable</member> attribute is
<FALSE/>.</p>
<p>A column's flexibility cannot be negative, attempts to set a negative value will raise an exception.</p>
*/
[attribute] long Flexibility
{
set raises ( ::com::sun::star::lang::IllegalArgumentException );
};
/** Specifies the horizontal alignment of the content in the control.
*/
[attribute] ::com::sun::star::style::HorizontalAlignment HorizontalAlign;
/** A title is displayed in the colum header row if <method>UnoControlGridModel::ShowColumnHeader</method> is set to <true/>**/
[attribute] string Title;
/** is the help text associated with the column.
<p>A grid control will usually display a column's help text as tooltip.</p>
*/
[attribute] string HelpText;
/** denotes the index of the column within the grid column model it belongs to
<p>If the column is not yet part of a column model, <code>Index</code> is -1.</p>
*/
[attribute, readonly] long Index;
/** denotes the index of the data column which should be used to fetch this grid column's data
<p>A grid control has a column model and a data model, both containing a possibly different number of columns.
The <code>DataColumnIndex</code> attribute defines the index of the column within the data model, which should
be used to retrieve actual data.</p>
<p>Using this, you can do runtime changes to the column model, i.e. insertion and removal of columns, without
necessarily needing to adjust the data model, too.</p>
<p>If <code>DataColumnIndex</code> is negative, the it will be ignored, then the column's index within its
column model, as determined by the <member>Index</member> attribute, will be used.</p>
*/
[attribute] long DataColumnIndex;
/** Adds a listener for the <type>GridColumnEvent</type> posted after the grid changes.
@param Listener
the listener to add.
*/
void addGridColumnListener( [in] XGridColumnListener listener);
//-------------------------------------------------------------------------
/** Removes a listener previously added with <method>addColumnListener()</method>.
@param Listener
the listener to remove.
*/
void removeGridColumnListener( [in] XGridColumnListener listener);
};
//=============================================================================
}; }; }; }; };
#endif