Completed the housekeeping I needed to do .. so I began moving all the sheet code over to SheetController.
Within FileController, I have 3 IBOutlets which are the 3 different sheet NSWindow's *and* the same 3 sheet NSWindow outlets for SheetController. I need to pass the specific sheet to my showSheet method within FileController and the showSheet method within SheetController needs to differentiate between the 3 different ones in order to place the "withDescription" NSString in the appropriate NSTextField of each sheet. All buttons for each sheet are connected to various IBAction's in FileController. The resulting calls from FileController to SheetController look like this: [theSheet showSheet:saveSheet forWindow:itsWindow withDescription:nil onCompletion:nil]; *and* ** please note that for now, I always pass nil for the completion selector because I haven't *yet* figured out what to do within that selector (probably just a long switch statement based on enumerated constants - I did *not* know that Objective C is based on C, not C++ - I got "case identifier needs constant integer", so placed constants inside an enum). Anyway, I keep getting "unrecognized selector sent to instance ..." (see footprint at the very bottom of this message). In the meantime, I call within FileController: shouldClose = ([theSheet getReturnCode] == doCloseDoc); // should I close the mainWindow or not? once I get a handle on that "unrecognized selector" error, I can get rid of any calls from FileController to SheetController's getReturnCode. ** an example of an IBAction method within FileController (that is connected within IB to one of the sheet buttons): - (IBAction) keeponCalculating:(id)sender { [theSheet closeSheetWithCode:notCloseDoc]; // or, doCloseDoc, integers 0 or 1, depending on method [self doSomethingHere]; } The showSheet, getReturnCode and closeSheetWithCode methods within SheetController looks like: - (void) showSheet:(NSWindow*)whichSheet forWindow:(NSWindow*)theWindow withDescription:(NSString*)theDescription onCompletion:(SEL)doThis { if (theDescription) { if (whichSheet == calculateSheet) { if (calculateDescription) // if connected in IB [calculateDescription setStringValue:theDescription]; } else if (whichSheet == saveSheet) { // etc } else if (whichSheet == errorSheet) { // etc. } [NSApp beginSheet:whichSheet modalForWindow:theWindow modalDelegate:nil // right now, I pass nil as doThis, but if I pass @selector(sheetDidEnd:returnCode:contextInfo:) // I get "unrecognized selector sent to instance ..." didEndSelector:doThis contextInfo:nil]; itsReturnCode = [NSApp runModalForWindow:whichSheet]; [NSApp endSheet:whichSheet]; [whichSheet orderOut:self]; } /* -- doThis defined in FileController.m - (void) sheetDidEnd:(NSWindow*)whichSheet returnCode:(int)returnCode contextInfo:(void*)contextInfo { } */ - (int) getReturnCode { return itsReturnCode; } - (void) closeSheetWithCode:(int)theCode { [NSApp stopModalWithCode:theCode]; } _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]