/* -*- 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 . */ 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:
@code{.bas} 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 ) @endcode @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] sequenceThis property is intentionally not handled by the ODF filter. Any member that should be handled there should be first moved out from this grab bag to a separate property.
*/ [optional, property] sequence