On Jul 17, 2012, at 02:43 , Markus Spoettl wrote:

> I'm not sure I follow. I do want multiple selection editing, just in a more 
> user-friendly fashion. Those options prevent multi-selection multi-value 
> editing, right? What am I not getting?

Ah, I see. I don't think you aren't getting anything. :)

There's an inherent UI ambiguity in your approach, because there's no 
detectable difference between a text field that's empty to indicate "no change" 
and a text field that's empty to indicate "zero-length string". In iTunes, for 
example, when you're editing info for a multiple selection, there's a checkbox 
next to each field to disambiguate this. BUT, this only works because it's in a 
modal dialog -- simply dirtying a field doesn't take effect till you click Next 
or OK.

I think you have two sub-problems:

1. Detect when the text field is really being edited. That probably means you 
can't bind the field through the array controller directly to your data model. 
Instead, bind it to an intermediate property in (say) your window controller, 
and add window controller logic to determine what that intermediate property 
represents, depending on the selection state of the array controller and the 
editing state of the text field.

2. Decide when to commit changes from the intermediate property to the data 
model. For example, perhaps if there are multiple values selected, you need to 
show an "Apply" button in the popup, to avoid making it too easy to for the 
user to do the wrong thing.

OTOH, if you're not happy with the generic multiple-values display anyway, 
maybe you should redesign the popup window and its behavior. NSArrayController 
is likely too much of a black box (and a blunt instrument) to be useful for a 
subtle UI.


_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to