Re: Stack of NSWindow sheets
Re: Stack of NSWindow sheets
- Subject: Re: Stack of NSWindow sheets
- From: Lee Ann Rucker <email@hidden>
- Date: Wed, 27 Apr 2011 19:31:32 -0700 (PDT)
Sounds like what we've got - when you start a virtual machine, asynchronous things happen and some of them generate dialogs. Some dialogs are just informative, some need a response. We've considered things like merging content when a dialog appears while another is up but what if dialog A is an alert, nicely self-contained, and dialog B is a custom sheet? So we queue up the dialog-info events and manage dialog dismissal so that if there's another one in the queue it'll appear when the current one is dismissed. It's not ideal but the times when they queue up more than one or two deep are rare enough not to be too much of a problem.
It would be nice if there was some sort of built-in combining stack, especially for the info-only dialogs, the way starting multiple file copies in the Finder gives you one window with multiple sections instead of multiple windows.
----- Original Message -----
From: "Oleg Andreev" <email@hidden>
To: "Graham Cox" <email@hidden>
Cc: email@hidden, "Gregory Weston" <email@hidden>
Sent: Wednesday, April 27, 2011 6:35:39 AM
Subject: Re: Stack of NSWindow sheets
I'll clarify what I meant.
Normally, user will see only one sheet at a time. There won't be any sort of step-by-step sheet switching within a single task (like in Xcode 4 when creating a new file). The only issue I'm trying to solve is presenting a username/password dialog when it was invoked by a background task (not a direct user action). And since I may have several such background tasks running, I can potentially present several dialogs at once.
Again, normally you'll see no dialogs at all (when the password is already stored in keychain) or a single dialog when a new repository is added or the password was changed. But I should have a nice fallback for a case when several dialogs get popped out. With floating modal windows it is not a problem: they live independently from each other. But floating modal windows look awful, so I want to use sheets. And to present them correctly, I need to maintain some sort of a queue for these sheets.
On 27 Apr 2011, at 14:58, Graham Cox wrote:
> I've seen an app that uses a stack of sheets in this fashion, and it's a horrid, barely usable mess. It's a Microsoft app, though I forget exactly which (and it may have been fixed, as this was quite some time ago).
>
> The problem is that the user either has to remember the "path" that led them through to the current sheet in order to make sense of all the sheets that pop-up as the stack is retraced, or else they do not, and the result is just an utter confusion of sheets coming and going.
>
> My 2ยข worth is with the suggestion to think again.
>
> --Graham
>
>
> On 27/04/2011, at 8:49 PM, Gregory Weston wrote:
>
>> 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#//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@hidden)
>
> 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:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden