/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * <http://www.openoffice.org/license.html> * for a copy of the LGPLv3 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 OOo 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::ShowRowHeader</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