Sorry, I might not be clear. I have a table view that is bound to an 
NSArraryController. I want users to be able to edit single and multiple 
selections from a detail view that has NSTextfields and ComboBoxes. There are 
occasions where users forget that they have selected multiple items and proceed 
to edit cues, unaware that they are actually mutating more than one row of 
data. When an editor tabs into a control like the NSTextField or NSComboBox, I 
want to give them a chance to discard editing. I can easily deduce that 
multiple items in my NSArrayController are selected, throw an NSRunAlert, and 
give users an option to make a choice, but at that point, I have already 
entered focus into the control and any attempt to leave that control will still 
change the  selected items. I tried overriding acceptsFirstResponder, and 
conducting my test in that selector, but acceptsFirstResponder gets called more 
than once, and then the control passes focus onto the next control in the kew 
view loop. Really what I want to a accomplish is to discard the editing and 
resign focus from the control. 

Thanks,

Patrick


On Jan 2, 2013, at 6:41 AM, Keary Suska wrote:

> On Jan 2, 2013, at 12:05 AM, livinginlosange...@mac.com wrote:
> 
>> I have an application where a user can select multiple rows of data from an 
>> NSArrayController and edit those rows from a detail view. Now, there are 
>> cases where users have inadvertently changed the values for multiple rows of 
>> data when they did not intend to. How can I warn a user when they enter a 
>> texfield or nscombobox that they are about to edit multiple rows of data and 
>> gracefully give them a way to back out? I noticed that there is no way to 
>> discard editing when in a textfield. Is that the case? I am using the 
>> control: textShouldEndEditing: delegate method which allow me to get 90% of 
>> the way there, but the textfield retains focus, and I can not tab out of the 
>> field without getting my warning. Ideally, pressing "esc" should allow me to 
>> discard any editing and make the field lose focus. 
> 
> IIRC you can set a delegate to the table view and implement 
> tableView:shouldEditTableColumn:row:, and you should be able to prevent 
> editing from even starting until the user has confirmed.
> 
> HTH,
> 
> Keary Suska
> Esoteritech, Inc.
> "Demystifying technology for your home or business"
> 


_______________________________________________

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