summaryrefslogtreecommitdiffstats
path: root/editor/nsIEditorSpellCheck.idl
diff options
context:
space:
mode:
Diffstat (limited to 'editor/nsIEditorSpellCheck.idl')
-rw-r--r--editor/nsIEditorSpellCheck.idl166
1 files changed, 166 insertions, 0 deletions
diff --git a/editor/nsIEditorSpellCheck.idl b/editor/nsIEditorSpellCheck.idl
new file mode 100644
index 000000000..adf4a0a03
--- /dev/null
+++ b/editor/nsIEditorSpellCheck.idl
@@ -0,0 +1,166 @@
+/* -*- 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();
+};