Mercurial > dwindows
changeset 802:676d46b31a11
Initial implementation of dw_mle_set_visible().
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 23 Mar 2011 20:05:11 +0000 |
parents | 5d8e4ecb7820 |
children | 8555ac1bcbcd |
files | mac/dw.m |
diffstat | 1 files changed, 12 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mac/dw.m Wed Mar 23 19:50:03 2011 +0000 +++ b/mac/dw.m Wed Mar 23 20:05:11 2011 +0000 @@ -3704,10 +3704,19 @@ */ void API dw_mle_set_visible(HWND handle, int line) { - /*NSScrollView *sv = handle; + NSScrollView *sv = handle; DWMLE *mle = [sv documentView]; - [mle scrollrangeToVisible:NSMakeRange(0,13)];*/ - NSLog(@"dw_mle_set_visible() unimplemented\n"); + NSTextStorage *ts = [mle textStorage]; + NSMutableString *ms = [ts mutableString]; + NSUInteger numberOfLines, index, stringLength = [ms length]; + + for(index=0, numberOfLines=0; index < stringLength && numberOfLines < line; numberOfLines++) + index = NSMaxRange([ms lineRangeForRange:NSMakeRange(index, 0)]); + + if(line == numberOfLines) + { + [mle scrollRangeToVisible:[ms lineRangeForRange:NSMakeRange(index, 0)]]; + } } /*