On Sep 17, 2011, at 09:47 , Scott Ribe wrote: > The last 2 points of course are assuming you're doing it normally, not trying > to make it a sheet & application modal at the same time. > > In other words, to display a modal dialog, this works: > > DebugReportTests_WC *wc = [[DebugReportTests_WC alloc] > > initWithWindowNibName: @"DebugReportTests"]; > [NSApp runModalForWindow: [wc window]]; > [wc autorelease];
To be fair to Torsten, the documentation does indeed say what he says it does, and it does indeed provide the code snippet he quotes, for an application-modal dialog sheet. Finding this a bit curious, I went to the HIG (referenced by the quoted document) to see what it had to say on the subject. It's a little bit hard to disentangle, but here's what I took away: a. Terminology: "Dialog" just means a window that accepts input. It could be a sheet or a stand-alone window. b. For document applications where each document is represented by a single window, a document-modal dialog should be a sheet on the document's window. c. For document applications where documents may have multiple windows, document modality should be done via an application-modal dialog (non-sheet). d. For non-document applications, of course, an application-modal dialog is used. e. An example of a situation where such an application-modal dialog might be a sheet is the case of covering up the application's main window with a sheet that presents a license agreement, to prevent interaction with the application until the agreement is accepted. Putting all that together, this gives (I think) precisely one scenario where an application-modal dialog sheet should be used: In a single-window non-document application, if it is necessary to block interaction with the single window, use an application-modal dialog sheet. "Single-window" is key here. _______________________________________________ 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 arch...@mail-archive.com