Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
TextEditPlus Step 1/Preferences.h
#import <Cocoa/Cocoa.h>  | 
/* Keys in the dictionary... */  | 
#define RichTextFont @"RichTextFont"  | 
#define PlainTextFont @"PlainTextFont"  | 
#define DeleteBackup @"DeleteBackup"  | 
#define SaveFilesWritable @"SaveFilesWritable"  | 
#define OverwriteReadOnlyFiles @"OverwriteReadOnlyFiles"  | 
#define RichText @"RichText"  | 
#define ShowPageBreaks @"ShowPageBreaks"  | 
#define AddExtensionToNewPlainTextFiles @"AddExtensionToNewPlainTextFiles"  | 
#define WindowWidth @"WidthInChars"  | 
#define WindowHeight @"HeightInChars"  | 
#define PlainTextEncodingForRead @"PlainTextEncoding"  | 
#define PlainTextEncodingForWrite @"PlainTextEncodingForWrite"  | 
#define IgnoreRichText @"IgnoreRichText"  | 
#define IgnoreHTML @"IgnoreHTML"  | 
#define TabWidth @"TabWidth"  | 
#define ForegroundLayoutToIndex @"ForegroundLayoutToIndex"  | 
#define OpenPanelFollowsMainWindow @"OpenPanelFollowsMainWindow"  | 
#define CheckSpellingAsYouType @"CheckSpellingWhileTyping"  | 
#define ShowRuler @"ShowRuler"  | 
#define NumberPagesWhenPrinting @"NumberPagesWhenPrinting"  | 
#define UseXHTMLDocType @"UseXHTMLDocType"  | 
#define UseTransitionalDocType @"UseTransitionalDocType"  | 
#define UseEmbeddedCSS @"UseEmbeddedCSS"  | 
#define UseInlineCSS @"UseInlineCSS"  | 
#define HTMLEncoding @"HTMLEncoding"  | 
#define PreserveWhitespace @"PreserveWhitespace"  | 
// Use different convention for the key values here, to be consistent with the keys in Document  | 
#define AuthorProperty @"author"  | 
#define CompanyProperty @"company"  | 
#define CopyrightProperty @"copyright"  | 
@interface Preferences : NSObject { | 
IBOutlet id richTextFontNameField;  | 
IBOutlet id plainTextFontNameField;  | 
IBOutlet id deleteBackupButton;  | 
IBOutlet id saveFilesWritableButton;  | 
IBOutlet id overwriteReadOnlyFilesButton;  | 
IBOutlet id addExtensionToNewPlainTextFilesButton;  | 
IBOutlet id richTextMatrix;  | 
IBOutlet id showPageBreaksButton;  | 
IBOutlet id windowWidthField;  | 
IBOutlet id windowHeightField;  | 
IBOutlet id plainTextEncodingForReadPopup;  | 
IBOutlet id plainTextEncodingForWritePopup;  | 
IBOutlet id tabWidthField;  | 
IBOutlet id ignoreRichTextButton;  | 
IBOutlet id ignoreHTMLButton;  | 
IBOutlet id checkSpellingAsYouTypeButton;  | 
IBOutlet id showRulerButton;  | 
IBOutlet id numberPagesWhenPrintingButton;  | 
IBOutlet id authorPropertyField;  | 
IBOutlet id companyPropertyField;  | 
IBOutlet id copyrightPropertyField;  | 
IBOutlet id HTMLDocumentTypePopUp;  | 
IBOutlet id HTMLStylingPopUp;  | 
IBOutlet id HTMLEncodingPopUp;  | 
IBOutlet id preserveWhiteSpaceButton;  | 
IBOutlet id panel;  | 
NSDictionary *curValues; // Current, confirmed values for the preferences  | 
NSDictionary *origValues; // Values read from preferences at startup  | 
NSMutableDictionary *displayedValues; // Values displayed in the UI  | 
}  | 
+ (id)objectForKey:(id)key; /* Convenience for getting global preferences */  | 
+ (void)saveDefaults; /* Convenience for saving global preferences */  | 
- (void)saveDefaults; /* Save the current preferences */  | 
+ (Preferences *)sharedInstance;  | 
- (NSDictionary *)preferences; /* The current preferences; contains values for the documented keys */  | 
- (void)showPanel:(id)sender; /* Shows the panel */  | 
- (void)updateUI; /* Updates the displayed values in the UI */  | 
- (void)commitDisplayedValues; /* The displayed values are made current */  | 
- (void)discardDisplayedValues; /* The displayed values are replaced with current prefs and updateUI is called */  | 
- (void)revert:(id)sender; /* Reverts the displayed values to the current preferences */  | 
- (void)ok:(id)sender; /* Calls commitUI to commit the displayed values as current */  | 
- (void)revertToDefault:(id)sender;  | 
- (void)miscChanged:(id)sender; /* Action message for most of the misc items in the UI to get displayedValues */  | 
- (void)changeRichTextFont:(id)sender; /* Request to change the rich text font */  | 
- (void)changePlainTextFont:(id)sender; /* Request to change the plain text font */  | 
- (void)changeFont:(id)fontManager; /* Sent by the font manager */  | 
+ (NSDictionary *)preferencesFromDefaults;  | 
+ (void)savePreferencesToDefaults:(NSDictionary *)dict;  | 
@end  | 
Copyright © 2006 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2006-07-28