diff options
Diffstat (limited to '')
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äcker" in German pre spelling-reform becomes + "Bä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<long></td> + <td>indexes of fields in aText</td> + </tr> + <tr> + <td>FootnotePositions</td> + <td>sequence<long></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: */ |