Adopted By: NSText
Declared In: AppKit/NSSpellProtocol.h
Implement this protocol to have the Ignore button in the Spelling panel function properly. The Ignore button allows the user to accept a word that the spelling checker believes is misspelled. In order for this action to update the ignored words list for the document being checked, the NSIgnoreMisspelledWords protocol must be implemented.
This protocol is necessary because a list of ignored words is useful only if it pertains to the entire document being checked, but the spelling checker (NSSpellChecker object) does not check the entire document for spelling at once. The spelling checker returns as soon as it finds a misspelled word. Thus, it checks only a subset of the document at any one time. The user usually wants to check the entire document, and so usually several spelling checks are run in succession until no misspelled words are found. This protocol allows the list of ignored words to be maintained per-document, even though the spelling checks are not run per-document.
The NSIgnoreMisspelledWords protocol specifies a method, ignoreSpelling:, which should be implemented like this:
[[NSSpellChecker sharedSpellChecker] ignoreWord:[[sender selectedCell] stringValue]
The second argument to the NSSpellChecker method ignoreWord:inSpellDocumentWithTag: is a tag that the NSSpellChecker can use to distinguish the documents being checked. (See the discussion of Matching a List of Ignored Words With the Document It Belongs To in the description of the NSSpellChecker class.) Once the NSSpellChecker has a way to distinguish the various documents, it can append new ignored words to the appropriate list.
To make the ignored words feature useful, the application must store a document's ignored words list with the document. See the NSSpellChecker class description for more information.
Identifying the Source
- (void)ignoreSpelling:(id)sender Implement to allow an application to ignore misspelled words on a document-by-document basis. This message is sent by the NSSpellChecker instance to the object whose text is being checked. To inform the NSSpellChecker that a particular spelling should be ignored, the receiver asks the NSSpellChecker for the string value of its selected cell. It then sends the NSSpellChecker an ignoreWord:inSpellDocumentWithTag: message.