Re: Warning users when editing multiple items
Re: Warning users when editing multiple items
- Subject: Re: Warning users when editing multiple items
- From: Graham Cox <email@hidden>
- Date: Wed, 06 Feb 2013 14:43:05 +1100
On 06/02/2013, at 2:08 PM, email@hidden wrote:
> Now users can edit an item 2 ways. They can tab into the control (in this case an NSTextField or an NSComboBox) or mouseDown: into the control. I want to basically interpose both ways of accessing a control. The minute they try to click into a control, I want to perform logoc to determine multiple selection and then thrown an NSRunAlert… that they are about to edit multiple items.
> Does anyone know of a good way to do this?
That sounds like a fairly poor user experience.
If an alert is necessary, I'd throw that up when trying to commit the edit, and then only if the value has changed, that way the user won't get constantly interrupted simply by changing the focus in your interface.
But try to avoid the alert altogether.
For example, when using bindings, a field that represents the value of a multiple selection will show <multiple values> in red if the values of that property among the items in the selection differ. That immediately tells the user that they are about to edit multiple values without interrupting them, then if they go ahead and change it, they *know* they're editing several items.
The situation where you have a multiple selection but the value of the property happens to be the same is handled by bindings by showing the value the value as normal, so there is no indication that this represents multiple items. But it should also be clear elsewhere in your interface that you have selected multiple items (e.g. in a list, you can see several items highlighted), so this isn't the problem it might seem.
--Graham
_______________________________________________
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