libs-gui/Headers/AppKit/NSSpellServer.h

122 lines
3.6 KiB
C
Raw Permalink Normal View History

/*
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 <greg_casamento@yahoo.com>
Date: 2001
Author of previous version: Scott Christley <scottc@net-community.com>
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 <Foundation/NSObject.h>
#include <Foundation/NSRange.h>
// 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)
/**
* <p>
* This method is called when the user begins spell checking the document.
* The parameters are: <code>sender</code> the spell server instance which
* invoked this method, <code>stringToCheck</code> this is the string which
* the spell service is going to attempt to find misspelled words in,
* <code>language</code> the language to check in, <code>wordCount</code> the
* number of words checked, and <code>countOnly</code> a flag which dictates
* if them method checks the spelling or just counts the words in the given
* string.
* </p>
* <p>
* Returns a range for any word it finds that is misspelled.
* </p>
*/
- (NSRange)spellServer:(NSSpellServer *)sender
findMisspelledWordInString:(NSString *)stringToCheck
language:(NSString *)language
wordCount:(int *)wordCount
countOnly:(BOOL)countOnly;
/**
* Attempts to guess the correct spelling of <code>word</code>.
*/
- (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