1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_linguistic2_XProofreader_idl__
28#define __com_sun_star_linguistic2_XProofreader_idl__
29
30#ifndef __com_sun_star_uno_XInterface_idl__
31#include <com/sun/star/uno/XInterface.idl>
32#endif
33
34#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
35#include <com/sun/star/lang/IllegalArgumentException.idl>
36#endif
37
38#ifndef __com_sun_star_lang_Locale_idl__
39#include <com/sun/star/lang/Locale.idl>
40#endif
41
42#ifndef __com_sun_star_linguistic2_XSupportedLocales_idl__
43#include <com/sun/star/linguistic2/XSupportedLocales.idl>
44#endif
45
46#ifndef __com_sun_star_text_XFlatParagraph_idl__
47#include <com/sun/star/text/XFlatParagraph.idl>
48#endif
49
50#ifndef __com_sun_star_linguistic2_ProofreadingResult_idl__
51#include <com/sun/star/linguistic2/ProofreadingResult.idl>
52#endif
53
54#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_idl_
55#include <com/sun/star/beans/PropertyValue.idl>
56#endif
57
58//=============================================================================
59
60module com {  module sun {  module star {  module linguistic2 {
61
62//=============================================================================
63/** API for proofreading a text
64
65	@since	OOo 3.0.1
66*/
67interface XProofreader: com::sun::star::linguistic2::XSupportedLocales
68{
69
70    //-------------------------------------------------------------------------
71    /** whether is the text checked by the spellchecker
72
73        @returns true if it is also a spell checker
74    */
75    boolean isSpellChecker();
76
77    //-------------------------------------------------------------------------
78    /** start checking
79
80        @param  nDocId
81                the Document ID.
82
83        @param  rFlatParaText
84                the flat text to be checked.
85
86        @param  xFlatPara
87                the flat paragraph to be checked.
88
89        @param  aLocale
90                Language used in the text.
91
92        @param  nStartOfSentencePos
93                Start Index of the text.
94
95        @param  nSuggestedSentenceEndPos
96                Probable end position of the text.
97
98        @throws IllegalArgumentException
99                when any argument is wrong.
100    */
101    ProofreadingResult doProofreading( [in] string aDocumentIdentifier,
102                            [in] string aText,
103                            [in] com::sun::star::lang::Locale aLocale,
104                            [in] long nStartOfSentencePosition,
105                            [in] long nSuggestedBehindEndOfSentencePosition,
106                            [in] sequence< com::sun::star::beans::PropertyValue > aProperties )
107            raises( com::sun::star::lang::IllegalArgumentException );
108
109    //-------------------------------------------------------------------------
110    /** disables a specific rule for a given locale.
111
112        <p>If the locale is empty the rule should be ignored for all languages.</p>
113    */
114    void ignoreRule( [in] string aRuleIdentifier,
115                     [in] com::sun::star::lang::Locale aLocale )
116            raises( com::sun::star::lang::IllegalArgumentException );
117
118    //-------------------------------------------------------------------------
119    /** sets all rules back to their default settings.
120    */
121    void resetIgnoreRules();
122
123};
124
125//=============================================================================
126
127}; }; }; };
128
129#endif
130