/* NSSpellServer.h Class to allow a spell checker to be available to other apps Copyright (C) 1996 Free Software Foundation, Inc. Author: Gregory John Casamento Date: 2001 Author of previous version: Scott Christley Date: 1996 This file is part of the GNUstep GUI Library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _GNUstep_H_NSSpellServer #define _GNUstep_H_NSSpellServer #include #include // Forward declarations @class NSConnection; @class NSMutableArray; @class NSMutableDictionary; @interface NSSpellServer : NSObject { @private id _delegate; BOOL _caseSensitive; NSMutableDictionary *_userDictionaries; NSString *_currentLanguage; NSArray *_ignoredWords; } // Checking in Your Service - (BOOL)registerLanguage:(NSString *)language byVendor:(NSString *)vendor; // Assigning a Delegate - (id)delegate; - (void)setDelegate:(id)anObject; // Running the Service - (void)run; // Checking User Dictionaries - (BOOL)isWordInUserDictionaries:(NSString *)word caseSensitive:(BOOL)flag; @end /** This is an informal protocol since the NSSpellChecker will need to use a proxy object to call these methods. These methods need to be implemented by the spell service so that the NSSpellServer instance call call them when necessary. */ @interface NSObject (NSSpellServerDelegate) /** *

* This method is called when the user begins spell checking the document. * The parameters are: sender the spell server instance which * invoked this method, stringToCheck this is the string which * the spell service is going to attempt to find misspelled words in, * language the language to check in, wordCount the * number of words checked, and countOnly a flag which dictates * if them method checks the spelling or just counts the words in the given * string. *

*

* Returns a range for any word it finds that is misspelled. *

*/ - (NSRange)spellServer:(NSSpellServer *)sender findMisspelledWordInString:(NSString *)stringToCheck language:(NSString *)language wordCount:(int *)wordCount countOnly:(BOOL)countOnly; /** * Attempts to guess the correct spelling of word. */ - (NSArray *)spellServer:(NSSpellServer *)sender suggestGuessesForWord:(NSString *)word inLanguage:(NSString *)language; /** * Records the new word in the user's dictionary for the given language. */ - (void)spellServer:(NSSpellServer *)sender didLearnWord:(NSString *)word inLanguage:(NSString *)language; /** * Forgets the given word in the user's dictionary for the given language. */ - (void)spellServer:(NSSpellServer *)sender didForgetWord:(NSString *)word inLanguage:(NSString *)language; @end #endif // _GNUstep_H_NSSpellServer