On Mon, Mar 9, 2009 at 12:38 PM, Stuart Malin <[email protected]> wrote:
>
> On Mar 9, 2009, at 3:46 AM, [email protected] wrote:
>
>> Could you simply reset the toolbar selection to whatever it was
>> before, then display your sheet and then manually set the selection to
>> the new one if the user agrees?
>
> I could do that, but then the user would see the selected toolbar item
> change away, then back. Mail's preference doesn't behave that way, so I am
> presuming there must be some way to intercept the change and stop it, if
> appropriate.  Perhaps the way do handle this is to prevent redisplay of the
> window... I'll have to explore this...

No need to "prevent" redisplay. Redisplay due to changes usually
happens at the end of the event loop cycle where the changes took
place. If you reset the selection before that happens (e.g. if the
toolbar item's action fires before the redisplay) then the user will
not see the intermediate state.

For example, consider this loop:

for(i = 0; i < 100; i++) [textField setIntValue:i];

The user will just see the text field display 99, and won't see it
counting up. The same *should* apply to your toolbar.

Mike
_______________________________________________

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]

Reply via email to