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_TextFrame_idl__
20 #define __com_sun_star_text_TextFrame_idl__
22 #include
<com
/sun
/star
/text
/XTextFrame.idl
>
23 #include
<com
/sun
/star
/text
/BaseFrame.idl
>
26 module com
{ module sun
{ module star
{ module text
{
29 /** specifies a rectangular shape which contains a Text object
30 and is attached to a piece of surrounding Text.
34 <p>This example shows how to create a TextFrame and insert
35 it at the very beginning of Text component. The macro
36 is ready to run, if it is a script within a text document. </p>
40 oFrame = ThisComponent.createInstance( "com.sun.star.text.TextFrame" )
42 ThisComponent.Text.insertTextContent( ThisComponent.Text.Start, oFrame, false )
43 oFrame.Text.String = "Hello, this text is within the frame."
47 published service TextFrame
49 /** contains the definition of interfaces and properties that are supported by text frames,
50 graphic objects and embedded objects.
54 /** This interface makes it possible to access the text within this
57 interface com
::sun
::star
::text
::XTextFrame
;
58 /** contains the metric height value of the frame.
60 [property
] long FrameHeightAbsolute
;
62 /** contains the metric width value of the frame.
64 [property
] long FrameWidthAbsolute
;
67 /** specifies a width relative to the width of the
69 <p>If the value for "WidthPercent" is 0, the absolute value from
72 [property
] byte FrameWidthPercent
;
74 /** specifies a width relative to the width of the
77 <p>If the value for "HeightPercent" is 0, the absolute value from
80 [property
] byte FrameHeightPercent
;
81 /** If "AutomaticHeight" is set, then the object grows if it is required
84 [property
] boolean FrameIsAutomaticHeight
;
85 /** determines the interpretation of the height and relative
90 [property
] short SizeType
;
91 /** determines if the text frame should be editable in a read-only document.
92 (This is usually used in forms.)
95 [optional, property
] boolean EditInReadonly
;
97 /** determines the interpretation of the width and relative
103 [optional, property
] short WidthType
;
105 /** contains the writing direction, as represented by the
106 com::sun::star::text::WritingMode2 constants
108 [optional, property
] short WritingMode
;
110 /** controls, if the frame follows the text flow or can leave its layout environment
112 <p>If set, the frame follows the text flow and doesn't leaves the layout
113 environment, which is given by its anchor, above and below.
114 E.g.: Anchor resides in the document body then the frame doesn't leave
115 the document body above and below and follows the text flow through
116 the document bodies of the different pages.
118 If not set, the frame doesn't follow the text flow and stays on the page,
119 on which its anchor is found, but it may leave the layout environment,
120 which is given by its anchor.
121 E.g.: Anchor resides in the document body then the frame stays on page,
122 where this document body is, but it could leave the document body above
123 and below, e.g. overlapping with the page header.
125 Note: The areas for the vertical orientation relation at page areas are
126 interpreted in dependence to this property (@see BaseFrameProperties.VertOrientRelation).
127 If property is set, the page area is interpreted as the layout environment,
128 given by its anchor. E.g.: Anchor resides in the page header then the
129 page header determines the page area. If property isn't set, the page area is
130 determined by the document page, the anchor is on. E.g.: Anchor resides
131 in the page header then the document page, the page header is on, determines
133 An exception of this interpretation rule is applied, if the anchor resides
134 in a table cell. In this situation the page area is always determined by
137 [optional, property
] boolean IsFollowingTextFlow
;
139 /** adjusts the vertical position of the text inside of the frame.
141 @see com::sun::star::drawing::TextVerticalAdjust
142 @since LibreOffice 4.3
144 [optional, property
] com
::sun
::star
::drawing
::TextVerticalAdjust TextVerticalAdjust
;
152 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */