123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* 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 nsIEditor;
- interface nsITextServicesFilter;
- interface nsIEditorSpellCheckCallback;
- [scriptable, uuid(a171c25f-e4a8-4d08-adef-b797e6377bdc)]
- interface nsIEditorSpellCheck : nsISupports
- {
- /**
- * Returns true if we can enable spellchecking. If there are no available
- * dictionaries, this will return false.
- */
- boolean canSpellCheck();
- /**
- * Turns on the spell checker for the given editor. enableSelectionChecking
- * set means that we only want to check the current selection in the editor,
- * (this controls the behavior of GetNextMisspelledWord). For spellchecking
- * clients with no modal UI (such as inline spellcheckers), this flag doesn't
- * matter. Initialization is asynchronous and is not complete until the given
- * callback is called.
- */
- void InitSpellChecker(in nsIEditor editor, in boolean enableSelectionChecking,
- [optional] in nsIEditorSpellCheckCallback callback);
- /**
- * When interactively spell checking the document, this will return the
- * value of the next word that is misspelled. This also computes the
- * suggestions which you can get by calling GetSuggestedWord.
- *
- * @see nsISpellChecker::GetNextMisspelledWord
- */
- wstring GetNextMisspelledWord();
- /**
- * Used to get suggestions for the last word that was checked and found to
- * be misspelled. The first call will give you the first (best) suggestion.
- * Subsequent calls will iterate through all the suggestions, allowing you
- * to build a list. When there are no more suggestions, an empty string
- * (not a null pointer) will be returned.
- *
- * @see nsISpellChecker::GetSuggestedWord
- */
- wstring GetSuggestedWord();
- /**
- * Check a given word. In spite of the name, this function checks the word
- * you give it, returning true if the word is misspelled. If the word is
- * misspelled, it will compute the suggestions which you can get from
- * GetSuggestedWord().
- *
- * @see nsISpellChecker::CheckCurrentWord
- */
- boolean CheckCurrentWord(in wstring suggestedWord);
- /**
- * Use when modally checking the document to replace a word.
- *
- * @see nsISpellChecker::CheckCurrentWord
- */
- void ReplaceWord(in wstring misspelledWord, in wstring replaceWord, in boolean allOccurrences);
- /**
- * @see nsISpellChecker::IgnoreAll
- */
- void IgnoreWordAllOccurrences(in wstring word);
- /**
- * Fills an internal list of words added to the personal dictionary. These
- * words can be retrieved using GetPersonalDictionaryWord()
- *
- * @see nsISpellChecker::GetPersonalDictionary
- * @see GetPersonalDictionaryWord
- */
- void GetPersonalDictionary();
- /**
- * Used after you call GetPersonalDictionary() to iterate through all the
- * words added to the personal dictionary. Will return the empty string when
- * there are no more words.
- */
- wstring GetPersonalDictionaryWord();
- /**
- * Adds a word to the current personal dictionary.
- *
- * @see nsISpellChecker::AddWordToDictionary
- */
- void AddWordToDictionary(in wstring word);
- /**
- * Removes a word from the current personal dictionary.
- *
- * @see nsISpellChecker::RemoveWordFromPersonalDictionary
- */
- void RemoveWordFromDictionary(in wstring word);
- /**
- * Retrieves a list of the currently available dictionaries. The strings will
- * typically be language IDs, like "en-US".
- *
- * @see mozISpellCheckingEngine::GetDictionaryList
- */
- void GetDictionaryList([array, size_is(count)] out wstring dictionaryList, out uint32_t count);
- /**
- * @see nsISpellChecker::GetCurrentDictionary
- */
- AString GetCurrentDictionary();
- /**
- * @see nsISpellChecker::SetCurrentDictionary
- */
- void SetCurrentDictionary(in AString dictionary);
- /**
- * Call this to free up the spell checking object. It will also save the
- * current selected language as the default for future use.
- *
- * If you have called CanSpellCheck but not InitSpellChecker, you can still
- * call this function to clear the cached spell check object, and no
- * preference saving will happen.
- */
- void UninitSpellChecker();
- /**
- * Used to filter the content (for example, to skip blockquotes in email from
- * spellchecking. Call this before calling InitSpellChecker; calling it
- * after initialization will have no effect.
- *
- * @see nsITextServicesDocument::setFilter
- */
- void setFilter(in nsITextServicesFilter filter);
- /**
- * Like CheckCurrentWord, checks the word you give it, returning true if it's
- * misspelled. This is faster than CheckCurrentWord because it does not
- * compute any suggestions.
- *
- * Watch out: this does not clear any suggestions left over from previous
- * calls to CheckCurrentWord, so there may be suggestions, but they will be
- * invalid.
- */
- boolean CheckCurrentWordNoSuggest(in wstring suggestedWord);
- /**
- * Update the dictionary in use to be sure it corresponds to what the editor
- * needs. The update is asynchronous and is not complete until the given
- * callback is called.
- */
- void UpdateCurrentDictionary([optional] in nsIEditorSpellCheckCallback callback);
- };
- [scriptable, function, uuid(5f0a4bab-8538-4074-89d3-2f0e866a1c0b)]
- interface nsIEditorSpellCheckCallback : nsISupports
- {
- void editorSpellCheckDone();
- };
|