summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/linguistic2
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/linguistic2
parentInitial commit. (diff)
downloadlibreoffice-upstream/4%7.4.7.tar.xz
libreoffice-upstream/4%7.4.7.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDictionary.idl64
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDictionaryList.idl51
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl47
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionDirection.idl48
-rw-r--r--offapi/com/sun/star/linguistic2/ConversionPropertyType.idl105
-rw-r--r--offapi/com/sun/star/linguistic2/Dictionary.idl62
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryEvent.idl67
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryEventFlags.idl70
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryList.idl43
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryListEvent.idl77
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryListEventFlags.idl85
-rw-r--r--offapi/com/sun/star/linguistic2/DictionaryType.idl59
-rw-r--r--offapi/com/sun/star/linguistic2/HangulHanjaConversionDictionary.idl51
-rw-r--r--offapi/com/sun/star/linguistic2/Hyphenator.idl48
-rw-r--r--offapi/com/sun/star/linguistic2/LanguageGuessing.idl37
-rw-r--r--offapi/com/sun/star/linguistic2/LinguProperties.idl37
-rw-r--r--offapi/com/sun/star/linguistic2/LinguServiceEvent.idl58
-rw-r--r--offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl59
-rw-r--r--offapi/com/sun/star/linguistic2/LinguServiceManager.idl36
-rw-r--r--offapi/com/sun/star/linguistic2/NumberText.idl46
-rw-r--r--offapi/com/sun/star/linguistic2/Proofreader.idl53
-rw-r--r--offapi/com/sun/star/linguistic2/ProofreadingIterator.idl47
-rw-r--r--offapi/com/sun/star/linguistic2/ProofreadingResult.idl77
-rw-r--r--offapi/com/sun/star/linguistic2/SingleProofreadingError.idl71
-rw-r--r--offapi/com/sun/star/linguistic2/SpellChecker.idl48
-rw-r--r--offapi/com/sun/star/linguistic2/SpellFailure.idl56
-rw-r--r--offapi/com/sun/star/linguistic2/Thesaurus.idl46
-rw-r--r--offapi/com/sun/star/linguistic2/XAvailableLocales.idl53
-rw-r--r--offapi/com/sun/star/linguistic2/XConversionDictionary.idl202
-rw-r--r--offapi/com/sun/star/linguistic2/XConversionDictionaryList.idl188
-rw-r--r--offapi/com/sun/star/linguistic2/XConversionPropertyType.idl91
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionary.idl236
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionary1.idl76
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionaryEntry.idl80
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionaryEventListener.idl57
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionaryList.idl232
-rw-r--r--offapi/com/sun/star/linguistic2/XDictionaryListEventListener.idl58
-rw-r--r--offapi/com/sun/star/linguistic2/XHyphenatedWord.idl96
-rw-r--r--offapi/com/sun/star/linguistic2/XHyphenator.idl181
-rw-r--r--offapi/com/sun/star/linguistic2/XLanguageGuessing.idl186
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguProperties.idl124
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguServiceEventBroadcaster.idl76
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguServiceEventListener.idl55
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguServiceManager.idl166
-rw-r--r--offapi/com/sun/star/linguistic2/XLinguServiceManager2.idl46
-rw-r--r--offapi/com/sun/star/linguistic2/XMeaning.idl59
-rw-r--r--offapi/com/sun/star/linguistic2/XNumberText.idl138
-rw-r--r--offapi/com/sun/star/linguistic2/XPossibleHyphens.idl84
-rw-r--r--offapi/com/sun/star/linguistic2/XProofreader.idl110
-rw-r--r--offapi/com/sun/star/linguistic2/XProofreadingIterator.idl109
-rw-r--r--offapi/com/sun/star/linguistic2/XSearchableDictionary.idl55
-rw-r--r--offapi/com/sun/star/linguistic2/XSearchableDictionaryList.idl76
-rw-r--r--offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl61
-rw-r--r--offapi/com/sun/star/linguistic2/XSpellAlternatives.idl81
-rw-r--r--offapi/com/sun/star/linguistic2/XSpellChecker.idl110
-rw-r--r--offapi/com/sun/star/linguistic2/XSpellChecker1.idl54
-rw-r--r--offapi/com/sun/star/linguistic2/XSupportedLanguages.idl44
-rw-r--r--offapi/com/sun/star/linguistic2/XSupportedLocales.idl66
-rw-r--r--offapi/com/sun/star/linguistic2/XThesaurus.idl77
59 files changed, 4875 insertions, 0 deletions
diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionary.idl b/offapi/com/sun/star/linguistic2/ConversionDictionary.idl
new file mode 100644
index 000000000..ecbad2de0
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionDictionary.idl
@@ -0,0 +1,64 @@
+/* -*- 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_linguistic2_ConversionDictionary_idl__
+#define __com_sun_star_linguistic2_ConversionDictionary_idl__
+
+#include <com/sun/star/linguistic2/XConversionDictionary.idl>
+#include <com/sun/star/util/XFlushable.idl>
+#include <com/sun/star/linguistic2/XConversionPropertyType.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** represents a dictionary used in a conversion dictionary list.
+
+ <p>Specific implementations may put some restrictions for
+ the dictionary or it's entries.
+ Namely usually the order for the string pairs within a single entry
+ will be defined.</p>
+
+ @see com::sun::star::linguistic2::ConversionDictionaryList
+ @see com::sun::star::linguistic2::HangulHanjaConversionDictionary
+ @see com::sun::star::linguistic2::XConversionDictionary
+ @see com::sun::star::linguistic2::XConversionPropertyType
+
+ @since OOo 1.1.2
+*/
+published service ConversionDictionary
+{
+ /** to access the conversion dictionary functionality.
+ */
+ interface com::sun::star::linguistic2::XConversionDictionary;
+
+ /** to flush (save) the dictionary content to file
+ */
+ [optional] interface com::sun::star::util::XFlushable;
+
+ /**
+ @since OOo 2.0
+ */
+ [optional] interface com::sun::star::linguistic2::XConversionPropertyType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionaryList.idl b/offapi/com/sun/star/linguistic2/ConversionDictionaryList.idl
new file mode 100644
index 000000000..1a722b8fd
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionDictionaryList.idl
@@ -0,0 +1,51 @@
+/* -*- 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_linguistic2_ConversionDictionaryList_idl__
+#define __com_sun_star_linguistic2_ConversionDictionaryList_idl__
+
+#include <com/sun/star/linguistic2/XConversionDictionaryList.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** represents a list of available conversion dictionaries.
+
+ <p>There will be only one list that may hold different types of
+ conversion dictionaries. That is e.g. it may hold dictionaries
+ for Korean Hangul/Hanja conversion along with ones for
+ Chinese traditional/simplified conversion or conversion between
+ different Indic script types.</p>
+
+ <p>The list will be used by the text conversion service to
+ check for user supplied text conversions.</p>
+
+ @see com::sun::star::linguistic2::ConversionDictionary
+ @see com::sun::star::linguistic2::HangulHanjaConversionDictionary
+ @see com::sun::star::i18n::TextConversion
+
+ @since OOo 1.1.2
+*/
+published service ConversionDictionaryList : XConversionDictionaryList;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl b/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl
new file mode 100644
index 000000000..a4f1c81b4
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionDictionaryType.idl
@@ -0,0 +1,47 @@
+/* -*- 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_linguistic2_ConversionDictionaryType_idl__
+#define __com_sun_star_linguistic2_ConversionDictionaryType_idl__
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** specifies the conversion dictionary type to be used with XConversionDictionary.
+
+ @since OOo 1.1.2
+*/
+constants ConversionDictionaryType
+{
+ /** Dictionary type for the conversion between Hangul and Hanja
+ */
+ const short HANGUL_HANJA = 1;
+
+ /** Dictionary type for the conversion between Simplified and Traditional Chinese
+
+ @since OOo 2.0
+ */
+ const short SCHINESE_TCHINESE = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ConversionDirection.idl b/offapi/com/sun/star/linguistic2/ConversionDirection.idl
new file mode 100644
index 000000000..68cdf9a4b
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionDirection.idl
@@ -0,0 +1,48 @@
+/* -*- 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_linguistic2_ConversionDirection_idl__
+#define __com_sun_star_linguistic2_ConversionDirection_idl__
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** Conversion direction to be used with XConversionDictionary
+ when looking for conversions.
+
+ @since OOo 1.1.2
+*/
+published enum ConversionDirection
+{
+ /** the text to be looked for should match the left part of a
+ dictionary entry.
+ */
+ FROM_LEFT,
+
+ /** the text to be looked for should match the right part of a
+ dictionary entry.
+ */
+ FROM_RIGHT
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl b/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl
new file mode 100644
index 000000000..968a71a62
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ConversionPropertyType.idl
@@ -0,0 +1,105 @@
+/* -*- 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_linguistic2_ConversionPropertyType_idl__
+#define __com_sun_star_linguistic2_ConversionPropertyType_idl__
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** specifies the property type of an entry in a conversion dictionary.
+
+ @see com::sun::star::linguistic2::XConversionDictionary
+ @see com::sun::star::linguistic2::XConversionPropertyType
+
+ @since OOo 2.0
+*/
+constants ConversionPropertyType
+{
+ /** There is no property type defined or available
+ */
+ const short NOT_DEFINED = 0;
+
+ /** Any word that does not fit into any of the other properties
+ */
+ const short OTHER = 1;
+
+ /** A word or term that is transliterated or used from a non-Chinese language
+ */
+ const short FOREIGN = 2;
+
+ /** The first name (given name) of a person
+ */
+ const short FIRST_NAME = 3;
+
+ /** The last name (family name) of a person
+ */
+ const short LAST_NAME = 4;
+
+ /** The academic or social title of a person
+ */
+ const short TITLE = 5;
+
+ /** The status of a situation
+ */
+ const short STATUS = 6;
+
+ /** The name of a location or place
+ */
+ const short PLACE_NAME = 7;
+
+ /** The description of a business
+ */
+ const short BUSINESS = 8;
+
+ /** An adjective
+ */
+ const short ADJECTIVE = 9;
+
+ /** A term that is used to literally describe a circumstance
+ */
+ const short IDIOM = 10;
+
+ /** An abbreviation
+ */
+ const short ABBREVIATION = 11;
+
+ /** A numeric word
+ */
+ const short NUMERICAL = 12;
+
+ /** A noun
+ */
+ const short NOUN = 13;
+
+ /** A verb
+ */
+ const short VERB = 14;
+
+ /** The name of a product or a company
+ */
+ const short BRAND_NAME = 15;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/Dictionary.idl b/offapi/com/sun/star/linguistic2/Dictionary.idl
new file mode 100644
index 000000000..5f904d682
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/Dictionary.idl
@@ -0,0 +1,62 @@
+/* -*- 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_linguistic2_Dictionary_idl__
+#define __com_sun_star_linguistic2_Dictionary_idl__
+
+#include <com/sun/star/linguistic2/XDictionary.idl>
+#include <com/sun/star/linguistic2/XSearchableDictionary.idl>
+#include <com/sun/star/util/XFlushable.idl>
+#include <com/sun/star/frame/XStorable.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** represents a dictionary used for spell checking and hyphenation.
+
+
+ @see com::sun::star::linguistic2::DictionaryList
+ @see com::sun::star::linguistic2::XSearchableDictionaryList
+
+ @since OOo 3.0.1
+*/
+service Dictionary
+{
+ /** to access the dictionary functionality.
+ */
+ interface com::sun::star::linguistic2::XDictionary;
+
+ /** provide search for similar words functionality.
+ */
+ [optional] interface com::sun::star::linguistic2::XSearchableDictionary;
+
+ /** to save the dictionary content to file
+
+ <p>storeAsURL and storeToURL are empty implementations since the dictionaries are expected
+ to be found in specific locations</p>
+ */
+ [optional] interface com::sun::star::frame::XStorable;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/DictionaryEvent.idl b/offapi/com/sun/star/linguistic2/DictionaryEvent.idl
new file mode 100644
index 000000000..f6dfe8bac
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryEvent.idl
@@ -0,0 +1,67 @@
+/* -*- 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_linguistic2_DictionaryEvent_idl__
+#define __com_sun_star_linguistic2_DictionaryEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** represents a dictionary event.
+
+ <P>This type of event is used by a dictionary to inform
+ its listeners about changes in its properties or its entry list.
+ It consists of an event type and may supply an affected
+ dictionary entry.</P>
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::linguistic2::XDictionaryEventListener
+ @see com::sun::star::lang::EventObject
+*/
+published struct DictionaryEvent : com::sun::star::lang::EventObject
+{
+ /** is the type of event.
+
+ <p>This must be the value of a single flag. No combinations are
+ allowed.</p>
+
+ @see com::sun::star::linguistic2::DictionaryEventFlags
+ */
+ short nEvent;
+
+ /** is the affected dictionary entry (if any).
+
+ <p>It must be set if an entry was
+ added or deleted, otherwise it should be empty.</p>
+
+ @see com::sun::star::linguistic2::XDictionaryEntry
+ */
+ com::sun::star::linguistic2::XDictionaryEntry xDictionaryEntry;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/DictionaryEventFlags.idl b/offapi/com/sun/star/linguistic2/DictionaryEventFlags.idl
new file mode 100644
index 000000000..6460a21fb
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryEventFlags.idl
@@ -0,0 +1,70 @@
+/* -*- 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_linguistic2_DictionaryEventFlags_idl__
+#define __com_sun_star_linguistic2_DictionaryEventFlags_idl__
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** flags used for the event type in dictionary events.
+
+ <P>These flags represent the type of events that a dictionary
+ may broadcast.</P>
+
+ @see com::sun::star::linguistic2::DictionaryEvent
+*/
+published constants DictionaryEventFlags
+{
+ /** indicates that at least one entry has been added.
+ */
+ const short ADD_ENTRY = 1;
+
+ /** indicates that at least one entry has been deleted.
+ */
+ const short DEL_ENTRY = 2;
+
+ /** the dictionary's name has changed.
+ */
+ const short CHG_NAME = 4;
+
+ /** the dictionary's language has changed.
+ */
+ const short CHG_LANGUAGE = 8;
+
+ /** all entries have been removed.
+ */
+ const short ENTRIES_CLEARED = 16;
+
+ /** used when the dictionary was activated.
+ */
+ const short ACTIVATE_DIC = 32;
+
+ /** used when the dictionary was deactivated.
+ */
+ const short DEACTIVATE_DIC = 64;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/DictionaryList.idl b/offapi/com/sun/star/linguistic2/DictionaryList.idl
new file mode 100644
index 000000000..c12a0018a
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryList.idl
@@ -0,0 +1,43 @@
+/* -*- 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_linguistic2_DictionaryList_idl__
+#define __com_sun_star_linguistic2_DictionaryList_idl__
+
+#include <com/sun/star/linguistic2/XSearchableDictionaryList.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** is the list of personal dictionaries.
+
+ <P>The active dictionaries of this list will be used for
+ spell checking and hyphenation.</P>
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::linguistic2::XDictionaryList
+ @see com::sun::star::linguistic2::XSearchableDictionaryList
+*/
+published service DictionaryList : XSearchableDictionaryList;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/DictionaryListEvent.idl b/offapi/com/sun/star/linguistic2/DictionaryListEvent.idl
new file mode 100644
index 000000000..fa455371a
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryListEvent.idl
@@ -0,0 +1,77 @@
+/* -*- 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_linguistic2_DictionaryListEvent_idl__
+#define __com_sun_star_linguistic2_DictionaryListEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/linguistic2/DictionaryEvent.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** structure representing a dictionary-list event.
+
+ <P>This structure is used by the dictionary-list to inform
+ its listeners about certain events.
+ Since the dictionary-list is able to collect several single
+ events before broadcasting them to its listeners the
+ integer argument may be a combination (logical or) of several
+ event types.
+ If more specific information about the events is requested by a
+ listener, a sequence of all dictionary-list events since the
+ last broadcasting will be supplied. Otherwise, that list will
+ be empty.</P>
+
+ @see com::sun::star::linguistic2::DictionaryList
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::lang::EventObject
+*/
+published struct DictionaryListEvent : com::sun::star::lang::EventObject
+{
+ /** the combined type of the accumulated events.
+
+ <p>The value can be the combination of multiple
+ com::sun::star::linguistic2::DictionaryListEventFlags
+ by applying the logical OR to them.</p>
+
+ @see com::sun::star::linguistic2::DictionaryListEventFlags
+
+ */
+ short nCondensedEvent;
+
+ /** list of accumulated dictionary events.
+
+ <p>It will be empty if all
+ com::sun::star::linguistic2::XDictionaryListEventListener
+ are satisfied with the condensed representation of the
+ com::sun::star::linguistic2::DictionaryListEvent::nCondensedEvent().</p>
+
+ @see com::sun::star::linguistic2::DictionaryEvent
+ */
+ sequence< com::sun::star::linguistic2::DictionaryEvent > aDictionaryEvents;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/DictionaryListEventFlags.idl b/offapi/com/sun/star/linguistic2/DictionaryListEventFlags.idl
new file mode 100644
index 000000000..5371d522e
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryListEventFlags.idl
@@ -0,0 +1,85 @@
+/* -*- 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_linguistic2_DictionaryListEventFlags_idl__
+#define __com_sun_star_linguistic2_DictionaryListEventFlags_idl__
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** constants representing a single dictionary-list event.
+
+ <P>These flags define the possible types for a
+ dictionary-list event.</P>
+
+ @see com::sun::star::linguistic2::DictionaryListEvent
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::linguistic2::XDictionaryList
+*/
+published constants DictionaryListEventFlags
+{
+ /** A positive entry was added to a dictionary from the
+ dictionary list.
+ */
+ const short ADD_POS_ENTRY = 1;
+
+ /** A positive entry was deleted from a dictionary of the
+ dictionary-list or a dictionary with positive entries
+ was cleared.
+ */
+ const short DEL_POS_ENTRY = 2;
+
+ /** A negative entry was added to a dictionary from the
+ dictionary-list.
+ */
+ const short ADD_NEG_ENTRY = 4;
+
+ /** A negative entry was deleted from a dictionary of the
+ dictionary-list or a dictionary with negative entries
+ was cleared.
+ */
+ const short DEL_NEG_ENTRY = 8;
+
+ /** A dictionary with positive entries was activated or
+ has changed its language.
+ */
+ const short ACTIVATE_POS_DIC = 16;
+
+ /** A dictionary with positive entries was deactivated or
+ has changed its language.
+ */
+ const short DEACTIVATE_POS_DIC = 32;
+
+ /** A dictionary with negative entries was activated or
+ has changed its language.
+ */
+ const short ACTIVATE_NEG_DIC = 64;
+
+ /** A dictionary with negative entries was deactivated or
+ has changed its language.
+ */
+ const short DEACTIVATE_NEG_DIC = 128;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/DictionaryType.idl b/offapi/com/sun/star/linguistic2/DictionaryType.idl
new file mode 100644
index 000000000..cbfc2ae29
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/DictionaryType.idl
@@ -0,0 +1,59 @@
+/* -*- 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_linguistic2_DictionaryType_idl__
+#define __com_sun_star_linguistic2_DictionaryType_idl__
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** describes the type of a personal dictionary.
+
+ <P>This defines the type of a dictionary.
+ It may be positive or negative. A positive dictionary may hold
+ only positive entries (words defined to be correct for spell
+ checking) and a negative one only negative entries (words defined
+ to be reported as incorrect by the spell checker).</P>
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::linguistic2::XDictionaryEntry
+*/
+published enum DictionaryType
+{
+ /** all entries in the dictionary are positive.
+ */
+ POSITIVE,
+
+ /** all entries in the dictionary are negative.
+ */
+ NEGATIVE,
+
+ /**
+@deprecated
+ */
+ MIXED
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/HangulHanjaConversionDictionary.idl b/offapi/com/sun/star/linguistic2/HangulHanjaConversionDictionary.idl
new file mode 100644
index 000000000..d164a4a5e
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/HangulHanjaConversionDictionary.idl
@@ -0,0 +1,51 @@
+/* -*- 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_linguistic2_HangulHanjaConversionDictionary_idl__
+#define __com_sun_star_linguistic2_HangulHanjaConversionDictionary_idl__
+
+#include <com/sun/star/linguistic2/ConversionDictionary.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** represents a dictionary for Hangul/Hanja text conversion.
+
+ <p>A dictionary implementing this service will be used for
+ Hangul/Hanja conversion. Therefore the locale of the
+ dictionary has to be Korean, and the conversion type
+ com::sun::star::linguistic2::ConversionDictionaryType::HANGUL_HANJA.</p>
+
+ <p>Also for a pair (entry) to be added the
+ left part has to be in Hangul and the right in Hanja,
+ and the number of characters for the left part has to be the
+ same as for the right part.</p>
+
+ @since OOo 1.1.2
+*/
+published service HangulHanjaConversionDictionary
+{
+ service com::sun::star::linguistic2::ConversionDictionary;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/Hyphenator.idl b/offapi/com/sun/star/linguistic2/Hyphenator.idl
new file mode 100644
index 000000000..75796dd75
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/Hyphenator.idl
@@ -0,0 +1,48 @@
+/* -*- 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_linguistic2_Hyphenator_idl__
+#define __com_sun_star_linguistic2_Hyphenator_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XServiceDisplayName.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+ published interface XHyphenator;
+ published interface XLinguServiceEventBroadcaster;
+
+/** offers hyphenation functionality.
+*/
+published service Hyphenator
+{
+ interface com::sun::star::linguistic2::XHyphenator;
+ interface com::sun::star::linguistic2::XLinguServiceEventBroadcaster;
+ interface com::sun::star::lang::XInitialization;
+ interface com::sun::star::lang::XComponent;
+ interface com::sun::star::lang::XServiceDisplayName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/LanguageGuessing.idl b/offapi/com/sun/star/linguistic2/LanguageGuessing.idl
new file mode 100644
index 000000000..95d55f1be
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LanguageGuessing.idl
@@ -0,0 +1,37 @@
+/* -*- 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_linguistic2_LanguageGuessing_idl__
+#define __com_sun_star_linguistic2_LanguageGuessing_idl__
+
+#include <com/sun/star/linguistic2/XLanguageGuessing.idl>
+
+module com { module sun { module star { module linguistic2 {
+
+ service LanguageGuessing:XLanguageGuessing;
+// service LanguageGuessing{
+// interface XLanguageGuessing;
+// interface XLanguageGuesserConfig;
+// };
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/LinguProperties.idl b/offapi/com/sun/star/linguistic2/LinguProperties.idl
new file mode 100644
index 000000000..4d56bba1a
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LinguProperties.idl
@@ -0,0 +1,37 @@
+/* -*- 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_linguistic2_LinguProperties_idl__
+#define __com_sun_star_linguistic2_LinguProperties_idl__
+
+#include <com/sun/star/linguistic2/XLinguProperties.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** the set of linguistic relevant properties.
+*/
+published service LinguProperties : XLinguProperties;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/LinguServiceEvent.idl b/offapi/com/sun/star/linguistic2/LinguServiceEvent.idl
new file mode 100644
index 000000000..fc30ac014
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LinguServiceEvent.idl
@@ -0,0 +1,58 @@
+/* -*- 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_linguistic2_LinguServiceEvent_idl__
+#define __com_sun_star_linguistic2_LinguServiceEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** represents a linguistic service event.
+
+ <P>This type of event may be broadcast by a spell checker or
+ hyphenator service implementation to inform its listeners (clients)
+ that the results of previous function calls may be different now.
+ It is possible to suggest that hyphenation should be done again
+ and/or the spelling of previously incorrect or correct words
+ should be checked again.</P>
+
+ @see com::sun::star::linguistic2::XLinguServiceEventBroadcaster
+ @see com::sun::star::linguistic2::XLinguServiceEventListener
+ @see com::sun::star::linguistic2::SpellChecker
+ @see com::sun::star::linguistic2::Hyphenator
+ @see com::sun::star::lang::EventObject
+*/
+published struct LinguServiceEvent : com::sun::star::lang::EventObject
+{
+ /** The type of event.
+
+ <p>The value may be combined via logical OR from those values
+ defined in com::sun::star::linguistic2::LinguServiceEventFlags</p>
+ */
+ short nEvent;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl b/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl
new file mode 100644
index 000000000..324a74483
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LinguServiceEventFlags.idl
@@ -0,0 +1,59 @@
+/* -*- 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_linguistic2_LinguServiceEventFlags_idl__
+#define __com_sun_star_linguistic2_LinguServiceEventFlags_idl__
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** to be used in lingu-service events.
+
+ <P>These values define the flags which may be logically combined
+ to build the event type of a
+ com::sun::star::linguistic2::LinguServiceEvent</P>
+*/
+published constants LinguServiceEventFlags
+{
+ /** The spelling of previously correct words should be checked again.
+ */
+ const short SPELL_CORRECT_WORDS_AGAIN = 1;
+
+ /** The spelling of previously misspelled words should be checked again.
+ */
+ const short SPELL_WRONG_WORDS_AGAIN = 2;
+
+ /** The hyphenation of words may have changed.
+ */
+ const short HYPHENATE_AGAIN = 4;
+
+ /** Request new proofreading of the document
+
+ @since OOo 3.0.1
+ */
+ const short PROOFREAD_AGAIN = 8;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/LinguServiceManager.idl b/offapi/com/sun/star/linguistic2/LinguServiceManager.idl
new file mode 100644
index 000000000..fb2d71849
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/LinguServiceManager.idl
@@ -0,0 +1,36 @@
+/* -*- 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_linguistic2_LinguServiceManager_idl__
+#define __com_sun_star_linguistic2_LinguServiceManager_idl__
+
+#include <com/sun/star/linguistic2/XLinguServiceManager2.idl>
+
+module com { module sun { module star { module linguistic2 {
+
+/** offers linguistic functionality. Is to be used to access spell checker,
+ hyphenator and thesaurus.
+*/
+published service LinguServiceManager : XLinguServiceManager2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/NumberText.idl b/offapi/com/sun/star/linguistic2/NumberText.idl
new file mode 100644
index 000000000..67c77ceeb
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/NumberText.idl
@@ -0,0 +1,46 @@
+/* -*- 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_linguistic2_NumberText_idl__
+#define __com_sun_star_linguistic2_NumberText_idl__
+
+#include <com/sun/star/linguistic2/XNumberText.idl>
+
+module com { module sun { module star { module linguistic2 {
+
+/** provides converter to spell out numbers and money amounts
+
+ <p>An implementation of this service will receive text and has to spell
+ out as cardinal, ordinal, ordinal indicator or money amounts.</p>
+
+ <p>An implementation of this service is not limited to number to number
+ conversion at all. It might also support other linguistic functions of
+ a given language, for example, spelling out years, gender and formal
+ variants or complex affixation of number names, or article selection.</p>
+
+ @since LibreOffice 6.1
+ */
+
+ service NumberText:XNumberText;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/Proofreader.idl b/offapi/com/sun/star/linguistic2/Proofreader.idl
new file mode 100644
index 000000000..de5c8855e
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/Proofreader.idl
@@ -0,0 +1,53 @@
+/* -*- 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_linguistic2_Proofreader_idl__
+#define __com_sun_star_linguistic2_Proofreader_idl__
+
+
+module com { module sun { module star { module linguistic2 {
+ interface XProofreader; };
+}; }; };
+
+
+module com { module sun { module star { module linguistic2 {
+
+
+/** provides a proofreader (often known as grammar checker) for text
+
+ <p>An implementation of this service will receive text and has to identify
+ the sentence end and report all errors found.</p>
+
+ <p>An implementation of this service is not limited to grammar checking at all.
+ It might also check style, used terms etc. Basically it can check every
+ aspect of a single sentence. Since the text provided is always the complete
+ paragraph it can also choose to analyze the context of the sentence currently
+ required to be checked. However error reports need to be limited to the
+ current sentence.</p>
+
+ @since OOo 3.0.1
+ */
+
+service Proofreader : XProofreader {};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ProofreadingIterator.idl b/offapi/com/sun/star/linguistic2/ProofreadingIterator.idl
new file mode 100644
index 000000000..7915dd803
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ProofreadingIterator.idl
@@ -0,0 +1,47 @@
+/* -*- 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_linguistic2_ProofreadingIterator_idl__
+#define __com_sun_star_linguistic2_ProofreadingIterator_idl__
+
+
+module com { module sun { module star { module linguistic2 {
+ interface XProofreadingIterator; };
+}; }; };
+
+
+module com { module sun { module star { module linguistic2 {
+
+
+/** provides a proofreading iterator
+
+ <p>An implementation of this service acts as a mediator between documents
+ and proofreaders (often called just grammar checkers). It is responsible to
+ process requests for proofreading text portions.</p>
+
+ @since OOo 3.0.1
+ */
+
+service ProofreadingIterator : XProofreadingIterator;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/ProofreadingResult.idl b/offapi/com/sun/star/linguistic2/ProofreadingResult.idl
new file mode 100644
index 000000000..b1ac7a611
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/ProofreadingResult.idl
@@ -0,0 +1,77 @@
+/* -*- 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_linguistic2_ProofreadingResult_idl__
+#define __com_sun_star_linguistic2_ProofreadingResult_idl__
+
+#include <com/sun/star/text/XFlatParagraph.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/linguistic2/SingleProofreadingError.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+// forward declaration
+interface XProofreader;
+
+/** holds the results from proofreading a sentence.
+
+ @since OOo 3.0.1
+*/
+struct ProofreadingResult
+{
+ // the document ID
+ string aDocumentIdentifier;
+
+ // the paragraph that was checked
+ com::sun::star::text::XFlatParagraph xFlatParagraph;
+
+ // text that was checked (the paragraphs content may have changed meanwhile!)
+ string aText;
+
+ // language used for checking
+ com::sun::star::lang::Locale aLocale;
+
+ // the start of sentence position passed to the proofreader
+ long nStartOfSentencePosition;
+
+ // the end of sentence position found by the proofreader
+ // That is the index following the character terminating the sentence.
+ long nBehindEndOfSentencePosition;
+
+ // the start of the next sentence to be checked.
+ // Basically obtained by skipping all white spaces after the end of sentence position.
+ long nStartOfNextSentencePosition;
+
+ // the list of errors
+ sequence< com::sun::star::linguistic2::SingleProofreadingError > aErrors;
+
+ // a list of properties
+ sequence< com::sun::star::beans::PropertyValue > aProperties;
+
+ // reference to the specific proofreader implementation that reported the error
+ com::sun::star::linguistic2::XProofreader xProofreader;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/SingleProofreadingError.idl b/offapi/com/sun/star/linguistic2/SingleProofreadingError.idl
new file mode 100644
index 000000000..dfed3d559
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/SingleProofreadingError.idl
@@ -0,0 +1,71 @@
+/* -*- 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_linguistic2_SingleProofreadingError_idl__
+#define __com_sun_star_linguistic2_SingleProofreadingError_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** holds a single error found by the proofreader.
+
+ @since OOo 3.0.1
+*/
+struct SingleProofreadingError
+{
+ // start index of the error text
+ // indicating the text to be replaced if suggestions are applied
+ long nErrorStart;
+
+ // the length of the error text
+ // indicating the text to be replaced if suggestions are applied
+ long nErrorLength;
+
+ // as in com.sun.star.text.TextMarkupType
+ long nErrorType;
+
+ // the id of the rule that this error is violating
+ string aRuleIdentifier;
+
+ // short error description text (usually to be displayed in context menu)
+ string aShortComment;
+
+ // full error description text (usually to be displayed in dialog)
+ string aFullComment;
+
+ // a list of correction suggestions
+ // Usually empty if only automatic checking was done.
+ sequence< string > aSuggestions;
+
+ // a list of properties
+ // <ul>
+ // <li>FullCommentURL: URL to a page providing more details on the
+ // error.</li>
+ // </ul>
+ sequence< com::sun::star::beans::PropertyValue > aProperties;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/SpellChecker.idl b/offapi/com/sun/star/linguistic2/SpellChecker.idl
new file mode 100644
index 000000000..371ed3dbe
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/SpellChecker.idl
@@ -0,0 +1,48 @@
+/* -*- 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_linguistic2_SpellChecker_idl__
+#define __com_sun_star_linguistic2_SpellChecker_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XServiceDisplayName.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+ published interface XSpellChecker;
+ published interface XLinguServiceEventBroadcaster;
+
+/** offers spell checking functionality.
+*/
+published service SpellChecker
+{
+ interface com::sun::star::linguistic2::XSpellChecker;
+ interface com::sun::star::linguistic2::XLinguServiceEventBroadcaster;
+ interface com::sun::star::lang::XInitialization;
+ interface com::sun::star::lang::XComponent;
+ interface com::sun::star::lang::XServiceDisplayName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/SpellFailure.idl b/offapi/com/sun/star/linguistic2/SpellFailure.idl
new file mode 100644
index 000000000..fb02fe734
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/SpellFailure.idl
@@ -0,0 +1,56 @@
+/* -*- 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_linguistic2_SpellFailure_idl__
+#define __com_sun_star_linguistic2_SpellFailure_idl__
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** these define the various return types for spell checking to fail verification.
+
+ <P>A value of this type is part of the
+ com::sun::star::linguistic2::XSpellAlternatives
+ interface which is the return type for an unsuccessful
+ spelling attempt.</P>
+
+ @see com::sun::star::linguistic2::XSpellChecker
+*/
+published constants SpellFailure
+{
+ /** The word is a negative one, that is, it should not be used.
+ */
+ const short IS_NEGATIVE_WORD = 2;
+
+ /** The capitalization of the word is wrong.
+ */
+ const short CAPTION_ERROR = 3;
+
+ /** The spelling of the word is wrong (or at least not known to be correct).
+ */
+ const short SPELLING_ERROR = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/Thesaurus.idl b/offapi/com/sun/star/linguistic2/Thesaurus.idl
new file mode 100644
index 000000000..b00d2af4d
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/Thesaurus.idl
@@ -0,0 +1,46 @@
+/* -*- 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_linguistic2_Thesaurus_idl__
+#define __com_sun_star_linguistic2_Thesaurus_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XServiceDisplayName.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+published interface XThesaurus;
+
+/** offers thesaurus functionality.
+*/
+published service Thesaurus
+{
+ interface com::sun::star::linguistic2::XThesaurus;
+ interface com::sun::star::lang::XInitialization;
+ interface com::sun::star::lang::XComponent;
+ interface com::sun::star::lang::XServiceDisplayName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XAvailableLocales.idl b/offapi/com/sun/star/linguistic2/XAvailableLocales.idl
new file mode 100644
index 000000000..165060fb2
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XAvailableLocales.idl
@@ -0,0 +1,53 @@
+/* -*- 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_linguistic2_XAvailableLocales_idl__
+#define __com_sun_star_linguistic2_XAvailableLocales_idl__
+
+
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** retrieves the list of available languages.
+*/
+published interface XAvailableLocales : com::sun::star::uno::XInterface
+{
+ /** retrieve the list of supported languages (Locales).
+
+ @see com::sun::star::linguistic2::XSupportedLocales
+
+ @param aServiceName
+ the name of the service to get the list of available Locales for.
+ @return
+ the list of locales supported by the whole of all registered
+ implementations of that service. The sequence will be empty
+ if there is no such language or the service is not known.
+ */
+ sequence< com::sun::star::lang::Locale > getAvailableLocales(
+ [in] string aServiceName );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XConversionDictionary.idl b/offapi/com/sun/star/linguistic2/XConversionDictionary.idl
new file mode 100644
index 000000000..a20a4a613
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XConversionDictionary.idl
@@ -0,0 +1,202 @@
+/* -*- 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_linguistic2_XConversionDictionary_idl__
+#define __com_sun_star_linguistic2_XConversionDictionary_idl__
+
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/linguistic2/ConversionDictionaryType.idl>
+#include <com/sun/star/linguistic2/ConversionDirection.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** Allows the user to access a conversion dictionary.
+
+ <p>The dictionary consists of entries (pairs) of the form
+ ( aLeftText, aRightText ).
+ Those pairs can be added and removed. Also it can be looked
+ for all entries where the left text or the right text matches
+ a given text. Thus it can be used for conversions in both
+ directions.</p>
+
+ <p>Restrictions to what has to be the left and right text are usually
+ given by specific services implementing this interface.</p>
+
+ @see com::sun::star::linguistic2::ConversionDictionary
+ @see com::sun::star::linguistic2::HangulHanjaConversionDictionary
+
+ @since OOo 1.1.2
+*/
+published interface XConversionDictionary : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the name of the dictionary.
+ */
+ string getName();
+
+ /**
+ @returns
+ the language supported by the dictionary.
+
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::lang::Locale getLocale();
+
+ /**
+ @returns
+ the conversion type supported by the dictionary.
+
+ @see com::sun::star::linguistic2::ConversionDictionaryType
+ */
+ short getConversionType();
+
+ /** specifies whether the dictionary should be used or not .
+
+ @param bActivate
+ `TRUE` if the dictionary should be used, `FALSE` otherwise.
+
+ */
+ void setActive( [in] boolean bActivate );
+
+ /**
+ @returns
+ `TRUE` if the dictionary is active, `FALSE` otherwise.
+ */
+ boolean isActive();
+
+ /** removes all entries from the dictionary.
+ */
+ void clear();
+
+ /** searches for entries or conversions that match the given text.
+
+ <p>The exact string to be looked for is the substring from the
+ aText parameter that starts at position nStartPos and has the
+ length nLength.</p>
+
+ @returns
+ the list of conversions found for the supplied text.
+ If no nothing was found, it is empty.
+
+ @param aText
+ the text where the substring to be looked for will be taken from.
+ Depending on the conversion direction parameter it specifies
+ either the left text or the right text to look for.
+ @param nStartPos
+ the starting pos of the substring to be looked for.
+ @param nLength
+ the length of the substring to be looked for.
+
+ @param eDirection
+ specifies the direction of the conversion to look for.
+ It is one of
+ com::sun::star::linguistic2::ConversionDirection.
+
+ @param nTextConversionOptions
+ Combination of com::sun::star::i18n::TextConversionOption
+ values.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the locale is not supported by the dictionary or if
+ nTextConversionOptions is invalid for the given locale.
+ */
+ sequence< string > getConversions(
+ [in] string aText,
+ [in] long nStartPos,
+ [in] long nLength,
+ [in] com::sun::star::linguistic2::ConversionDirection eDirection,
+ [in] long nTextConversionOptions )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** is used to add a conversion pair to the dictionary.
+
+ @param aLeftText
+ the left text of the pair to be added.
+
+ @param aRightText
+ the right text of the pair to be added.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the arguments are invalid.
+ For example if the specifications defined by the service
+ implementing this object are not met.
+
+ @throws com::sun::star::container::ElementExistException
+ if such an entry already exists.
+ */
+ void addEntry(
+ [in] string aLeftText,
+ [in] string aRightText )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::container::ElementExistException);
+
+ /** removes a conversion pair from the dictionary.
+
+ @param aLeftText
+ the left text of the pair to be removed.
+
+ @param aRightText
+ the right text of the pair to be removed.
+
+ @throws com::sun::star::container::NoSuchElementException
+ if there is no such entry.
+ */
+ void removeEntry(
+ [in] string aLeftText,
+ [in] string aRightText )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ /** returns the maximum number of characters used as left or right text
+ in entries.
+
+ @param eDirection
+ specifies if the left text or the right text of entries will
+ be used.
+
+ @see com::sun::star::linguistic2::ConversionDirection
+ */
+ short getMaxCharCount(
+ [in] com::sun::star::linguistic2::ConversionDirection eDirection );
+
+ /**
+ @returns
+ a list of all left or right parts of the dictionaries entries.
+ @param eDirection
+ specifies if all left or all right parts of the entries
+ should be returned.
+ */
+
+ sequence< string > getConversionEntries(
+ [in] com::sun::star::linguistic2::ConversionDirection eDirection );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XConversionDictionaryList.idl b/offapi/com/sun/star/linguistic2/XConversionDictionaryList.idl
new file mode 100644
index 000000000..9740178f8
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XConversionDictionaryList.idl
@@ -0,0 +1,188 @@
+/* -*- 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_linguistic2_XConversionDictionaryList_idl__
+#define __com_sun_star_linguistic2_XConversionDictionaryList_idl__
+
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/linguistic2/XConversionDictionary.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/NoSupportException.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** is used to manage and maintain a list of conversion dictionaries.
+
+ <p>The dictionaries added to the list may or may not support the
+ com::sun::star::util::XFlushable interface.
+ If they do those dictionaries have to be flushed upon termination
+ of the dictionary list.</p>
+
+ @since OOo 1.1.2
+*/
+published interface XConversionDictionaryList : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the name container interface to the dictionaries in the list.
+
+ <p>The interface can be used to add, remove or retrieve dictionaries
+ from the list by specifying the name of the dictionary, and
+ (in case of inserting) the interface to the dictionary as second
+ parameter.</p>
+
+ <p>A dictionary to be added must support the
+ com::sun::star::linguistic2::XConversionDictionary
+ interface.
+ The dictionary to be added needs not necessarily be created by
+ this service.</p>
+
+ <p>The com::sun::star::container::XNameReplace::replaceByName
+ function is implemented empty since renaming of dictionaries
+ is not allowed.</p>
+ */
+ com::sun::star::container::XNameContainer getDictionaryContainer();
+
+ /** creates a new dictionary and adds it to the dictionary list.
+
+ <p>The dictionary will be empty and active.</p>
+
+ @returns
+ an empty dictionary with the given name, locale and
+ conversion type.
+ `NULL` on failure.
+
+ @param aName
+ is the name of the dictionary (should be unique).
+
+ @param aLocale
+ defines the language of the dictionary.
+
+ @param nConversionDictionaryType
+ One of com::sun::star::linguistic2::ConversionDictionaryType values.
+
+ @throws NoSupportException
+ when <var>nConversionDictionaryType</var> is not known by the implementation.
+
+ @throws ElementExistException
+ when a dictionary with the specified name already exists.
+ */
+ com::sun::star::linguistic2::XConversionDictionary addNewDictionary(
+ [in] string aName,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] short nConversionDictionaryType )
+ raises( com::sun::star::lang::NoSupportException,
+ com::sun::star::container::ElementExistException );
+
+ /** searches for entries that match the given text.
+
+ <p>All active dictionaries with matching locales and conversion
+ type will be searched
+ for entries matching the given text.</p>
+
+ <p>The exact string to be looked for is the substring from the
+ aText parameter that starts at position nStartPos and has the
+ length nLength.</p>
+
+ @returns
+ the list of entries found. If no entry was found,
+ it is empty.
+
+ @param aText
+ the text where the substring to be looked for will be taken from.
+ @param nStartPos
+ the starting pos of the substring to be looked for.
+ @param nLength
+ the length of the substring to be looked for.
+
+
+ @param aLocale
+ Locale the conversion is referred to.
+
+ @param nConversionDictionaryType
+ specifies the type of conversion the dictionary
+ can be used for. It is one of
+ com::sun::star::linguistic2::ConversionDictionaryType.
+
+ @param eDirection
+ specifies the direction of the conversion to look for.
+ It is one of
+ com::sun::star::linguistic2::ConversionDirection.
+
+ @param nTextConversionOptions
+ Combination of com::sun::star::i18n::TextConversionOption
+ values.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the nTextConversionOptions parameter is invalid for
+ the given locale.
+
+ @throws NoSupportException
+ when <var>nConversionDictionaryType</var> is not known by the implementation,
+ or when the locale is not supported (i.e. there are no dictionaries
+ for that locale available).
+ */
+ sequence< string > queryConversions(
+ [in] string aText,
+ [in] long nStartPos,
+ [in] long nLength,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] short nConversionDictionaryType,
+ [in] com::sun::star::linguistic2::ConversionDirection eDirection,
+ [in] long nTextConversionOptions )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::NoSupportException );
+
+ /** returns the maximum number of characters used as left or right text
+ in entries.
+
+ <p>All active dictionaries of the specified locale and type
+ will be looked up to get the result.</p>
+ <p>The parameter eDirection specifies if only the left text or the
+ right text from entries should be considered.</p>
+
+ @param aLocale
+ Locale the conversion is referred to.
+ @param nConversionDictionaryType
+ specifies the type of conversion dictionaries to be looked up.
+ It is one of
+ com::sun::star::linguistic2::ConversionDictionaryType.
+ @param eDirection
+ specifies if the left text or the right text of entries will
+ be used.
+
+ @see com::sun::star::linguistic2::ConversionDirection
+ */
+ short queryMaxCharCount(
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] short nConversionDictionaryType,
+ [in] com::sun::star::linguistic2::ConversionDirection eDirection );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl b/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl
new file mode 100644
index 000000000..7e822d9c0
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XConversionPropertyType.idl
@@ -0,0 +1,91 @@
+/* -*- 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_linguistic2_XConversionPropertyType_idl__
+#define __com_sun_star_linguistic2_XConversionPropertyType_idl__
+
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** allows set and retrieve the property type of an entry in a
+ conversion dictionary
+
+ <p>The property type must be one of
+ com::sun::star::linguistic2::ConversionPropertyType</p>
+
+ @see com::sun::star::linguistic2::XConversionDictionary
+ @see com::sun::star::linguistic2::ConversionPropertyType
+
+ @since OOo 2.0
+*/
+published interface XConversionPropertyType : com::sun::star::uno::XInterface
+{
+
+ /** sets the property type for the specified entry.
+
+ <p>The conversion entry is specified by the pair
+ ( aLeftText, aRightText ).</p>
+
+ @param aLeftText
+ the left text of the dictionary entry.
+ @param aRightText
+ the right text of the dictionary entry.
+ @param nPropertyType
+ the property type to be set for the entry
+ */
+ void setPropertyType(
+ [in] string aLeftText,
+ [in] string aRightText,
+ [in] short nPropertyType )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::IllegalArgumentException );
+
+ /** returns the property type for the specified entry.
+
+ <p>The conversion entry is specified by the pair
+ ( aLeftText, aRightText ).</p>
+
+ @param aLeftText
+ the left text of the dictionary entry.
+ @param aRightText
+ the right text of the dictionary entry.
+ @returns
+ returns the property type for the entry with the specified
+ left text.
+ */
+ short getPropertyType(
+ [in] string aLeftText,
+ [in] string aRightText )
+ raises( com::sun::star::container::NoSuchElementException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XDictionary.idl b/offapi/com/sun/star/linguistic2/XDictionary.idl
new file mode 100644
index 000000000..c184642c7
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionary.idl
@@ -0,0 +1,236 @@
+/* -*- 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_linguistic2_XDictionary_idl__
+#define __com_sun_star_linguistic2_XDictionary_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/linguistic2/DictionaryType.idl>
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+#include <com/sun/star/linguistic2/XDictionaryEventListener.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interfaces enables the object to access personal dictionaries.
+
+ <P>Personal dictionaries are used to supply additional
+ information for spell checking and hyphenation (see
+ com::sun::star::linguistic2::XDictionaryEntry).
+ Only active dictionaries with an appropriate language are used
+ for that purpose.
+ The entries of an active, positive dictionary are words that are
+ required to be recognized as correct during the spell checking
+ process. Additionally, they will be used for hyphenation.
+ Entries of a negative dictionary are required to be recognized
+ as negative words, for example, words that should not be used, during
+ SPELLCHECK. An entry in a negative dictionary may supply a
+ proposal for a word to be used instead of the one being used.</P>
+
+ @see com::sun::star::linguistic2::XDictionaryEvent
+ @see com::sun::star::container::XNamed
+*/
+published interface XDictionary : com::sun::star::container::XNamed
+{
+ /** returns the type of the dictionary.
+
+ @returns
+ the type of the dictionary.
+
+ @see com::sun::star::linguistic2::DictionaryType
+ */
+ com::sun::star::linguistic2::DictionaryType getDictionaryType();
+
+ /** specifies whether the dictionary should be used or not .
+
+ @param bActivate
+ `TRUE` if the dictionary should be used, `FALSE` otherwise.
+
+ */
+ void setActive( [in] boolean bActivate );
+
+ /**
+ @returns
+ `TRUE` if the dictionary is active, `FALSE` otherwise.
+ */
+ boolean isActive();
+
+ /**
+ @returns
+ the number of entries in the dictionary.
+ */
+ long getCount();
+
+ /**
+ @returns
+ the language of the dictionary.
+
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::lang::Locale getLocale();
+
+ /** is used to set the language of the dictionary.
+
+ @param aLocale
+ the new language of the dictionary.
+
+ @see com::sun::star::lang::Locale
+ */
+ void setLocale( [in] com::sun::star::lang::Locale aLocale );
+
+ /** searches for an entry that matches the given word.
+
+ @returns
+ the reference to the entry found. If no entry was found,
+ it is NULL.
+
+ @param aWord
+ the word to be looked for.
+
+ @see com::sun::star::linguistic2::XDictionaryEntry
+ */
+ com::sun::star::linguistic2::XDictionaryEntry getEntry( [in] string aWord );
+
+ /** is used to add an entry to the dictionary.
+
+ <P>If an entry already exists, the dictionary remains unchanged
+ and `FALSE` will be returned.</P>
+
+ <P>In positive dictionaries only positive entries
+ can be made, and in negative ones only negative entries.</P>
+
+ @param xDicEntry
+ the entry to be added.
+
+ @returns
+ `TRUE` if the entry was successfully added `FALSE` otherwise.
+
+ @see com::sun::star::linguistic2::XDictionaryEntry
+ @see com::sun::star::linguistic2::DictionaryType
+ */
+ boolean addEntry(
+ [in] com::sun::star::linguistic2::XDictionaryEntry xDicEntry );
+
+ /** is used to make an entry in the dictionary.
+
+ <P>If an entry already exists, the dictionary remains unchanged
+ and `FALSE` will be returned.</P>
+
+ <P>In positive dictionaries only positive entries
+ can be made, and in negative ones only negative entries.</P>
+
+ @param aWord
+ the word to be added.
+
+ @param bIsNegative
+ specifies whether the entry will be a negative one or not.
+
+ @param aRplcText
+ in the case of a negative entry, this is the replacement text to
+ be used when replacing aWord. Otherwise, it is undefined.
+
+ @returns
+ `TRUE` if the entry was successfully added, `FALSE` otherwise.
+
+ @see com::sun::star::linguistic2::DictionaryType
+ */
+ boolean add(
+ [in] string aWord,
+ [in] boolean bIsNegative,
+ [in] string aRplcText );
+
+ /** removes an entry from the dictionary.
+
+ @param aWord
+ the word matching the entry to be removed.
+
+ @returns
+ `TRUE` if the entry was successfully removed, `FALSE`
+ otherwise (especially if the entry was not found).
+ */
+ boolean remove( [in] string aWord );
+
+ /**
+ @returns
+ `TRUE` if the dictionary is full and no further
+ entry can be made, `FALSE` otherwise.
+ */
+ boolean isFull();
+
+ /**
+ <p>This function should no longer be used since with the expansion of the
+ maximum number of allowed entries the result may become unreasonable large!</p>
+
+ @returns
+ a sequence with all the entries of the dictionary.
+
+ @see com::sun::star::linguistic2::XDictionaryEntry
+ @see com::sun::star::linguistic2::XSearchableDictionary
+ @deprecated
+ */
+
+ sequence<com::sun::star::linguistic2::XDictionaryEntry> getEntries();
+
+ /** removes all entries from the dictionary.
+ */
+ void clear();
+
+ /** adds an entry to the list of dictionary event listeners.
+
+ <P>On dictionary events, each entry in the listener list will
+ be notified via a call to
+ com::sun::star::linguistic2::XDictionaryEventListener::processDictionaryEvent().</P>
+
+ @param xListener
+ the entry to be made, that is, the object that wants notifications.
+
+ @returns
+ `TRUE` if the entry was successfully made, `FALSE` otherwise.
+ If com::sun::star::lang::XEventListener::disposing() was called before,
+ it will always fail.
+
+ @see com::sun::star::linguistic2::XDictionary::removeDictionaryEventListener()
+ @see com::sun::star::linguistic2::XDictionaryEventListener
+ */
+ boolean addDictionaryEventListener(
+ [in] com::sun::star::linguistic2::XDictionaryEventListener xListener );
+
+ /** removes an entry from the list of dictionary event listeners.
+
+ @param xListener
+ the reference to the listening object to be removed.
+
+ @returns
+ `TRUE` if the object to be removed was found and removed,
+ `FALSE` if the object was not found in the list.
+
+ @see com::sun::star::linguistic2::XDictionary::addDictionaryEventListener()
+ @see com::sun::star::linguistic2::XDictionaryEventListener
+ */
+ boolean removeDictionaryEventListener(
+ [in] com::sun::star::linguistic2::XDictionaryEventListener xListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XDictionary1.idl b/offapi/com/sun/star/linguistic2/XDictionary1.idl
new file mode 100644
index 000000000..5cfef0d3c
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionary1.idl
@@ -0,0 +1,76 @@
+/* -*- 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_linguistic2_XDictionary1_idl__
+#define __com_sun_star_linguistic2_XDictionary1_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/linguistic2/DictionaryType.idl>
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+#include <com/sun/star/linguistic2/XDictionaryEventListener.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/**
+ @deprecated
+*/
+published interface XDictionary1 : com::sun::star::container::XNamed
+{
+ com::sun::star::linguistic2::DictionaryType getDictionaryType();
+
+ void setActive( [in] boolean bActivate );
+
+ boolean isActive();
+
+ short getCount();
+
+ short getLanguage();
+
+ void setLanguage( [in] short nLang );
+
+ com::sun::star::linguistic2::XDictionaryEntry getEntry( [in] string aWord );
+
+ boolean addEntry( [in] com::sun::star::linguistic2::XDictionaryEntry xDicEntry );
+
+ boolean add(
+ [in] string aWord,
+ [in] boolean bIsNegative,
+ [in] string aRplcText );
+
+ boolean remove( [in] string aWord );
+
+ boolean isFull();
+
+ sequence<com::sun::star::linguistic2::XDictionaryEntry> getEntries();
+
+ void clear();
+
+ boolean addDictionaryEventListener( [in] com::sun::star::linguistic2::XDictionaryEventListener xListener );
+
+ boolean removeDictionaryEventListener( [in] com::sun::star::linguistic2::XDictionaryEventListener xListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XDictionaryEntry.idl b/offapi/com/sun/star/linguistic2/XDictionaryEntry.idl
new file mode 100644
index 000000000..0dc4d73a1
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionaryEntry.idl
@@ -0,0 +1,80 @@
+/* -*- 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_linguistic2_XDictionaryEntry_idl__
+#define __com_sun_star_linguistic2_XDictionaryEntry_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interfaces gives access to a dictionary entry.
+
+ <P>A dictionary entry can supply a word and its hyphenation
+ and indicate if it is a negative word.
+ If it is a negative entry it may supply a replacement text to
+ be used instead of the entry word.</P>
+
+ <P>Hyphenation positions are represented by an "=" in the word.
+ If the "=" is the last character of the word this means it should not
+ be hyphenated. If there is no "=" charter in the word, hyphenation
+ positions will be determined automatically (i.e., from the hyphenator
+ service alone).</P>
+
+ <P>Entries whose words only differ in hyphenation are considered
+ to be equal. Also a "." at the end of the word will make no
+ difference.</P>
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::uno::XInterface
+*/
+published interface XDictionaryEntry : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the word defining this entry.
+ */
+ string getDictionaryWord();
+
+ /**
+ @returns
+ `TRUE` if the word (entry) is a negative one and should not be
+ used, `FALSE` otherwise.
+ */
+ boolean isNegative();
+
+ /** is the suggested replacement text for negative words.
+
+ <p>It is undefined if the entry is not negative.</p>
+
+ @returns
+ the replacement text for a negative entry.
+ An empty string indicates that no replacement text is provided.
+ */
+ string getReplacementText();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XDictionaryEventListener.idl b/offapi/com/sun/star/linguistic2/XDictionaryEventListener.idl
new file mode 100644
index 000000000..af053808d
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionaryEventListener.idl
@@ -0,0 +1,57 @@
+/* -*- 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_linguistic2_XDictionaryEventListener_idl__
+#define __com_sun_star_linguistic2_XDictionaryEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/linguistic2/DictionaryEvent.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interfaces allows the object to act according to dictionary events.
+
+ <P>The single method is used by a dictionary to notify its
+ listeners about
+ com::sun::star::linguistic2::DictionaryEvents.</P>
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::lang::XEventListener
+*/
+published interface XDictionaryEventListener : com::sun::star::lang::XEventListener
+{
+ /** is used to get notification of dictionary events.
+
+ @param aDicEvent
+ the event to be notified of.
+
+ @see com::sun::star::lang::DictionaryEvent
+ */
+ void processDictionaryEvent(
+ [in] com::sun::star::linguistic2::DictionaryEvent aDicEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XDictionaryList.idl b/offapi/com/sun/star/linguistic2/XDictionaryList.idl
new file mode 100644
index 000000000..63ec6a0ae
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionaryList.idl
@@ -0,0 +1,232 @@
+/* -*- 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_linguistic2_XDictionaryList_idl__
+#define __com_sun_star_linguistic2_XDictionaryList_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/linguistic2/XDictionary.idl>
+#include <com/sun/star/linguistic2/XDictionaryListEventListener.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** is used to manage and maintain a list of dictionaries.
+
+ <P>A dictionary-list may be given to a spell checker or hyphenator
+ service implementation on their creation in order to supply a set
+ of dictionaries and additional information to be used for
+ those purposes.</P>
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::uno::XInterface
+*/
+published interface XDictionaryList : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the number of dictionaries in the list.
+ */
+ short getCount();
+
+ /**
+ @returns
+ a sequence with an entry for every dictionary
+ in the list.
+
+ @see com::sun::star::linguistic2::XDictionary
+ */
+ sequence<com::sun::star::linguistic2::XDictionary> getDictionaries();
+
+ /** searches the list for a dictionary with a given name.
+
+ @returns
+ the XDictionary with the specified name. If no such
+ dictionary exists, `NULL` will be returned.
+
+ @param aDictionaryName
+ specifies the name of the dictionary to look for.
+
+ @see com::sun::star::linguistic2::XDictionary
+ */
+ com::sun::star::linguistic2::XDictionary getDictionaryByName(
+ [in] string aDictionaryName );
+
+ /** adds a dictionary to the list.
+
+ <P>Additionally, the dictionary-list will add itself to the list of dictionary
+ event listeners of that dictionary.</P>
+
+ @returns
+ `TRUE` if the dictionary was added successfully,
+ `FALSE` otherwise.
+
+ @param xDictionary
+ the dictionary to be added.
+
+ @see com::sun::star::linguistic2::XDictionary
+ */
+ boolean addDictionary(
+ [in] com::sun::star::linguistic2::XDictionary xDictionary );
+
+ /** removes a single dictionary from the list.
+
+ <P>If the dictionary is still active, it will be deactivated
+ first. The dictionary-list will remove itself from the list of
+ dictionary event listeners of the dictionary.</P>
+
+ @returns
+ `TRUE` if the dictionary was removed successfully, `FALSE`
+ otherwise.
+
+ @param xDictionary
+ dictionary to be removed from the list of dictionaries.
+
+ @see com::sun::star::linguistic2::XDictionary
+ */
+ boolean removeDictionary(
+ [in] com::sun::star::linguistic2::XDictionary xDictionary );
+
+ /** adds an entry to the list of dictionary-list event listeners.
+
+ <P>On dictionary-list events, each entry in the listener list will
+ be notified via a call to
+ com::sun::star::linguistic2::XDictionaryListEventListener::processDictionaryListEvent().</P>
+
+ @returns
+ `TRUE` if the entry was made, `FALSE` otherwise.
+ If com::sun::star::lang::XEventListener::disposing()
+ was called before, it will always fail.
+
+ @param xListener
+ the object to be notified of dictionary-list events.
+
+ @param bReceiveVerbose
+ `TRUE` if the listener requires more detailed event
+ notification than usual.
+
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::linguistic2::XDictionaryListEvent
+ */
+ boolean addDictionaryListEventListener(
+ [in] com::sun::star::linguistic2::XDictionaryListEventListener xListener,
+ [in] boolean bReceiveVerbose );
+
+ /** removes an entry from the list of dictionary-list event listeners.
+
+ @returns
+ `TRUE` if the object to be removed was found and removed,
+ `FALSE` otherwise.
+
+ @param xListener
+ the object to be removed from the listener list.
+
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::linguistic2::XDictionaryListEvent
+ */
+ boolean removeDictionaryListEventListener(
+ [in] com::sun::star::linguistic2::XDictionaryListEventListener xListener );
+
+ /** increases request level for event buffering by one.
+
+ <P>The request level for event buffering is an integer
+ counter that is initially set to 0.
+ As long as the request level is not 0, events will be buffered
+ until the next flushing of the buffer.</P>
+
+ @returns
+ the current request level for event buffering.
+
+ @see com::sun::star::linguistic2::XDictionaryListEvent
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::linguistic2::XDictionaryList::endCollectEvents()
+ @see com::sun::star::linguistic2::XDictionaryList::flushEvents()
+ */
+ short beginCollectEvents();
+
+ /** flushes the event buffer and decreases the request level for
+ event buffering by one.
+
+ <P>There should be one matching endCollectEvents call for every
+ beginCollectEvents call. Usually you will group these around
+ some code where you do not wish to get notified of every single
+ event.</P>
+
+ @returns
+ the current request level for event buffering.
+
+ @see com::sun::star::linguistic2::XDictionaryListEvent
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::linguistic2::XDictionaryList::beginCollectEvents()
+ @see com::sun::star::linguistic2::XDictionaryList::flushEvents()
+ */
+ short endCollectEvents();
+
+ /** notifies the listeners of all buffered events and then clears
+ that buffer.
+
+ @returns
+ the current request level for event buffering.
+
+ @see com::sun::star::linguistic2::XDictionaryListEvent
+ @see com::sun::star::linguistic2::XDictionaryListEventListener
+ @see com::sun::star::linguistic2::XDictionaryList::beginCollectEvents()
+ @see com::sun::star::linguistic2::XDictionaryList::endCollectEvents()
+ */
+ short flushEvents();
+
+ /** creates a new dictionary.
+
+ @returns
+ an empty dictionary with the given name, language and type.
+ `NULL` on failure.
+
+ @param aName
+ is the name of the dictionary (should be unique).
+
+ @param aLocale
+ defines the language of the dictionary.
+ Use an empty aLocale for dictionaries which may contain
+ entries of all languages.
+
+ @param eDicType
+ specifies the type of the dictionary.
+
+ @param aURL
+ is the URL of the location where the dictionary is persistent,
+ if the XStorable interface is supported.
+ It may be empty, which means the dictionary will not be persistent.
+
+ @see com::sun::star::linguistic2::XDictionary
+ @see com::sun::star::lang::Locale
+ @see com::sun::star::linguistic2::DictionaryType
+ */
+ com::sun::star::linguistic2::XDictionary createDictionary(
+ [in] string aName,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] com::sun::star::linguistic2::DictionaryType eDicType,
+ [in] string aURL );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XDictionaryListEventListener.idl b/offapi/com/sun/star/linguistic2/XDictionaryListEventListener.idl
new file mode 100644
index 000000000..86bda5264
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XDictionaryListEventListener.idl
@@ -0,0 +1,58 @@
+/* -*- 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_linguistic2_XDictionaryListEventListener_idl__
+#define __com_sun_star_linguistic2_XDictionaryListEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/linguistic2/DictionaryListEvent.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interfaces allows the object to act according to
+ dictionary-list events.
+
+ <P>This interface is the base class for all dictionary-list event
+ listeners. Its single function will be called by the broadcasting
+ dictionary-list in order to notify its registered listeners.</P>
+
+ @see com::sun::star::linguistic2::DictionaryListEvent
+ @see com::sun::star::linguistic2::XDictionaryList
+*/
+published interface XDictionaryListEventListener : com::sun::star::lang::XEventListener
+{
+ /** is used to notify the object about dictionary-list events.
+
+ @param aDicListEvent
+ the event to be notified of.
+
+ @see com::sun::star::linguistic2::DictionaryListEvent
+ */
+ void processDictionaryListEvent(
+ [in] com::sun::star::linguistic2::DictionaryListEvent aDicListEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XHyphenatedWord.idl b/offapi/com/sun/star/linguistic2/XHyphenatedWord.idl
new file mode 100644
index 000000000..0b03b11c5
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XHyphenatedWord.idl
@@ -0,0 +1,96 @@
+/* -*- 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_linguistic2_XHyphenatedWord_idl__
+#define __com_sun_star_linguistic2_XHyphenatedWord_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** gives information obtained by a successful hyphenation attempt.
+
+ <P>This interface is used as a return value for some of the hyphenator
+ functions.</P>
+
+ @see com::sun::star::linguistic2::XHyphenator
+*/
+published interface XHyphenatedWord : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the word that was hyphenated.
+ */
+ string getWord();
+
+ /**
+ @returns
+ the language of the hyphenated word.
+
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::lang::Locale getLocale();
+
+ /**
+ @returns
+ the position where hyphenation was applied in the word.
+
+ <P>The value has to be in the range from 0 (after the first character)
+ to n-2 (before the last character) where n is the length of
+ the word.</P>
+ */
+ short getHyphenationPos();
+
+ /**
+ @returns
+ the hyphenated word as it should be written (without the hyphen
+ character).
+ */
+ string getHyphenatedWord();
+
+ /**
+ @returns
+ the position of the hyphen in the hyphenated word.
+
+ <P>The value has to be in the range from 0 (after the first character)
+ to m-2 (before the last character) where m is the length of
+ the hyphenated word.</P>
+ */
+ short getHyphenPos();
+
+ /** is used to query if the hyphenation result is an alternative spelling.
+
+ <p>A hyphenation result is an alternative spelling if the hyphenated
+ word is different from the word that was hyphenated.</p>
+
+ @returns
+ `TRUE` if it is an alternative spelling, `FALSE` otherwise.
+ */
+ boolean isAlternativeSpelling();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XHyphenator.idl b/offapi/com/sun/star/linguistic2/XHyphenator.idl
new file mode 100644
index 000000000..e7bddcace
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XHyphenator.idl
@@ -0,0 +1,181 @@
+/* -*- 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_linguistic2_XHyphenator_idl__
+#define __com_sun_star_linguistic2_XHyphenator_idl__
+
+
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/linguistic2/XSupportedLocales.idl>
+#include <com/sun/star/linguistic2/XDictionaryList.idl>
+#include <com/sun/star/linguistic2/XHyphenatedWord.idl>
+#include <com/sun/star/linguistic2/XPossibleHyphens.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** provides functionality for hyphenation of single words.
+
+ <P>Its three main functionalities are to provide a suitable position for
+ breaking lines within a word, query about the existence of an alternative
+ spelling at a specific position of a word and provide a list of
+ possible hyphenation positions within a word.</P>
+
+ <P>A hyphenation position for a word with n characters is represented
+ by a value in the range from 0 to n-2, indicating the position
+ of the character after which the hyphenation is done. That is,
+ it is after the first and before the last character.</P>
+
+ <P>A valid hyphenation position is a hyphenation position that
+ fulfills all the restrictions implied by the properties
+ MinLeading, MinTrailing and MinWordLength.</P>
+
+ @see com::sun::star::linguistic2::LinguProperties
+ @see com::sun::star::linguistic2::XSupportedLocales
+*/
+published interface XHyphenator : com::sun::star::linguistic2::XSupportedLocales
+{
+ /** tries to find a valid hyphenation position relative
+ to the beginning of a word.
+
+ <P>Note: Some languages, for example Arabic, are written from right
+ to left.</P>
+
+ @returns
+ the XHyphenatedWord for the last valid hyphenation position
+ that is less than or equal to nMaxLeading - 1.
+ If there is no such valid hyphenation position, `NULL` is returned.
+
+ @param aWord
+ is the word to be hyphenated.
+
+ @param aLocale
+ defines the language to be used.
+
+ <P>If the language is not supported, an IllegalArgumentException
+ exception is raised.</P>
+
+ @param nMaxLeading
+ specifies the maximum number of characters to remain
+ before the hyphen in the hyphenated word.
+
+ <P>It has to be greater than or equal to 0.</P>
+
+ @param aProperties
+ provides property values to be used for this function call only.
+ It is usually empty in order to use the default values supplied
+ with the property set.
+
+ @see com::sun::star::linguistic2::XHyphenatedWord
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::linguistic2::XHyphenatedWord hyphenate(
+ [in] string aWord,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] short nMaxLeading,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** checks whether hyphenation at a position in a word will result in
+ an alternative spelling or not.
+
+ <P>An alternative spelling position is a hyphen position where,
+ if hyphenation is done here, the writing of the word changes.
+ Example: "B&auml;cker" in German pre spelling-reform becomes
+ "B&auml;kker" if hyphenation is done after the "c".</P>
+
+ <P>The hyphenation position does not need to be a valid one to be an
+ alternative spelling position.</P>
+
+ @returns
+ the information about the alternative spelling found at the
+ specified position. Otherwise, if no alternative spelling was
+ found, `NULL` is returned.
+
+ @param aWord
+ is the original word to be looked at for having an alternative
+ spelling, if hyphenation is done at position nIndex.
+
+ @param aLocale
+ specifies the language to be used.
+
+ <P>If the language is not supported, an IllegalArgumentException
+ exception is raised.</P>
+
+ @param nIndex
+ is the position in the word to be looked at.
+
+ <P>If the length of the word is n, the value of this
+ parameter has to be in the range from 0 to n-2.</P>
+
+ @param aProperties
+ provides property values to be used for this function call only.
+ It is usually empty in order to use the default values supplied
+ with the property set.
+
+ @see com::sun::star::linguistic2::XHyphenatedWord
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::linguistic2::XHyphenatedWord queryAlternativeSpelling(
+ [in] string aWord,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] short nIndex,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** returns information about all possible hyphenation positions of a word.
+
+ @returns
+ a com::sun::star::linguistic2::XPossibleHyphens
+ for the given word and language if there are any hyphenation
+ positions. `NULL` otherwise.
+
+ @param aWord
+ is the word for which information about the possible
+ hyphenation positions is to be retrieved.
+
+ @param aLocale
+ defines the language of the word.
+
+ <P>If the language is not supported, an IllegalArgumentException
+ exception is raised.</P>
+
+ @param aProperties
+ provides property values to be used for this function call only.
+ It is usually empty in order to use the default values supplied
+ with the property set.
+
+ @see com::sun::star::linguistic2::XPossibleHyphens
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::linguistic2::XPossibleHyphens createPossibleHyphens(
+ [in] string aWord,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl b/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl
new file mode 100644
index 000000000..5408ab076
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLanguageGuessing.idl
@@ -0,0 +1,186 @@
+/* -*- 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_linguistic2_XLanguageGuessing_idl__
+#define __com_sun_star_linguistic2_XLanguageGuessing_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interface allows to guess the language of a text
+
+ <p> The current set of supported languages is:
+ <ul>
+ <li>af : Afrikaans</li>
+ <li>am : Amharic</li>
+ <li>ar : Arabic</li>
+ <li>be : Belarus</li>
+ <li>br : Breton</li>
+ <li>bs : Bosnian</li>
+ <li>ca : Catalan</li>
+ <li>cs : Czech</li>
+ <li>cy : Welsh</li>
+ <li>da : Danish</li>
+ <li>de : German</li>
+ <li>drt : Drents</li>
+ <li>el : Greek</li>
+ <li>en : English</li>
+ <li>eo : Esperanto</li>
+ <li>es : Spanish</li>
+ <li>et : Estonian</li>
+ <li>eu : Basque</li>
+ <li>fa : Persian</li>
+ <li>fi : Finnish</li>
+ <li>fr : French</li>
+ <li>fy : Frisian</li>
+ <li>ga : Irish Gaelic</li>
+ <li>gd : Scots Gaelic</li>
+ <li>gv : Manx Gaelic</li>
+ <li>he : Hebrew</li>
+ <li>hi : Hindi</li>
+ <li>hr : Croatian</li>
+ <li>hu : Hungarian</li>
+ <li>hy : Armenian</li>
+ <li>id : Indonesian</li>
+ <li>is : Icelandic</li>
+ <li>it : Italian</li>
+ <li>ja : Japanese</li>
+ <li>ka : Georgian</li>
+ <li>ko : Korean</li>
+ <li>la : Latin</li>
+ <li>lb : Luxembourgish (added with OOo 3.3)</li>
+ <li>lt : Lithuanian</li>
+ <li>lv : Latvian</li>
+ <li>mr : Marathi</li>
+ <li>ms : Malay</li>
+ <li>ne : Nepali</li>
+ <li>nl : Dutch</li>
+ <li>nb : Norwegian (Bokmal)</li>
+ <li>pl : Polish</li>
+ <li>pt-PT : Portuguese (Portugal)</li>
+ <li>qu : Quechua</li>
+ <li>rm : Romansh</li>
+ <li>ro : Romanian</li>
+ <li>ru : Russian</li>
+ <li>sa : Sanskrit</li>
+ <li>sco : Scots</li>
+ <li>sh : Serbian (written with latin characters)</li>
+ <li>sk-SK : Slovak (written with Latin characters)</li>
+ <li>sl : Slovenian</li>
+ <li>sq : Albanian</li>
+ <li>sr : Serbian (written with cyrillic characters) (added with OOo 3.4)</li>
+ <li>sv : Swedish</li>
+ <li>sw : Swahili</li>
+ <li>ta : Tamil</li>
+ <li>th : Thai</li>
+ <li>tl : Tagalog</li>
+ <li>tr : Turkish</li>
+ <li>uk : Ukrainian</li>
+ <li>vi : Vietnamese</li>
+ <li>yi : Yiddish</li>
+ <li>zh-CN : Chinese (simplified)</li>
+ <li>zh-TW : Chinese (traditional)</li>
+ </ul>
+
+ </p>
+
+ @since OOo 2.2
+ */
+interface XLanguageGuessing
+{
+ /** determines the single most probable language of a sub-string.
+
+ <p>Please note that because statistical analysis is part
+ of the algorithm the likelihood to get the correct
+ result increases with the length of the sub-string.
+ A word is much less likely guessed correctly compared to
+ a sentence or even a whole paragraph.</p>
+
+ <p>Also note that some languages are that "close" to each other
+ that it will be quite unlikely to find a difference in them,
+ e.g. English (UK), English (IE) and English (AUS) and
+ most likely English (US) as well. And thus the result may
+ be arbitrary.</p>
+
+ @returns
+ the locale for the language identified.
+ If no language could be identified the locale will be empty.
+
+ @param aText
+ all the text including the part that should checked.
+
+ @param nStartPos
+ specifies the starting index of the sub-string to be checked
+ The value must met 0 <= nStartPos < (length of text - 1).
+
+ @param nLen
+ specifies the length of the sub-string to be checked.
+ The value must met 0 <= nLen <= (length of text).
+
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::lang::Locale guessPrimaryLanguage(
+ [in] string aText,
+ [in] long nStartPos,
+ [in] long nLen )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** allows to explicitly discard some languages from the set of
+ languages possibly returned.
+
+ <p>By default all languages are enabled.</p>
+ */
+ void disableLanguages(
+ [in] sequence< com::sun::star::lang::Locale > aLanguages )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** allows to explicitly re-enable some languages that got previously
+ disabled.
+
+ <p>By default all languages are enabled.</p>
+ */
+ void enableLanguages(
+ [in] sequence< com::sun::star::lang::Locale > aLanguages )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** returns a list of all supported languages.
+
+ <p>This should be the same as the mathematical union of
+ all enabled and disabled languages.</p>
+ */
+ sequence< com::sun::star::lang::Locale > getAvailableLanguages();
+
+ /** returns the list of all enabled languages
+ */
+ sequence< com::sun::star::lang::Locale > getEnabledLanguages();
+
+ /** returns the list of all disabled languages
+ */
+ sequence< com::sun::star::lang::Locale > getDisabledLanguages();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XLinguProperties.idl b/offapi/com/sun/star/linguistic2/XLinguProperties.idl
new file mode 100644
index 000000000..5bbaf91f0
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguProperties.idl
@@ -0,0 +1,124 @@
+/* -*- 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_linguistic2_XLinguProperties_idl__
+#define __com_sun_star_linguistic2_XLinguProperties_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/**
+ Interface for LinguProperties service.
+
+ @since LibreOffice 4.1
+*/
+published interface XLinguProperties
+{
+ interface com::sun::star::beans::XPropertySet;
+
+ /** defines if the dictionary-list should be used for spell checking
+ and hyphenation or not.
+ */
+ [attribute] boolean IsUseDictionaryList;
+
+ /** defines if control characters should be ignored or not, by the linguistic
+ (i.e., spell checker, hyphenator and thesaurus).
+ */
+ [attribute] boolean IsIgnoreControlCharacters;
+
+ /** defines if words with only uppercase letters should be
+ subject to spell checking or not.
+ */
+ [attribute] boolean IsSpellUpperCase;
+
+ /** defines if words containing digits (or numbers) should be
+ subject to spell checking or not.
+ */
+ [attribute] boolean IsSpellWithDigits;
+
+ /** defines if the capitalization of words should be checked or not.
+
+ @deprecated
+ */
+ [attribute] boolean IsSpellCapitalization;
+
+ /** the minimum number of characters of a word to remain before the
+ hyphen when doing hyphenation.
+ */
+ [attribute] short HyphMinLeading;
+
+ /** the minimum number of characters of a word to remain after the
+ hyphen when doing hyphenation.
+ */
+ [attribute] short HyphMinTrailing;
+
+ /** the minimum length of a word in order to be hyphenated.
+ */
+ [attribute] short HyphMinWordLength;
+
+ /** the default western language for new documents.
+ */
+ [attribute] com::sun::star::lang::Locale DefaultLocale;
+
+ /** defines whether interactive hyphenation should be performed without
+ requiring the user to select every hyphenation position after the user
+ has triggered the hyphenation.
+ */
+ [attribute] boolean IsHyphAuto;
+
+ /** defines whether hyphenation should be done in special regions of
+ documents or not.
+ */
+ [attribute] boolean IsHyphSpecial;
+
+ /** indicates whether spell checking should be done automatically or not.
+ */
+ [attribute] boolean IsSpellAuto;
+
+ /** defines whether spell checking should be done in special regions of
+ documents or not.
+ */
+ [attribute] boolean IsSpellSpecial;
+
+ /** defines whether spell checking should be done in reverse
+ direction or not.
+ */
+ [attribute] boolean IsWrapReverse;
+
+ /** the default language for CJK languages.
+ */
+ [attribute] com::sun::star::lang::Locale DefaultLocale_CJK;
+
+ /** the default language for CTL languages.
+ */
+ [attribute] com::sun::star::lang::Locale DefaultLocale_CTL;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XLinguServiceEventBroadcaster.idl b/offapi/com/sun/star/linguistic2/XLinguServiceEventBroadcaster.idl
new file mode 100644
index 000000000..9a5af31f1
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguServiceEventBroadcaster.idl
@@ -0,0 +1,76 @@
+/* -*- 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_linguistic2_XLinguServiceEventBroadcaster_idl__
+#define __com_sun_star_linguistic2_XLinguServiceEventBroadcaster_idl__
+
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/linguistic2/XLinguServiceEventListener.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** is used to register a listener for LinguServiceEvents.
+
+ <P>This interface may be used by spell checker or hyphenator
+ implementations to allow clients to be registered and informed about
+ com::sun::star::linguistic2::LinguServiceEvents.
+ </P>
+
+ <P>Note: The LinguServiceManager forwards the
+ com::sun::star::linguistic2::LinguServiceEvents
+ it receives (from spell checkers or hyphenators) to its own listeners.
+ Thus, there should be no need to register
+ as a listener for a specific implementation./P>
+
+ @see com::sun::star::linguistic2::XLinguServiceManager
+ @see com::sun::star::linguistic2::XLinguServiceEventListener
+*/
+published interface XLinguServiceEventBroadcaster : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ `TRUE` if the listener was successfully added,
+ `FALSE` otherwise.
+
+ @param xLstnr
+ the listener to be added.
+ */
+ boolean addLinguServiceEventListener (
+ [in] com::sun::star::linguistic2::XLinguServiceEventListener xLstnr );
+
+ /**
+ @returns
+ `TRUE` if the listener was successfully removed,
+ `FALSE` otherwise.
+
+ @param xLstnr
+ the listener to be removed.
+ */
+ boolean removeLinguServiceEventListener (
+ [in] com::sun::star::linguistic2::XLinguServiceEventListener xLstnr );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XLinguServiceEventListener.idl b/offapi/com/sun/star/linguistic2/XLinguServiceEventListener.idl
new file mode 100644
index 000000000..ff5b9493c
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguServiceEventListener.idl
@@ -0,0 +1,55 @@
+/* -*- 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_linguistic2_XLinguServiceEventListener_idl__
+#define __com_sun_star_linguistic2_XLinguServiceEventListener_idl__
+
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/linguistic2/LinguServiceEvent.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** is used to inform listeners about LinguServiceEvents.
+
+ <P>The function of this interface is used by the
+ com::sun::star::linguistic2::XLinguServiceEventBroadcaster
+ to inform its listeners about the
+ com::sun::star::linguistic2::LinguServiceEvents.
+ </P>
+
+ @see com::sun::star::linguistic2::XLinguServiceManager
+*/
+published interface XLinguServiceEventListener : com::sun::star::lang::XEventListener
+{
+ /**
+ @param aLngSvcEvent
+ the event the listener will be informed about.
+ */
+ void processLinguServiceEvent(
+ [in] com::sun::star::linguistic2::LinguServiceEvent aLngSvcEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XLinguServiceManager.idl b/offapi/com/sun/star/linguistic2/XLinguServiceManager.idl
new file mode 100644
index 000000000..55faa12a9
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguServiceManager.idl
@@ -0,0 +1,166 @@
+/* -*- 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_linguistic2_XLinguServiceManager_idl__
+#define __com_sun_star_linguistic2_XLinguServiceManager_idl__
+
+
+#include <com/sun/star/linguistic2/XSpellChecker.idl>
+#include <com/sun/star/linguistic2/XHyphenator.idl>
+#include <com/sun/star/linguistic2/XThesaurus.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** the basic interface to be used to access linguistic functionality.
+
+ <P>This interface is used to access spell checker, hyphenator, and
+ thesaurus functionality.
+ Additionally, it can query what implementations of those services are
+ available (for specific languages or in general).
+ It can select and query which of those implementations should
+ be used for a specific language.</P>
+
+ <P>
+ For spell checking and thesaurus, the order in the list defines the order
+ of creation/usage of those services.
+ That is, if the first spell checker implementation does not recognize
+ the given word as correct, the second service implementation for that
+ language is created and gets queried. If that one fails, the third one
+ gets created and queried and so on.
+ This chain stops if an implementation reports the word as correct or the
+ end of the list is reached, in which case the word is reported as incorrect.
+ </P>
+
+ <P> For the thesaurus, the behavior is the same when no meaning was found.
+ </P>
+
+ @see com::sun::star::linguistic2::SpellChecker
+ @see com::sun::star::linguistic2::Hyphenator
+ @see com::sun::star::linguistic2::Thesaurus
+*/
+published interface XLinguServiceManager : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the com::sun::star::linguistic2::XSpellChecker
+ interface to be used for spell checking.
+ */
+ com::sun::star::linguistic2::XSpellChecker getSpellChecker();
+
+ /**
+ @returns
+ the com::sun::star::linguistic2::XHyphenator
+ interface to be used for hyphenation.
+ */
+ com::sun::star::linguistic2::XHyphenator getHyphenator();
+
+ /**
+ @returns
+ the com::sun::star::linguistic2::XThesaurus
+ interface to be used for thesaurus functionality.
+ */
+ com::sun::star::linguistic2::XThesaurus getThesaurus();
+
+ /** adds a listener to the list of event listeners.
+
+ <P>The listeners may support one or both of
+ com::sun::star::linguistic2::XDictionaryEventListener
+ and
+ com::sun::star::linguistic2::XLinguServiceEventListener
+ interfaces.
+ </P>
+
+ @returns
+ `TRUE` if the listener was successfully added, `FALSE` otherwise.
+
+ @param xListener
+ the listener to be added.
+ */
+ boolean addLinguServiceManagerListener(
+ [in] com::sun::star::lang::XEventListener xListener );
+
+ /** removes a listener from the list of event listeners.
+
+ @returns
+ `TRUE` if the listener was successfully removed, `FALSE` otherwise.
+
+ @param xListener
+ the listener to be removed.
+ */
+ boolean removeLinguServiceManagerListener(
+ [in] com::sun::star::lang::XEventListener xListener );
+
+ /**
+ @returns
+ the list of implementation names of the available services.
+
+ @param aServiceName
+ the name of the service requesting the list of available
+ implementations.
+
+ @param aLocale
+ the language used to query the list of available implementations.
+ */
+ sequence< string > getAvailableServices(
+ [in] string aServiceName,
+ [in] com::sun::star::lang::Locale aLocale );
+
+ /** sets the list of service implementations to be used for a
+ given service and language.
+
+ @param aServiceName
+ the name of the service to set the list of implementations
+ to be used.
+
+ @param aLocale
+ the language to set the list.
+
+ @param aServiceImplNames
+ the name of the service to set the list.
+ */
+ void setConfiguredServices(
+ [in] string aServiceName,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] sequence< string > aServiceImplNames );
+
+ /** queries the list of service implementations to be used for a
+ given service and language.
+
+ @returns
+ the list of implementation names of the services to be used.
+
+ @param aServiceName
+ the name of the service to get queried.
+
+ @param aLocale
+ the language to get queried.
+ */
+ sequence< string > getConfiguredServices(
+ [in] string aServiceName,
+ [in] com::sun::star::lang::Locale aLocale );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XLinguServiceManager2.idl b/offapi/com/sun/star/linguistic2/XLinguServiceManager2.idl
new file mode 100644
index 000000000..7cb066664
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XLinguServiceManager2.idl
@@ -0,0 +1,46 @@
+/* -*- 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_linguistic2_XLinguServiceManager2_idl__
+#define __com_sun_star_linguistic2_XLinguServiceManager2_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/linguistic2/XLinguServiceManager.idl>
+#include <com/sun/star/linguistic2/XAvailableLocales.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/**
+ Provides a unified interface for the LinguServiceManager service to implement.
+
+ @since LibreOffice 4.0
+*/
+published interface XLinguServiceManager2
+{
+ interface com::sun::star::linguistic2::XLinguServiceManager;
+ interface com::sun::star::linguistic2::XAvailableLocales;
+ interface com::sun::star::lang::XComponent;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XMeaning.idl b/offapi/com/sun/star/linguistic2/XMeaning.idl
new file mode 100644
index 000000000..04fc8dc10
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XMeaning.idl
@@ -0,0 +1,59 @@
+/* -*- 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_linguistic2_XMeaning_idl__
+#define __com_sun_star_linguistic2_XMeaning_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** one of the possible meanings for a word.
+
+ <P> Represents one of the possible meanings that may be returned from a
+ com::sun::star::linguistic2::XThesaurus::queryMeanings()
+ call and allows for retrieval of its synonyms.
+ </P>
+
+ @see com::sun::star::linguistic2::XThesaurus
+ */
+published interface XMeaning : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the meaning represented by this object.
+ */
+ string getMeaning();
+
+ /**
+ @returns
+ a sequence of strings where each entry is a synonym of the
+ current objects meaning.
+ */
+ sequence<string> querySynonyms();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XNumberText.idl b/offapi/com/sun/star/linguistic2/XNumberText.idl
new file mode 100644
index 000000000..fe373a66c
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XNumberText.idl
@@ -0,0 +1,138 @@
+/* -*- 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_linguistic2_XNumberText_idl__
+#define __com_sun_star_linguistic2_XNumberText_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interface allows to spell out numbers and money amounts
+
+ <p> The current set of supported languages is:
+ <ul>
+ <li>af : Afrikaans</li>
+ <li>bg : Bulgarian</li>
+ <li>ca : Catalan</li>
+ <li>cs : Czech</li>
+ <li>da : Danish</li>
+ <li>de : German</li>
+ <li>de-CH : Swiss Standard German</li>
+ <li>de-LI : Swiss Standard German</li>
+ <li>el : Greek</li>
+ <li>en : English</li>
+ <li>en-AU : Australian English</li>
+ <li>en-GB : British English</li>
+ <li>en-IE : Irish English</li>
+ <li>en-NZ : New Zealand English</li>
+ <li>eo : Esperanto</li>
+ <li>es : Spanish</li>
+ <li>et : Estonian</li>
+ <li>fa : Persian (Farsi)</li>
+ <li>fi : Finnish</li>
+ <li>fr : French</li>
+ <li>fr-BE : Belgian French</li>
+ <li>fr-CH : Swiss French</li>
+ <li>ga : Irish</li>
+ <li>gl : Galician</li>
+ <li>he : Hebrew</li>
+ <li>hr : Croatian</li>
+ <li>hu : Hungarian</li>
+ <li>hu-Hung : Old Hungarian</li>
+ <li>id : Indonesian</li>
+ <li>is : Icelandic</li>
+ <li>it : Italian</li>
+ <li>ja : Japanese</li>
+ <li>ko-KP : North-Korean</li>
+ <li>ko-KR : South-Korean</li>
+ <li>lb : Luxembourgish</li>
+ <li>lg : Luganda</li>
+ <li>lt : Lithuanian</li>
+ <li>lv : Latvian</li>
+ <li>mr : Marathi</li>
+ <li>ms : Malay</li>
+ <li>mt : Maltese</li>
+ <li>mul : multiple languages (footnote numbering styles)</li>
+ <li>nb : Bokmål (Norwegian)</li>
+ <li>nl : Dutch</li>
+ <li>nn : Nynorsk (Norwegian)</li>
+ <li>no : Norwegian (Bokmål)</li>
+ <li>pl : Polish</li>
+ <li>pt-BR : Portuguese (Brasilian)</li>
+ <li>pt-PT : Portuguese (Portugal)</li>
+ <li>ro : Romanian</li>
+ <li>Roman : Roman numbers</li>
+ <li>ru : Russian</li>
+ <li>sh : Serbian (written with latin characters)</li>
+ <li>sl : Slovenian</li>
+ <li>sq : Albanian</li>
+ <li>sr : Serbian (written with cyrillic characters) (added with OOo 3.4)</li>
+ <li>Suzhou : Suzhou numerals</li>
+ <li>sv : Swedish</li>
+ <li>th : Thai</li>
+ <li>tr : Turkish</li>
+ <li>uk : Ukrainian</li>
+ <li>vi : Vietnamese</li>
+ <li>zh : Chinese</li>
+ </ul>
+
+ </p>
+
+ @since LibreOffice 6.1
+ */
+interface XNumberText
+{
+ /** spell out numbers and money amounts
+
+ <p>Please note that text argument can contain prefixes separated by space,
+ for example "ordinal" for ordinal numbers, "ordinal-number" for ordinal
+ indicators and ISO 4217 currency codes.
+
+ Language modules list the supported prefixes by the input text "help".</p>
+
+ @returns
+ the result of the number name conversion.
+
+ @param aText
+ all the text including the part that should converted.
+
+ @param aLocale
+ the locale for the target language of the number name conversion.
+
+ @see com::sun::star::lang::Locale
+ */
+ string getNumberText(
+ [in] string aText,
+ [in] com::sun::star::lang::Locale aLocale )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** returns a list of all supported languages.
+ */
+ sequence< com::sun::star::lang::Locale > getAvailableLanguages();
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XPossibleHyphens.idl b/offapi/com/sun/star/linguistic2/XPossibleHyphens.idl
new file mode 100644
index 000000000..eb925f6ec
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XPossibleHyphens.idl
@@ -0,0 +1,84 @@
+/* -*- 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_linguistic2_XPossibleHyphens_idl__
+#define __com_sun_star_linguistic2_XPossibleHyphens_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** Gives information about a word's possible hyphenation points.
+
+ <P>Example: In German pre-spelling-reform you may have the following:
+ getWord: Dampfschiffahrt
+ getPossibleHyphens: Dampf=schiff=fahrt
+ getOrigHyphensPositions: 4, 9
+ That is "Dampfschiffahrt" can be hyphenated after the "pf" (4) and
+ between the double "ff" (9). And if you are going to hyphenate it at
+ position 9 you will get an additional "f" before the hyphen
+ character.</P>
+
+ @see com::sun::star::linguistic2::XHyphenator
+*/
+published interface XPossibleHyphens : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the word for which the information of possible hyphenation
+ points was obtained.
+ */
+ string getWord();
+
+ /** @returns
+ the language of the hyphenated word.
+
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::lang::Locale getLocale();
+
+ /**
+ @returns
+ a string depicting the word with all hyphen positions
+ which are represented by "=" characters.
+ If there are any alternative spellings, the word will be altered
+ accordingly.
+ */
+ string getPossibleHyphens();
+
+ /**
+ @returns
+ an ascending sequence of numbers where each number is an offset
+ within the original word which denotes a hyphenation
+ position corresponding to one of the hyphens in the
+ string returned by
+ com::sun::star::linguistic2::XPossibleHyphens::getPossibleHyphens().
+ */
+ sequence<short> getHyphenationPositions();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XProofreader.idl b/offapi/com/sun/star/linguistic2/XProofreader.idl
new file mode 100644
index 000000000..ed918a327
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XProofreader.idl
@@ -0,0 +1,110 @@
+/* -*- 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_linguistic2_XProofreader_idl__
+#define __com_sun_star_linguistic2_XProofreader_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/linguistic2/XSupportedLocales.idl>
+#include <com/sun/star/text/XFlatParagraph.idl>
+#include <com/sun/star/linguistic2/ProofreadingResult.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** API for proofreading a text
+
+ @since OOo 3.0.1
+*/
+interface XProofreader: com::sun::star::linguistic2::XSupportedLocales
+{
+
+ /** whether is the text checked by the spell checker
+
+ @returns true if it is also a spell checker
+ */
+ boolean isSpellChecker();
+
+ /** start checking
+
+ @param aDocumentIdentifier
+ the Document ID.
+
+ @param aText
+ the flat text to be checked.
+
+ @param aLocale
+ Language used in the text.
+
+ @param nStartOfSentencePosition
+ Start Index of the text.
+
+ @param nSuggestedBehindEndOfSentencePosition
+ Probable end position of the text.
+
+ @param aProperties
+ additional properties of the text.
+
+ Currently the following properties may be supported:
+ <table>
+ <tr>
+ <td>FieldPositions</td>
+ <td>sequence&lt;long&gt;</td>
+ <td>indexes of fields in aText</td>
+ </tr>
+ <tr>
+ <td>FootnotePositions</td>
+ <td>sequence&lt;long&gt;</td>
+ <td>indexes of footnotes in aText</td>
+ </tr>
+ </table>
+
+ @throws IllegalArgumentException
+ when any argument is wrong.
+ */
+ ProofreadingResult doProofreading( [in] string aDocumentIdentifier,
+ [in] string aText,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] long nStartOfSentencePosition,
+ [in] long nSuggestedBehindEndOfSentencePosition,
+ [in] sequence< com::sun::star::beans::PropertyValue > aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** disables a specific rule for a given locale.
+
+ <p>If the locale is empty the rule should be ignored for all languages.</p>
+ */
+ void ignoreRule( [in] string aRuleIdentifier,
+ [in] com::sun::star::lang::Locale aLocale )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** sets all rules back to their default settings.
+ */
+ void resetIgnoreRules();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XProofreadingIterator.idl b/offapi/com/sun/star/linguistic2/XProofreadingIterator.idl
new file mode 100644
index 000000000..063c1d0b3
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XProofreadingIterator.idl
@@ -0,0 +1,109 @@
+/* -*- 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_linguistic2_XProofreadingIterator_idl__
+#define __com_sun_star_linguistic2_XProofreadingIterator_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/text/XFlatParagraphIteratorProvider.idl>
+#include <com/sun/star/text/XFlatParagraph.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/linguistic2/ProofreadingResult.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** API for the proofreading iterator that mediates between the document and the proofreader.
+
+ @since OOo 3.0.1
+*/
+interface XProofreadingIterator: com::sun::star::uno::XInterface
+{
+ /** start proofreading and automatically process the whole text
+
+ @param xDocument
+ the text document.
+
+ @param xIteratorProvider
+ the flat paragraph iterator provider.
+
+ @throws IllegalArgumentException
+ when any argument is wrong.
+ */
+ void startProofreading( [in] com::sun::star::uno::XInterface xDocument,
+ [in] com::sun::star::text::XFlatParagraphIteratorProvider xIteratorProvider )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** start proofreading from a given position
+
+ @param xDocument
+ the document.
+
+ @param xFlatParagraph
+ the single flat paragraph to be checked.
+
+ @param aText
+ the text of the paragraph to be checked.
+
+ @param aLocale
+ currently unused parameter.
+
+ @param nStartOfSentencePosition
+ the start position of the current sentence.
+
+ @param nSuggestedBehindEndOfSentencePosition
+ currently unused parameter.
+
+ @param nErrorPositionInParagraph
+ the given index.
+
+ @throws IllegalArgumentException
+ when any argument is wrong.
+ */
+
+ ProofreadingResult checkSentenceAtPosition( [in] com::sun::star::uno::XInterface xDocument,
+ [in] com::sun::star::text::XFlatParagraph xFlatParagraph,
+ [in] string aText,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] long nStartOfSentencePosition,
+ [in] long nSuggestedBehindEndOfSentencePosition,
+ [in] long nErrorPositionInParagraph )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** clears the list of ignored rules for each proofreader
+ */
+ void resetIgnoreRules();
+
+ /** checks if the given document is currently being checked
+
+ @param xDocument
+ the document.
+
+ @returns
+ if the document is currently being checked.
+ */
+ boolean isProofreading( [in] com::sun::star::uno::XInterface xDocument );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSearchableDictionary.idl b/offapi/com/sun/star/linguistic2/XSearchableDictionary.idl
new file mode 100644
index 000000000..a44885412
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSearchableDictionary.idl
@@ -0,0 +1,55 @@
+/* -*- 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_linguistic2_XSearchableDictionary_idl__
+#define __com_sun_star_linguistic2_XSearchableDictionary_idl__
+
+#include <com/sun/star/linguistic2/XDictionary.idl>
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interfaces allows to retrieve suggestions for spell checking from a dictionary.
+
+*/
+interface XSearchableDictionary : com::sun::star::linguistic2::XDictionary
+{
+ /** search for similar entries in the dictionary.
+
+ @param aWord
+ the word to find similar written entries for.
+
+ @returns
+ the list of similar entries found.
+
+ @see com::sun::star::linguistic2::XDictionaryEntry
+ @see com::sun::star::linguistic2::XSearchableDictionaryList
+ @since OOo 3.0.1
+ */
+ sequence< com::sun::star::linguistic2::XDictionaryEntry > searchSimilarEntries( [in] string aWord );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSearchableDictionaryList.idl b/offapi/com/sun/star/linguistic2/XSearchableDictionaryList.idl
new file mode 100644
index 000000000..02ff11cd3
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSearchableDictionaryList.idl
@@ -0,0 +1,76 @@
+/* -*- 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_linguistic2_XSearchableDictionaryList_idl__
+#define __com_sun_star_linguistic2_XSearchableDictionaryList_idl__
+
+
+#include <com/sun/star/linguistic2/XDictionaryList.idl>
+#include <com/sun/star/linguistic2/XDictionaryEntry.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** allows searching for an entry in all dictionaries of the dictionary-list.
+
+ <P> Only active dictionaries of a suitable language will be searched
+ for the entry.
+ The language is suitable if it is the same as the dictionary's language or
+ the dictionary may hold entries of all languages.
+ <P>
+
+ @see com::sun::star::linguistic2::XDictionaryList
+*/
+published interface XSearchableDictionaryList : com::sun::star::linguistic2::XDictionaryList
+{
+ /** looks for an entry for a given word in the list of dictionaries.
+
+ @returns
+ the dictionary entry that was found, `NULL` otherwise.
+
+ @param aWord
+ the word (entry) to be looked for.
+
+ @param aLocale
+ the language of the word to be looked for.
+
+ @param bSearchPosDics
+ `TRUE` if only positive dictionaries should be searched.
+ `FALSE` if only negative dictionaries should be searched.
+
+ @param bSpellEntry
+ `TRUE` if entries for purposes of spell checking are required.
+ `FALSE` if only entries for hyphenation purposes are required.
+*/
+ com::sun::star::linguistic2::XDictionaryEntry queryDictionaryEntry(
+ [in] string aWord ,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] boolean bSearchPosDics,
+ [in] boolean bSpellEntry );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl b/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl
new file mode 100644
index 000000000..09aed304f
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSetSpellAlternatives.idl
@@ -0,0 +1,61 @@
+/* -*- 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_linguistic2_XSetSpellAlternatives_idl__
+#define __com_sun_star_linguistic2_XSetSpellAlternatives_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/**
+ allows to modify the suggestion list returned by a spell checker.
+
+ <P>Basically this is needed to post-add further suggestions while keeping the
+ originally returned reference from the spell checker.
+ E.g. from the user dictionaries.</P>
+
+ @see com::sun::star::linguistic2::XSpellAlternatives
+*/
+interface XSetSpellAlternatives : com::sun::star::uno::XInterface
+{
+ /**
+ set the list of suggestions to be returned.
+
+ @since OOo 3.0.1
+ */
+ void setAlternatives( [in] sequence< string > aAlternatives );
+
+ /**
+ set the type of error found.
+
+ @see com::sun::star::linguistic2::SpellFailure
+ @since OOo 3.0.1
+ */
+ void setFailureType( [in] short nFailureType );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSpellAlternatives.idl b/offapi/com/sun/star/linguistic2/XSpellAlternatives.idl
new file mode 100644
index 000000000..8f5fd67fa
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSpellAlternatives.idl
@@ -0,0 +1,81 @@
+/* -*- 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_linguistic2_XSpellAlternatives_idl__
+#define __com_sun_star_linguistic2_XSpellAlternatives_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** Gives access to the results of failed
+ spell checking attempts and may provide spelling alternatives.
+
+ <P>This is used by the
+ com::sun::star::linguistic2::XSpellChecker::spell()
+ function when the word was not found to be correct.
+ Suggestions for other words to be used may be provided along with
+ a failure-type that may specify why the word was not correct.
+ </P>
+
+ @see com::sun::star::linguistic2::SpellFailure
+*/
+published interface XSpellAlternatives : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the word that was misspelled.
+ */
+ string getWord();
+
+ /**
+ @returns
+ the Locale which specifies the language of the misspelled word.
+ */
+ com::sun::star::lang::Locale getLocale();
+
+ /**
+ @returns
+ the type (reason) for spell checking to have failed verification.
+
+ @see com::sun::star::linguistic2::SpellFailure
+ */
+ short getFailureType();
+
+ /**
+ @returns
+ the number of suggested spelling alternatives available.
+ */
+ short getAlternativesCount();
+
+ /**
+ @returns
+ the sequence of suggested spelling alternatives.
+ */
+ sequence<string> getAlternatives();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSpellChecker.idl b/offapi/com/sun/star/linguistic2/XSpellChecker.idl
new file mode 100644
index 000000000..8fb1525a7
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSpellChecker.idl
@@ -0,0 +1,110 @@
+/* -*- 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_linguistic2_XSpellChecker_idl__
+#define __com_sun_star_linguistic2_XSpellChecker_idl__
+
+#include <com/sun/star/linguistic2/XSupportedLocales.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/linguistic2/XDictionaryList.idl>
+#include <com/sun/star/linguistic2/XSpellAlternatives.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** This interface allows for spell checking.
+
+ <P>It is possible to simply check if a word, in a specified language,
+ is correct or additionally, if it was misspelled, some proposals
+ how it might be correctly written.</P>
+
+ @see com::sun::star::linguistic2::XSupportedLocales
+*/
+published interface XSpellChecker : com::sun::star::linguistic2::XSupportedLocales
+{
+ /** checks if a word is spelled correctly in a given language.
+
+ @returns
+ `TRUE` if the word is spelled correctly using
+ the specified language, `FALSE` otherwise.
+
+ @param aWord
+ the word to be checked.
+
+ @param aLocale
+ the Locale (language) to be used.
+ If the Locale is empty, the word is spelled correctly by
+ definition.
+
+ <P>If <var>aLocale</var> is not supported an
+ IllegalArgumentException exception is raised.</P>
+
+ @param aProperties
+ provides property values to be used for this function call only.
+ It is usually empty in order to use the default values supplied with
+ the property set.
+
+ @see com::sun::star::lang::Locale
+ */
+ boolean isValid(
+ [in] string aWord,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ /** This method checks if a word is spelled correctly in a given
+ language.
+
+ @returns
+ `NULL` if <var>aWord</var> is spelled correctly using
+ <var>aLocale</var>. Otherwise, an XSpellAlternatives
+ object with information about the reason of failure and, if available,
+ proposals for spelling alternatives will be returned.
+
+ @param aWord
+ the word to be checked.
+
+ @param aLocale
+ the language to be used.
+
+ <P>If the language is not supported an IllegalArgumentException exception is raised.
+
+ @param aProperties
+ provides property values to be used for this function call only.
+ It is usually empty in order to use the default values supplied with
+ the property set.
+ exception is raised.</P>
+
+ @see com::sun::star::linguistic2::XSpellAlternatives
+ @see com::sun::star::lang::Locale
+ */
+ com::sun::star::linguistic2::XSpellAlternatives spell(
+ [in] string aWord,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSpellChecker1.idl b/offapi/com/sun/star/linguistic2/XSpellChecker1.idl
new file mode 100644
index 000000000..fe3f45b75
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSpellChecker1.idl
@@ -0,0 +1,54 @@
+/* -*- 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_linguistic2_XSpellChecker1_idl__
+#define __com_sun_star_linguistic2_XSpellChecker1_idl__
+
+#include <com/sun/star/linguistic2/XSupportedLanguages.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/linguistic2/XDictionaryList.idl>
+#include <com/sun/star/linguistic2/XSpellAlternatives.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** @deprecated
+*/
+published interface XSpellChecker1 : com::sun::star::linguistic2::XSupportedLanguages
+{
+ boolean isValid(
+ [in] string aWord,
+ [in] short nLanguage,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+ com::sun::star::linguistic2::XSpellAlternatives spell(
+ [in] string aWord,
+ [in] short nLanguage,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSupportedLanguages.idl b/offapi/com/sun/star/linguistic2/XSupportedLanguages.idl
new file mode 100644
index 000000000..de4793045
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSupportedLanguages.idl
@@ -0,0 +1,44 @@
+/* -*- 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_linguistic2_XSupportedLanguages_idl__
+#define __com_sun_star_linguistic2_XSupportedLanguages_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** @deprecated
+*/
+published interface XSupportedLanguages : com::sun::star::uno::XInterface
+{
+ sequence<short> getLanguages();
+
+ boolean hasLanguage( [in] short nLanguage );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XSupportedLocales.idl b/offapi/com/sun/star/linguistic2/XSupportedLocales.idl
new file mode 100644
index 000000000..025b5b449
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XSupportedLocales.idl
@@ -0,0 +1,66 @@
+/* -*- 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_linguistic2_XSupportedLocales_idl__
+#define __com_sun_star_linguistic2_XSupportedLocales_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** Offers information about which languages are supported by the object.
+
+ <P>This interface has to be implemented by
+ com::sun::star::linguistic2::SpellChecker,
+ com::sun::star::linguistic2::Hyphenator and
+ com::sun::star::linguistic2::Thesaurus
+ implementations in order to be queried for the languages they
+ can use.
+ </P>
+
+ @see com::sun::star::lang::Locale
+ @see com::sun::star::uno::XInterface
+*/
+published interface XSupportedLocales : com::sun::star::uno::XInterface
+{
+ /**
+ @returns
+ the sequence of all supported languages.
+ */
+ sequence<com::sun::star::lang::Locale> getLocales();
+
+ /**
+ @param aLocale
+ specifies the language being checked for support
+ by the object.
+
+ @returns
+ `TRUE` if the language is supported, otherwise `FALSE`.
+ */
+ boolean hasLocale( [in] com::sun::star::lang::Locale aLocale );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/linguistic2/XThesaurus.idl b/offapi/com/sun/star/linguistic2/XThesaurus.idl
new file mode 100644
index 000000000..a42fae4a4
--- /dev/null
+++ b/offapi/com/sun/star/linguistic2/XThesaurus.idl
@@ -0,0 +1,77 @@
+/* -*- 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_linguistic2_XThesaurus_idl__
+#define __com_sun_star_linguistic2_XThesaurus_idl__
+
+#include <com/sun/star/linguistic2/XSupportedLocales.idl>
+#include <com/sun/star/linguistic2/XMeaning.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/beans/PropertyValues.idl>
+
+
+module com { module sun { module star { module linguistic2 {
+
+/** allows for the retrieval of possible meanings for a given word and language.
+
+ <P>
+ The meaning of a word is in essence a descriptive text for that word.
+ Each meaning may have several synonyms where a synonym is a word
+ (or small text) with the same or similar meaning.
+ </P>
+
+ @see com::sun::star::linguistic2::XSupportedLocales
+*/
+published interface XThesaurus : com::sun::star::linguistic2::XSupportedLocales
+{
+ /**
+ @returns
+ a list of meanings for the given word and language.
+
+ @param aTerm
+ the word to query for its meanings.
+
+ @param aLocale
+ specifies the language of the word.
+
+ <P>If the language is not supported, an
+ com::sun::star::lang::IllegalArgumentException
+ exception is raised.</P>
+
+ @param aProperties
+ provides property values to be used for this function call only.
+ It is usually empty in order to use the default values supplied with
+ the property set.
+
+ @see com::sun::star::lang::Locale
+ @see com::sun::star::linguistic2::XMeaning
+ */
+ sequence< com::sun::star::linguistic2::XMeaning > queryMeanings(
+ [in] string aTerm,
+ [in] com::sun::star::lang::Locale aLocale,
+ [in] com::sun::star::beans::PropertyValues aProperties )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */