1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: TextTable.idl,v $
10 * $Revision: 1.19.122.1 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_text_TextTable_idl__
31 #define __com_sun_star_text_TextTable_idl__
33 #ifndef __com_sun_star_text_TextContent_idl__
34 #include
<com
/sun
/star
/text
/TextContent.idl
>
37 #ifndef __com_sun_star_util_Color_idl__
38 #include
<com
/sun
/star
/util
/Color.idl
>
41 #ifndef __com_sun_star_text_XTextTable_idl__
42 #include
<com
/sun
/star
/text
/XTextTable.idl
>
44 #ifndef __com_sun_star_text_TableColumnSeparator_idl__
45 #include
<com
/sun
/star
/text
/TableColumnSeparator.idl
>
48 #ifndef __com_sun_star_container_XNamed_idl__
49 #include
<com
/sun
/star
/container
/XNamed.idl
>
52 #ifndef __com_sun_star_beans_XPropertySet_idl__
53 #include
<com
/sun
/star
/beans
/XPropertySet.idl
>
56 #ifndef __com_sun_star_style_GraphicLocation_idl__
57 #include
<com
/sun
/star
/style
/GraphicLocation.idl
>
59 #ifndef __com_sun_star_style_BreakType_idl__
60 #include
<com
/sun
/star
/style
/BreakType.idl
>
62 #ifndef __com_sun_star_table_ShadowFormat_idl__
63 #include
<com
/sun
/star
/table
/ShadowFormat.idl
>
65 #ifndef __com_sun_star_table_TableBorder_idl__
66 #include
<com
/sun
/star
/table
/TableBorder.idl
>
68 #ifndef __com_sun_star_table_XCellRange_idl__
69 #include
<com
/sun
/star
/table
/XCellRange.idl
>
71 #ifndef __com_sun_star_table_XAutoFormattable_idl__
72 #include
<com
/sun
/star
/table
/XAutoFormattable.idl
>
74 #ifndef __com_sun_star_chart_XChartDataArray_idl__
75 #include
<com
/sun
/star
/chart
/XChartDataArray.idl
>
77 #ifndef __com_sun_star_util_XSortable_idl__
78 #include
<com
/sun
/star
/util
/XSortable.idl
>
80 #ifndef __com_sun_star_sheet_XCellRangeData_idl__
81 #include
<com
/sun
/star
/sheet
/XCellRangeData.idl
>
83 #ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
84 #include
<com
/sun
/star
/xml
/UserDefinedAttributesSupplier.idl
>
88 //=============================================================================
90 module com
{ module sun
{ module star
{ module text
{
92 //=============================================================================
94 /** is a table of text cells which is anchored to a surrounding text.
96 <p>Note: The anchor of the actual implementation for text tables
97 does not have a position in the text. Thus that anchor can not be
98 used for some operation like <member>XTextContent::attach</member> or
99 <member>XText::insertTextContent</member>
100 or other function that require the object to have a position in the text.</p>
102 <p>The reason why a text table still needs an anchor is that for example
103 tables should be insertable via <member>XText::insertTextContent</member>
104 and that interface uses a parameter of that type.</p>
108 <p>Create and insert a TextTable:</p>
111 xTable = xTextDoc.createInstance( "com.sun.star.text.TextTable" )
112 xTable.initialize(5, 8)
113 xTable.HoriOrient = 0 'com::sun::star::text::HoriOrientation::NONE
114 xTable.LeftMargin = 2000
115 xTable.RightMargin = 1500
116 xTextDoc.getText.insertTextContent( xTextRange, xTable, false )
119 @see com::sun::star::text::Cell
120 @see com::sun::star::text::CellRange
121 @see com::sun::star::text::TableColumns
122 @see com::sun::star::text::TableRows
123 @see com::sun::star::text::TextTableCursor
125 published service TextTable
127 service com
::sun
::star
::text
::TextContent
;
129 [optional] service com
::sun
::star
::xml
::UserDefinedAttributesSupplier
;
131 interface com
::sun
::star
::text
::XTextTable
;
133 interface com
::sun
::star
::container
::XNamed
;
135 interface com
::sun
::star
::table
::XCellRange
;
137 interface com
::sun
::star
::chart
::XChartDataArray
;
139 interface com
::sun
::star
::table
::XAutoFormattable
;
141 interface com
::sun
::star
::util
::XSortable
;
143 [optional] interface com
::sun
::star
::sheet
::XCellRangeData
;
145 /** determins the type of break that is applied at the beginning of the table.@see com.sun.star.style.BreakType
147 [property
] com
::sun
::star
::style
::BreakType BreakType
;
148 //-------------------------------------------------------------------------
150 /** contains the left margin of the table.
152 [property
] long LeftMargin
;
153 //-------------------------------------------------------------------------
155 /** contains the right margin of the table.
157 [property
] long RightMargin
;
158 //-------------------------------------------------------------------------
160 /** contains the horizontal orientation.@see com.sun.star.text.HoriOrientation
162 [property
] short HoriOrient
;
163 //-------------------------------------------------------------------------
165 /** Setting this property to TRUE prevents page or column
166 breaks between this table and the following paragraph or text table.
168 [property
] boolean KeepTogether
;
169 //-------------------------------------------------------------------------
171 /** Setting this property to FALSE prevents the table from
172 getting spread on two pages.
174 [property
] boolean Split
;
175 //-------------------------------------------------------------------------
177 /** If a page break property is set at the table,
178 this property contains the new value for the page number.
180 [property
] short PageNumberOffset
;
181 //-------------------------------------------------------------------------
183 /** If this property is set, it creates a page break before the
184 table and assigns the value as the name of the new page style sheet to use.
186 [property
] string PageDescName
;
187 //-------------------------------------------------------------------------
189 /** determins the width of the table relative to its environment.
191 [property
] short RelativeWidth
;
192 //-------------------------------------------------------------------------
193 /** determins if the value of the relative width is valid.
195 [property
] boolean IsWidthRelative
;
196 //-------------------------------------------------------------------------
198 /** determins if the first row of the table is repeated on every new page.
200 [property
] boolean RepeatHeadline
;
201 //-------------------------------------------------------------------------
202 /** determins the number of rows of the table repeated on every new page.
204 [optional, property
] long HeaderRowCount
;
205 //-------------------------------------------------------------------------
207 /** determins the type, color and size of the shadow.@see com.sun.star.table.ShadowFormat
209 [property
] com
::sun
::star
::table
::ShadowFormat ShadowFormat
;
210 //-------------------------------------------------------------------------
212 /** determins the top margin.
214 [property
] long TopMargin
;
215 //-------------------------------------------------------------------------
217 /** determins the bottom margin.
219 [property
] long BottomMargin
;
220 //-------------------------------------------------------------------------
222 /** determins if the background color is transparent.
224 [property
] boolean BackTransparent
;
225 //-------------------------------------------------------------------------
227 /** contains the absolute table width.
229 <p>As this is only a describing property the value of the actual table may vary depending on the
230 environment the table is located in and the settings of LeftMargin,
231 RightMargin and HoriOrient. </p>
233 [property
] long Width
;
234 //-------------------------------------------------------------------------
236 /** determins if the first row of the table should be treated as
237 axis labels when a chart is to be created.
239 [property
] boolean ChartRowAsLabel
;
240 //-------------------------------------------------------------------------
242 /** determins if the first column of the table should be treated as
243 axis labels when a chart is to be created.
245 [property
] boolean ChartColumnAsLabel
;
246 //-------------------------------------------------------------------------
248 /** contains the description of the table borders.@see com.sun.star.table.TableBorder
250 [property
] com
::sun
::star
::table
::TableBorder TableBorder
;
251 //-------------------------------------------------------------------------
253 /** contains the column description of the table.
254 @see com.sun.star.text.TableColumnSeparator
256 [property
] sequence
<com
::sun
::star
::text
::TableColumnSeparator
> TableColumnSeparators
;
257 //-------------------------------------------------------------------------
259 /** contains the sum of the column width values used in TableColumnSeparators.
261 [property
] short TableColumnRelativeSum
;
262 //-------------------------------------------------------------------------
264 /** contains the color of the background.
266 [property
] com
::sun
::star
::util
::Color BackColor
;
267 //-------------------------------------------------------------------------
269 /** contains the URL for the background graphic.
271 [property
] string BackGraphicURL
;
273 //-------------------------------------------------------------------------
275 /** contains the name of the file filter for the background graphic.
277 [property
] string BackGraphicFilter
;
279 //-------------------------------------------------------------------------
281 /** determines the position of the background graphic.@see GraphicLocation
283 [property
] com
::sun
::star
::style
::GraphicLocation BackGraphicLocation
;
285 //-------------------------------------------------------------------------
287 /** determines whether borders of neighbouring table cells are
290 [optional, property
] boolean CollapsingBorders
;
294 //=============================================================================