On Sep 20, 2013, at 10:00 AM, Martin Hewitson <martin.hewit...@aei.mpg.de> 
wrote:

> Dear list,
> 
> I have an editor app which presents a list of files that can be edited. 
> Selecting a file displays the text contents in an NSTextView subclass. On 
> 10.7 and later the app supports using the FindBar. Searching the currently 
> displayed text works fine the first time the find bar is used. But if another 
> file is selected (so that the text in the textview changes) then the find bar 
> shows nonsensical results, as if subsequent uses are still looking at the 
> contents of the file that where displayed when the find bar was first 
> invoked. 
> 
> Is there something I can/should do to 'reset' the find bar when the file 
> being edited changes? I couldn't find anything in the documentation, and I 
> couldn't figure out how to get the NSTextFinder instance that the textview is 
> using, and even if I could, I don't see anything in the documentation to 
> 'reset' its state, or set the string it should search. 

How are you replacing the NSTextView contents when switching files? The 'reset' 
call for NSTextFinder when the client's content changes is 
-noteClientStringWillChange. NSTextView is supposed to invoke this during 
-shouldChangeTextInRanges:replacementStrings:. It's also invoked during 
-[NSLayoutManager setTextStorage:], so when you switch your NSTextView 
contents, you could load the new file's contents into a new NSTextStorage 
instance, then invoke [[textStorage layoutManager] 
replaceTextStorage:newTextStorage].

-KP

> Am I going about this all the wrong way? I thought this is one of those 'it 
> just works' cases....
> 
> Many thanks,
> 
> Martin
> 
> 
> 
> 
> 
> 
> _______________________________________________
> 
> 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/kperry%40apple.com
> 
> This email sent to kpe...@apple.com


_______________________________________________

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