summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/text/TextPortion.idl
blob: 02f9e3d6498b72b91b2a4a32fd1eecdba3c4402c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: TextPortion.idl,v $
 *
 *  $Revision: 1.10 $
 *
 *  last change: $Author: rt $ $Date: 2007-01-30 15:25:05 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/
#ifndef __com_sun_star_text_TextPortion_idl__
#define __com_sun_star_text_TextPortion_idl__


#ifndef __com_sun_star_style_ParagraphProperties_idl__
#include <com/sun/star/style/ParagraphProperties.idl>
#endif

#ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__
#include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
#endif

#ifndef __com_sun_star_style_CharacterProperties_idl__
#include <com/sun/star/style/CharacterProperties.idl>
#endif

#ifndef __com_sun_star_container_XContentEnumerationAccess_idl__
#include <com/sun/star/container/XContentEnumerationAccess.idl>
#endif

#ifndef __com_sun_star_text_TextRange_idl__
#include <com/sun/star/text/TextRange.idl>
#endif
#ifndef __com_sun_star_text_XTextContent_idl__
#include <com/sun/star/text/XTextContent.idl>
#endif

//=============================================================================

module com { module sun { module star { module text {

//=============================================================================
/** A TextPortion is a piece of text within a paragraph that does not
    contain changes of its attributes inside.
    <p>It is created by an enumaration implemented in a paragraph service.
    It is used to export the content of the paragraph to an external document format.</p>

*/
published service TextPortion
{
    service com::sun::star::text::TextRange;

    //-------------------------------------------------------------------------
    /** contains text frames, graphic objects, embedded objects or
         shapes that are anchored at or as character.
        @see com.sun.star.text.TextFrame
        @see com.sun.star.text.TextGraphicObject
     */
    [optional] interface ::com::sun::star::container::XContentEnumerationAccess;

    //-------------------------------------------------------------------------
    /** gives access to a sequence of properties.
        @since OOo 2.0.0
     */
    [optional] interface ::com::sun::star::beans::XTolerantMultiPropertySet;

    //-------------------------------------------------------------------------
    /** contains the type of the text portion.
    <p> Valid content type names are:</p>
    <UL>
        <LI><P>Text - string content</P>
        <LI><P>TextField - TextField content</P>
        <LI><P>TextContent - text content - supplied via the interface XContentEnumerationAccess</P>
        <LI><P>Footnote - a footnote or an endnote</P>
        <LI><P>ControlCharacter - a control character</P>
        <LI><P>ReferenceMark - a reference mark </P>
        <LI><P>DocumentIndexMark - a document index mark</P>
        <LI><P>Bookmark - a bookmark</P>
        <LI><P>Redline - a redline portion which is a result of the change tracking feature.</P>
        <LI><P>Ruby - a ruby attribute which is used in Asian text</P>
        <LI><P>Frame - a frame.</P>
    </UL>
    <p>The text portions for reference marks and document index marks are generated twice for
         each mark since they may include string content.</p>
     */
    [readonly, property] string TextPortionType;

    //-------------------------------------------------------------------------
    /** returns the control character if the text portion contains a ControlCharacter*/
    [readonly, property] short ControlCharacter;

    //-------------------------------------------------------------------------
    /** contains the bookmark if the portion is of the type */
    [optional, property] com::sun::star::text::XTextContent Bookmark;

    //-------------------------------------------------------------------------
    /** determines whether the portion is a point only.*/
    [optional, property] boolean IsCollapsed;

    //-------------------------------------------------------------------------
    /** determines whether the portion is a start portion if two portions are needed to include an
     object (i.e. DocmentIndexMark)*/
    [optional, property] boolean IsStart;
};

//=============================================================================

}; }; }; };
#endif