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