#import "FindSheetController.h" #import "HexWindowController.h" @implementation FindSheetController /* FORM DELEGATION METHOD */ - (void)controlTextDidEndEditing:(NSNotification *)notification { [self updateStrings]; } - (void)updateStrings { [findString autorelease]; [replaceString autorelease]; findString = [[[findReplaceForm cellAtIndex:0] stringValue] copy]; replaceString = [[[findReplaceForm cellAtIndex:1] stringValue] copy]; } /* HIDE AND SHOW SHEET */ - (IBAction)showFindSheet:(id)sender { // load window so I can play with boxes [self window]; // enable/disable boxes [searchSelectionOnlyBox setEnabled:([(NSTextView *)[[sender window] firstResponder] rangeForUserTextChange].length != 0)]; // set inital values if( ![searchSelectionOnlyBox isEnabled] ) [searchSelectionOnlyBox setIntValue:0]; // show sheet [NSApp beginSheet:[self window] modalForWindow:[sender window] modalDelegate:self didEndSelector:NULL contextInfo:nil]; } - (IBAction)hideFindSheet:(id)sender { [[self window] orderOut:nil]; [NSApp endSheet:[self window]]; } - (IBAction)findNext:(id)sender { [self updateStrings]; [self hideFindSheet:self]; NSLog( @"Finding next \"%@\"", findString ); } - (IBAction)findPrevious:(id)sender { [self updateStrings]; [self hideFindSheet:self]; NSLog( @"Finding previous \"%@\"", findString ); } - (IBAction)findWithSelection:(id)sender { [findString autorelease]; findString = [[NSString string] retain]; NSLog( @"Finding \"%@\"", findString ); } - (IBAction)replaceAll:(id)sender { [self updateStrings]; [self hideFindSheet:self]; NSLog( @"Replacing all \"%@\" with \"%@\"", findString, replaceString ); } - (IBAction)replaceFindNext:(id)sender { [self updateStrings]; [self hideFindSheet:self]; NSLog( @"Replacing \"%@\" with \"%@\" and finding next", findString, replaceString ); } @end