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;
 }