/* -*- 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_TextPortion_idl__ #define __com_sun_star_text_TextPortion_idl__ #include #include #include #include #include #include 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.

It is created by an enumeration implemented in a paragraph service. It may be used to export the content of the paragraph to an external document format.

@see com::sun::star::text::TextPortionEnumeration @see com::sun::star::text::XTextPortionEnumeration */ 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 */ [optional] interface ::com::sun::star::beans::XTolerantMultiPropertySet; /** contains the type of the text portion.

Valid content type names are:

Text
string content
TextField
a text field
TextContent
text content - supplied via the interface com::sun::star::container::XContentEnumerationAccess
ControlCharacter
a control character
Footnote
a footnote or an endnote
ReferenceMark
a reference mark
DocumentIndexMark
a document index mark
Bookmark
a bookmark
Redline
a redline portion which is a result of the change tracking feature
Ruby
a ruby attribute which is used in Asian text
Frame
a frame
SoftPageBreak
a soft page break
InContentMetadata
a text range with attached metadata

For Reference marks, document index marks, etc., 2 text portions will be generated, one for the start position and one for the end position.

*/ [readonly, property] string TextPortionType; /** contains the control character of a text portion of type ControlCharacter. @deprecated type ControlCharacter no longer implemented */ [readonly, property] short ControlCharacter; /** contains the bookmark of a text portion of type Bookmark. */ [optional, readonly, property] ::com::sun::star::text::XTextContent Bookmark; /** contains the document index mark of a text portion of type DocumentIndexMark. */ [optional, readonly, property] ::com::sun::star::text::XTextContent DocumentIndexMark; /** contains the bookmark of a text portion of type ReferenceMark. */ [optional, readonly, property] ::com::sun::star::text::XTextContent ReferenceMark; /** contains the footnote of a text portion of type Footnote. */ [optional, readonly, property] ::com::sun::star::text::XFootnote Footnote; /** contains the text field of a text portion of type TextField. */ [optional, readonly, property] ::com::sun::star::text::XTextField TextField; /** contains the text range of a text portion of type InContentMetadata. @since OOo 3.2 */ [optional, readonly, property] ::com::sun::star::text::XTextContent InContentMetadata; /** contains whether the portion is a point only. */ [optional, readonly, property] boolean IsCollapsed; /** contains whether the portion is the start of the portion.

This is used for portions which are represented by 2 TextPortion objects (e.g., DocmentIndexMark).

*/ [optional, readonly, property] boolean IsStart; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */