Revision: 13965
          http://sourceforge.net/p/skim-app/code/13965
Author:   hofman
Date:     2023-12-23 17:21:58 +0000 (Sat, 23 Dec 2023)
Log Message:
-----------
add generics declarations to headers

Modified Paths:
--------------
    trunk/NSBezierPath_SKExtensions.h
    trunk/NSColor_SKExtensions.h
    trunk/NSDocument_SKExtensions.h
    trunk/NSDocument_SKExtensions.m
    trunk/NSError_SKExtensions.h
    trunk/NSFileManager_SKExtensions.h
    trunk/NSObject_SKExtensions.h
    trunk/NSPasteboard_SKExtensions.h
    trunk/NSURL_SKExtensions.h
    trunk/NSUserDefaultsController_SKExtensions.h
    trunk/NSWindow_SKExtensions.h
    trunk/PDFAnnotation_SKExtensions.h
    trunk/PDFDocument_SKExtensions.h
    trunk/PDFOutline_SKExtensions.h
    trunk/PDFPage_SKExtensions.h
    trunk/PDFView_SKExtensions.h
    trunk/SKApplicationController.h
    trunk/SKBookmark.h
    trunk/SKBookmarkController.h
    trunk/SKColorMenuView.h
    trunk/SKColorPicker.h
    trunk/SKColorSwatch.h
    trunk/SKColorSwatch.m
    trunk/SKDisplayPrefs.h
    trunk/SKDocumentController.h
    trunk/SKDownload.h
    trunk/SKDownloadController.h
    trunk/SKFDFParser.h
    trunk/SKGroupedSearchResult.h
    trunk/SKInfoWindowController.h
    trunk/SKLineInspector.h
    trunk/SKLineWell.h
    trunk/SKMainDocument.h
    trunk/SKMainDocument.m
    trunk/SKMainToolbarController.h
    trunk/SKMainToolbarController.m
    trunk/SKMainTouchBarController.h
    trunk/SKMainWindowController.h
    trunk/SKNotePrefs.h
    trunk/SKNoteTypeSheetController.h
    trunk/SKNotesDocument.h
    trunk/SKPDFDocument.h
    trunk/SKPDFSynchronizer.h
    trunk/SKPreferenceController.h
    trunk/SKPresentationOptionsSheetController.h
    trunk/SKRecentDocumentInfo.h
    trunk/SKSideViewController.h
    trunk/SKSnapshotWindowController.h
    trunk/SKSplitView.h
    trunk/SKSyncPreferences.h
    trunk/SKTemplateManager.h
    trunk/SKTemplateParser.h
    trunk/SKTemplateTag.h
    trunk/SKTemporaryData.h
    trunk/SKTransitionController.h
    trunk/SKTypeSelectHelper.h
    trunk/SKViewSettingsController.h

Modified: trunk/NSBezierPath_SKExtensions.h
===================================================================
--- trunk/NSBezierPath_SKExtensions.h   2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/NSBezierPath_SKExtensions.h   2023-12-23 17:21:58 UTC (rev 13965)
@@ -41,7 +41,7 @@
 
 @interface NSBezierPath (SKExtensions)
 
-@property (nonatomic, nullable, copy) NSArray *dashPattern;
+@property (nonatomic, nullable, copy) NSArray<NSNumber *> *dashPattern;
 
 @property (nonatomic, readonly) NSRect nonEmptyBounds;
 

Modified: trunk/NSColor_SKExtensions.h
===================================================================
--- trunk/NSColor_SKExtensions.h        2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/NSColor_SKExtensions.h        2023-12-23 17:21:58 UTC (rev 13965)
@@ -81,7 +81,7 @@
 + (NSColor *)selectionHighlightColor:(BOOL)active;
 + (NSColor *)selectionHighlightInteriorColor:(BOOL)active;
 
-@property (class, nonatomic, readonly) NSArray *favoriteColors;
+@property (class, nonatomic, readonly) NSArray<NSColor *> *favoriteColors;
 
 - (NSComparisonResult)colorCompare:(NSColor *)aColor;
 

Modified: trunk/NSDocument_SKExtensions.h
===================================================================
--- trunk/NSDocument_SKExtensions.h     2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/NSDocument_SKExtensions.h     2023-12-23 17:21:58 UTC (rev 13965)
@@ -37,7 +37,6 @@
  */
 
 #import <Cocoa/Cocoa.h>
-#import <Quartz/Quartz.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
@@ -49,6 +48,8 @@
     SKPresentationMode
 };
 
+@class PDFDocument, PDFPage, PDFAnnotation;
+
 @interface NSDocument (SKExtensions)
 
 + (BOOL)isPDFDocument;
@@ -64,9 +65,9 @@
 #pragma mark Document Setup
 
 - (void)saveRecentDocumentInfo;
-- (void)applySetup:(NSDictionary *)setup;
-- (void)applyOptions:(NSDictionary *)options;
-@property (nonatomic, nullable, readonly) NSDictionary *currentDocumentSetup;
+- (void)applySetup:(NSDictionary<NSString *, id> *)setup;
+- (void)applyOptions:(NSDictionary<NSString *, id> *)options;
+@property (nonatomic, nullable, readonly) NSDictionary<NSString *, id> 
*currentDocumentSetup;
 
 #pragma mark PDF Document
 
@@ -82,9 +83,9 @@
 
 - (BOOL)hasNotes;
 
-@property (nonatomic, nullable, readonly) NSArray *notes;
+@property (nonatomic, nullable, readonly) NSArray<PDFAnnotation *> *notes;
 
-@property (nonatomic, nullable, readonly) NSArray *SkimNoteProperties;
+@property (nonatomic, nullable, readonly) NSArray<NSDictionary<NSString *, id> 
*> *SkimNoteProperties;
 
 @property (nonatomic, nullable, readonly) NSData *notesData;
 
@@ -104,7 +105,7 @@
 
 #pragma mark Scripting
 
-- (nullable NSArray *)pages;
+- (nullable NSArray<PDFPage *> *)pages;
 - (NSUInteger)countOfPages;
 - (PDFPage *)objectInPagesAtIndex:(NSUInteger)theIndex;
 
@@ -118,9 +119,9 @@
 @property (nonatomic, nullable, readonly) id selectionSpecifier;
 @property (nonatomic, nullable, readonly) NSData *selectionQDRect;
 @property (nonatomic, nullable, readonly) id selectionPage;
-@property (nonatomic, nullable, strong) NSArray *noteSelection;
-@property (nonatomic, nullable, readonly) NSDictionary *pdfViewSettings;
-@property (nonatomic, nullable, readonly) NSDictionary *documentAttributes;
+@property (nonatomic, nullable, strong) NSArray<PDFAnnotation *> 
*noteSelection;
+@property (nonatomic, nullable, readonly) NSDictionary<NSString *, id> 
*pdfViewSettings;
+@property (nonatomic, nullable, readonly) NSDictionary<NSString *, id> 
*documentAttributes;
 @property (nonatomic, readonly, getter=isPDFDocument) BOOL PDFDocument;
 @property (nonatomic, readonly) NSInteger toolMode;
 @property (nonatomic, readonly) NSInteger scriptingInteractionMode;

Modified: trunk/NSDocument_SKExtensions.m
===================================================================
--- trunk/NSDocument_SKExtensions.m     2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/NSDocument_SKExtensions.m     2023-12-23 17:21:58 UTC (rev 13965)
@@ -37,6 +37,7 @@
  */
 
 #import "NSDocument_SKExtensions.h"
+#import <Quartz/Quartz.h>
 #import "SKApplicationController.h"
 #import "SKTemplateParser.h"
 #import "NSFileManager_SKExtensions.h"

Modified: trunk/NSError_SKExtensions.h
===================================================================
--- trunk/NSError_SKExtensions.h        2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/NSError_SKExtensions.h        2023-12-23 17:21:58 UTC (rev 13965)
@@ -59,7 +59,7 @@
 + (instancetype)printDocumentErrorWithLocalizedDescription:(nullable NSString 
*)description;
 + (instancetype)failedToCommitErrorWithLocalizedDescription:(nullable NSString 
*)description;
 
-+ (nullable NSError *)combineErrors:(NSArray *)errors maximum:(NSUInteger)max;
++ (nullable NSError *)combineErrors:(NSArray<NSError *> *)errors 
maximum:(NSUInteger)max;
 
 - (BOOL)isUserCancelledError;
 

Modified: trunk/NSFileManager_SKExtensions.h
===================================================================
--- trunk/NSFileManager_SKExtensions.h  2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/NSFileManager_SKExtensions.h  2023-12-23 17:21:58 UTC (rev 13965)
@@ -42,7 +42,7 @@
 
 @interface NSFileManager (SKExtensions)
 
-@property (nonatomic, readonly) NSArray *applicationSupportDirectoryURLs;
+@property (nonatomic, readonly) NSArray<NSURL *> 
*applicationSupportDirectoryURLs;
 
 @property (nonatomic, readonly) NSURL *uniqueChewableItemsDirectoryURL;
 

Modified: trunk/NSObject_SKExtensions.h
===================================================================
--- trunk/NSObject_SKExtensions.h       2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/NSObject_SKExtensions.h       2023-12-23 17:21:58 UTC (rev 13965)
@@ -46,7 +46,7 @@
 - (void)performSelectorOnce:(SEL)aSelector afterDelay:(NSTimeInterval)delay;
 
 - (NSUInteger)countOfTexLines;
-- (id)objectInTexLinesAtIndex:(NSUInteger)idx;
+- (NSNumber *)objectInTexLinesAtIndex:(NSUInteger)idx;
 
 - (nullable id)handleFormatScriptCommand:(NSScriptCommand *)command;
 

Modified: trunk/NSPasteboard_SKExtensions.h
===================================================================
--- trunk/NSPasteboard_SKExtensions.h   2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/NSPasteboard_SKExtensions.h   2023-12-23 17:21:58 UTC (rev 13965)
@@ -42,7 +42,7 @@
 
 @interface NSPasteboard (SKExtensions)
 
-- (BOOL)writeURLs:(NSArray *)URLs names:(nullable NSArray *)names;
+- (BOOL)writeURLs:(NSArray<NSURL *> *)URLs names:(nullable NSArray<NSString *> 
*)names;
 
 @end
 

Modified: trunk/NSURL_SKExtensions.h
===================================================================
--- trunk/NSURL_SKExtensions.h  2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/NSURL_SKExtensions.h  2023-12-23 17:21:58 UTC (rev 13965)
@@ -43,9 +43,9 @@
 @interface NSURL (SKExtensions)
 
 + (BOOL)canReadURLFromPasteboard:(NSPasteboard *)pboard;
-+ (nullable NSArray *)readURLsFromPasteboard:(NSPasteboard *)pboard;
++ (nullable NSArray<NSURL *> *)readURLsFromPasteboard:(NSPasteboard *)pboard;
 + (BOOL)canReadFileURLFromPasteboard:(NSPasteboard *)pboard;
-+ (nullable NSArray *)readFileURLsFromPasteboard:(NSPasteboard *)pboard;
++ (nullable NSArray<NSURL *> *)readFileURLsFromPasteboard:(NSPasteboard 
*)pboard;
 
 - (NSURL *)URLReplacingPathExtension:(NSString *)ext;
 - (NSString *)lastPathComponentReplacingPathExtension:(NSString *)ext;

Modified: trunk/NSUserDefaultsController_SKExtensions.h
===================================================================
--- trunk/NSUserDefaultsController_SKExtensions.h       2023-12-22 18:16:24 UTC 
(rev 13964)
+++ trunk/NSUserDefaultsController_SKExtensions.h       2023-12-23 17:21:58 UTC 
(rev 13965)
@@ -43,8 +43,8 @@
 
 - (void)addObserver:(NSObject *)anObserver forKey:(NSString *)key 
context:(void *)context;
 - (void)removeObserver:(NSObject *)anObserver forKey:(NSString *)key 
context:(void *)context;
-- (void)addObserver:(NSObject *)anObserver forKeys:(NSArray *)keys 
context:(void *)context;
-- (void)removeObserver:(NSObject *)anObserver forKeys:(NSArray *)keys 
context:(void *)context;
-- (void)revertToInitialValuesForKeys:(NSArray *)keys;
+- (void)addObserver:(NSObject *)anObserver forKeys:(NSArray<NSString *> *)keys 
context:(void *)context;
+- (void)removeObserver:(NSObject *)anObserver forKeys:(NSArray<NSString *> 
*)keys context:(void *)context;
+- (void)revertToInitialValuesForKeys:(NSArray<NSString *> *)keys;
 
 @end

Modified: trunk/NSWindow_SKExtensions.h
===================================================================
--- trunk/NSWindow_SKExtensions.h       2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/NSWindow_SKExtensions.h       2023-12-23 17:21:58 UTC (rev 13965)
@@ -42,8 +42,8 @@
 
 @interface NSWindow (SKExtensions)
 
-+ (void)addTabs:(NSArray *)tabInfos forWindows:(NSArray *)windows;
-- (nullable NSString *)tabIndexesInWindows:(NSArray *)windows;
++ (void)addTabs:(NSArray<NSArray *> *)tabInfos forWindows:(NSArray *)windows;
+- (nullable NSString *)tabIndexesInWindows:(NSArray<NSWindow *> *)windows;
 
 - (void)handleRevertScriptCommand:(NSScriptCommand *)command;
 

Modified: trunk/PDFAnnotation_SKExtensions.h
===================================================================
--- trunk/PDFAnnotation_SKExtensions.h  2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/PDFAnnotation_SKExtensions.h  2023-12-23 17:21:58 UTC (rev 13965)
@@ -59,15 +59,15 @@
 
 + (nullable PDFAnnotation *)newSkimNoteWithBounds:(NSRect)bounds 
forType:(NSString *)type;
 
-+ (nullable PDFAnnotation *)newSkimNoteWithProperties:(NSDictionary *)dict;
++ (nullable PDFAnnotation *)newSkimNoteWithProperties:(NSDictionary<NSString 
*, id> *)dict;
 
-+ (nullable PDFAnnotation *)newSkimNoteWithPaths:(NSArray *)paths;
++ (nullable PDFAnnotation *)newSkimNoteWithPaths:(NSArray<NSBezierPath *> 
*)paths;
 
 + (nullable PDFAnnotation *)newSkimNoteWithSelection:(PDFSelection *)selection 
forType:(NSString *)type;
 
-+ (nullable NSArray *)SkimNotesAndPagesWithSelection:(PDFSelection *)selection 
forType:(NSString *)type;
++ (nullable NSArray<NSArray *> *)SkimNotesAndPagesWithSelection:(PDFSelection 
*)selection forType:(NSString *)type;
 
-+ (NSDictionary *)textToNoteSkimNoteProperties:(NSDictionary *)properties;
++ (NSDictionary<NSString *, id> 
*)textToNoteSkimNoteProperties:(NSDictionary<NSString *, id> *)properties;
 
 @property (nonatomic, nullable, readonly) NSString *fdfString;
 
@@ -75,7 +75,7 @@
 
 @property (nonatomic) PDFBorderStyle borderStyle;
 @property (nonatomic) CGFloat lineWidth;
-@property (nonatomic, nullable, copy) NSArray *dashPattern;
+@property (nonatomic, nullable, copy) NSArray<NSNumber *> *dashPattern;
 
 @property (nonatomic) NSPoint observedStartPoint;
 @property (nonatomic) NSPoint observedEndPoint;
@@ -82,9 +82,9 @@
 
 @property (nonatomic, readonly) CGFloat pathInset;
 
-@property (nonatomic, nullable, copy) NSArray *bezierPaths;
+@property (nonatomic, nullable, copy) NSArray<NSBezierPath *> *bezierPaths;
 
-@property (nonatomic, nullable, readonly) NSArray *pagePaths;
+@property (nonatomic, nullable, readonly) NSArray<NSBezierPath *> *pagePaths;
 
 @property (nonatomic, nullable, readonly) NSImage *image;
 @property (nonatomic, nullable, readonly) NSAttributedString *text;
@@ -158,7 +158,7 @@
 @property (nonatomic, readonly) PDFLineStyle scriptingStartLineStyle;
 @property (nonatomic, readonly) PDFLineStyle scriptingEndLineStyle;
 @property (nonatomic, nullable, readonly) id selectionSpecifier;
-@property (nonatomic, nullable, readonly) NSArray *scriptingPointLists;
+@property (nonatomic, nullable, readonly) NSArray<NSArray<NSData *> *> 
*scriptingPointLists;
 
 - (void)handleEditScriptCommand:(NSScriptCommand *)command;
 

Modified: trunk/PDFDocument_SKExtensions.h
===================================================================
--- trunk/PDFDocument_SKExtensions.h    2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/PDFDocument_SKExtensions.h    2023-12-23 17:21:58 UTC (rev 13965)
@@ -57,13 +57,13 @@
 } SKLanguageDirectionAngles;
 
 @interface PDFDocument (SKExtensions) <NSFastEnumeration>
-@property (nonatomic, nullable, readonly) NSArray *pageLabels;
-@property (nonatomic, nullable, readonly) NSArray *fileIDStrings;
-@property (nonatomic, nullable, readonly) NSDictionary *initialSettings;
+@property (nonatomic, nullable, readonly) NSArray<NSString *> *pageLabels;
+@property (nonatomic, nullable, readonly) NSArray<NSString *> *fileIDStrings;
+@property (nonatomic, nullable, readonly) NSDictionary<NSString *, id> 
*initialSettings;
 @property (nonatomic, readonly) SKLanguageDirectionAngles 
languageDirectionAngles;
 @property (nonatomic, readonly) BOOL allowsNotes;
 @property (nonatomic, readonly) BOOL realAllowsCommenting;
-@property (nonatomic, nullable, readonly) NSArray *detectedWidgets;
+@property (nonatomic, nullable, readonly) NSArray<PDFAnnotation *> 
*detectedWidgets;
 @property (nonatomic, nullable, weak) NSDocument *containingDocument;
 - (void)addAnnotation:(PDFAnnotation *)annotation toPage:(PDFPage *)page;
 - (void)removeAnnotation:(PDFAnnotation *)annotation;

Modified: trunk/PDFOutline_SKExtensions.h
===================================================================
--- trunk/PDFOutline_SKExtensions.h     2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/PDFOutline_SKExtensions.h     2023-12-23 17:21:58 UTC (rev 13965)
@@ -54,7 +54,7 @@
 
 @property (nonatomic, nullable, readonly) NSScriptObjectSpecifier 
*objectSpecifier;
 @property (nonatomic, nullable, readonly) PDFOutline *scriptingParent;
-@property (nonatomic, readonly) NSArray *entireContents;
+@property (nonatomic, readonly) NSArray<PDFOutline *> *entireContents;
 - (NSUInteger)countOfOutlines;
 - (PDFOutline *)objectInOutlinesAtIndex:(NSUInteger)idx;
 @property (nonatomic, nullable, readonly) NSString *scriptingURL;

Modified: trunk/PDFPage_SKExtensions.h
===================================================================
--- trunk/PDFPage_SKExtensions.h        2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/PDFPage_SKExtensions.h        2023-12-23 17:21:58 UTC (rev 13965)
@@ -104,11 +104,11 @@
 @property (nonatomic, nullable, copy) NSData *boundsAsQDRect;
 @property (nonatomic, nullable, copy) NSData *mediaBoundsAsQDRect;
 @property (nonatomic, nullable, readonly) NSData *contentBoundsAsQDRect;
-@property (nonatomic, nullable, readonly) NSArray *lineBoundsAsQDRects;
+@property (nonatomic, nullable, readonly) NSArray<NSData *> 
*lineBoundsAsQDRects;
 - (NSUInteger)countOfLines;
 - (SKLine *)objectInLinesAtIndex:(NSUInteger)anIndex;
 @property (nonatomic, nullable, readonly) NSTextStorage *richText;
-@property (nonatomic, nullable, readonly) NSArray *notes;
+@property (nonatomic, nullable, readonly) NSArray<PDFAnnotation *> *notes;
 - (nullable id)valueInNotesWithUniqueID:(NSString *)aUniqueID;
 - (void)insertObject:(id)newNote inNotesAtIndex:(NSUInteger)index;
 - (void)removeObjectFromNotesAtIndex:(NSUInteger)index;

Modified: trunk/PDFView_SKExtensions.h
===================================================================
--- trunk/PDFView_SKExtensions.h        2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/PDFView_SKExtensions.h        2023-12-23 17:21:58 UTC (rev 13965)
@@ -44,7 +44,7 @@
 
 @property (nonatomic) CGFloat physicalScaleFactor;
 @property (nonatomic, readonly) NSScrollView *scrollView;
-@property (nonatomic, readonly) NSArray *displayedPages;
+@property (nonatomic, readonly) NSArray<PDFPage *> *displayedPages;
 @property (nonatomic, readonly) NSRect visibleContentRect;
 
 - (BOOL)isPageAtIndexDisplayed:(NSUInteger)pageIndex;

Modified: trunk/SKApplicationController.h
===================================================================
--- trunk/SKApplicationController.h     2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKApplicationController.h     2023-12-23 17:21:58 UTC (rev 13965)
@@ -66,16 +66,16 @@
 
 @property (nonatomic, nullable, strong) IBOutlet NSMenu *noteColumnsMenu, 
*noteTypeMenu;
 
-@property (nonatomic, copy) NSArray *favoriteColors;
+@property (nonatomic, copy) NSArray<NSColor *> *favoriteColors;
 @property (nonatomic) PDFLineStyle defaultStartLineStyle, defaultEndLineStyle;
 @property (nonatomic) NSTextAlignment defaultAlignment;
 @property (nonatomic) PDFTextAnnotationIconType defaultIconType;
 
-- (NSArray *)bookmarks;
+- (NSArray<SKBookmark *> *)bookmarks;
 - (void)insertObject:(SKBookmark *)bookmark 
inBookmarksAtIndex:(NSUInteger)anIndex;
 - (void)removeObjectFromBookmarksAtIndex:(NSUInteger)anIndex;
 
-- (NSArray *)downloads;
+- (NSArray<SKDownload *> *)downloads;
 - (void)insertObject:(SKDownload *)download 
inDownloadsAtIndex:(NSUInteger)anIndex;
 - (void)removeObjectFromDownloadsAtIndex:(NSUInteger)anIndex;
 

Modified: trunk/SKBookmark.h
===================================================================
--- trunk/SKBookmark.h  2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKBookmark.h  2023-12-23 17:21:58 UTC (rev 13965)
@@ -69,7 +69,7 @@
 - (nullable instancetype)initSeparator;
 - (nullable instancetype)initWithProperties:(NSDictionary *)dictionary;
 
-@property (nonatomic, readonly) NSDictionary *properties;
+@property (nonatomic, readonly) NSDictionary<NSString *, id> *properties;
 @property (nonatomic, readonly) SKBookmarkType bookmarkType;
 @property (nonatomic, nullable, strong) NSString *label;
 @property (nonatomic, nullable, readonly) NSImage *icon, *alternateIcon;
@@ -84,17 +84,17 @@
 @property (nonatomic, nullable, weak) SKBookmark *parent;
 @property (nonatomic, readonly) NSArray *containingBookmarks;
 
-- (NSArray *)children;
+- (NSArray<SKBookmark *> *)children;
 - (NSUInteger)countOfChildren;
 - (SKBookmark *)objectInChildrenAtIndex:(NSUInteger)anIndex;
-- (NSArray *)childrenAtIndexes:(NSIndexSet *)indexes;
+- (NSArray<SKBookmark *> *)childrenAtIndexes:(NSIndexSet *)indexes;
 - (void)insertObject:(SKBookmark *)child inChildrenAtIndex:(NSUInteger)anIndex;
-- (void)insertChildren:(NSArray *)newChildren atIndexes:(NSIndexSet *)indexes;
+- (void)insertChildren:(NSArray<SKBookmark *> *)newChildren 
atIndexes:(NSIndexSet *)indexes;
 - (void)removeObjectFromChildrenAtIndex:(NSUInteger)anIndex;
 - (void)removeChildrenAtIndexes:(NSIndexSet *)indexes;
 
 @property (nonatomic, nullable, readonly) SKBookmark *scriptingParent;
-@property (nonatomic, nullable, readonly) NSArray *entireContents;
+@property (nonatomic, nullable, readonly) NSArray<SKBookmark *> 
*entireContents;
 
 - (NSArray *)bookmarks;
 - (void)insertObject:(SKBookmark *)bookmark 
inBookmarksAtIndex:(NSUInteger)anIndex;
@@ -103,7 +103,7 @@
 @property (nonatomic, getter=isExpanded) BOOL expanded;
 
 - (BOOL)isDescendantOf:(SKBookmark *)bookmark;
-- (BOOL)isDescendantOfArray:(NSArray *)bookmarks;
+- (BOOL)isDescendantOfArray:(NSArray<SKBookmark *> *)bookmarks;
 
 @property (nonatomic, nullable, readonly) NSURL * skimURL;
 

Modified: trunk/SKBookmarkController.h
===================================================================
--- trunk/SKBookmarkController.h        2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKBookmarkController.h        2023-12-23 17:21:58 UTC (rev 13965)
@@ -42,7 +42,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-@class SKBookmark, SKStatusBar;
+@class SKBookmark, SKRecentDocumentInfo, SKStatusBar;
 
 @interface SKBookmarkController : NSWindowController <NSWindowDelegate, 
NSToolbarDelegate, NSMenuDelegate, SKOutlineViewDelegate, 
NSOutlineViewDataSource, QLPreviewPanelDataSource, QLPreviewPanelDelegate, 
NSTouchBarDelegate> {
     SKOutlineView *outlineView;
@@ -56,11 +56,11 @@
     NSButton *previewButton;
     SKBookmark *bookmarkRoot;
     SKBookmark *previousSession;
-    NSMutableArray *recentDocuments;
+    NSMutableArray<SKRecentDocumentInfo *> *recentDocuments;
     NSUndoManager *undoManager;
-    NSArray *draggedBookmarks;
-    NSDictionary *toolbarItems;
-    NSArray *bookmarksCache;
+    NSArray<SKBookmark *> *draggedBookmarks;
+    NSDictionary<NSString *, NSToolbarItem *> *toolbarItems;
+    NSArray<NSDictionary<NSString *, id> *> *bookmarksCache;
     BOOL needsBeginUpdates;
 }
 
@@ -91,9 +91,9 @@
 - (void)removeBookmarkAtIndex:(NSUInteger)anIndex ofBookmark:(SKBookmark 
*)parent animate:(BOOL)animate;
 - (void)replaceBookmarkAtIndex:(NSUInteger)anIndex ofBookmark:(SKBookmark 
*)parent withBookmark:(SKBookmark *)bookmark animate:(BOOL)animate;
 
-- (void)addRecentDocumentForURL:(NSURL *)fileURL 
pageIndex:(NSUInteger)pageIndex snapshots:(nullable NSArray *)setups;
+- (void)addRecentDocumentForURL:(NSURL *)fileURL 
pageIndex:(NSUInteger)pageIndex snapshots:(nullable 
NSArray<NSDictionary<NSString *, id> *> *)setups;
 - (NSUInteger)pageIndexForRecentDocumentAtURL:(NSURL *)fileURL;
-- (NSArray *)snapshotsForRecentDocumentAtURL:(NSURL *)fileURL;
+- (NSArray<NSDictionary<NSString *, id> *> 
*)snapshotsForRecentDocumentAtURL:(NSURL *)fileURL;
 
 - (BOOL)isBookmarkExpanded:(SKBookmark *)bookmark;
 - (void)setExpanded:(BOOL)flag forBookmark:(SKBookmark *)bookmark;

Modified: trunk/SKColorMenuView.h
===================================================================
--- trunk/SKColorMenuView.h     2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKColorMenuView.h     2023-12-23 17:21:58 UTC (rev 13965)
@@ -45,7 +45,7 @@
 
 @interface SKColorMenuView : SKGroupView {
     PDFAnnotation *annotation;
-    NSArray *colors;
+    NSArray<NSColor *> *colors;
     NSUInteger hoveredIndex;
 }
 

Modified: trunk/SKColorPicker.h
===================================================================
--- trunk/SKColorPicker.h       2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKColorPicker.h       2023-12-23 17:21:58 UTC (rev 13965)
@@ -44,11 +44,11 @@
 
 @interface SKColorPicker : NSViewController <NSScrubberDataSource, 
NSScrubberDelegate> {
     NSScrubber *scrubber;
-    NSArray *colors;
+    NSArray<NSColor *> *colors;
     __weak id <SKColorPickerDelegate> delegate;
 }
 
-@property (nonatomic, readonly) NSArray *colors;
+@property (nonatomic, readonly) NSArray<NSColor *> *colors;
 
 @property (nonatomic, nullable, weak) id <SKColorPickerDelegate> delegate;
 

Modified: trunk/SKColorSwatch.h
===================================================================
--- trunk/SKColorSwatch.h       2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKColorSwatch.h       2023-12-23 17:21:58 UTC (rev 13965)
@@ -42,11 +42,11 @@
 
 extern NSString *SKColorSwatchColorsChangedNotification;
 
-@class SKColorSwatchBackgroundView;
+@class SKColorSwatchBackgroundView, SKColorSwatchItemView;
 
 @interface SKColorSwatch : NSControl <NSDraggingSource, NSAccessibilityGroup> {
-    NSMutableArray *colors;
-    NSMutableArray *itemViews;
+    NSMutableArray<NSColor *> *colors;
+    NSMutableArray<SKColorSwatchItemView *> *itemViews;
     SKColorSwatchBackgroundView *backgroundView;
     CGFloat bezelHeight;
     
@@ -63,7 +63,7 @@
     BOOL alternate;
 }
 
-@property (nonatomic, copy) NSArray *colors;
+@property (nonatomic, copy) NSArray<NSColor *> *colors;
 @property (nonatomic, readonly) NSInteger clickedColorIndex;
 @property (nonatomic, readonly) NSInteger selectedColorIndex;
 @property (nonatomic, nullable, readonly) NSColor *color;

Modified: trunk/SKColorSwatch.m
===================================================================
--- trunk/SKColorSwatch.m       2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKColorSwatch.m       2023-12-23 17:21:58 UTC (rev 13965)
@@ -175,7 +175,7 @@
             if ([view isKindOfClass:[SKColorSwatchBackgroundView class]])
                 backgroundView = (SKColorSwatchBackgroundView *)view;
             else if ([view isKindOfClass:[SKColorSwatchItemView class]])
-                [itemViews addObject:view];
+                [itemViews addObject:(SKColorSwatchItemView *)view];
         }
     }
     return self;

Modified: trunk/SKDisplayPrefs.h
===================================================================
--- trunk/SKDisplayPrefs.h      2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKDisplayPrefs.h      2023-12-23 17:21:58 UTC (rev 13965)
@@ -45,7 +45,7 @@
 }
 
 @property (nonatomic, readonly) NSString *name;
-@property (nonatomic, strong) NSDictionary *pdfViewSettings;
+@property (nonatomic, strong) NSDictionary<NSString *, id> *pdfViewSettings;
 @property (nonatomic, nullable, strong) NSColor *backgroundColor;
 @property (nonatomic) CGFloat sepiaTone;
 @property (nonatomic, nullable, strong) NSColor *whitePoint;

Modified: trunk/SKDocumentController.h
===================================================================
--- trunk/SKDocumentController.h        2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKDocumentController.h        2023-12-23 17:21:58 UTC (rev 13965)
@@ -80,7 +80,7 @@
 - (void)openDocumentWithURLFromPasteboard:(NSPasteboard *)pboard 
showNotes:(BOOL)showNotes completionHandler:(void (^)(NSDocument * _Nullable 
document, BOOL documentWasAlreadyOpen, NSError * _Nullable 
error))completionHandler;
 
 - (void)openDocumentWithBookmark:(SKBookmark *)bookmark 
completionHandler:(void (^)(NSDocument * _Nullable document, BOOL 
documentWasAlreadyOpen, NSError * _Nullable error))completionHandler;
-- (void)openDocumentWithBookmarks:(NSArray *)bookmarks completionHandler:(void 
(^)(NSDocument * _Nullable document, BOOL documentWasAlreadyOpen, NSError * 
_Nullable error))completionHandler;
+- (void)openDocumentWithBookmarks:(NSArray<SKBookmark *> *)bookmarks 
completionHandler:(void (^)(NSDocument * _Nullable document, BOOL 
documentWasAlreadyOpen, NSError * _Nullable error))completionHandler;
 
 - (nullable Class)documentClassForContentsOfURL:(NSURL *)inAbsoluteURL;
 

Modified: trunk/SKDownload.h
===================================================================
--- trunk/SKDownload.h  2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKDownload.h  2023-12-23 17:21:58 UTC (rev 13965)
@@ -66,7 +66,7 @@
     BOOL receivedResponse;
 }
 
-@property (nonatomic, readonly) NSDictionary *properties;
+@property (nonatomic, readonly) NSDictionary<NSString *, id> *properties;
 
 @property (nonatomic, readonly) SKDownloadStatus status;
 
@@ -100,7 +100,7 @@
 @property (class, nonatomic, readonly) NSImage *resumeImage;
 
 - (instancetype)initWithURL:(nullable NSURL *)aURL;
-- (instancetype)initWithProperties:(NSDictionary *)properties;
+- (instancetype)initWithProperties:(NSDictionary<NSString *, id> *)properties;
 
 - (void)start;
 - (void)cancel;

Modified: trunk/SKDownloadController.h
===================================================================
--- trunk/SKDownloadController.h        2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKDownloadController.h        2023-12-23 17:21:58 UTC (rev 13965)
@@ -51,7 +51,7 @@
     NSButton *resumeButton;
     NSButton *cancelButton;
     NSButton *removeButton;
-    NSMutableArray *downloads;
+    NSMutableArray<SKDownload *> *downloads;
     NSURLSession *session;
     NSMapTable *downloadsForTasks;
     NSMutableDictionary *touchBarItems;
@@ -71,7 +71,7 @@
 
 - (IBAction)moveToTrash:(nullable id)sender;
 
-- (NSArray *)downloads;
+- (NSArray<SKDownload *> *)downloads;
 - (NSUInteger)countOfDownloads;
 - (SKDownload *)objectInDownloadsAtIndex:(NSUInteger)anIndex;
 - (void)insertObject:(SKDownload *)download 
inDownloadsAtIndex:(NSUInteger)anIndex;

Modified: trunk/SKFDFParser.h
===================================================================
--- trunk/SKFDFParser.h 2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKFDFParser.h 2023-12-23 17:21:58 UTC (rev 13965)
@@ -117,7 +117,7 @@
 
 
 @interface SKFDFParser : NSObject
-+ (nullable NSArray *)noteDictionariesFromFDFData:(NSData *)data;
++ (nullable NSArray<NSDictionary<NSString *, id> *> 
*)noteDictionariesFromFDFData:(NSData *)data;
 @end
 
 

Modified: trunk/SKGroupedSearchResult.h
===================================================================
--- trunk/SKGroupedSearchResult.h       2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKGroupedSearchResult.h       2023-12-23 17:21:58 UTC (rev 13965)
@@ -46,7 +46,7 @@
 @interface SKGroupedSearchResult : NSObject {
     PDFPage *page;
     NSUInteger maxCount;
-    NSMutableArray *matches;
+    NSMutableArray<PDFSelection *> *matches;
 }
 
 @property (nonatomic, readonly) PDFPage *page;
@@ -54,7 +54,7 @@
 @property (nonatomic, readonly) NSUInteger count;
 @property (nonatomic) NSUInteger maxCount;
 @property (weak, nonatomic, readonly) NSString *label;
-@property (nonatomic, readonly) NSArray *matches;
+@property (nonatomic, readonly) NSArray<PDFSelection *> *matches;
 
 + (instancetype)groupedSearchResultWithPage:(PDFPage *)aPage 
maxCount:(NSUInteger)aMaxCount;
 - (instancetype)initWithPage:(PDFPage *)aPage maxCount:(NSUInteger)aMaxCount;

Modified: trunk/SKInfoWindowController.h
===================================================================
--- trunk/SKInfoWindowController.h      2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKInfoWindowController.h      2023-12-23 17:21:58 UTC (rev 13965)
@@ -44,20 +44,20 @@
     NSTableView *summaryTableView;
     NSTableView *attributesTableView;
     NSTabView *tabView;
-    NSDictionary *info;
-    NSArray *summaryKeys;
-    NSArray *attributesKeys;
-    NSDictionary *labels;
+    NSDictionary<NSString *, id> *info;
+    NSArray<NSString *> *summaryKeys;
+    NSArray<NSString *> *attributesKeys;
+    NSDictionary<NSString *, NSString *> *labels;
 }
 
 @property (nonatomic, nullable, strong) IBOutlet NSTableView 
*summaryTableView, *attributesTableView;
 @property (nonatomic, nullable, strong) IBOutlet NSTabView *tabView;
-@property (nonatomic, nullable, copy) NSDictionary *info;
-@property (weak, nonatomic, readonly) NSArray *keys;
+@property (nonatomic, nullable, copy) NSDictionary<NSString *, id> *info;
+@property (weak, nonatomic, readonly) NSArray<NSString *> *keys;
 
 @property (class, nonatomic, readonly) SKInfoWindowController *sharedInstance;
 
-- (NSDictionary *)infoForDocument:(NSDocument *)doc;
+- (NSDictionary<NSString *, id> *)infoForDocument:(NSDocument *)doc;
 
 @end
 

Modified: trunk/SKLineInspector.h
===================================================================
--- trunk/SKLineInspector.h     2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKLineInspector.h     2023-12-23 17:21:58 UTC (rev 13965)
@@ -60,7 +60,7 @@
     SKLineWell *lineWell;
     CGFloat lineWidth;
     PDFBorderStyle style;
-    NSArray *dashPattern;
+    NSArray<NSNumber *> *dashPattern;
     PDFLineStyle startLineStyle;
     PDFLineStyle endLineStyle;
     SKLineChangeAction currentLineChangeAction;
@@ -70,7 +70,7 @@
 @property (nonatomic, nullable, strong) IBOutlet SKLineWell *lineWell;
 @property (nonatomic) CGFloat lineWidth;
 @property (nonatomic) PDFBorderStyle style;
-@property (nonatomic, nullable, copy) NSArray *dashPattern;
+@property (nonatomic, nullable, copy) NSArray<NSNumber *> *dashPattern;
 @property (nonatomic) PDFLineStyle startLineStyle, endLineStyle;
 @property (nonatomic, readonly) SKLineChangeAction currentLineChangeAction;
 

Modified: trunk/SKLineWell.h
===================================================================
--- trunk/SKLineWell.h  2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKLineWell.h  2023-12-23 17:21:58 UTC (rev 13965)
@@ -59,7 +59,7 @@
 @interface SKLineWell : NSControl <NSDraggingSource, NSAccessibilityButton> {
     CGFloat lineWidth;
     PDFBorderStyle style;
-    NSArray *dashPattern;
+    NSArray<NSNumber *> *dashPattern;
     PDFLineStyle startLineStyle;
     PDFLineStyle endLineStyle;
     
@@ -80,7 +80,7 @@
 @property (nonatomic) SKLineWellDisplayStyle displayStyle;
 @property (nonatomic) CGFloat lineWidth;
 @property (nonatomic) PDFBorderStyle style;
-@property (nonatomic, nullable, copy) NSArray *dashPattern;
+@property (nonatomic, nullable, copy) NSArray<NSNumber *> *dashPattern;
 @property (nonatomic) PDFLineStyle startLineStyle, endLineStyle;
 
 - (void)activate:(BOOL)exclusive;

Modified: trunk/SKMainDocument.h
===================================================================
--- trunk/SKMainDocument.h      2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKMainDocument.h      2023-12-23 17:21:58 UTC (rev 13965)
@@ -43,7 +43,7 @@
 
 extern NSString *SKSkimFileDidSaveNotification;
 
-@class PDFDocument, SKMainWindowController, SKPDFView, SKLine, 
SKProgressController, SKTemporaryData, SKFileUpdateChecker, 
SKExportAccessoryController;
+@class PDFDocument, SKMainWindowController, SKPDFView, SKLine, 
SKProgressController, SKTemporaryData, SKFileUpdateChecker, 
SKExportAccessoryController, PDFAnnotation, SKSnapshotWindowController;
 
 @interface SKMainDocument : NSDocument <SKPDFSynchronizerDelegate>
 {
@@ -86,13 +86,13 @@
 
 @property (nonatomic, readonly) SKPDFSynchronizer *synchronizer;
 
-@property (nonatomic, nullable, readonly) NSArray *snapshots;
+@property (nonatomic, nullable, readonly) NSArray<SKSnapshotWindowController 
*> *snapshots;
 
-@property (nonatomic, nullable, readonly) NSArray *tags;
+@property (nonatomic, nullable, readonly) NSArray<NSString *> *tags;
 @property (nonatomic, readonly) double rating;
 
-- (nullable NSArray *)notes;
-- (id)valueInNotesWithUniqueID:(NSString *)aUniqueID;
+- (nullable NSArray<PDFAnnotation *> *)notes;
+- (PDFAnnotation *)valueInNotesWithUniqueID:(NSString *)aUniqueID;
 - (void)insertObject:(PDFAnnotation *)newNote 
inNotesAtIndex:(NSUInteger)anIndex;
 - (void)removeObjectFromNotesAtIndex:(NSUInteger)anIndex;
 
@@ -102,7 +102,7 @@
 @property (nonatomic, nullable, copy) id selectionSpecifier;
 @property (nonatomic, copy) NSData *selectionQDRect;
 @property (nonatomic, nullable, strong) PDFPage *selectionPage;
-@property (nonatomic, nullable, copy) NSDictionary *pdfViewSettings;
+@property (nonatomic, nullable, copy) NSDictionary<NSString *, id> 
*pdfViewSettings;
 
 - (void)handleRevertScriptCommand:(NSScriptCommand *)command;
 - (void)handleGoToScriptCommand:(NSScriptCommand *)command;

Modified: trunk/SKMainDocument.m
===================================================================
--- trunk/SKMainDocument.m      2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKMainDocument.m      2023-12-23 17:21:58 UTC (rev 13965)
@@ -1644,7 +1644,7 @@
     return [[self mainWindowController] notes];
 }
 
-- (id)valueInNotesWithUniqueID:(NSString *)aUniqueID {
+- (PDFAnnotation *)valueInNotesWithUniqueID:(NSString *)aUniqueID {
     for (PDFAnnotation *annotation in [[self mainWindowController] notes]) {
         if ([[annotation uniqueID] isEqualToString:aUniqueID])
             return annotation;

Modified: trunk/SKMainToolbarController.h
===================================================================
--- trunk/SKMainToolbarController.h     2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKMainToolbarController.h     2023-12-23 17:21:58 UTC (rev 13965)
@@ -92,7 +92,7 @@
     NSStepper *pacerSpeedStepper;
     NSSegmentedControl *shareButton;
     SKShareMenuController *shareMenuController;
-    NSMutableDictionary *toolbarItems;
+    NSMutableDictionary<NSString *, NSToolbarItem *> *toolbarItems;
 }
 
 @property (nonatomic, nullable, weak) IBOutlet SKMainWindowController 
*mainController;

Modified: trunk/SKMainToolbarController.m
===================================================================
--- trunk/SKMainToolbarController.m     2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKMainToolbarController.m     2023-12-23 17:21:58 UTC (rev 13965)
@@ -169,7 +169,7 @@
 }
 
 - (NSToolbarItem *)toolbarItemForItemIdentifier:(NSString *)identifier {
-    SKToolbarItem *item = [toolbarItems objectForKey:identifier];
+    SKToolbarItem *item = (SKToolbarItem *)[toolbarItems 
objectForKey:identifier];
     NSMenu *menu;
     NSMenuItem *menuItem;
     

Modified: trunk/SKMainTouchBarController.h
===================================================================
--- trunk/SKMainTouchBarController.h    2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKMainTouchBarController.h    2023-12-23 17:21:58 UTC (rev 13965)
@@ -54,7 +54,7 @@
     NSSegmentedControl *fullScreenButton;
     NSSegmentedControl *presentationButton;
     SKColorPicker *colorPicker;
-    NSMutableDictionary *touchBarItems;
+    NSMutableDictionary<NSString *, NSTouchBarItem *> *touchBarItems;
 }
 
 @property (nonatomic, nullable, weak) SKMainWindowController *mainController;

Modified: trunk/SKMainWindowController.h
===================================================================
--- trunk/SKMainWindowController.h      2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKMainWindowController.h      2023-12-23 17:21:58 UTC (rev 13965)
@@ -100,27 +100,27 @@
     
     SKFieldEditor                       *fieldEditor;
     
-    NSMutableArray                      *thumbnails;
+    NSMutableArray<SKThumbnail *>       *thumbnails;
     CGFloat                             roundedThumbnailSize;
     
-    NSMutableArray                      *searchResults;
+    NSMutableArray<PDFSelection *>      *searchResults;
     NSInteger                           searchResultIndex;
     
-    NSMutableArray                      *groupedSearchResults;
+    NSMutableArray<SKGroupedSearchResult *> *groupedSearchResults;
     
     SKNoteTypeSheetController           *noteTypeSheetController;
-    NSMutableArray                      *notes;
+    NSMutableArray<PDFAnnotation *>     *notes;
     NSMapTable                          *rowHeights;
     
-    NSMutableArray                      *widgets;
+    NSMutableArray<PDFAnnotation *>     *widgets;
     NSMapTable                          *widgetValues;
     
-    NSMutableArray                      *snapshots;
-    NSMutableArray                      *dirtySnapshots;
+    NSMutableArray<SKSnapshotWindowController *> *snapshots;
+    NSMutableArray<SKSnapshotWindowController *> *dirtySnapshots;
     NSTimer                             *snapshotTimer;
     CGFloat                             roundedSnapshotThumbnailSize;
     
-    NSArray                             *tags;
+    NSArray<NSString *>                 *tags;
     double                              rating;
     
     NSWindow                            *mainWindow;
@@ -137,13 +137,13 @@
     NSButton                            *presentationNotesButton;
     NSTrackingArea                      *presentationNotesTrackingArea;
     
-    NSMutableArray                      *presentationNotes;
+    NSMutableArray<PDFAnnotation *>     *presentationNotes;
     NSUndoManager                       *presentationUndoManager;
     
     NSButton                            *colorAccessoryView;
     NSButton                            *textColorAccessoryView;
     
-    NSMutableArray                      *pageLabels;
+    NSMutableArray<NSString *>          *pageLabels;
     
     NSString                            *pageLabel;
     
@@ -156,7 +156,7 @@
     
     id                                  activity;
     
-    NSMutableDictionary                 *savedNormalSetup;
+    NSMutableDictionary<NSString *, id> *savedNormalSetup;
     
     CGFloat                             lastLeftSidePaneWidth;
     CGFloat                             lastRightSidePaneWidth;
@@ -170,7 +170,7 @@
     NSMapTable                          *undoGroupOldPropertiesPerNote;
     
     PDFDocument                         *placeholderPdfDocument;
-    NSArray                             *placeholderWidgetProperties;
+    NSArray<NSDictionary<NSString *, id> *> *placeholderWidgetProperties;
 
     struct _mwcFlags {
         unsigned int leftSidePaneState:1;
@@ -233,11 +233,11 @@
 
 @property (nonatomic, nullable, readonly) PDFDocument *placeholderPdfDocument;
 
-@property (nonatomic, nullable, readonly) NSArray *widgetProperties;
+@property (nonatomic, nullable, readonly) NSArray<NSDictionary<NSString *, id> 
*> *widgetProperties;
 
 @property (nonatomic, readonly) BOOL hasNotes;
 
-- (NSArray *)notes;
+- (NSArray<PDFAnnotation *> *)notes;
 - (NSUInteger)countOfNotes;
 - (PDFAnnotation *)objectInNotesAtIndex:(NSUInteger)theIndex;
 - (void)insertObject:(PDFAnnotation *)note inNotesAtIndex:(NSUInteger)theIndex;
@@ -245,10 +245,10 @@
 - (void)removeObjectFromNotesAtIndex:(NSUInteger)theIndex;
 - (void)removeAllObjectsFromNotes;
 
-- (NSArray *)thumbnails;
-- (void)setThumbnails:(nullable NSArray *)newThumbnails;
+- (NSArray<SKThumbnail *> *)thumbnails;
+- (void)setThumbnails:(nullable NSArray<SKThumbnail *> *)newThumbnails;
 
-- (NSArray *)snapshots;
+- (NSArray<SKSnapshotWindowController *> *)snapshots;
 - (NSUInteger)countOfSnapshots;
 - (SKSnapshotWindowController *)objectInSnapshotsAtIndex:(NSUInteger)theIndex;
 - (void)insertObject:(SKSnapshotWindowController *)snapshot 
inSnapshotsAtIndex:(NSUInteger)theIndex;
@@ -255,7 +255,7 @@
 - (void)removeObjectFromSnapshotsAtIndex:(NSUInteger)theIndex;
 - (void)removeAllObjectsFromSnapshots;
 
-- (NSArray *)searchResults;
+- (NSArray<PDFSelection *> *)searchResults;
 - (void)setSearchResults:(nullable NSArray *)newSearchResults;
 - (NSUInteger)countOfSearchResults;
 - (PDFSelection *)objectInSearchResultsAtIndex:(NSUInteger)theIndex;
@@ -262,7 +262,7 @@
 - (void)insertObject:(PDFSelection *)searchResult 
inSearchResultsAtIndex:(NSUInteger)theIndex;
 - (void)removeObjectFromSearchResultsAtIndex:(NSUInteger)theIndex;
 
-- (NSArray *)groupedSearchResults;
+- (NSArray<SKGroupedSearchResult *> *)groupedSearchResults;
 - (void)setGroupedSearchResults:(nullable NSArray *)newGroupedSearchResults;
 - (NSUInteger)countOfGroupedSearchResults;
 - (SKGroupedSearchResult 
*)objectInGroupedSearchResultsAtIndex:(NSUInteger)theIndex;
@@ -269,7 +269,7 @@
 - (void)insertObject:(SKGroupedSearchResult *)groupedSearchResult 
inGroupedSearchResultsAtIndex:(NSUInteger)theIndex;
 - (void)removeObjectFromGroupedSearchResultsAtIndex:(NSUInteger)theIndex;
 
-@property (nonatomic, nullable, copy) NSDictionary *presentationOptions;
+@property (nonatomic, nullable, copy) NSDictionary<NSString *, id> 
*presentationOptions;
 
 @property (nonatomic, nullable, strong) NSDocument *presentationNotesDocument;
 @property (nonatomic) NSInteger presentationNotesOffset;
@@ -276,10 +276,10 @@
 
 @property (nonatomic, nullable, readonly) NSUndoManager 
*presentationUndoManager;
 
-@property (nonatomic, copy) NSArray *tags;
+@property (nonatomic, copy) NSArray<NSString *> *tags;
 @property (nonatomic) double rating;
 
-@property (nonatomic, nullable, copy) NSArray *selectedNotes;
+@property (nonatomic, nullable, copy) NSArray<PDFAnnotation *> *selectedNotes;
 
 @property (nonatomic, nullable, copy) NSString *pageLabel;
 
@@ -335,14 +335,14 @@
 - (void)updateSnapshotsIfNeeded;
 - (void)updateSnapshot:(NSTimer *)timer;
 
-- (void)setPdfDocument:(nullable PDFDocument *)pdfDocument 
addAnnotationsFromDictionaries:(nullable NSArray *)noteDicts;
-- (void)addAnnotationsFromDictionaries:(NSArray *)noteDicts 
removeAnnotations:(nullable NSArray *)notesToRemove;
+- (void)setPdfDocument:(nullable PDFDocument *)pdfDocument 
addAnnotationsFromDictionaries:(nullable NSArray<NSDictionary<NSString *, id> 
*> *)noteDicts;
+- (void)addAnnotationsFromDictionaries:(NSArray<NSDictionary<NSString *, id> 
*> *)noteDicts removeAnnotations:(nullable NSArray<PDFAnnotation *> 
*)notesToRemove;
 
-- (void)applySetup:(NSDictionary *)setup;
-- (NSDictionary *)currentSetup;
-- (void)applyPDFSettings:(NSDictionary *)setup rewind:(BOOL)rewind;
-- (NSDictionary *)currentPDFSettings;
-- (void)applyOptions:(NSDictionary *)options;
+- (void)applySetup:(NSDictionary<NSString *, id> *)setup;
+- (NSDictionary<NSString *, id> *)currentSetup;
+- (void)applyPDFSettings:(NSDictionary<NSString *, id> *)setup 
rewind:(BOOL)rewind;
+- (NSDictionary<NSString *, id> *)currentPDFSettings;
+- (void)applyOptions:(NSDictionary<NSString *, id> *)options;
 
 - (void)updateLeftStatus;
 - (void)updateRightStatus;

Modified: trunk/SKNotePrefs.h
===================================================================
--- trunk/SKNotePrefs.h 2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKNotePrefs.h 2023-12-23 17:21:58 UTC (rev 13965)
@@ -59,7 +59,7 @@
 @property (nonatomic) NSInteger scriptingAlignment;
 @property (nonatomic) PDFTextAnnotationIconType scriptingIconType;
 @property (nonatomic, nullable, strong) NSString *scriptingUserName;
-@property (nonatomic, strong) NSDictionary *scriptingProperties;
+@property (nonatomic, strong) NSDictionary<NSString *, id> 
*scriptingProperties;
 
 - (nullable instancetype)initWithType:(NSString *)aType;
 

Modified: trunk/SKNoteTypeSheetController.h
===================================================================
--- trunk/SKNoteTypeSheetController.h   2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKNoteTypeSheetController.h   2023-12-23 17:21:58 UTC (rev 13965)
@@ -50,7 +50,7 @@
 - (instancetype)initIncludingWidgets:(BOOL)includeWidgets;
 
 @property (nonatomic, nullable, weak) id <SKNoteTypeSheetControllerDelegate> 
delegate;
-@property (nonatomic, readonly) NSArray *noteTypes;
+@property (nonatomic, readonly) NSArray<NSString *> *noteTypes;
 @property (nonatomic, readonly) NSMenu *noteTypeMenu;
 
 - (nullable NSPredicate *)filterPredicateForSearchString:(NSString 
*)searchString caseInsensitive:(BOOL)caseInsensitive;

Modified: trunk/SKNotesDocument.h
===================================================================
--- trunk/SKNotesDocument.h     2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKNotesDocument.h     2023-12-23 17:21:58 UTC (rev 13965)
@@ -52,8 +52,8 @@
     NSSearchField *searchField;
     SKStatusBar *statusBar;
     NSDictionary *toolbarItems;
-    NSArray *notes;
-    NSArray *unsupportedNotes;
+    NSArray<PDFAnnotation *> *notes;
+    NSArray<NSDictionary<NSString *, id> *> *unsupportedNotes;
     PDFDocument *pdfDocument;
     NSURL *sourceFileURL;
     NSMapTable *rowHeights;
@@ -71,7 +71,7 @@
 @property (nonatomic, nullable, strong) IBOutlet SKStatusBar *statusBar;
 @property (nonatomic, nullable, strong) IBOutlet NSArrayController 
*arrayController;
 @property (nonatomic, nullable, strong) IBOutlet NSSearchField *searchField;
-@property (nonatomic, readonly,) NSArray *notes;
+@property (nonatomic, readonly,) NSArray<PDFAnnotation *> *notes;
 @property (nonatomic, nullable, readonly) PDFDocument *pdfDocument;
 @property (nonatomic, nullable, readonly) NSWindow *window;
 @property (nonatomic, nullable, strong) NSURL *sourceFileURL;

Modified: trunk/SKPDFDocument.h
===================================================================
--- trunk/SKPDFDocument.h       2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKPDFDocument.h       2023-12-23 17:21:58 UTC (rev 13965)
@@ -45,18 +45,18 @@
 @protocol SKPDFDocumentDelegate <PDFDocumentDelegate>
 @optional
 - (void)document:(PDFDocument *)document didUnlockWithPassword:(NSString 
*)password;
-- (void)document:(PDFDocument *)document didDetectWidgets:(NSArray *)widgets 
onPage:(PDFPage *)page;
+- (void)document:(PDFDocument *)document 
didDetectWidgets:(NSArray<PDFAnnotation *> *)widgets onPage:(PDFPage *)page;
 @end
 
 @interface SKPDFDocument : PDFDocument {
     SKLanguageDirectionAngles *languageDirectionAngles;
     __weak NSDocument *containingDocument;
-    NSMutableArray *detectedWidgets;
+    NSMutableArray<PDFAnnotation *> *detectedWidgets;
 }
 @property (nonatomic, nullable, weak) NSDocument *containingDocument;
-@property (nonatomic, nullable, readonly) NSArray *detectedWidgets;
+@property (nonatomic, nullable, readonly) NSArray<PDFAnnotation *> 
*detectedWidgets;
 @property (nonatomic, nullable, weak) id<SKPDFDocumentDelegate> delegate;
-- (void)detectedWidgets:(NSArray *)newWidgets onPage:(PDFPage *)page;
+- (void)detectedWidgets:(NSArray<PDFAnnotation *> *)newWidgets onPage:(PDFPage 
*)page;
 @end
 
 NS_ASSUME_NONNULL_END

Modified: trunk/SKPDFSynchronizer.h
===================================================================
--- trunk/SKPDFSynchronizer.h   2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKPDFSynchronizer.h   2023-12-23 17:21:58 UTC (rev 13965)
@@ -50,6 +50,7 @@
 };
 
 @protocol SKPDFSynchronizerDelegate;
+@class SKPDFSyncRecord;
 
 @interface SKPDFSynchronizer : NSObject {
     __weak id <SKPDFSynchronizerDelegate> delegate;
@@ -65,7 +66,7 @@
     
     NSFileManager *fileManager;
     
-    NSMutableArray *pages;
+    NSMutableArray<NSMutableArray<SKPDFSyncRecord *> *> *pages;
     NSMapTable *lines;
     
     NSMapTable *filenames;

Modified: trunk/SKPreferenceController.h
===================================================================
--- trunk/SKPreferenceController.h      2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKPreferenceController.h      2023-12-23 17:21:58 UTC (rev 13965)
@@ -47,7 +47,7 @@
     NSButton *resetAllButton;
     NSSegmentedControl *panesButton;
     NSTextView *fieldEditor;
-    NSArray *preferencePanes;
+    NSArray<NSViewController<SKPreferencePane> *> *preferencePanes;
     NSViewController<SKPreferencePane> *currentPane;
     NSMutableArray *history;
     NSUInteger historyIndex;

Modified: trunk/SKPresentationOptionsSheetController.h
===================================================================
--- trunk/SKPresentationOptionsSheetController.h        2023-12-22 18:16:24 UTC 
(rev 13964)
+++ trunk/SKPresentationOptionsSheetController.h        2023-12-23 17:21:58 UTC 
(rev 13965)
@@ -55,10 +55,10 @@
     NSArrayController *arrayController;
     BOOL separate;
     SKTransitionInfo *transition;
-    NSArray *transitions;
+    NSArray<SKTransitionInfo *> *transitions;
     __weak SKMainWindowController *controller;
     NSUndoManager *undoManager;
-    NSMutableSet *changedTransitions;
+    NSMutableSet<SKTransitionInfo *> *changedTransitions;
 }
 
 @property (nonatomic, nullable, strong) IBOutlet NSPopUpButton 
*notesDocumentPopUpButton;
@@ -69,9 +69,9 @@
 @property (nonatomic, nullable, strong) IBOutlet NSArrayController 
*arrayController;
 @property (nonatomic) BOOL separate;
 @property (nonatomic, readonly) SKTransitionInfo *transition;
-@property (nonatomic, nullable, copy) NSArray *transitions;
-@property (nonatomic, nullable, readonly) NSArray *currentTransitions;
-@property (nonatomic, nullable, readonly) NSArray *pageTransitions;
+@property (nonatomic, nullable, copy) NSArray<SKTransitionInfo *> *transitions;
+@property (nonatomic, nullable, readonly) NSArray<SKTransitionInfo *> 
*currentTransitions;
+@property (nonatomic, nullable, readonly) NSArray<NSDictionary<NSString *, id> 
*> *pageTransitions;
 @property (nonatomic, nullable, readonly) NSDocument *notesDocument;
 @property (nonatomic, readonly) NSInteger notesDocumentOffset;
 @property (nonatomic, readonly) NSUndoManager *undoManager;
@@ -78,8 +78,8 @@
 
 - (instancetype)initForController:(SKMainWindowController *)aController;
 
-- (void)startObservingTransitions:(NSArray *)infos;
-- (void)stopObservingTransitions:(NSArray *)infos;
+- (void)startObservingTransitions:(NSArray<SKTransitionInfo *> *)infos;
+- (void)stopObservingTransitions:(NSArray<SKTransitionInfo *> *)infos;
 
 @end
 

Modified: trunk/SKRecentDocumentInfo.h
===================================================================
--- trunk/SKRecentDocumentInfo.h        2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKRecentDocumentInfo.h        2023-12-23 17:21:58 UTC (rev 13965)
@@ -45,16 +45,16 @@
 @interface SKRecentDocumentInfo : NSObject {
     SKAlias *alias;
     NSUInteger pageIndex;
-    NSArray *snapshots;
+    NSArray<NSDictionary<NSString *, id> *> *snapshots;
 }
 
-- (instancetype)initWithProperties:(NSDictionary *)properties;
-- (instancetype)initWithURL:(NSURL *)fileURL pageIndex:(NSUInteger)aPageIndex 
snapshots:(NSArray *)aSnapshots;
+- (instancetype)initWithProperties:(NSDictionary<NSString *, id> *)properties;
+- (instancetype)initWithURL:(NSURL *)fileURL pageIndex:(NSUInteger)aPageIndex 
snapshots:(NSArray<NSDictionary<NSString *, id> *> *)aSnapshots;
 
 @property (nonatomic, nullable, readonly) NSURL *fileURL;
 @property (nonatomic, readonly) NSUInteger pageIndex;
-@property (nonatomic, nullable, readonly) NSArray *snapshots;
-@property (nonatomic, readonly) NSDictionary *properties;
+@property (nonatomic, nullable, readonly) NSArray<NSDictionary<NSString *, id> 
*> *snapshots;
+@property (nonatomic, readonly) NSDictionary<NSString *, id> *properties;
 
 @end
 

Modified: trunk/SKSideViewController.h
===================================================================
--- trunk/SKSideViewController.h        2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKSideViewController.h        2023-12-23 17:21:58 UTC (rev 13965)
@@ -59,7 +59,7 @@
 @property (nonatomic, nullable, strong) IBOutlet NSView *currentView;
 
 @property (nonatomic) CGFloat topInset;
-@property (weak, nonatomic, nullable, readonly) NSArray *tableViews;
+@property (weak, nonatomic, nullable, readonly) NSArray<NSTableView *> 
*tableViews;
 
 - (BOOL)requiresAlternateButtonForView:(NSView *)aView;
 

Modified: trunk/SKSnapshotWindowController.h
===================================================================
--- trunk/SKSnapshotWindowController.h  2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKSnapshotWindowController.h  2023-12-23 17:21:58 UTC (rev 13965)
@@ -73,13 +73,13 @@
 @property (nonatomic, nullable, readonly, copy) NSString *pageLabel;
 @property (nonatomic, nullable, copy) NSString *string;
 @property (nonatomic, readonly) BOOL hasWindow;
-@property (weak, nonatomic, readonly) NSDictionary *currentSetup;
+@property (weak, nonatomic, readonly) NSDictionary<NSString *, id> 
*currentSetup;
 @property (nonatomic) BOOL forceOnTop;
 
 @property (weak, nonatomic, readonly) NSAttributedString *thumbnailAttachment, 
*thumbnail512Attachment, *thumbnail256Attachment, *thumbnail128Attachment, 
*thumbnail64Attachment, *thumbnail32Attachment;
 
 - (void)setPdfDocument:(PDFDocument *)pdfDocument 
goToPageNumber:(NSInteger)pageNum rect:(NSRect)rect scaleFactor:(CGFloat)factor 
autoFits:(BOOL)autoFits;
-- (void)setPdfDocument:(PDFDocument *)pdfDocument setup:(NSDictionary *)setup;
+- (void)setPdfDocument:(PDFDocument *)pdfDocument setup:(NSDictionary<NSString 
*, id> *)setup;
 - (void)setPdfDocument:(PDFDocument *)pdfDocument 
previewPageNumber:(NSInteger)pageNum displayOnScreen:(nullable NSScreen 
*)screen;
 
 - (BOOL)isPageVisible:(PDFPage *)page;

Modified: trunk/SKSplitView.h
===================================================================
--- trunk/SKSplitView.h 2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKSplitView.h 2023-12-23 17:21:58 UTC (rev 13965)
@@ -42,7 +42,7 @@
 
 @interface SKSplitView : NSSplitView {
     BOOL animating;
-    NSMutableArray *queue;
+    NSMutableArray<void (^)(void)> *queue;
 }
 
 @property (nonatomic, readonly, getter=isAnimating) BOOL animating;

Modified: trunk/SKSyncPreferences.h
===================================================================
--- trunk/SKSyncPreferences.h   2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKSyncPreferences.h   2023-12-23 17:21:58 UTC (rev 13965)
@@ -52,7 +52,7 @@
 @property (nonatomic, nullable, strong) IBOutlet NSPopUpButton 
*texEditorPopUpButton;
 @property (nonatomic, getter=isCustomTeXEditor) BOOL customTeXEditor;
 
-+ (nullable NSDictionary *)TeXEditorForPreset:(NSString *)name;
++ (nullable NSDictionary<NSString *, NSString *> 
*)TeXEditorForPreset:(NSString *)name;
 
 - (IBAction)changeTeXEditorPreset:(nullable id)sender;
 

Modified: trunk/SKTemplateManager.h
===================================================================
--- trunk/SKTemplateManager.h   2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKTemplateManager.h   2023-12-23 17:21:58 UTC (rev 13965)
@@ -41,13 +41,13 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface SKTemplateManager : NSObject {
-    NSArray *customTemplateTypes;
-    NSMutableDictionary *templateFileNames;
+    NSArray<NSString *> *customTemplateTypes;
+    NSMutableDictionary<NSString *, NSString *> *templateFileNames;
 }
 
 @property (class, nonatomic, readonly) SKTemplateManager *sharedManager;
 
-@property (nonatomic, readonly) NSArray *customTemplateTypes;
+@property (nonatomic, readonly) NSArray<NSString *> *customTemplateTypes;
 
 - (void)resetCustomTemplateTypes;
 

Modified: trunk/SKTemplateParser.h
===================================================================
--- trunk/SKTemplateParser.h    2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKTemplateParser.h    2023-12-23 17:21:58 UTC (rev 13965)
@@ -40,17 +40,19 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
+@class SKTemplateTag;
+
 @interface SKTemplateParser : NSObject
 
 + (NSString *)stringByParsingTemplateString:(NSString *)templateString 
usingObject:(id)object;
-+ (NSArray *)arrayByParsingTemplateString:(NSString *)templateString;
-+ (NSArray *)arrayByParsingTemplateString:(NSString *)templateString 
isSubtemplate:(BOOL)isSubtemplate;
-+ (NSString *)stringFromTemplateArray:(NSArray *)templateArray 
usingObject:(id)object atIndex:(NSInteger)anIndex;
++ (NSArray<SKTemplateTag *> *)arrayByParsingTemplateString:(NSString 
*)templateString;
++ (NSArray<SKTemplateTag *> *)arrayByParsingTemplateString:(NSString 
*)templateString isSubtemplate:(BOOL)isSubtemplate;
++ (NSString *)stringFromTemplateArray:(NSArray<SKTemplateTag *> 
*)templateArray usingObject:(id)object atIndex:(NSInteger)anIndex;
 
 + (NSAttributedString 
*)attributedStringByParsingTemplateAttributedString:(NSAttributedString 
*)templateAttrString usingObject:(id)object;
-+ (NSArray *)arrayByParsingTemplateAttributedString:(NSAttributedString 
*)templateAttrString;
-+ (NSArray *)arrayByParsingTemplateAttributedString:(NSAttributedString 
*)templateAttrString isSubtemplate:(BOOL)isSubtemplate;
-+ (NSAttributedString *)attributedStringFromTemplateArray:(NSArray 
*)templateArray usingObject:(id)object atIndex:(NSInteger)anIndex;
++ (NSArray<SKTemplateTag *> 
*)arrayByParsingTemplateAttributedString:(NSAttributedString 
*)templateAttrString;
++ (NSArray<SKTemplateTag *> 
*)arrayByParsingTemplateAttributedString:(NSAttributedString 
*)templateAttrString isSubtemplate:(BOOL)isSubtemplate;
++ (NSAttributedString 
*)attributedStringFromTemplateArray:(NSArray<SKTemplateTag *> *)templateArray 
usingObject:(id)object atIndex:(NSInteger)anIndex;
 
 @end
 

Modified: trunk/SKTemplateTag.h
===================================================================
--- trunk/SKTemplateTag.h       2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKTemplateTag.h       2023-12-23 17:21:58 UTC (rev 13965)
@@ -82,13 +82,13 @@
 #pragma mark -
 
 @interface SKRichValueTemplateTag : SKValueTemplateTag {
-    NSDictionary *attributes;
+    NSDictionary<NSString *, id> *attributes;
     SKAttributeTemplate *linkTemplate;
 }
 
-- (instancetype)initWithKeyPath:(NSString *)aKeyPath attributes:(NSDictionary 
*)anAttributes;
+- (instancetype)initWithKeyPath:(NSString *)aKeyPath 
attributes:(NSDictionary<NSString *, id> *)anAttributes;
 
-@property (nonatomic, readonly) NSDictionary *attributes;
+@property (nonatomic, readonly) NSDictionary<NSString *, id> *attributes;
 @property (nonatomic, nullable, readonly) SKAttributeTemplate *linkTemplate;
 
 @end
@@ -98,13 +98,13 @@
 @interface SKCollectionTemplateTag : SKValueTemplateTag {
     NSString *itemTemplateString;
     NSString *separatorTemplateString;
-    NSArray *itemTemplate;
-    NSArray *separatorTemplate;
+    NSArray<SKTemplateTag *> *itemTemplate;
+    NSArray<SKTemplateTag *> *separatorTemplate;
 }
 
 - (instancetype)initWithKeyPath:(NSString *)aKeyPath 
itemTemplateString:(NSString *)anItemTemplateString 
separatorTemplateString:(nullable NSString *)aSeparatorTemplateString;
 
-@property (nonatomic, nullable, readonly) NSArray *itemTemplate, 
*separatorTemplate;
+@property (nonatomic, nullable, readonly) NSArray<SKTemplateTag *> 
*itemTemplate, *separatorTemplate;
 
 @end
 
@@ -113,13 +113,13 @@
 @interface SKRichCollectionTemplateTag : SKValueTemplateTag {
     NSAttributedString *itemTemplateAttributedString;
     NSAttributedString *separatorTemplateAttributedString;
-    NSArray *itemTemplate;
-    NSArray *separatorTemplate;
+    NSArray<SKTemplateTag *> *itemTemplate;
+    NSArray<SKTemplateTag *> *separatorTemplate;
 }
 
 - (instancetype)initWithKeyPath:(NSString *)aKeyPath 
itemTemplateAttributedString:(NSAttributedString 
*)anItemTemplateAttributedString separatorTemplateAttributedString:(nullable 
NSAttributedString *)aSeparatorTemplateAttributedString;
 
-@property (nonatomic, nullable, readonly) NSArray *itemTemplate, 
*separatorTemplate;
+@property (nonatomic, nullable, readonly) NSArray<SKTemplateTag *> 
*itemTemplate, *separatorTemplate;
 
 @end
 
@@ -128,16 +128,16 @@
 @interface SKConditionTemplateTag : SKValueTemplateTag {
     SKTemplateTagMatchType matchType;
     NSMutableArray *subtemplates;
-    NSArray *matchStrings;
+    NSArray<NSString *> *matchStrings;
 }
 
 - (instancetype)initWithKeyPath:(NSString *)aKeyPath 
matchType:(SKTemplateTagMatchType)aMatchType matchStrings:(NSArray 
*)aMatchStrings subtemplates:(NSArray *)aSubtemplates;
 
 @property (nonatomic, readonly) SKTemplateTagMatchType matchType;
-@property (nonatomic, readonly) NSArray *matchStrings;
+@property (nonatomic, readonly) NSArray<NSString *> *matchStrings;
 
 - (NSUInteger)countOfSubtemplates;
-- (NSArray *)objectInSubtemplatesAtIndex:(NSUInteger)anIndex;
+- (NSArray<SKTemplateTag *> *)objectInSubtemplatesAtIndex:(NSUInteger)anIndex;
 
 @end
 
@@ -164,7 +164,7 @@
 
 @interface SKRichTextTemplateTag : SKTemplateTag {
     NSAttributedString *attributedText;
-    NSArray *linkTemplates;
+    NSArray<NSArray<SKTemplateTag *> *> *linkTemplates;
 }
 
 - (instancetype)initWithAttributedText:(NSAttributedString *)anAttributedText;
@@ -173,7 +173,7 @@
 
 - (void)appendAttributedText:(NSAttributedString *)newAttributedText;
 
-@property (nonatomic, nullable, readonly) NSArray *linkTemplates;
+@property (nonatomic, nullable, readonly) NSArray<NSArray<SKTemplateTag *> *> 
*linkTemplates;
 
 @end
 
@@ -180,14 +180,14 @@
 #pragma mark -
 
 @interface SKAttributeTemplate : NSObject {
-    NSArray *template;
+    NSArray<SKTemplateTag *> *template;
     NSRange range;
     Class attributeClass;
 }
 
-- (instancetype)initWithTemplate:(nullable NSArray *)aTemplate 
range:(NSRange)aRange attributeClass:(Class)aClass;
+- (instancetype)initWithTemplate:(nullable NSArray<SKTemplateTag *> 
*)aTemplate range:(NSRange)aRange attributeClass:(Class)aClass;
 
-@property (nonatomic, nullable, readonly) NSArray *template;
+@property (nonatomic, nullable, readonly) NSArray<SKTemplateTag *> *template;
 @property (nonatomic, readonly) NSRange range;
 @property (nonatomic, readonly) Class attributeClass;
 

Modified: trunk/SKTemporaryData.h
===================================================================
--- trunk/SKTemporaryData.h     2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKTemporaryData.h     2023-12-23 17:21:58 UTC (rev 13965)
@@ -42,16 +42,16 @@
 
 @interface SKTemporaryData : NSObject {
     PDFDocument *pdfDocument;
-    NSArray *noteDicts;
-    NSDictionary *presentationOptions;
-    NSArray *openMetaTags;
+    NSArray<NSDictionary<NSString *, id> *> *noteDicts;
+    NSDictionary<NSString *, id> *presentationOptions;
+    NSArray<NSString *> *openMetaTags;
     double openMetaRating;
 }
 
 @property (nonatomic, nullable, strong) PDFDocument *pdfDocument;
-@property (nonatomic, nullable, copy) NSArray *noteDicts;
-@property (nonatomic, nullable, copy) NSDictionary *presentationOptions;
-@property (nonatomic, nullable, copy) NSArray *openMetaTags;
+@property (nonatomic, nullable, copy) NSArray<NSDictionary<NSString *, id> *> 
*noteDicts;
+@property (nonatomic, nullable, copy) NSDictionary<NSString *, id> 
*presentationOptions;
+@property (nonatomic, nullable, copy) NSArray<NSString *> *openMetaTags;
 @property (nonatomic) double openMetaRating;
 
 @end

Modified: trunk/SKTransitionController.h
===================================================================
--- trunk/SKTransitionController.h      2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKTransitionController.h      2023-12-23 17:21:58 UTC (rev 13965)
@@ -50,15 +50,15 @@
     BOOL animating;
     
     SKTransitionInfo *transition;
-    NSArray *pageTransitions;
+    NSArray<NSDictionary<NSString *, id> *> *pageTransitions;
 }
 
 @property (nonatomic, nullable, weak) NSView *view;
 @property (nonatomic, nullable, strong) SKTransitionInfo *transition;
-@property (nonatomic, nullable, copy) NSArray *pageTransitions;
+@property (nonatomic, nullable, copy) NSArray<NSDictionary<NSString *, id> *> 
*pageTransitions;
 @property (nonatomic) BOOL hasTransition;
 
-@property (class, nonatomic, readonly) NSArray *transitionNames;
+@property (class, nonatomic, readonly) NSArray<NSString *> *transitionNames;
 
 + (NSString *)nameForStyle:(SKTransitionStyle)style;
 + (SKTransitionStyle)styleForName:(NSString *)name;

Modified: trunk/SKTypeSelectHelper.h
===================================================================
--- trunk/SKTypeSelectHelper.h  2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKTypeSelectHelper.h  2023-12-23 17:21:58 UTC (rev 13965)
@@ -52,7 +52,7 @@
     __weak id <SKTypeSelectDelegate> delegate;
     SKTypeSelectMatchOption matchOption;
     BOOL isProcessing;
-    NSArray *searchCache;
+    NSArray<NSString *> *searchCache;
     NSString *searchString;
     NSTimer *timer;
     NSWindow *observedWindow;
@@ -75,7 +75,7 @@
 
 @protocol SKTypeSelectDelegate <NSObject>
 
-- (NSArray *)typeSelectHelperSelectionStrings; // required
+- (NSArray<NSString *> *)typeSelectHelperSelectionStrings; // required
 - (NSUInteger)typeSelectHelperCurrentlySelectedIndex; // required
 - (void)typeSelectHelperSelectItemAtIndex:(NSUInteger)itemIndex; // required
 

Modified: trunk/SKViewSettingsController.h
===================================================================
--- trunk/SKViewSettingsController.h    2023-12-22 18:16:24 UTC (rev 13964)
+++ trunk/SKViewSettingsController.h    2023-12-23 17:21:58 UTC (rev 13965)
@@ -51,10 +51,10 @@
     BOOL displaysRTL;
     BOOL displaysPageBreaks;
     NSInteger displayBox;
-    NSDictionary *defaultSettings;
+    NSDictionary<NSString *, id> *defaultSettings;
 }
 
-- (instancetype)initWithSettings:(nullable NSDictionary *)settings 
defaultSettings:(nullable NSDictionary *)aDefaultSettings;
+- (instancetype)initWithSettings:(nullable NSDictionary<NSString *, id> 
*)settings defaultSettings:(nullable NSDictionary<NSString *, id> 
*)aDefaultSettings;
 
 @property (nonatomic, getter=isCustom) BOOL custom;
 
@@ -66,7 +66,7 @@
 @property (nonatomic) BOOL displaysAsBook, displaysRTL, displaysPageBreaks;
 @property (nonatomic) NSInteger displayBox;
 
-@property (nonatomic, copy) NSDictionary *settings;
+@property (nonatomic, copy) NSDictionary<NSString *, id> *settings;
 
 @end
 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to