/* -*- 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_Text_idl__
#define __com_sun_star_text_Text_idl__

#include <com/sun/star/container/XEnumerationAccess.idl>
#include <com/sun/star/beans/XPropertySet.idl>
#include <com/sun/star/beans/PropertyValues.idl>



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

 published interface XText;
 published interface XTextRangeMover;
 published interface XTextRangeCompare;
 published interface XRelativeTextContentInsert;

/** is an independent piece of text which consists of a
    series of one or more paragraphs.

    <p>This service is used, for example, for the text of a TextDocument
    or the text in a cell or TextFrame.

    @see com::sun::star::text::TextDocument
    @see com::sun::star::text::TextFrame
    @see com::sun::star::table::Cell
 */
published service Text
{
    /** This is the factory for an enumeration of the paragraphs in this text.

        <p>This interface is mainly useful for exporting the text to a
        data format.
     */
    interface com::sun::star::container::XEnumerationAccess;


    /** provides a cursor factory and the possibility to insert and remove contents.
     */
    interface XText;


    /** optional interface to compare positions of TextRange
                instances within this text.
     */
    [optional] interface XTextRangeCompare;


    /** makes it possible to change the position of paragraphs.

     */
    [optional] interface XTextRangeMover;


    /** makes it possible to insert a new text content, before or
                   after existing text contents.

                   @deprecated hack
     */
    [optional] interface XRelativeTextContentInsert;


    /** contains the properties of a redline at the start of the document.<br>
    The sequence contains the following properties
    <UL>
        <LI><P>string RedlineAuthor        </P></LI>
        <LI><P>com::sun::star::util::DateTime RedlineDate_Time     </P></LI>
        <LI><P>string RedlineComment       </P></LI>
        <LI><P>string RedlineType          </P></LI>
        <LI><P>string RedlineIdentifier    </P></LI>
        <LI><P>boolean IsCollapsed          </P></LI>
        <LI><P>boolean IsStart              </P></LI>
        <LI><P>boolean MergeLastPara        </P></LI>
        <LI><P>[maybevoid] com::sun::star::text::XText RedlineText  (maybevoid)</P></LI>
        <LI><P>com::sun::star::beans::PropertyValues RedlineSuccessorData
            (contains the same properties except for the RedlineSuccessorData)</P></LI>
    </UL>
     @see EndRedline
     */
    [optional, property] ::com::sun::star::beans::PropertyValues StartRedline;


    /** contains the properties of a redline at the start of the document.
    The sequence contains the following properties
    <UL>
        <LI><P>string RedlineAuthor        </P></LI>
        <LI><P>com::sun::star::util::DateTime RedlineDate_Time     </P></LI>
        <LI><P>string RedlineComment       </P></LI>
        <LI><P>string RedlineType          </P></LI>
        <LI><P>string RedlineIdentifier    </P></LI>
        <LI><P>boolean IsCollapsed          </P></LI>
        <LI><P>boolean IsStart              </P></LI>
        <LI><P>boolean MergeLastPara        </P></LI>
        <LI><P>[maybevoid] com::sun::star::text::XText RedlineText  (maybevoid)</P></LI>
        <LI><P>com::sun::star::beans::PropertyValues RedlineSuccessorData
            (contains the same properties except for the RedlineSuccessorData)</P></LI>
    </UL>
     @see StartRedline
     */
    [optional, maybevoid, property] ::com::sun::star::beans::PropertyValues EndRedline;


};


}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
