# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1302203872 0 # Node ID cd6ff038e38b0dd488ec22be5f8dcd4e6c150a8e # Parent 29d8ae25a78ccee412a6d2adc7cea28b05f8b948 Implemented dw_mle_search on Mac. diff -r 29d8ae25a78c -r cd6ff038e38b mac/dw.m --- a/mac/dw.m Thu Apr 07 18:44:07 2011 +0000 +++ b/mac/dw.m Thu Apr 07 19:17:52 2011 +0000 @@ -4141,8 +4141,25 @@ */ int API dw_mle_search(HWND handle, char *text, int point, unsigned long flags) { - NSLog(@"dw_mle_search() unimplemented\n"); - return 0; + NSScrollView *sv = handle; + DWMLE *mle = [sv documentView]; + NSTextStorage *ts = [mle textStorage]; + NSMutableString *ms = [ts mutableString]; + NSString *searchForMe = [NSString stringWithUTF8String:text]; + NSRange searchRange = NSMakeRange(point, [ms length] - point); + NSRange range = NSMakeRange(NSNotFound, 0); + NSUInteger options = flags ? flags : NSCaseInsensitiveSearch; + + if(ms) + { + range = [ms rangeOfString:searchForMe options:options range:searchRange]; + } + + if(range.location != NSNotFound) + { + return -1; + } + return (int)range.location; } /*