From 70a98332cba2a71fe6ffb109e40877bf48e89386 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sat, 9 Sep 2023 20:35:01 +0200 Subject: AppDelegate: Add NSTextFinder find bar Add a find bar leveraging NSTextFinder. It turns out I didn't need to do anything custom with `NSTextFinder` since `NSTextView` conveniently already has a `usesFindBar` property to turn on built-in support for it. I discovered that by looking at the TextEdit source code available here: https://developer.apple.com/library/archive/samplecode/TextEdit/Introduction/Intro.html I added an `NSScrollView` because you kind of need one to implement `NSTextFinder`. Not sure if the finding functionality would still work without the scroll view. Also use the proper `-performTextFinderAction:` selector for the "Find…" menu item to open the find bar. Now we can confirm that the "Find" menu items work correctly. --- src/AppDelegate.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/AppDelegate.h') diff --git a/src/AppDelegate.h b/src/AppDelegate.h index a9570b8..4dba427 100644 --- a/src/AppDelegate.h +++ b/src/AppDelegate.h @@ -2,6 +2,8 @@ @interface AppDelegate : NSObject { NSWindow *_window; + NSScrollView *_scroll_view; NSTextView *_text_view; + // NSTextFinder *_text_finder; } @end -- cgit v1.2.3