Mercurial > dwindows
changeset 2693:0dac724f890f
iOS: Fixes for notebook pages. Wasn't always using the pageID.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 01 Nov 2021 01:32:42 +0000 |
parents | 231f9489a38a |
children | cee79add3669 |
files | ios/dw.m |
diffstat | 1 files changed, 21 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/ios/dw.m Sun Oct 31 23:36:33 2021 +0000 +++ b/ios/dw.m Mon Nov 01 01:32:42 2021 +0000 @@ -1951,8 +1951,10 @@ _dw_do_resize(box, frame.size.width, frame.size.height); _dw_handle_resize_events(box); } - _dw_event_handler(self, DW_INT_TO_POINTER(intpageid), _DW_EVENT_SWITCH_PAGE); - } + _dw_event_handler(self, DW_INT_TO_POINTER([page pageid]), _DW_EVENT_SWITCH_PAGE); + } + else + visible = nil; } -(void)dealloc { UserData *root = userdata; @@ -7937,6 +7939,12 @@ [[notebook tabs] removeSegmentAtIndex:index animated:NO]; [notepage removeFromSuperview]; [views removeObject:notepage]; + index--; + if(index >= 0 && index < [views count]) + [[notebook tabs] setSelectedSegmentIndex:index]; + else if([views count] > 0) + [[notebook tabs] setSelectedSegmentIndex:0]; + [notebook pageChanged:nil]; [notepage release]; } } @@ -7990,6 +7998,7 @@ if(index != -1) { [[notebook tabs] setSelectedSegmentIndex:index]; + [notebook pageChanged:nil]; } } DW_FUNCTION_RETURN_NOTHING; @@ -8008,8 +8017,16 @@ DW_FUNCTION_RESTORE_PARAM3(handle, HWND, pageid, ULONG, text, const char *) { DWNotebook *notebook = handle; - - [[notebook tabs] setTitle:[NSString stringWithUTF8String:text] forSegmentAtIndex:pageid]; + DWNotebookPage *notepage = _dw_notepage_from_id(notebook, pageid); + + if(notepage != nil) + { + NSMutableArray<DWNotebookPage *> *views = [notebook views]; + NSUInteger index = [views indexOfObject:notepage]; + + if(index != -1) + [[notebook tabs] setTitle:[NSString stringWithUTF8String:text] forSegmentAtIndex:index]; + } DW_FUNCTION_RETURN_NOTHING; }