1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24#ifndef __com_sun_star_text_XTextMarkup_idl__
25#define __com_sun_star_text_XTextMarkup_idl__
26
27#ifndef __com_sun_star_container_XStringKeyMap_idl__
28#include <com/sun/star/container/XStringKeyMap.idl>
29#endif
30
31#ifndef __com_sun_star_text_TextMarkupType_idl__
32#include <com/sun/star/text/TextMarkupType.idl>
33#endif
34
35#ifndef __com_sun_star_text_XTextRange_idl__
36#include <com/sun/star/text/XTextRange.idl>
37#endif
38
39
40//=============================================================================
41
42module com {  module sun {  module star {  module text {
43
44//=============================================================================
45
46/** provides functionality to markup text.
47
48    @since OpenOffice 2.3
49 */
50
51interface XTextMarkup
52{
53    //-------------------------------------------------------------------------
54    /** obtains a container to store additional user defined text markup
55        information.
56
57        @return
58                a container to store additional user defined text markup
59                information.
60     */
61    com::sun::star::container::XStringKeyMap getMarkupInfoContainer();
62
63
64    //-------------------------------------------------------------------------
65    /** submits a new markup range.
66
67        @param nType
68                Type of text markup see <type>TextMarkupType</type>.
69
70        @param aIdentifier
71                A string used to identify the caller.
72
73        @param nStart
74                Start of the markup range.
75
76        @param nLength
77                Length of the markup range.
78
79        @param xMarkupInfoContainer
80                contains additional information about the markup.
81     */
82    void commitStringMarkup( [in] long nType,
83                           [in] string aIdentifier,
84                           [in] long nStart,
85                           [in] long nLength,
86                           [in] com::sun::star::container::XStringKeyMap xMarkupInfoContainer );
87
88    void commitTextRangeMarkup( [in] long nType,
89                                [in] string aIdentifier,
90                                [in] com::sun::star::text::XTextRange xRange,
91                                [in] com::sun::star::container::XStringKeyMap xMarkupInfoContainer );
92
93};
94
95}; }; }; };
96
97#endif
98