mirror of
https://github.com/rn10950/RetroZilla.git
synced 2024-11-16 12:30:13 +01:00
200 lines
7.0 KiB
Plaintext
200 lines
7.0 KiB
Plaintext
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||
|
*
|
||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||
|
* the License. You may obtain a copy of the License at
|
||
|
* http://www.mozilla.org/MPL/
|
||
|
*
|
||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||
|
* for the specific language governing rights and limitations under the
|
||
|
* License.
|
||
|
*
|
||
|
* The Original Code is mozilla.org code.
|
||
|
*
|
||
|
* The Initial Developer of the Original Code is
|
||
|
* Netscape Communications Corporation.
|
||
|
* Portions created by the Initial Developer are Copyright (C) 1998
|
||
|
* the Initial Developer. All Rights Reserved.
|
||
|
*
|
||
|
* Contributor(s):
|
||
|
* Brett Wilson <brettw@gmail.com>
|
||
|
*
|
||
|
* Alternatively, the contents of this file may be used under the terms of
|
||
|
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
||
|
* or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||
|
* of those above. If you wish to allow use of your version of this file only
|
||
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||
|
* use your version of this file under the terms of the MPL, indicate your
|
||
|
* decision by deleting the provisions above and replace them with the notice
|
||
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||
|
* the provisions above, a recipient may use your version of this file under
|
||
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
||
|
*
|
||
|
* ***** END LICENSE BLOCK ***** */
|
||
|
|
||
|
#include "nsISupports.idl"
|
||
|
|
||
|
interface nsIEditor;
|
||
|
interface nsITextServicesFilter;
|
||
|
|
||
|
[scriptable, uuid(6088a862-1229-11d9-941d-c035b2e390c6)]
|
||
|
interface nsIEditorSpellCheck : nsISupports
|
||
|
{
|
||
|
|
||
|
/**
|
||
|
* 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 inline
|
||
|
* spellchecking, we don't care about this.
|
||
|
*/
|
||
|
void InitSpellChecker(in nsIEditor editor, in boolean enableSelectionChecking);
|
||
|
|
||
|
/**
|
||
|
* 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 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 modaly 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 PRUint32 count);
|
||
|
|
||
|
/**
|
||
|
* @see nsISpellChecker::GetCurrentDictionary
|
||
|
*/
|
||
|
wstring GetCurrentDictionary();
|
||
|
|
||
|
/**
|
||
|
* @see nsISpellChecker::SetCurrentDictionary
|
||
|
*/
|
||
|
void SetCurrentDictionary(in wstring 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);
|
||
|
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* This contains enhancements made to this interface on the trunk. Here, it is
|
||
|
* on a separate interface to avoid changing interfaces on the branch.
|
||
|
*/
|
||
|
[scriptable, uuid(0455cf88-c679-40c3-8e9f-ff4554ee9559)]
|
||
|
interface nsIEditorSpellCheck_MOZILLA_1_8_BRANCH : nsIEditorSpellCheck
|
||
|
{
|
||
|
/**
|
||
|
* Returns true if we can enable spellchecking. If there are no available
|
||
|
* dictionaries, this will return false.
|
||
|
*/
|
||
|
boolean CanSpellCheck();
|
||
|
|
||
|
/**
|
||
|
* Call to save the currently selected dictionary as the default. The
|
||
|
* function UninitSpellChecker will also do this, but that function may
|
||
|
* not be called in some situations. This function allows the caller to force
|
||
|
* the default right now.
|
||
|
*/
|
||
|
void saveDefaultDictionary();
|
||
|
};
|