diff options
Diffstat (limited to 'extensions/spellcheck/idl/mozISpellCheckingEngine.idl')
-rw-r--r-- | extensions/spellcheck/idl/mozISpellCheckingEngine.idl | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/extensions/spellcheck/idl/mozISpellCheckingEngine.idl b/extensions/spellcheck/idl/mozISpellCheckingEngine.idl new file mode 100644 index 0000000000..f3e67280f6 --- /dev/null +++ b/extensions/spellcheck/idl/mozISpellCheckingEngine.idl @@ -0,0 +1,84 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* 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/. */ + +#include "nsISupports.idl" + +interface nsIFile; +interface nsIURI; +interface mozIPersonalDictionary; + +/** + * This interface represents a SpellChecker. + */ +[scriptable, uuid(8ba643a4-7ddc-4662-b976-7ec123843f10)] +interface mozISpellCheckingEngine : nsISupports { + /** + * The names of the dictionaries currently used. These are either values + * from getDictionaryList or the empty array if no dictionary is selected. + * Setting this attribute to contain a value not in getDictionaryList will + * throw NS_ERROR_FILE_NOT_FOUND. + * + * If the dictionaries are changed to no dictionary (the empty array), an + * observer is allowed to set another dictionary before it returns. + */ + attribute Array<ACString> dictionaries; + + /** + * the personal dictionary + */ + attribute mozIPersonalDictionary personalDictionary; + + /** + * Get the list of dictionaries + */ + Array<ACString> getDictionaryList(); + + /** + * check a word + */ + boolean check(in AString word); + + /** + * get a list of suggestions for a misspelled word + */ + Array<AString> suggest(in AString word); + + /** + * Load dictionaries from the specified dir + */ + void loadDictionariesFromDir(in nsIFile dir); + + /** + * Add dictionaries from a directory to the spell checker + */ + void addDirectory(in nsIFile dir); + + /** + * Remove dictionaries from a directory from the spell checker + */ + void removeDirectory(in nsIFile dir); + + /** + * Add a dictionary with the given language code and source URI. The URI + * must point to an affix file, with the ".aff" extension. The word list + * file must be in the same directory, with the same base name, and the + * ".dic" extension. + */ + void addDictionary(in AString lang, in nsIURI file); + + /** + * Remove a dictionary with the given language code and path. If the path does + * not match that of the current entry with the given language code, it is not + * removed. + * + * @returns True if the dictionary was found and removed. + */ + bool removeDictionary(in AString lang, in nsIURI file); +}; + +%{C++ +#define SPELLCHECK_DICTIONARY_REMOVE_NOTIFICATION \ + "spellcheck-dictionary-remove" +%} |