/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef __com_sun_star_linguistic2_XDictionaryList_idl__ #define __com_sun_star_linguistic2_XDictionaryList_idl__ #ifndef __com_sun_star_uno_XInterface_idl__ #include #endif #ifndef __com_sun_star_linguistic2_XDictionary_idl__ #include #endif #ifndef __com_sun_star_linguistic2_XDictionaryListEventListener_idl__ #include #endif //============================================================================= module com { module sun { module star { module linguistic2 { //============================================================================= /** is used to manage and maintain a list of dictionaries.

A dictionary-list may be given to a spellchecker or hyphenator service implementation on their creation in order to supply a set of dictionaries and additional information to be used for those purposes.

@see XDictionary @see 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 XDictionary */ sequence getDictionaries(); //------------------------------------------------------------------------- /** searches the list for a dictionary with a given name. @returns the XDictionary with the specified name. If no such dictionary exists, will be returned. @param aDictionaryName specifies the name of the dictionary to look for. @see XDictionary */ com::sun::star::linguistic2::XDictionary getDictionaryByName( [in] string aDictionaryName ); //------------------------------------------------------------------------- /** adds a dictionary to the list.

Additionally, the dictionary-list will add itself to the list of dictionary event listeners of that dictionary.

@returns if the dictionary was added successfully, otherwise. @param xDictionary the dictionary to be added. @see XDictionary */ boolean addDictionary( [in] com::sun::star::linguistic2::XDictionary xDictionary ); //------------------------------------------------------------------------- /** removes a single dictionary from the list.

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.

@returns if the dictionary was removed successfully, otherwise. @param xDictionary dictionary to be removed from the list of dictionaries. @see XDictionary */ boolean removeDictionary( [in] com::sun::star::linguistic2::XDictionary xDictionary ); //------------------------------------------------------------------------- /** adds an entry to the list of dictionary-list event listeners.

On dictionary-list events, each entry in the listener list will be notified via a call to XDictionaryListEventListener::processDictionaryListEvent.

@returns if the entry was made, otherwise. If XEventListener::disposing was called before, it will always fail. @param xListener the object to be notified of dictionary-list events. @param bReceiveVerbose if the listener requires more detailed event notification than usual. @see XDictionaryListEventListener @see 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 if the object to be removed was found and removed, otherwise. @param xListener the object to be removed from the listener list. @see XDictionaryListEventListener @see XDictionaryListEvent */ boolean removeDictionaryListEventListener( [in] com::sun::star::linguistic2::XDictionaryListEventListener xListener ); //------------------------------------------------------------------------- /** increases request level for event buffering by one.

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.

@returns the current request level for event buffering. @see XDictionaryListEvent @see XDictionaryListEventListener @see XDictionaryList::endCollectEvents @see XDictionaryList::flushEvents */ short beginCollectEvents(); //------------------------------------------------------------------------- /** flushes the event buffer and decreases the request level for event buffering by one.

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 notfied of every single event.

@returns the current request level for event buffering. @see XDictionaryListEvent @see XDictionaryListEventListener @see XDictionaryList::beginCollectEvents @see 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 XDictionaryListEvent @see XDictionaryListEventListener @see XDictionaryList::beginCollectEvents @see XDictionaryList::endCollectEvents */ short flushEvents(); //------------------------------------------------------------------------- /** creates a new dictionary. @returns an empty dictionary with the given name, language and type. 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 XDictionary @see Locale @see 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