1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27
28#ifndef __com_sun_star_table_CellProperties_idl__
29#define __com_sun_star_table_CellProperties_idl__
30
31#ifndef __com_sun_star_util_Color_idl__
32#include <com/sun/star/util/Color.idl>
33#endif
34
35#ifndef __com_sun_star_beans_XPropertySet_idl__
36#include <com/sun/star/beans/XPropertySet.idl>
37#endif
38
39#ifndef __com_sun_star_table_ShadowFormat_idl__
40#include <com/sun/star/table/ShadowFormat.idl>
41#endif
42
43#ifndef __com_sun_star_table_CellHoriJustify_idl__
44#include <com/sun/star/table/CellHoriJustify.idl>
45#endif
46
47#ifndef __com_sun_star_table_CellVertJustify_idl__
48#include <com/sun/star/table/CellVertJustify.idl>
49#endif
50
51#ifndef __com_sun_star_table_CellOrientation_idl__
52#include <com/sun/star/table/CellOrientation.idl>
53#endif
54
55#ifndef __com_sun_star_util_CellProtection_idl__
56#include <com/sun/star/util/CellProtection.idl>
57#endif
58
59#ifndef __com_sun_star_table_TableBorder_idl__
60#include <com/sun/star/table/TableBorder.idl>
61#endif
62
63#ifndef __com_sun_star_table_BorderLine_idl__
64#include <com/sun/star/table/BorderLine.idl>
65#endif
66
67#ifndef __com_sun_star_container_XNameContainer_idl__
68#include <com/sun/star/container/XNameContainer.idl>
69#endif
70
71//=============================================================================
72
73module com {  module sun {  module star {  module table {
74
75//=============================================================================
76
77/** contains the properties of a table cell.
78
79	@see com::sun::star::table::Cell
80	@see com::sun::star::table::CellRange
81 */
82published service CellProperties
83{
84	//-------------------------------------------------------------------------
85
86//!published service PropertySet
87	/** provides access to the properties.
88	 */
89	interface com::sun::star::beans::XPropertySet;
90
91	//=========================================================================
92
93	/** contains the name of the style of the cell.
94	 */
95	[optional, property] string CellStyle;
96
97	//-------------------------------------------------------------------------
98
99	/** contains the cell background color.
100	 */
101	[property] com::sun::star::util::Color CellBackColor;
102
103	//-------------------------------------------------------------------------
104
105	/** is <TRUE/>, if the cell background is transparent.
106
107		<p>In this case the <member>CellProperties::CellBackColor</member>
108		value is not used.</p>
109	 */
110	[property] boolean IsCellBackgroundTransparent;
111
112	//-------------------------------------------------------------------------
113
114	/** contains the horizontal alignment of the cell contents.
115	 */
116	[property] com::sun::star::table::CellHoriJustify HoriJustify;
117
118	//-------------------------------------------------------------------------
119
120	/** contains the vertical alignment of the cell contents.
121	 */
122	[property] com::sun::star::table::CellVertJustify VertJustify;
123
124	//-------------------------------------------------------------------------
125
126	/** is <TRUE/>, if text in the cells will be wrapped automatically
127		at the right border.
128	 */
129	[property] boolean IsTextWrapped;
130
131	//-------------------------------------------------------------------------
132
133	/** defines the indentation of the cell contents (in 1/100 mm).
134	 */
135	[property] short ParaIndent;
136
137	//-------------------------------------------------------------------------
138
139	/** contains the orientation of the cell contents.
140
141		<p>If the <member>CellProperties::RotateAngle</member> property
142		is non-zero, this value is not used.</p>
143	 */
144	[property] com::sun::star::table::CellOrientation Orientation;
145
146	//-------------------------------------------------------------------------
147
148	/** defines how much the content of cells is rotated (in 1/100 degrees).
149	 */
150	[property] long RotateAngle;
151
152	//-------------------------------------------------------------------------
153
154	/** defines at which edge rotated cells are aligned.
155	 */
156	[property] com::sun::star::table::CellVertJustify RotateReference;
157
158	//-------------------------------------------------------------------------
159
160	/** selects Asian character orientation in vertical orientation.
161
162		<p>If the <member>CellProperties::Orientation</member> property is
163		<const>CellOrientation::STACKED</const>, in Asian mode only Asian
164		characters are printed in horizontal orientation instead of all
165		characters.
166		For other values of <member>CellProperties::Orientation</member>,
167		this value is not used.</p>
168	 */
169	[optional, property] boolean AsianVerticalMode;
170
171	//-------------------------------------------------------------------------
172
173	/** contains a description of the cell or cell range border.
174
175		<p>If used with a cell range, the top, left, right, and bottom
176		lines are at the edges of the entire range, not at the edges of
177		the individual cell.</p>
178	 */
179	[property] com::sun::star::table::TableBorder TableBorder;
180
181	//-------------------------------------------------------------------------
182
183	/** contains a description of the top border line of each cell.
184	 */
185	[property] com::sun::star::table::BorderLine TopBorder;
186
187	//-------------------------------------------------------------------------
188
189	/** contains a description of the bottom border line of each cell.
190	*/
191	[property] com::sun::star::table::BorderLine BottomBorder;
192
193	//-------------------------------------------------------------------------
194
195	/** contains a description of the left border line of each cell.
196	 */
197	[property] com::sun::star::table::BorderLine LeftBorder;
198
199	//-------------------------------------------------------------------------
200
201	/** contains a description of the right border line of each cell.
202	 */
203	[property] com::sun::star::table::BorderLine RightBorder;
204
205	//-------------------------------------------------------------------------
206
207	/** contains the index of the number format that is used in the cells.
208
209		<p>The proper value can be determined by using the
210		<type scope="com::sun::star::util">NumberFormatter</type>
211		interface of the document.</p>
212	 */
213	[property] long NumberFormat;
214
215	//-------------------------------------------------------------------------
216
217	/** contains a description of the shadow.
218	 */
219	[property] com::sun::star::table::ShadowFormat ShadowFormat;
220
221	//-------------------------------------------------------------------------
222
223	/** contains a description of the cell protection.
224
225		<p>Cell protection is active only if the sheet is protected.</p>
226	 */
227	[property] com::sun::star::util::CellProtection CellProtection;
228
229	//-------------------------------------------------------------------------
230
231	/** stores additional attributes.
232
233		<p>This property is used i.e. by the XML filters to load and
234		restore unknown attributes.</p>
235   	 */
236	[optional, property] com::sun::star::container::XNameContainer
237		UserDefinedAttributes;
238
239	//-------------------------------------------------------------------------
240
241	/** contains a description of the top left to bottom right diagonal line of each cell.
242	 */
243	[optional, property] com::sun::star::table::BorderLine DiagonalTLBR;
244
245    //-------------------------------------------------------------------------
246
247	/** contains a description of the bottom left to top right diagonal line of each cell.
248	 */
249	[optional, property] com::sun::star::table::BorderLine DiagonalBLTR;
250
251    //-------------------------------------------------------------------------
252
253	/** is <TRUE/>, if the cell content will be shrinked to fit in the cell.
254	 */
255	[optional, property] boolean ShrinkToFit;
256
257	//-------------------------------------------------------------------------
258};
259
260//=============================================================================
261
262}; }; }; };
263
264#endif
265
266