1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_text_TextTable_idl__
20 #define __com_sun_star_text_TextTable_idl__
22 #include
<com
/sun
/star
/text
/TextContent.idl
>
23 #include
<com
/sun
/star
/util
/Color.idl
>
24 #include
<com
/sun
/star
/text
/XTextTable.idl
>
25 #include
<com
/sun
/star
/text
/TableColumnSeparator.idl
>
26 #include
<com
/sun
/star
/container
/XNamed.idl
>
27 #include
<com
/sun
/star
/beans
/XPropertySet.idl
>
28 #include
<com
/sun
/star
/style
/GraphicLocation.idl
>
29 #include
<com
/sun
/star
/style
/BreakType.idl
>
30 #include
<com
/sun
/star
/table
/ShadowFormat.idl
>
31 #include
<com
/sun
/star
/table
/TableBorder.idl
>
32 #include
<com
/sun
/star
/table
/XCellRange.idl
>
33 #include
<com
/sun
/star
/table
/XAutoFormattable.idl
>
34 #include
<com
/sun
/star
/chart
/XChartDataArray.idl
>
35 #include
<com
/sun
/star
/util
/XSortable.idl
>
36 #include
<com
/sun
/star
/sheet
/XCellRangeData.idl
>
37 #include
<com
/sun
/star
/xml
/UserDefinedAttributesSupplier.idl
>
41 module com
{ module sun
{ module star
{ module text
{
44 /** is a table of text cells which is anchored to a surrounding text.
46 <p>Note: The anchor of the actual implementation for text tables
47 does not have a position in the text. Thus that anchor can not be
48 used for some operation like XTextContent::attach() or
49 XText::insertTextContent()
50 or other function that require the object to have a position in the text.</p>
52 <p>The reason why a text table still needs an anchor is that for example
53 tables should be insertable via XText::insertTextContent()
54 and that interface uses a parameter of that type.</p>
56 <p>Example: Create and insert a TextTable:</p>
59 xTable = xTextDoc.createInstance( "com.sun.star.text.TextTable" )
60 xTable.initialize(5, 8)
61 xTable.HoriOrient = 0 'com::sun::star::text::HoriOrientation::NONE
62 xTable.LeftMargin = 2000
63 xTable.RightMargin = 1500
64 xTextDoc.getText.insertTextContent( xTextRange, xTable, false )
67 @see com::sun::star::text::Cell
68 @see com::sun::star::text::CellRange
69 @see com::sun::star::text::TableColumns
70 @see com::sun::star::text::TableRows
71 @see com::sun::star::text::TextTableCursor
73 published service TextTable
75 service com
::sun
::star
::text
::TextContent
;
77 [optional] service com
::sun
::star
::xml
::UserDefinedAttributesSupplier
;
79 interface com
::sun
::star
::text
::XTextTable
;
81 interface com
::sun
::star
::container
::XNamed
;
83 interface com
::sun
::star
::table
::XCellRange
;
85 interface com
::sun
::star
::chart
::XChartDataArray
;
87 interface com
::sun
::star
::table
::XAutoFormattable
;
89 interface com
::sun
::star
::util
::XSortable
;
91 [optional] interface com
::sun
::star
::sheet
::XCellRangeData
;
93 /** determines the type of break that is applied at the beginning of the table.@see com::sun::star::style::BreakType
95 [property
] com
::sun
::star
::style
::BreakType BreakType
;
97 /** contains the left margin of the table.
99 [property
] long LeftMargin
;
101 /** contains the right margin of the table.
103 [property
] long RightMargin
;
105 /** contains the horizontal orientation. @see com::sun::star::text::HoriOrientation
107 [property
] short HoriOrient
;
109 /** Setting this property to TRUE prevents page or column
110 breaks between this table and the following paragraph or text table.
112 [property
] boolean KeepTogether
;
114 /** Setting this property to FALSE prevents the table from
115 getting spread on two pages.
117 [property
] boolean Split
;
119 /** If a page break property is set at the table,
120 this property contains the new value for the page number.
122 [property
] short PageNumberOffset
;
124 /** If this property is set, it creates a page break before the
125 table and assigns the value as the name of the new page style sheet to use.
127 [property
] string PageDescName
;
129 /** determines the width of the table relative to its environment.
131 [property
] short RelativeWidth
;
132 /** determines if the value of the relative width is valid.
134 [property
] boolean IsWidthRelative
;
136 /** determines if the first row of the table is repeated on every new page.
138 [property
] boolean RepeatHeadline
;
139 /** determines the number of rows of the table repeated on every new page.
141 [optional, property
] long HeaderRowCount
;
143 /** determines the type, color and size of the shadow.@see com::sun::star::table::ShadowFormat
145 [property
] com
::sun
::star
::table
::ShadowFormat ShadowFormat
;
147 /** determines the top margin.
149 [property
] long TopMargin
;
151 /** determines the bottom margin.
153 [property
] long BottomMargin
;
155 /** determines if the background color is transparent.
157 [property
] boolean BackTransparent
;
159 /** contains the absolute table width.
161 <p>As this is only a describing property the value of the actual table may vary depending on the
162 environment the table is located in and the settings of LeftMargin,
163 RightMargin and HoriOrient. </p>
165 [property
] long Width
;
167 /** determines if the first row of the table should be treated as
168 axis labels when a chart is to be created.
170 [property
] boolean ChartRowAsLabel
;
172 /** determines if the first column of the table should be treated as
173 axis labels when a chart is to be created.
175 [property
] boolean ChartColumnAsLabel
;
177 /** contains the description of the table borders. @see com::sun::star::table::TableBorder
179 [property
] com
::sun
::star
::table
::TableBorder TableBorder
;
181 /** contains the column description of the table.
182 @see com::sun::star::text::TableColumnSeparator
184 [property
] sequence
<com
::sun
::star
::text
::TableColumnSeparator
> TableColumnSeparators
;
186 /** contains the sum of the column width values used in TableColumnSeparators.
188 [property
] short TableColumnRelativeSum
;
190 /** contains the color of the background.
192 [property
] com
::sun
::star
::util
::Color BackColor
;
194 /** contains the URL for the background graphic.
196 [property
] string BackGraphicURL
;
199 /** contains the name of the file filter for the background graphic.
201 [property
] string BackGraphicFilter
;
204 /** determines the position of the background graphic.@see GraphicLocation
206 [property
] com
::sun
::star
::style
::GraphicLocation BackGraphicLocation
;
209 /** determines whether borders of neighboring table cells are
212 [optional, property
] boolean CollapsingBorders
;
214 /** Grab bag of table properties, used as a string-any map for interim interop purposes.
216 @since LibreOffice 4.3
218 <p>This property is intentionally not handled by the ODF filter. Any
219 member that should be handled there should be first moved out from this grab
220 bag to a separate property.</p>
222 [optional, property
] sequence
<com
::sun
::star
::beans
::PropertyValue
> TableInteropGrabBag
;
231 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */