blob: 563a5d9e841a1b08a559a5f6e5f04aec2c8befbe [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_text_TextPortion_idl__
#define __com_sun_star_text_TextPortion_idl__
#ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__
#include <com/sun/star/beans/XTolerantMultiPropertySet.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
#ifndef __com_sun_star_text_XTextField_idl__
#include <com/sun/star/text/XTextField.idl>
#endif
#ifndef __com_sun_star_text_XFootnote_idl__
#include <com/sun/star/text/XFootnote.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 enumeration implemented in a paragraph service.
It may be used to export the content of the paragraph to an external
document format.
</p>
@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 OpenOffice 2.0
*/
[optional]
interface ::com::sun::star::beans::XTolerantMultiPropertySet;
//-------------------------------------------------------------------------
/** contains the type of the text portion.
<p> Valid content type names are:</p>
<dl>
<dt>Text</dt><dd>string content</dd>
<dt>TextField</dt><dd>a text field</dd>
<dt>TextContent</dt><dd>text content - supplied via the
interface <type scope="com::sun::star::container">
XContentEnumerationAccess</type></dd>
<dt>ControlCharacter</dt><dd>a control character</dd>
<dt>Footnote</dt><dd>a footnote or an endnote</dd>
<dt>ReferenceMark</dt><dd>a reference mark</dd>
<dt>DocumentIndexMark</dt><dd>a document index mark</dd>
<dt>Bookmark</dt><dd>a bookmark</dd>
<dt>Redline</dt><dd>a redline portion which is a result
of the change tracking feature</dd>
<dt>Ruby</dt><dd>a ruby attribute which is used in Asian text</dd>
<dt>Frame</dt><dd>a frame</dd>
<dt>SoftPageBreak</dt><dd>a soft page break</dd>
<dt>InContentMetadata</dt><dd>a text range with attached metadata</dd>
</dl>
<p>For Reference marks, document index marks, etc., 2 text portions
will be generated, one for the start position and one for the
end position.</p>
*/
[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 OpenOffice 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.
<p>This is used for portions which are represented by
2 TextPortion objects (e.g., DocmentIndexMark).</p>
*/
[optional, readonly, property] boolean IsStart;
};
//=============================================================================
}; }; }; };
#endif