1*b1cdbd2cSJim Jagielski/************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_linguistic2_XDictionaryList_idl__ 24*b1cdbd2cSJim Jagielski#define __com_sun_star_linguistic2_XDictionaryList_idl__ 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_uno_XInterface_idl__ 27*b1cdbd2cSJim Jagielski#include <com/sun/star/uno/XInterface.idl> 28*b1cdbd2cSJim Jagielski#endif 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_linguistic2_XDictionary_idl__ 31*b1cdbd2cSJim Jagielski#include <com/sun/star/linguistic2/XDictionary.idl> 32*b1cdbd2cSJim Jagielski#endif 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_linguistic2_XDictionaryListEventListener_idl__ 35*b1cdbd2cSJim Jagielski#include <com/sun/star/linguistic2/XDictionaryListEventListener.idl> 36*b1cdbd2cSJim Jagielski#endif 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski//============================================================================= 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module linguistic2 { 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski//============================================================================= 43*b1cdbd2cSJim Jagielski/** is used to manage and maintain a list of dictionaries. 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielski <P>A dictionary-list may be given to a spellchecker or hyphenator 46*b1cdbd2cSJim Jagielski service implementation on their creation in order to supply a set 47*b1cdbd2cSJim Jagielski of dictionaries and additional information to be used for 48*b1cdbd2cSJim Jagielski those purposes.</P> 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionary</type> 51*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::uno">XInterface</type> 52*b1cdbd2cSJim Jagielski*/ 53*b1cdbd2cSJim Jagielskipublished interface XDictionaryList : com::sun::star::uno::XInterface 54*b1cdbd2cSJim Jagielski{ 55*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 56*b1cdbd2cSJim Jagielski /** 57*b1cdbd2cSJim Jagielski @returns 58*b1cdbd2cSJim Jagielski the number of dictionaries in the list. 59*b1cdbd2cSJim Jagielski */ 60*b1cdbd2cSJim Jagielski short getCount(); 61*b1cdbd2cSJim Jagielski 62*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 63*b1cdbd2cSJim Jagielski /** 64*b1cdbd2cSJim Jagielski @returns 65*b1cdbd2cSJim Jagielski a sequence with an entry for every dictionary 66*b1cdbd2cSJim Jagielski in the list. 67*b1cdbd2cSJim Jagielski 68*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionary</type> 69*b1cdbd2cSJim Jagielski */ 70*b1cdbd2cSJim Jagielski sequence<com::sun::star::linguistic2::XDictionary> getDictionaries(); 71*b1cdbd2cSJim Jagielski 72*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 73*b1cdbd2cSJim Jagielski /** searches the list for a dictionary with a given name. 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski @returns 76*b1cdbd2cSJim Jagielski the XDictionary with the specified name. If no such 77*b1cdbd2cSJim Jagielski dictionary exists, <NULL/> will be returned. 78*b1cdbd2cSJim Jagielski 79*b1cdbd2cSJim Jagielski @param aDictionaryName 80*b1cdbd2cSJim Jagielski specifies the name of the dictionary to look for. 81*b1cdbd2cSJim Jagielski 82*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionary</type> 83*b1cdbd2cSJim Jagielski */ 84*b1cdbd2cSJim Jagielski com::sun::star::linguistic2::XDictionary getDictionaryByName( 85*b1cdbd2cSJim Jagielski [in] string aDictionaryName ); 86*b1cdbd2cSJim Jagielski 87*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 88*b1cdbd2cSJim Jagielski /** adds a dictionary to the list. 89*b1cdbd2cSJim Jagielski 90*b1cdbd2cSJim Jagielski <P>Additionally, the dictionary-list will add itself to the list of dictionary 91*b1cdbd2cSJim Jagielski event listeners of that dictionary.</P> 92*b1cdbd2cSJim Jagielski 93*b1cdbd2cSJim Jagielski @returns 94*b1cdbd2cSJim Jagielski <TRUE/> if the dictionary was added successfully, 95*b1cdbd2cSJim Jagielski <FALSE/> otherwise. 96*b1cdbd2cSJim Jagielski 97*b1cdbd2cSJim Jagielski @param xDictionary 98*b1cdbd2cSJim Jagielski the dictionary to be added. 99*b1cdbd2cSJim Jagielski 100*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionary</type> 101*b1cdbd2cSJim Jagielski */ 102*b1cdbd2cSJim Jagielski boolean addDictionary( 103*b1cdbd2cSJim Jagielski [in] com::sun::star::linguistic2::XDictionary xDictionary ); 104*b1cdbd2cSJim Jagielski 105*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 106*b1cdbd2cSJim Jagielski /** removes a single dictionary from the list. 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski <P>If the dictionary is still active, it will be deactivated 109*b1cdbd2cSJim Jagielski first. The dictionary-list will remove itself from the list of 110*b1cdbd2cSJim Jagielski dictionary event listeners of the dictionary.</P> 111*b1cdbd2cSJim Jagielski 112*b1cdbd2cSJim Jagielski @returns 113*b1cdbd2cSJim Jagielski <TRUE/> if the dictionary was removed successfully, <FALSE/> 114*b1cdbd2cSJim Jagielski otherwise. 115*b1cdbd2cSJim Jagielski 116*b1cdbd2cSJim Jagielski @param xDictionary 117*b1cdbd2cSJim Jagielski dictionary to be removed from the list of dictionaries. 118*b1cdbd2cSJim Jagielski 119*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionary</type> 120*b1cdbd2cSJim Jagielski */ 121*b1cdbd2cSJim Jagielski boolean removeDictionary( 122*b1cdbd2cSJim Jagielski [in] com::sun::star::linguistic2::XDictionary xDictionary ); 123*b1cdbd2cSJim Jagielski 124*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 125*b1cdbd2cSJim Jagielski /** adds an entry to the list of dictionary-list event listeners. 126*b1cdbd2cSJim Jagielski 127*b1cdbd2cSJim Jagielski <P>On dictionary-list events, each entry in the listener list will 128*b1cdbd2cSJim Jagielski be notified via a call to 129*b1cdbd2cSJim Jagielski <member scope="com::sun::star::linguistic2">XDictionaryListEventListener::processDictionaryListEvent</member>.</P> 130*b1cdbd2cSJim Jagielski 131*b1cdbd2cSJim Jagielski @returns 132*b1cdbd2cSJim Jagielski <TRUE/> if the entry was made, <FALSE/> otherwise. 133*b1cdbd2cSJim Jagielski If <member scope="com::sun::star::lang">XEventListener::disposing</member> 134*b1cdbd2cSJim Jagielski was called before, it will always fail. 135*b1cdbd2cSJim Jagielski 136*b1cdbd2cSJim Jagielski @param xListener 137*b1cdbd2cSJim Jagielski the object to be notified of dictionary-list events. 138*b1cdbd2cSJim Jagielski 139*b1cdbd2cSJim Jagielski @param bReceiveVerbose 140*b1cdbd2cSJim Jagielski <TRUE/> if the listener requires more detailed event 141*b1cdbd2cSJim Jagielski notification than usual. 142*b1cdbd2cSJim Jagielski 143*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type> 144*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryListEvent</type> 145*b1cdbd2cSJim Jagielski */ 146*b1cdbd2cSJim Jagielski boolean addDictionaryListEventListener( 147*b1cdbd2cSJim Jagielski [in] com::sun::star::linguistic2::XDictionaryListEventListener xListener, 148*b1cdbd2cSJim Jagielski [in] boolean bReceiveVerbose ); 149*b1cdbd2cSJim Jagielski 150*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 151*b1cdbd2cSJim Jagielski /** removes an entry from the list of dictionary-list event listeners. 152*b1cdbd2cSJim Jagielski 153*b1cdbd2cSJim Jagielski @returns 154*b1cdbd2cSJim Jagielski <TRUE/> if the object to be removed was found and removed, 155*b1cdbd2cSJim Jagielski <FALSE/> otherwise. 156*b1cdbd2cSJim Jagielski 157*b1cdbd2cSJim Jagielski @param xListener 158*b1cdbd2cSJim Jagielski the object to be removed from the listener list. 159*b1cdbd2cSJim Jagielski 160*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type> 161*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryListEvent</type> 162*b1cdbd2cSJim Jagielski */ 163*b1cdbd2cSJim Jagielski boolean removeDictionaryListEventListener( 164*b1cdbd2cSJim Jagielski [in] com::sun::star::linguistic2::XDictionaryListEventListener xListener ); 165*b1cdbd2cSJim Jagielski 166*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 167*b1cdbd2cSJim Jagielski /** increases request level for event buffering by one. 168*b1cdbd2cSJim Jagielski 169*b1cdbd2cSJim Jagielski <P>The request level for event buffering is an integer 170*b1cdbd2cSJim Jagielski counter that is initially set to 0. 171*b1cdbd2cSJim Jagielski As long as the request level is not 0, events will be buffered 172*b1cdbd2cSJim Jagielski until the next flushing of the buffer.</P> 173*b1cdbd2cSJim Jagielski 174*b1cdbd2cSJim Jagielski @returns 175*b1cdbd2cSJim Jagielski the current request level for event buffering. 176*b1cdbd2cSJim Jagielski 177*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryListEvent</type> 178*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type> 179*b1cdbd2cSJim Jagielski @see <member scope="com::sun::star::linguistic2">XDictionaryList::endCollectEvents</member> 180*b1cdbd2cSJim Jagielski @see <member scope="com::sun::star::linguistic2">XDictionaryList::flushEvents</member> 181*b1cdbd2cSJim Jagielski */ 182*b1cdbd2cSJim Jagielski short beginCollectEvents(); 183*b1cdbd2cSJim Jagielski 184*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 185*b1cdbd2cSJim Jagielski /** flushes the event buffer and decreases the request level for 186*b1cdbd2cSJim Jagielski event buffering by one. 187*b1cdbd2cSJim Jagielski 188*b1cdbd2cSJim Jagielski <P>There should be one matching endCollectEvents call for every 189*b1cdbd2cSJim Jagielski beginCollectEvents call. Usually you will group these around 190*b1cdbd2cSJim Jagielski some code where you do not wish to get notfied of every single 191*b1cdbd2cSJim Jagielski event.</P> 192*b1cdbd2cSJim Jagielski 193*b1cdbd2cSJim Jagielski @returns 194*b1cdbd2cSJim Jagielski the current request level for event buffering. 195*b1cdbd2cSJim Jagielski 196*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryListEvent</type> 197*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type> 198*b1cdbd2cSJim Jagielski @see <member scope="com::sun::star::linguistic2">XDictionaryList::beginCollectEvents</member> 199*b1cdbd2cSJim Jagielski @see <member scope="com::sun::star::linguistic2">XDictionaryList::flushEvents</member> 200*b1cdbd2cSJim Jagielski */ 201*b1cdbd2cSJim Jagielski short endCollectEvents(); 202*b1cdbd2cSJim Jagielski 203*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 204*b1cdbd2cSJim Jagielski /** notifies the listeners of all buffered events and then clears 205*b1cdbd2cSJim Jagielski that buffer. 206*b1cdbd2cSJim Jagielski 207*b1cdbd2cSJim Jagielski @returns 208*b1cdbd2cSJim Jagielski the current request level for event buffering. 209*b1cdbd2cSJim Jagielski 210*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryListEvent</type> 211*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryListEventListener</type> 212*b1cdbd2cSJim Jagielski @see <member scope="com::sun::star::linguistic2">XDictionaryList::beginCollectEvents</member> 213*b1cdbd2cSJim Jagielski @see <member scope="com::sun::star::linguistic2">XDictionaryList::endCollectEvents</member> 214*b1cdbd2cSJim Jagielski */ 215*b1cdbd2cSJim Jagielski short flushEvents(); 216*b1cdbd2cSJim Jagielski 217*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 218*b1cdbd2cSJim Jagielski /** creates a new dictionary. 219*b1cdbd2cSJim Jagielski 220*b1cdbd2cSJim Jagielski @returns 221*b1cdbd2cSJim Jagielski an empty dictionary with the given name, language and type. 222*b1cdbd2cSJim Jagielski <NULL/> on failure. 223*b1cdbd2cSJim Jagielski 224*b1cdbd2cSJim Jagielski @param aName 225*b1cdbd2cSJim Jagielski is the name of the dictionary (should be unique). 226*b1cdbd2cSJim Jagielski 227*b1cdbd2cSJim Jagielski @param aLocale 228*b1cdbd2cSJim Jagielski defines the language of the dictionary. 229*b1cdbd2cSJim Jagielski Use an empty aLocale for dictionaries which may contain 230*b1cdbd2cSJim Jagielski entries of all languages. 231*b1cdbd2cSJim Jagielski 232*b1cdbd2cSJim Jagielski @param eDicType 233*b1cdbd2cSJim Jagielski specifies the type of the dictionary. 234*b1cdbd2cSJim Jagielski 235*b1cdbd2cSJim Jagielski @param aURL 236*b1cdbd2cSJim Jagielski is the URL of the location where the dictionary is persistent, 237*b1cdbd2cSJim Jagielski if the XStorable interface is supported. 238*b1cdbd2cSJim Jagielski It may be empty, which means the dictionary will not be persistent. 239*b1cdbd2cSJim Jagielski 240*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionary</type> 241*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::lang">Locale</type> 242*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">DictionaryType</type> 243*b1cdbd2cSJim Jagielski */ 244*b1cdbd2cSJim Jagielski com::sun::star::linguistic2::XDictionary createDictionary( 245*b1cdbd2cSJim Jagielski [in] string aName, 246*b1cdbd2cSJim Jagielski [in] com::sun::star::lang::Locale aLocale, 247*b1cdbd2cSJim Jagielski [in] com::sun::star::linguistic2::DictionaryType eDicType, 248*b1cdbd2cSJim Jagielski [in] string aURL ); 249*b1cdbd2cSJim Jagielski 250*b1cdbd2cSJim Jagielski}; 251*b1cdbd2cSJim Jagielski 252*b1cdbd2cSJim Jagielski//============================================================================= 253*b1cdbd2cSJim Jagielski 254*b1cdbd2cSJim Jagielski}; }; }; }; 255*b1cdbd2cSJim Jagielski 256*b1cdbd2cSJim Jagielski#endif 257*b1cdbd2cSJim Jagielski 258