1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2/* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 11 * Licensed to the Apache Software Foundation (ASF) under one or more 12 * contributor license agreements. See the NOTICE file distributed 13 * with this work for additional information regarding copyright 14 * ownership. The ASF licenses this file to you under the Apache 15 * License, Version 2.0 (the "License"); you may not use this file 16 * except in compliance with the License. You may obtain a copy of 17 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 18 */ 19#ifndef __com_sun_star_linguistic2_XProofreadingIterator_idl__ 20#define __com_sun_star_linguistic2_XProofreadingIterator_idl__ 21 22#include <com/sun/star/uno/XInterface.idl> 23#include <com/sun/star/lang/IllegalArgumentException.idl> 24#include <com/sun/star/text/XFlatParagraphIteratorProvider.idl> 25#include <com/sun/star/text/XFlatParagraph.idl> 26#include <com/sun/star/lang/Locale.idl> 27#include <com/sun/star/linguistic2/ProofreadingResult.idl> 28 29 30module com { module sun { module star { module linguistic2 { 31 32/** API for the proofreading iterator that mediates between the document and the proofreader. 33 34 @since OOo 3.0.1 35*/ 36interface XProofreadingIterator: com::sun::star::uno::XInterface 37{ 38 /** start proofreading and automatically process the whole text 39 40 @param xDocument 41 the text document. 42 43 @param xIteratorProvider 44 the flat paragraph iterator provider. 45 46 @throws IllegalArgumentException 47 when any argument is wrong. 48 */ 49 void startProofreading( [in] com::sun::star::uno::XInterface xDocument, 50 [in] com::sun::star::text::XFlatParagraphIteratorProvider xIteratorProvider ) 51 raises( com::sun::star::lang::IllegalArgumentException ); 52 53 /** start proofreading from a given position 54 55 @param xDocument 56 the document. 57 58 @param xFlatParagraph 59 the single flat paragraph to be checked. 60 61 @param aText 62 the text of the paragraph to be checked. 63 64 @param aLocale 65 currently unused parameter. 66 67 @param nStartOfSentencePosition 68 the start position of the current sentence. 69 70 @param nSuggestedBehindEndOfSentencePosition 71 currently unused parameter. 72 73 @param nErrorPositionInParagraph 74 the given index. 75 76 @throws IllegalArgumentException 77 when any argument is wrong. 78 */ 79 80 ProofreadingResult checkSentenceAtPosition( [in] com::sun::star::uno::XInterface xDocument, 81 [in] com::sun::star::text::XFlatParagraph xFlatParagraph, 82 [in] string aText, 83 [in] com::sun::star::lang::Locale aLocale, 84 [in] long nStartOfSentencePosition, 85 [in] long nSuggestedBehindEndOfSentencePosition, 86 [in] long nErrorPositionInParagraph ) 87 raises( com::sun::star::lang::IllegalArgumentException ); 88 89 /** clears the list of ignored rules for each proofreader 90 */ 91 void resetIgnoreRules(); 92 93 /** checks if the given document is currently being checked 94 95 @param xDocument 96 the document. 97 98 @returns 99 if the document is currently being checked. 100 */ 101 boolean isProofreading( [in] com::sun::star::uno::XInterface xDocument ); 102}; 103 104 105}; }; }; }; 106 107#endif 108 109/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 110