2003-07-31 23:52:10 +00:00
|
|
|
/*
|
|
|
|
NSSpellChecker.h
|
|
|
|
|
|
|
|
Class which is interface to spell-checking service
|
|
|
|
|
|
|
|
Copyright (C) 1996, 2001 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
Author: Gregory John Casamento <greg_casamento@yahoo.com>
|
|
|
|
Date: 2001
|
|
|
|
|
|
|
|
Author: 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
|
2007-10-29 21:16:17 +00:00
|
|
|
modify it under the terms of the GNU Lesser General Public
|
2003-07-31 23:52:10 +00:00
|
|
|
License as published by the Free Software Foundation; either
|
2008-06-10 04:01:49 +00:00
|
|
|
version 2 of the License, or (at your option) any later version.
|
2007-10-29 21:16:17 +00:00
|
|
|
|
2003-07-31 23:52:10 +00:00
|
|
|
This library is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2007-10-29 21:16:17 +00:00
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
Lesser General Public License for more details.
|
2003-07-31 23:52:10 +00:00
|
|
|
|
2007-10-29 21:16:17 +00:00
|
|
|
You should have received a copy of the GNU Lesser General Public
|
2003-07-31 23:52:10 +00:00
|
|
|
License along with this library; see the file COPYING.LIB.
|
2007-10-29 21:16:17 +00:00
|
|
|
If not, see <http://www.gnu.org/licenses/> or write to the
|
|
|
|
Free Software Foundation, 51 Franklin Street, Fifth Floor,
|
2006-11-06 13:58:37 +00:00
|
|
|
Boston, MA 02110-1301, USA.
|
2003-07-31 23:52:10 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _GNUstep_H_NSSpellChecker
|
|
|
|
#define _GNUstep_H_NSSpellChecker
|
|
|
|
|
2010-03-31 08:14:50 +00:00
|
|
|
#import <Foundation/NSObject.h>
|
|
|
|
#import <Foundation/NSRange.h>
|
2003-07-31 23:52:10 +00:00
|
|
|
|
|
|
|
@class NSProxy;
|
|
|
|
@class NSString;
|
|
|
|
@class NSArray;
|
|
|
|
@class NSView;
|
|
|
|
@class NSPanel;
|
|
|
|
@class NSDictionary;
|
|
|
|
@class NSMutableDictionary;
|
|
|
|
|
2017-07-17 17:45:24 +00:00
|
|
|
typedef NSInteger NSCorrectionIndicatorType;
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
NSCorrectionIndicatorTypeDefault = 0,
|
|
|
|
NSCorrectionIndicatorTypeReversion,
|
|
|
|
NSCorrectionIndicatorTypeGuesses
|
|
|
|
};
|
|
|
|
|
2003-07-31 23:52:10 +00:00
|
|
|
@interface NSSpellChecker : NSObject
|
|
|
|
{
|
|
|
|
@private
|
|
|
|
/* Non-GUI attributes */
|
|
|
|
id _serverProxy;
|
|
|
|
NSString *_language;
|
|
|
|
NSMutableDictionary *_ignoredWords;
|
|
|
|
|
|
|
|
// Variables to keep state...
|
|
|
|
int _position;
|
|
|
|
int _currentTag;
|
|
|
|
BOOL _wrapFlag;
|
|
|
|
|
|
|
|
// GUI ...
|
|
|
|
id _wordField;
|
|
|
|
id _accessoryView;
|
|
|
|
id _dictionaryPulldown;
|
|
|
|
id _spellPanel;
|
|
|
|
|
|
|
|
// Buttons... (so we can enable/disable, if necessary)
|
|
|
|
id _learnButton;
|
|
|
|
id _forgetButton;
|
|
|
|
id _ignoreButton;
|
|
|
|
id _guessButton;
|
|
|
|
id _findNextButton;
|
|
|
|
id _correctButton;
|
|
|
|
}
|
|
|
|
|
2017-08-16 21:12:52 +00:00
|
|
|
+ (BOOL)isAutomaticTextReplacementEnabled;
|
2017-08-17 03:29:14 +00:00
|
|
|
+ (BOOL)isAutomaticDashSubstitutionEnabled;
|
2017-08-17 04:02:45 +00:00
|
|
|
+ (BOOL)isAutomaticQuoteSubstitutionEnabled;
|
2017-08-16 21:12:52 +00:00
|
|
|
|
2003-07-31 23:52:10 +00:00
|
|
|
//
|
|
|
|
// Making a Checker available
|
|
|
|
//
|
|
|
|
+ (NSSpellChecker *)sharedSpellChecker;
|
|
|
|
+ (BOOL)sharedSpellCheckerExists;
|
|
|
|
|
|
|
|
//
|
|
|
|
// Managing the Spelling Panel
|
|
|
|
//
|
|
|
|
- (NSView *)accessoryView;
|
|
|
|
- (void)setAccessoryView:(NSView *)aView;
|
|
|
|
- (NSPanel *)spellingPanel;
|
|
|
|
|
|
|
|
//
|
|
|
|
// Checking Spelling
|
|
|
|
//
|
|
|
|
- (int)countWordsInString:(NSString *)aString
|
|
|
|
language:(NSString *)language;
|
|
|
|
- (NSRange)checkSpellingOfString:(NSString *)stringToCheck
|
|
|
|
startingAt:(int)startingOffset;
|
|
|
|
- (NSRange)checkSpellingOfString:(NSString *)stringToCheck
|
|
|
|
startingAt:(int)startingOffset
|
|
|
|
language:(NSString *)language
|
|
|
|
wrap:(BOOL)wrapFlag
|
|
|
|
inSpellDocumentWithTag:(int)tag
|
|
|
|
wordCount:(int *)wordCount;
|
2017-08-16 21:19:07 +00:00
|
|
|
#if OS_API_VERSION(MAC_OS_X_VERSION_10_5, GS_API_LATEST)
|
|
|
|
- (NSRange)checkGrammarOfString:(NSString *)stringToCheck
|
|
|
|
startingAt:(NSInteger)startingOffset
|
|
|
|
language:(NSString *)language
|
|
|
|
wrap:(BOOL)wrapFlag
|
|
|
|
inSpellDocumentWithTag:(NSInteger)tag
|
|
|
|
details:(NSArray **)details;
|
|
|
|
#endif
|
2003-07-31 23:52:10 +00:00
|
|
|
- (NSArray *)guessesForWord:(NSString *)word;
|
|
|
|
|
|
|
|
//
|
|
|
|
// Setting the Language
|
|
|
|
//
|
|
|
|
- (NSString *)language;
|
|
|
|
- (BOOL)setLanguage:(NSString *)aLanguage;
|
|
|
|
|
|
|
|
//
|
|
|
|
// Managing the Spelling Process
|
|
|
|
//
|
|
|
|
+ (int)uniqueSpellDocumentTag;
|
|
|
|
- (void)closeSpellDocumentWithTag:(int)tag;
|
|
|
|
- (void)ignoreWord:(NSString *)wordToIgnore
|
|
|
|
inSpellDocumentWithTag:(int)tag;
|
|
|
|
- (NSArray *)ignoredWordsInSpellDocumentWithTag:(int)tag;
|
|
|
|
- (void)setIgnoredWords:(NSArray *)someWords
|
|
|
|
inSpellDocumentWithTag:(int)tag;
|
|
|
|
- (void)setWordFieldStringValue:(NSString *)aString;
|
|
|
|
- (void)updateSpellingPanelWithMisspelledWord:(NSString *)word;
|
|
|
|
|
|
|
|
@end
|
2017-08-15 01:49:11 +00:00
|
|
|
|
|
|
|
typedef NSInteger NSCorrectionResponse;
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
NSCorrectionResponseNone,
|
|
|
|
NSCorrectionResponseAccepted,
|
|
|
|
NSCorrectionResponseRejected,
|
|
|
|
NSCorrectionResponseIgnored,
|
|
|
|
NSCorrectionResponseEdited,
|
|
|
|
NSCorrectionResponseReverted
|
|
|
|
};
|
|
|
|
|
|
|
|
#if OS_API_VERSION(MAC_OS_X_VERSION_10_7, GS_API_LATEST)
|
|
|
|
APPKIT_EXTERN NSString *NSSpellCheckerDidChangeAutomaticSpellingCorrectionNotification;
|
|
|
|
APPKIT_EXTERN NSString *NSSpellCheckerDidChangeAutomaticTextReplacementNotification;
|
|
|
|
#endif
|
|
|
|
#if OS_API_VERSION(MAC_OS_X_VERSION_10_9, GS_API_LATEST)
|
|
|
|
APPKIT_EXTERN NSString *NSSpellCheckerDidChangeAutomaticQuoteSubstitutionNotification;
|
|
|
|
APPKIT_EXTERN NSString *NSSpellCheckerDidChangeAutomaticDashSubstitutionNotification;
|
|
|
|
#endif
|
|
|
|
|
2003-07-31 23:52:10 +00:00
|
|
|
#endif // _GNUstep_H_NSSpellChecker
|
|
|
|
|