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_XDictionary_idl__ 24*b1cdbd2cSJim Jagielski#define __com_sun_star_linguistic2_XDictionary_idl__ 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_container_XNamed_idl__ 27*b1cdbd2cSJim Jagielski#include <com/sun/star/container/XNamed.idl> 28*b1cdbd2cSJim Jagielski#endif 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_lang_Locale_idl__ 31*b1cdbd2cSJim Jagielski#include <com/sun/star/lang/Locale.idl> 32*b1cdbd2cSJim Jagielski#endif 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_linguistic2_DictionaryType_idl__ 35*b1cdbd2cSJim Jagielski#include <com/sun/star/linguistic2/DictionaryType.idl> 36*b1cdbd2cSJim Jagielski#endif 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_linguistic2_XDictionaryEntry_idl__ 39*b1cdbd2cSJim Jagielski#include <com/sun/star/linguistic2/XDictionaryEntry.idl> 40*b1cdbd2cSJim Jagielski#endif 41*b1cdbd2cSJim Jagielski 42*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_linguistic2_XDictionaryEventListener_idl__ 43*b1cdbd2cSJim Jagielski#include <com/sun/star/linguistic2/XDictionaryEventListener.idl> 44*b1cdbd2cSJim Jagielski#endif 45*b1cdbd2cSJim Jagielski 46*b1cdbd2cSJim Jagielski//============================================================================= 47*b1cdbd2cSJim Jagielski 48*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module linguistic2 { 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski//============================================================================= 51*b1cdbd2cSJim Jagielski/** This interfaces enables the object to access personal dictionaries. 52*b1cdbd2cSJim Jagielski 53*b1cdbd2cSJim Jagielski <P>Personal dictionaries are used to supply additional 54*b1cdbd2cSJim Jagielski information for spellchecking and hyphenation (see 55*b1cdbd2cSJim Jagielski <type scope="com::sun::star::linguistic2">XDictionaryEntry</type>). 56*b1cdbd2cSJim Jagielski Only active dictionaries with an appropriate language are used 57*b1cdbd2cSJim Jagielski for that purpose. 58*b1cdbd2cSJim Jagielski The entries of an active, positive dictionary are words that are 59*b1cdbd2cSJim Jagielski required to be recognized as correct during the spellchecking 60*b1cdbd2cSJim Jagielski process. Additionally, they will be used for hyphenation. 61*b1cdbd2cSJim Jagielski Entries of a negative dictionary are required to be recognized 62*b1cdbd2cSJim Jagielski as negative words, for example, words that should not be used, during 63*b1cdbd2cSJim Jagielski spellcheck. An entry in a negative dictionary may supply a 64*b1cdbd2cSJim Jagielski proposal for a word to be used instead of the one being used.</P> 65*b1cdbd2cSJim Jagielski 66*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryEvent</type> 67*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::container">XNamed</type> 68*b1cdbd2cSJim Jagielski*/ 69*b1cdbd2cSJim Jagielskipublished interface XDictionary : com::sun::star::container::XNamed 70*b1cdbd2cSJim Jagielski{ 71*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 72*b1cdbd2cSJim Jagielski /** returns the type of the dictionary. 73*b1cdbd2cSJim Jagielski 74*b1cdbd2cSJim Jagielski @returns 75*b1cdbd2cSJim Jagielski the type of the dictionary. 76*b1cdbd2cSJim Jagielski 77*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">DictionaryType</type> 78*b1cdbd2cSJim Jagielski */ 79*b1cdbd2cSJim Jagielski com::sun::star::linguistic2::DictionaryType getDictionaryType(); 80*b1cdbd2cSJim Jagielski 81*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 82*b1cdbd2cSJim Jagielski /** specifies whether the dictionary should be used or not . 83*b1cdbd2cSJim Jagielski 84*b1cdbd2cSJim Jagielski @param bAcvtivate 85*b1cdbd2cSJim Jagielski <TRUE/> if the dictionary should be used, <FALSE/> otherwise. 86*b1cdbd2cSJim Jagielski 87*b1cdbd2cSJim Jagielski */ 88*b1cdbd2cSJim Jagielski void setActive( [in] boolean bActivate ); 89*b1cdbd2cSJim Jagielski 90*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 91*b1cdbd2cSJim Jagielski /** 92*b1cdbd2cSJim Jagielski @returns 93*b1cdbd2cSJim Jagielski <TRUE/> if the dictionary is active, <FALSE/> otherwise. 94*b1cdbd2cSJim Jagielski */ 95*b1cdbd2cSJim Jagielski boolean isActive(); 96*b1cdbd2cSJim Jagielski 97*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 98*b1cdbd2cSJim Jagielski /** 99*b1cdbd2cSJim Jagielski @returns 100*b1cdbd2cSJim Jagielski the number of entries in the dictionary. 101*b1cdbd2cSJim Jagielski */ 102*b1cdbd2cSJim Jagielski long getCount(); 103*b1cdbd2cSJim Jagielski 104*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 105*b1cdbd2cSJim Jagielski /** 106*b1cdbd2cSJim Jagielski @returns 107*b1cdbd2cSJim Jagielski the language of the dictionary. 108*b1cdbd2cSJim Jagielski 109*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::lang">Locale</type> 110*b1cdbd2cSJim Jagielski */ 111*b1cdbd2cSJim Jagielski com::sun::star::lang::Locale getLocale(); 112*b1cdbd2cSJim Jagielski 113*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 114*b1cdbd2cSJim Jagielski /** is used to set the language of the dictionary. 115*b1cdbd2cSJim Jagielski 116*b1cdbd2cSJim Jagielski @param aLocale 117*b1cdbd2cSJim Jagielski the new language of the dictionary. 118*b1cdbd2cSJim Jagielski 119*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::lang">Locale</type> 120*b1cdbd2cSJim Jagielski */ 121*b1cdbd2cSJim Jagielski void setLocale( [in] com::sun::star::lang::Locale aLocale ); 122*b1cdbd2cSJim Jagielski 123*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 124*b1cdbd2cSJim Jagielski /** searches for an entry that matches the given word. 125*b1cdbd2cSJim Jagielski 126*b1cdbd2cSJim Jagielski @returns 127*b1cdbd2cSJim Jagielski the reference to the entry found. If no entry was found, 128*b1cdbd2cSJim Jagielski it is NULL. 129*b1cdbd2cSJim Jagielski 130*b1cdbd2cSJim Jagielski @param aWord 131*b1cdbd2cSJim Jagielski the word to be looked for. 132*b1cdbd2cSJim Jagielski 133*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryEntry</type> 134*b1cdbd2cSJim Jagielski */ 135*b1cdbd2cSJim Jagielski com::sun::star::linguistic2::XDictionaryEntry getEntry( [in] string aWord ); 136*b1cdbd2cSJim Jagielski 137*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 138*b1cdbd2cSJim Jagielski /** is used to add an entry to the dictionary. 139*b1cdbd2cSJim Jagielski 140*b1cdbd2cSJim Jagielski <P>If an entry already exists, the dictionary remains unchanged 141*b1cdbd2cSJim Jagielski and <FALSE/> will be returned.</P> 142*b1cdbd2cSJim Jagielski 143*b1cdbd2cSJim Jagielski <P>In positive dictionaries only postive entries 144*b1cdbd2cSJim Jagielski can be made, and in negative ones only negative entries.</P> 145*b1cdbd2cSJim Jagielski 146*b1cdbd2cSJim Jagielski @param xDicEntry 147*b1cdbd2cSJim Jagielski the entry to be added. 148*b1cdbd2cSJim Jagielski 149*b1cdbd2cSJim Jagielski @returns 150*b1cdbd2cSJim Jagielski <TRUE/> if the entry was successfully added <FALSE/> otherwise. 151*b1cdbd2cSJim Jagielski 152*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryEntry</type> 153*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">DictionaryType</type> 154*b1cdbd2cSJim Jagielski */ 155*b1cdbd2cSJim Jagielski boolean addEntry( 156*b1cdbd2cSJim Jagielski [in] com::sun::star::linguistic2::XDictionaryEntry xDicEntry ); 157*b1cdbd2cSJim Jagielski 158*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 159*b1cdbd2cSJim Jagielski /** is used to make an entry in the dictionary. 160*b1cdbd2cSJim Jagielski 161*b1cdbd2cSJim Jagielski <P>If an entry already exists, the dictionary remains unchanged 162*b1cdbd2cSJim Jagielski and <FALSE/> will be returned.</P> 163*b1cdbd2cSJim Jagielski 164*b1cdbd2cSJim Jagielski <P>In positive dictionaries only postive entries 165*b1cdbd2cSJim Jagielski can be made, and in negative ones only negative entries.</P> 166*b1cdbd2cSJim Jagielski 167*b1cdbd2cSJim Jagielski @param aWord 168*b1cdbd2cSJim Jagielski the word to be added. 169*b1cdbd2cSJim Jagielski 170*b1cdbd2cSJim Jagielski @param bIsNegative 171*b1cdbd2cSJim Jagielski specifies whether the entry will be a negative one or not. 172*b1cdbd2cSJim Jagielski 173*b1cdbd2cSJim Jagielski @param aRplcText 174*b1cdbd2cSJim Jagielski in the case of a negative entry, this is the replacement text to 175*b1cdbd2cSJim Jagielski be used when replacing aWord. Otherwise, it is undefined. 176*b1cdbd2cSJim Jagielski 177*b1cdbd2cSJim Jagielski @returns 178*b1cdbd2cSJim Jagielski <TRUE/> if the entry was successfully added, <FALSE/> otherwise. 179*b1cdbd2cSJim Jagielski 180*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">DictionaryType</type> 181*b1cdbd2cSJim Jagielski */ 182*b1cdbd2cSJim Jagielski boolean add( 183*b1cdbd2cSJim Jagielski [in] string aWord, 184*b1cdbd2cSJim Jagielski [in] boolean bIsNegative, 185*b1cdbd2cSJim Jagielski [in] string aRplcText ); 186*b1cdbd2cSJim Jagielski 187*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 188*b1cdbd2cSJim Jagielski /** removes an entry from the dictionary. 189*b1cdbd2cSJim Jagielski 190*b1cdbd2cSJim Jagielski @param aWord 191*b1cdbd2cSJim Jagielski the word matching the entry to be removed. 192*b1cdbd2cSJim Jagielski 193*b1cdbd2cSJim Jagielski @returns 194*b1cdbd2cSJim Jagielski <TRUE/> if the entry was successfully removed, <FALSE/> 195*b1cdbd2cSJim Jagielski otherwise (especially if the entry was not found). 196*b1cdbd2cSJim Jagielski */ 197*b1cdbd2cSJim Jagielski boolean remove( [in] string aWord ); 198*b1cdbd2cSJim Jagielski 199*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 200*b1cdbd2cSJim Jagielski /** 201*b1cdbd2cSJim Jagielski @returns 202*b1cdbd2cSJim Jagielski <TRUE/> if the dictionary is full and no further 203*b1cdbd2cSJim Jagielski entry can be made, <FALSE/> otherwise. 204*b1cdbd2cSJim Jagielski */ 205*b1cdbd2cSJim Jagielski boolean isFull(); 206*b1cdbd2cSJim Jagielski 207*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 208*b1cdbd2cSJim Jagielski /** 209*b1cdbd2cSJim Jagielski <p>This function should no longer be used since with the expansion of the 210*b1cdbd2cSJim Jagielski maximum number of allowed entries the result may become unreasonable large!</p> 211*b1cdbd2cSJim Jagielski 212*b1cdbd2cSJim Jagielski @returns 213*b1cdbd2cSJim Jagielski a sequence with all the entries of the dictionary. 214*b1cdbd2cSJim Jagielski 215*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryEntry</type> 216*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XSearchableDictionary</type> 217*b1cdbd2cSJim Jagielski @deprecated 218*b1cdbd2cSJim Jagielski */ 219*b1cdbd2cSJim Jagielski 220*b1cdbd2cSJim Jagielski sequence<com::sun::star::linguistic2::XDictionaryEntry> getEntries(); 221*b1cdbd2cSJim Jagielski 222*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 223*b1cdbd2cSJim Jagielski /** removes all entries from the dictionary. 224*b1cdbd2cSJim Jagielski */ 225*b1cdbd2cSJim Jagielski void clear(); 226*b1cdbd2cSJim Jagielski 227*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 228*b1cdbd2cSJim Jagielski /** adds an entry to the list of dictionary event listeners. 229*b1cdbd2cSJim Jagielski 230*b1cdbd2cSJim Jagielski <P>On dictionary events, each entry in the listener list will 231*b1cdbd2cSJim Jagielski be notified via a call to 232*b1cdbd2cSJim Jagielski <member scope="com::sun::star::linguistic2">XDictionaryEventListener::processDictionaryEvent</member>.</P> 233*b1cdbd2cSJim Jagielski 234*b1cdbd2cSJim Jagielski @param xListener 235*b1cdbd2cSJim Jagielski the entry to be made, that is, the object that wants notifications. 236*b1cdbd2cSJim Jagielski 237*b1cdbd2cSJim Jagielski @returns 238*b1cdbd2cSJim Jagielski <TRUE/> if the entry was successfully made, <FALSE/> otherwise. 239*b1cdbd2cSJim Jagielski If <member scope="com::sun::star::lang">XEventListener::disposing</member> was called before, 240*b1cdbd2cSJim Jagielski it will always fail. 241*b1cdbd2cSJim Jagielski 242*b1cdbd2cSJim Jagielski @see <member scope="com::sun::star::linguistic2">XDictionary::removeDictionaryEventListener</member> 243*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryEventListener</type> 244*b1cdbd2cSJim Jagielski */ 245*b1cdbd2cSJim Jagielski boolean addDictionaryEventListener( 246*b1cdbd2cSJim Jagielski [in] com::sun::star::linguistic2::XDictionaryEventListener xListener ); 247*b1cdbd2cSJim Jagielski 248*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 249*b1cdbd2cSJim Jagielski /** removes an entry from the list of dictionary event listeners. 250*b1cdbd2cSJim Jagielski 251*b1cdbd2cSJim Jagielski @param xListener 252*b1cdbd2cSJim Jagielski the reference to the listening object to be removed. 253*b1cdbd2cSJim Jagielski 254*b1cdbd2cSJim Jagielski @returns 255*b1cdbd2cSJim Jagielski <TRUE/> if the object to be removed was found and removed, 256*b1cdbd2cSJim Jagielski <FALSE/> if the object was not found in the list. 257*b1cdbd2cSJim Jagielski 258*b1cdbd2cSJim Jagielski @see <member scope="com::sun::star::linguistic2">XDictionary::addDictionaryEventListener</member> 259*b1cdbd2cSJim Jagielski @see <type scope="com::sun::star::linguistic2">XDictionaryEventListener</type> 260*b1cdbd2cSJim Jagielski */ 261*b1cdbd2cSJim Jagielski boolean removeDictionaryEventListener( 262*b1cdbd2cSJim Jagielski [in] com::sun::star::linguistic2::XDictionaryEventListener xListener ); 263*b1cdbd2cSJim Jagielski 264*b1cdbd2cSJim Jagielski}; 265*b1cdbd2cSJim Jagielski 266*b1cdbd2cSJim Jagielski//============================================================================= 267*b1cdbd2cSJim Jagielski 268*b1cdbd2cSJim Jagielski}; }; }; }; 269*b1cdbd2cSJim Jagielski 270*b1cdbd2cSJim Jagielski#endif 271*b1cdbd2cSJim Jagielski 272