Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / text / TextTable.idl
blob23ff2787047132c84fc2002e7a5dd7beb19c1982
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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>
58 @code{.bas}
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 )
65 @endcode
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
210 * collapsed into one
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;
227 }; }; }; };
229 #endif
231 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */