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