/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /** * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef __com_sun_star_text_TextTable_idl__ #define __com_sun_star_text_TextTable_idl__ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include module com { module sun { module star { module text { /** is a table of text cells which is anchored to a surrounding text.

Note: The anchor of the actual implementation for text tables does not have a position in the text. Thus that anchor can not be used for some operation like XTextContent::attach or XText::insertTextContent or other function that require the object to have a position in the text.

The reason why a text table still needs an anchor is that for example tables should be insertable via XText::insertTextContent and that interface uses a parameter of that type.

@example

Create and insert a TextTable:

xTable = xTextDoc.createInstance( "com.sun.star.text.TextTable" ) xTable.initialize(5, 8) xTable.HoriOrient = 0 'com::sun::star::text::HoriOrientation::NONE xTable.LeftMargin = 2000 xTable.RightMargin = 1500 xTextDoc.getText.insertTextContent( xTextRange, xTable, false ) @see com::sun::star::text::Cell @see com::sun::star::text::CellRange @see com::sun::star::text::TableColumns @see com::sun::star::text::TableRows @see com::sun::star::text::TextTableCursor */ published service TextTable { service com::sun::star::text::TextContent; [optional] service com::sun::star::xml::UserDefinedAttributesSupplier; interface com::sun::star::text::XTextTable; interface com::sun::star::container::XNamed; interface com::sun::star::table::XCellRange; interface com::sun::star::chart::XChartDataArray; interface com::sun::star::table::XAutoFormattable; interface com::sun::star::util::XSortable; [optional] interface com::sun::star::sheet::XCellRangeData; /** determines the type of break that is applied at the beginning of the table.@see com.sun.star.style.BreakType */ [property] com::sun::star::style::BreakType BreakType; /** contains the left margin of the table. */ [property] long LeftMargin; /** contains the right margin of the table. */ [property] long RightMargin; /** contains the horizontal orientation.@see com.sun.star.text.HoriOrientation */ [property] short HoriOrient; /** Setting this property to TRUE prevents page or column breaks between this table and the following paragraph or text table. */ [property] boolean KeepTogether; /** Setting this property to FALSE prevents the table from getting spread on two pages. */ [property] boolean Split; /** If a page break property is set at the table, this property contains the new value for the page number. */ [property] short PageNumberOffset; /** If this property is set, it creates a page break before the table and assigns the value as the name of the new page style sheet to use. */ [property] string PageDescName; /** determines the width of the table relative to its environment. */ [property] short RelativeWidth; /** determines if the value of the relative width is valid. */ [property] boolean IsWidthRelative; /** determines if the first row of the table is repeated on every new page. */ [property] boolean RepeatHeadline; /** determines the number of rows of the table repeated on every new page. */ [optional, property] long HeaderRowCount; /** determines the type, color and size of the shadow.@see com.sun.star.table.ShadowFormat */ [property] com::sun::star::table::ShadowFormat ShadowFormat; /** determines the top margin. */ [property] long TopMargin; /** determines the bottom margin. */ [property] long BottomMargin; /** determines if the background color is transparent. */ [property] boolean BackTransparent; /** contains the absolute table width.

As this is only a describing property the value of the actual table may vary depending on the environment the table is located in and the settings of LeftMargin, RightMargin and HoriOrient.

*/ [property] long Width; /** determines if the first row of the table should be treated as axis labels when a chart is to be created. */ [property] boolean ChartRowAsLabel; /** determines if the first column of the table should be treated as axis labels when a chart is to be created. */ [property] boolean ChartColumnAsLabel; /** contains the description of the table borders.@see com.sun.star.table.TableBorder */ [property] com::sun::star::table::TableBorder TableBorder; /** contains the column description of the table. @see com.sun.star.text.TableColumnSeparator */ [property] sequence TableColumnSeparators; /** contains the sum of the column width values used in TableColumnSeparators. */ [property] short TableColumnRelativeSum; /** contains the color of the background. */ [property] com::sun::star::util::Color BackColor; /** contains the URL for the background graphic. */ [property] string BackGraphicURL; /** contains the name of the file filter for the background graphic. */ [property] string BackGraphicFilter; /** determines the position of the background graphic.@see GraphicLocation */ [property] com::sun::star::style::GraphicLocation BackGraphicLocation; /** determines whether borders of neighboring table cells are * collapsed into one */ [optional, property] boolean CollapsingBorders; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */