/* -*- 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_table_CellProperties_idl__ #define __com_sun_star_table_CellProperties_idl__ #include #include #include #include #include #include #include #include #include #include #include #include module com { module sun { module star { module table { /** contains the properties of a table cell. @see com::sun::star::table::Cell @see com::sun::star::table::CellRange */ published service CellProperties { //!published service PropertySet /** provides access to the properties. */ interface com::sun::star::beans::XPropertySet; /** contains the name of the style of the cell. */ [optional, property] string CellStyle; /** contains the cell background color. */ [property] com::sun::star::util::Color CellBackColor; /** is `TRUE`, if the cell background is transparent.

In this case the CellProperties::CellBackColor value is not used.

*/ [property] boolean IsCellBackgroundTransparent; /** contains the horizontal alignment of the cell contents. */ [property] com::sun::star::table::CellHoriJustify HoriJustify; /** contains the vertical alignment of the cell contents. changed from com::sun::star::table::CellVertJustify to long in LibO 3.5 @see com::sun::star::table::CellVertJustify2 */ [property] long VertJustify; /** is `TRUE`, if text in the cells will be wrapped automatically at the right border. */ [property] boolean IsTextWrapped; /** defines the indentation of the cell contents (in 1/100 mm). */ [property] short ParaIndent; /** contains the orientation of the cell contents.

If the CellProperties::RotateAngle property is non-zero, this value is not used.

*/ [property] com::sun::star::table::CellOrientation Orientation; /** defines how much the content of cells is rotated (in 1/100 degrees). */ [property] long RotateAngle; /** defines at which edge rotated cells are aligned. changed from com::sun::star::table::CellVertJustify to long in LibO 3.5 @see com::sun::star::table::CellVertJustify2 */ [property] long RotateReference; /** selects Asian character orientation in vertical orientation.

If the CellProperties::Orientation property is CellOrientation::STACKED, in Asian mode only Asian characters are printed in horizontal orientation instead of all characters. For other values of CellProperties::Orientation, this value is not used.

*/ [optional, property] boolean AsianVerticalMode; /** contains a description of the cell or cell range border.

If used with a cell range, the top, left, right, and bottom lines are at the edges of the entire range, not at the edges of the individual cell.

*/ [property] com::sun::star::table::TableBorder TableBorder; /** contains a description of the top border line of each cell. */ [property] com::sun::star::table::BorderLine TopBorder; /** contains a description of the bottom border line of each cell. */ [property] com::sun::star::table::BorderLine BottomBorder; /** contains a description of the left border line of each cell. */ [property] com::sun::star::table::BorderLine LeftBorder; /** contains a description of the right border line of each cell. */ [property] com::sun::star::table::BorderLine RightBorder; /** contains the index of the number format that is used in the cells.

The proper value can be determined by using the com::sun::star::util::NumberFormatter interface of the document.

*/ [property] long NumberFormat; /** contains a description of the shadow. */ [property] com::sun::star::table::ShadowFormat ShadowFormat; /** contains a description of the cell protection.

Cell protection is active only if the sheet is protected.

*/ [property] com::sun::star::util::CellProtection CellProtection; /** stores additional attributes.

This property is used i.e. by the XML filters to load and restore unknown attributes.

*/ [optional, property] com::sun::star::container::XNameContainer UserDefinedAttributes; /** contains a description of the top left to bottom right diagonal line of each cell. */ [optional, property] com::sun::star::table::BorderLine DiagonalTLBR; /** contains a description of the bottom left to top right diagonal line of each cell. */ [optional, property] com::sun::star::table::BorderLine DiagonalBLTR; /** is `TRUE`, if the cell content will be shrunk to fit in the cell. */ [optional, property] boolean ShrinkToFit; //=== BorderLine2 / TableBorder2 optional properties, preferred =========== /** contains a description of the cell or cell range border. Preferred over TableBorder #TableBorder.

If used with a cell range, the top, left, right, and bottom lines are at the edges of the entire range, not at the edges of the individual cell.

@since LibreOffice 3.6 */ [optional, property] com::sun::star::table::TableBorder2 TableBorder2; /** contains a description of the top border line of each cell. Preferred over BorderLine #TopBorder. @since LibreOffice 3.6 */ [optional, property] com::sun::star::table::BorderLine2 TopBorder2; /** contains a description of the bottom border line of each cell. Preferred over BorderLine #BottomBorder. @since LibreOffice 3.6 */ [optional, property] com::sun::star::table::BorderLine2 BottomBorder2; /** contains a description of the left border line of each cell. Preferred over BorderLine #LeftBorder. @since LibreOffice 3.6 */ [optional, property] com::sun::star::table::BorderLine2 LeftBorder2; /** contains a description of the right border line of each cell. Preferred over BorderLine #RightBorder. @since LibreOffice 3.6 */ [optional, property] com::sun::star::table::BorderLine2 RightBorder2; /** contains a description of the top left to bottom right diagonal line of each cell. Preferred over BorderLine #DiagonalTLBR. @since LibreOffice 3.6 */ [optional, property] com::sun::star::table::BorderLine2 DiagonalTLBR2; /** contains a description of the bottom left to top right diagonal line of each cell. Preferred over BorderLine #DiagonalBLTR. @since LibreOffice 3.6 */ [optional, property] com::sun::star::table::BorderLine2 DiagonalBLTR2; /** Grab bag of cell properties, used as a string-any map for interim interop purposes. @since LibreOffice 4.3

This 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 CellInteropGrabBag; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */