Oleg Andreev wrote:
> Is there a well-known way (or a library) to keep a stack (or queue) of sheets
> per window?
>
> I'm a developer of Gitbox - a git repository manager. It keeps several repos
> opened and periodically updates them. If some repos require authentication, a
> modal dialog pops up. I'd like to clean up these dialogs by attaching them as
> sheets to the main window. But since NSApp does not manage any form of stack
> or queue of sheets, I need to take care of it myself: that is maintaining a
> queue of windows to be displayed as sheets and displaying next sheet when the
> previous one was dismissed.
>
> Something like:
>
> [mainWindowController queueSheet:aWindow completionHandler:^(NSInteger
> returnCode){
> ...
> }];
>
>
> So the questions are:
>
> 1. Is there a code already doing that? If not, then I'll just write it myself.
> 2. Is it a good way to solve the problem? Maybe I miss some subtle issues
> with AppKit or user experience.
I think the notion of a "stack" of sheets is bizarre. In the very rare
scenarios where multiple sheets are used to accomplish something, I've never
seen them presented as anything other than a strict sequence. When sheet N is
dismissed, if more information is needed sheet N+1 will be presented. When
sheet N+1 is dismissed, the user is shown the unobstructed window. When you say
"stack" I infer that you intended to re-show sheet N.
<http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Sheets/Tasks/UsingCascadingSheets.html%23//apple_ref/doc/uid/20001046-BABFIBIA>
I should also say that having used OS X since the public beta I've rarely seen
2 sheets, and never 3 in a sequence. It might be a good idea to revisit your UI
plans. Perhaps you can use fewer sheets but with optional parts akin to the
print job sheet.
_______________________________________________
Cocoa-dev mailing list ([email protected])
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]