Revision: 29864
http://sourceforge.net/p/bibdesk/svn/29864
Author: hofman
Date: 2025-11-21 10:14:27 +0000 (Fri, 21 Nov 2025)
Log Message:
-----------
add some lightweight generics to model classes
Modified Paths:
--------------
trunk/bibdesk/BDSKBookmark.h
trunk/bibdesk/BDSKComplexString.h
trunk/bibdesk/BDSKCondition.h
trunk/bibdesk/BDSKDBLPGroupServer.h
trunk/bibdesk/BDSKEntrezGroupServer.h
trunk/bibdesk/BDSKExternalGroup.h
trunk/bibdesk/BDSKFieldCollection.h
trunk/bibdesk/BDSKFieldCollection.m
trunk/bibdesk/BDSKFilter.h
trunk/bibdesk/BDSKGroup.h
trunk/bibdesk/BDSKGroupsArray.h
trunk/bibdesk/BDSKLastImportGroup.h
trunk/bibdesk/BDSKParentGroup.h
trunk/bibdesk/BDSKPreferenceRecord.h
trunk/bibdesk/BDSKPreviewItem.h
trunk/bibdesk/BDSKPublicationsArray.h
trunk/bibdesk/BDSKSRUGroupServer.h
trunk/bibdesk/BDSKScriptHook.h
trunk/bibdesk/BDSKSearchBookmark.h
trunk/bibdesk/BDSKSearchGroup.h
trunk/bibdesk/BDSKServerInfo.h
trunk/bibdesk/BDSKStaticGroup.h
trunk/bibdesk/BDSKTemplate.h
trunk/bibdesk/BDSKTemplateObjectProxy.h
trunk/bibdesk/BDSKTemplateTag.h
trunk/bibdesk/BDSKToken.h
trunk/bibdesk/BDSKTreeNode.h
trunk/bibdesk/BDSKTreeNode.m
trunk/bibdesk/BDSKTypeTemplate.h
trunk/bibdesk/BDSKWebGroup.h
trunk/bibdesk/BDSKZoomGroupServer.h
trunk/bibdesk/BibAuthor.h
trunk/bibdesk/BibItem.h
Modified: trunk/bibdesk/BDSKBookmark.h
===================================================================
--- trunk/bibdesk/BDSKBookmark.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKBookmark.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -51,13 +51,13 @@
}
- (nullable instancetype)initWithURL:(NSURL *)aURL name:(nullable NSString
*)aName;
-- (nullable instancetype)initFolderWithChildren:(NSArray *)aChildren
name:(nullable NSString *)aName;
+- (nullable instancetype)initFolderWithChildren:(NSArray<BDSKBookmark *>
*)aChildren name:(nullable NSString *)aName;
- (nullable instancetype)initFolderWithName:(nullable NSString *)aName;
-- (nullable instancetype)initRootWithChildrenDictionaries:(nullable NSArray
*)dictionaries;
+- (nullable instancetype)initRootWithChildrenDictionaries:(nullable
NSArray<NSDictionary<NSString *, id> *> *)dictionaries;
- (nullable instancetype)initSeparator;
-- (nullable instancetype)initWithDictionary:(NSDictionary *)dictionary;
+- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id>
*)dictionary;
-@property (nonatomic, readonly) NSDictionary *dictionaryValue;
+@property (nonatomic, readonly) NSDictionary<NSString *, id> *dictionaryValue;
@property (nonatomic, readonly) BDSKBookmarkType bookmarkType;
@@ -70,16 +70,16 @@
@property (nonatomic) BOOL menuNeedsUpdate;
-- (nullable NSArray *)children;
+- (nullable NSArray<BDSKBookmark *> *)children;
- (NSUInteger)countOfChildren;
- (BDSKBookmark *)objectInChildrenAtIndex:(NSUInteger)idx;
- (void)insertObject:(BDSKBookmark *)child inChildrenAtIndex:(NSUInteger)idx;
-- (void)insertChildren:(NSArray *)newChildren atIndexes:(NSIndexSet *)indexes;
+- (void)insertChildren:(NSArray<BDSKBookmark *> *)newChildren
atIndexes:(NSIndexSet *)indexes;
- (void)removeObjectFromChildrenAtIndex:(NSUInteger)idx;
- (void)removeChildrenAtIndexes:(NSIndexSet *)indexes;
- (BOOL)isDescendantOf:(BDSKBookmark *)bookmark;
-- (BOOL)isDescendantOfArray:(NSArray *)bookmarks;
+- (BOOL)isDescendantOfArray:(NSArray<BDSKBookmark *> *)bookmarks;
@end
Modified: trunk/bibdesk/BDSKComplexString.h
===================================================================
--- trunk/bibdesk/BDSKComplexString.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKComplexString.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -41,7 +41,7 @@
NS_ASSUME_NONNULL_BEGIN
-@class BDSKMacroResolver;
+@class BDSKMacroResolver, BDSKStringNode;
/* This is a category on NSString containing the API for complex strings. */
@@ -57,7 +57,7 @@
@param macroResolver The macro resolver used to resolve macros
in the complex string.
@result -
*/
-+ (instancetype)stringWithNodes:(NSArray *)nodesArray macroResolver:(nullable
BDSKMacroResolver *)macroResolver;
++ (instancetype)stringWithNodes:(NSArray<BDSKStringNode *> *)nodesArray
macroResolver:(nullable BDSKMacroResolver *)macroResolver;
/*!
@method stringWithBibTeXString:macroResolver:error:
@@ -79,7 +79,7 @@
@param macroResolver The macro resolver used to resolve macros
in the complex string.
@result -
*/
-- (instancetype)initWithNodes:(NSArray *)nodesArray macroResolver:(nullable
BDSKMacroResolver *)theMacroResolver;
+- (instancetype)initWithNodes:(NSArray<BDSKStringNode *> *)nodesArray
macroResolver:(nullable BDSKMacroResolver *)theMacroResolver;
/*!
@method initWithBibTeXString:macroResolver:error:
@@ -114,7 +114,7 @@
@discussion (description)
@result -
*/
-@property (nonatomic, readonly) NSArray *nodes;
+@property (nonatomic, readonly) NSArray<BDSKStringNode *> *nodes;
/*!
@method isEqualAsComplexString:
Modified: trunk/bibdesk/BDSKCondition.h
===================================================================
--- trunk/bibdesk/BDSKCondition.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKCondition.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -120,9 +120,9 @@
- (instancetype)init NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
-- (instancetype)initWithDictionary:(NSDictionary *)dictionary;
+- (instancetype)initWithDictionary:(NSDictionary<NSString *, id> *)dictionary;
-@property (nonatomic, readonly) NSDictionary *dictionaryValue;
+@property (nonatomic, readonly) NSDictionary<NSString *, id> *dictionaryValue;
- (BOOL)isSatisfiedByItem:(BibItem *)item;
Modified: trunk/bibdesk/BDSKDBLPGroupServer.h
===================================================================
--- trunk/bibdesk/BDSKDBLPGroupServer.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKDBLPGroupServer.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -57,10 +57,10 @@
BOOL didSearch;
NSString *searchTerm;
NSString *errorMessage;
- NSMutableArray *downloads;
- NSMutableArray *authors;
- NSMutableArray *bibtexFetches;
- NSMutableArray *xmlFetches;
+ NSMutableArray<BDSKDownload *> *downloads;
+ NSMutableArray<NSString *> *authors;
+ NSMutableArray<BDSKDownload *> *bibtexFetches;
+ NSMutableArray<BDSKDownload *> *xmlFetches;
}
@end
Modified: trunk/bibdesk/BDSKEntrezGroupServer.h
===================================================================
--- trunk/bibdesk/BDSKEntrezGroupServer.h 2025-11-20 22:42:15 UTC (rev
29863)
+++ trunk/bibdesk/BDSKEntrezGroupServer.h 2025-11-21 10:14:27 UTC (rev
29864)
@@ -42,7 +42,7 @@
NS_ASSUME_NONNULL_BEGIN
-@class BDSKServerInfo;
+@class BDSKServerInfo, BibItem;
@interface BDSKEntrezGroupServer : NSObject <BDSKSearchGroupServer,
BDSKDownloadDelegate>
{
@@ -67,7 +67,7 @@
- (void)startDownloadFromURL:(NSURL *)theURL;
- (void)setErrorMessage:(nullable NSString *)newErrorMessage;
-+ (nullable NSArray *)itemsForSearchTerm:(NSString *)searchTerm
usingDatabase:(NSString *)database allowMultiple:(BOOL)allowMultiple;
++ (nullable NSArray<BibItem *> *)itemsForSearchTerm:(NSString *)searchTerm
usingDatabase:(NSString *)database allowMultiple:(BOOL)allowMultiple;
@end
Modified: trunk/bibdesk/BDSKExternalGroup.h
===================================================================
--- trunk/bibdesk/BDSKExternalGroup.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKExternalGroup.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -44,7 +44,7 @@
extern NSString * const BDSKExternalGroupPublicationsKey;
-@class BDSKPublicationsArray, BDSKMacroResolver;
+@class BDSKPublicationsArray, BDSKMacroResolver, BibItem;
@interface BDSKExternalGroup : BDSKGroup <BDSKOwner> {
BDSKPublicationsArray *publications;
@@ -62,9 +62,9 @@
// for subclasses to use
-- (void)setPublications:(nullable NSArray *)newPublications;
-- (void)addPublications:(nullable NSArray *)newPublications;
-- (void)removePublications:(nullable NSArray *)oldPublications;
+- (void)setPublications:(nullable NSArray<BibItem *> *)newPublications;
+- (void)addPublications:(nullable NSArray<BibItem *> *)newPublications;
+- (void)removePublications:(nullable NSArray<BibItem *> *)oldPublications;
- (void)notifyUpdate;
Modified: trunk/bibdesk/BDSKFieldCollection.h
===================================================================
--- trunk/bibdesk/BDSKFieldCollection.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKFieldCollection.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -48,7 +48,7 @@
BDSKURLTypeFieldCollection
};
-@class BibItem;
+@class BibItem, BDSKField, BDSKFieldArray;
@interface BDSKFieldCollection : NSObject {
__weak BibItem *item;
@@ -59,10 +59,10 @@
- (instancetype)initWithItem:(BibItem *)anItem NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;
- (void)setType:(BDSKFieldCollectionType)type;
-- (id)fieldForName:(NSString *)name;
+- (BDSKField *)fieldForName:(NSString *)name;
- (BOOL)isUsedField:(NSString *)name;
- (BOOL)isEmptyField:(NSString *)name;
-- (id)fieldsWithNames:(NSArray *)names;
+- (BDSKFieldArray *)fieldsWithNames:(NSArray<NSString *> *)names;
@end
@@ -69,15 +69,15 @@
#pragma mark -
@interface BDSKFieldArray : NSArray {
- NSMutableArray *fieldNames;
- NSMutableArray *fields;
+ NSMutableArray<NSString *> *fieldNames;
+ NSMutableArray<BDSKField *> *fields;
BDSKFieldCollection *fieldCollection;
}
-- (instancetype)initWithFieldCollection:(BDSKFieldCollection *)collection
fieldNames:(NSArray *)array;
-@property (nonatomic, readonly) id nonEmpty;
+- (instancetype)initWithFieldCollection:(BDSKFieldCollection *)collection
fieldNames:(NSArray<NSString *> *)array;
+@property (nonatomic, readonly) BDSKFieldArray *nonEmpty;
- (NSUInteger)count;
-- (id)objectAtIndex:(NSUInteger)index;
+- (BDSKField *)objectAtIndex:(NSUInteger)index;
@end
Modified: trunk/bibdesk/BDSKFieldCollection.m
===================================================================
--- trunk/bibdesk/BDSKFieldCollection.m 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKFieldCollection.m 2025-11-21 10:14:27 UTC (rev 29864)
@@ -97,13 +97,13 @@
return [NSString isEmptyString:[item stringValueOfField:name]];
}
-- (id)fieldForName:(NSString *)name{
+- (BDSKField *)fieldForName:(NSString *)name{
name = [name fieldName];
[usedFields addObject:name];
return [[BDSKField alloc] initWithName:name bibItem:item];
}
-- (id)fieldsWithNames:(NSArray *)names{
+- (BDSKFieldArray *)fieldsWithNames:(NSArray *)names{
return [[BDSKFieldArray alloc] initWithFieldCollection:self
fieldNames:names];
}
Modified: trunk/bibdesk/BDSKFilter.h
===================================================================
--- trunk/bibdesk/BDSKFilter.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKFilter.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -49,14 +49,14 @@
@class BDSKCondition, BibItem;
@interface BDSKFilter : NSObject <NSCopying, NSSecureCoding> {
- NSMutableArray *conditions;
+ NSMutableArray<BDSKCondition *> *conditions;
BDSKConjunction conjunction;
__weak id<BDSKSmartGroup> group;
NSUndoManager *undoManager;
}
-- (instancetype)initWithConditions:(NSArray *)aConditions
conjunction:(BDSKConjunction)aConjunction NS_DESIGNATED_INITIALIZER;
-- (instancetype)initWithDictionary:(NSDictionary *)dictionary;
+- (instancetype)initWithConditions:(NSArray<BDSKCondition *> *)aConditions
conjunction:(BDSKConjunction)aConjunction NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithDictionary:(NSDictionary<NSString *, id> *)dictionary;
- (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
@property (nonatomic, readonly) NSDictionary *dictionaryValue;
@@ -63,7 +63,7 @@
- (BOOL)testItem:(BibItem *)item;
-@property (nonatomic, strong) NSArray *conditions;
+@property (nonatomic, strong) NSArray<BDSKCondition *> *conditions;
@property (nonatomic) BDSKConjunction conjunction;
@property (nonatomic, nullable, weak) id<BDSKSmartGroup> group;
Modified: trunk/bibdesk/BDSKGroup.h
===================================================================
--- trunk/bibdesk/BDSKGroup.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKGroup.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -83,7 +83,7 @@
*/
- (instancetype)initWithName:(NSString *)aName NS_DESIGNATED_INITIALIZER;
-- (instancetype)initWithDictionary:(NSDictionary *)groupDict;
+- (instancetype)initWithDictionary:(NSDictionary<NSString *, id> *)groupDict;
- (instancetype)initWithCoder:(NSCoder *)decoder NS_DESIGNATED_INITIALIZER;
Modified: trunk/bibdesk/BDSKGroupsArray.h
===================================================================
--- trunk/bibdesk/BDSKGroupsArray.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKGroupsArray.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -44,9 +44,9 @@
extern NSString * const BDSKDocumentGroupsKey;
extern NSString * const BDSKDocumentParentGroupKey;
-@class BDSKGroup, BDSKLibraryGroup, BDSKLastImportGroup, BDSKSmartGroup,
BDSKStaticGroup, BDSKURLGroup, BDSKScriptGroup, BDSKSearchGroup, BDSKWebGroup,
BDSKLibraryParentGroup, BDSKExternalParentGroup, BDSKSmartParentGroup,
BDSKStaticParentGroup, BDSKCategoryParentGroup, BibDocument;
+@class BDSKGroup, BDSKLibraryGroup, BDSKLastImportGroup, BDSKSmartGroup,
BDSKStaticGroup, BDSKCategoryGroup, BDSKURLGroup, BDSKScriptGroup,
BDSKSearchGroup, BDSKWebGroup, BDSKSharedGroup, BDSKLibraryParentGroup,
BDSKExternalParentGroup, BDSKSmartParentGroup, BDSKStaticParentGroup,
BDSKCategoryParentGroup, BibDocument;
-@interface BDSKGroupsArray : NSArray {
+@interface BDSKGroupsArray : NSArray<BDSKParentGroup *> {
NSMutableArray *groups;
__weak BibDocument *document;
}
@@ -60,18 +60,18 @@
@property (nonatomic, readonly) BDSKExternalParentGroup *externalParent;
@property (nonatomic, readonly) BDSKSmartParentGroup *smartParent;
@property (nonatomic, readonly) BDSKStaticParentGroup *staticParent;
-@property (nonatomic, readonly) NSArray *categoryParents;
+@property (nonatomic, readonly) NSArray<BDSKCategoryParentGroup *>
*categoryParents;
@property (nonatomic, readonly) BDSKLibraryGroup *libraryGroup;
@property (nonatomic, nullable, readonly) BDSKLastImportGroup *lastImportGroup;
-@property (nonatomic, readonly) NSArray *sharedGroups;
-@property (nonatomic, readonly) NSArray *URLGroups;
-@property (nonatomic, readonly) NSArray *scriptGroups;
-@property (nonatomic, readonly) NSArray *searchGroups;
-@property (nonatomic, readonly) NSArray *webGroups;
-@property (nonatomic, readonly) NSArray *smartGroups;
-@property (nonatomic, readonly) NSArray *staticGroups;
-@property (nonatomic, readonly) NSArray *categoryGroups;
+@property (nonatomic, readonly) NSArray<BDSKSharedGroup *> *sharedGroups;
+@property (nonatomic, readonly) NSArray<BDSKURLGroup *> *URLGroups;
+@property (nonatomic, readonly) NSArray<BDSKScriptGroup *> *scriptGroups;
+@property (nonatomic, readonly) NSArray<BDSKSearchGroup *> *searchGroups;
+@property (nonatomic, readonly) NSArray<BDSKWebGroup *> *webGroups;
+@property (nonatomic, readonly) NSArray<BDSKSmartGroup *> *smartGroups;
+@property (nonatomic, readonly) NSArray<BDSKStaticGroup *> *staticGroups;
+@property (nonatomic, readonly) NSArray<BDSKCategoryGroup *> *categoryGroups;
@property (nonatomic, readonly) NSArray *allChildren;
@@ -83,7 +83,7 @@
- (void)removeAllUndoableGroups;
-- (void)sortUsingDescriptors:(NSArray *)sortDescriptors;
+- (void)sortUsingDescriptors:(NSArray<NSSortDescriptor *> *)sortDescriptors;
@property (nonatomic, weak, nullable, readonly) BibDocument *document;
Modified: trunk/bibdesk/BDSKLastImportGroup.h
===================================================================
--- trunk/bibdesk/BDSKLastImportGroup.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKLastImportGroup.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -41,9 +41,11 @@
NS_ASSUME_NONNULL_BEGIN
+@class BibItem;
+
@interface BDSKLastImportGroup : BDSKStaticGroup
-- (instancetype)initWithLastImport:(NSArray *)array;
+- (instancetype)initWithLastImport:(NSArray<BibItem *> *)array;
@end
Modified: trunk/bibdesk/BDSKParentGroup.h
===================================================================
--- trunk/bibdesk/BDSKParentGroup.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKParentGroup.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -41,10 +41,10 @@
NS_ASSUME_NONNULL_BEGIN
-@class BDSKWebGroup, BDSKSearchGroup, BDSKURLGroup, BDSKScriptGroup,
BDSKSmartGroup, BDSKStaticGroup, BDSKLastImportGroup;
+@class BDSKWebGroup, BDSKSearchGroup, BDSKURLGroup, BDSKScriptGroup,
BDSKSharedGroup, BDSKSmartGroup, BDSKStaticGroup, BDSKLastImportGroup,
BDSKCategoryGroup;
@interface BDSKParentGroup : BDSKGroup {
- NSMutableArray *children;
+ NSMutableArray<__kindof BDSKGroup *> *children;
NSArray *sortDescriptors;
}
@@ -57,9 +57,9 @@
- (NSUInteger)numberOfChildren;
- (__kindof BDSKGroup *)childAtIndex:(NSUInteger)anIndex;
-- (NSArray *)children;
+- (NSArray<__kindof BDSKGroup *> *)children;
-- (void)sortUsingDescriptors:(nullable NSArray *)sortDescriptors;
+- (void)sortUsingDescriptors:(nullable NSArray<NSSortDescriptor *>
*)sortDescriptors;
- (void)resort;
- (void)removeAllUndoableChildren;
@@ -84,11 +84,11 @@
NSUInteger scriptGroupCount;
}
-@property (nonatomic, readonly) NSArray *webGroups;
-@property (nonatomic, readonly) NSArray *searchGroups;
-@property (nonatomic, strong) NSArray *sharedGroups;
-@property (nonatomic, readonly) NSArray *URLGroups;
-@property (nonatomic, readonly) NSArray *scriptGroups;
+@property (nonatomic, readonly) NSArray<BDSKWebGroup *> *webGroups;
+@property (nonatomic, readonly) NSArray<BDSKSearchGroup *> *searchGroups;
+@property (nonatomic, strong) NSArray<BDSKSharedGroup *> *sharedGroups;
+@property (nonatomic, readonly) NSArray<BDSKURLGroup *> *URLGroups;
+@property (nonatomic, readonly) NSArray<BDSKScriptGroup *> *scriptGroups;
@end
@@ -97,7 +97,7 @@
@interface BDSKSmartParentGroup : BDSKParentGroup
@property (nonatomic, nullable, readonly) BDSKLastImportGroup *lastImportGroup;
-@property (nonatomic, readonly) NSArray *smartGroups;
+@property (nonatomic, readonly) NSArray<BDSKSmartGroup *> *smartGroups;
@end
@@ -110,7 +110,7 @@
- (instancetype)initWithKey:(NSString *)aKey NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithName:(NSString *)aName NS_UNAVAILABLE;
-@property (nonatomic, strong) NSArray *categoryGroups;
+@property (nonatomic, strong) NSArray<BDSKCategoryGroup *> *categoryGroups;
@property (nonatomic, strong) NSString *key;
@@ -120,7 +120,7 @@
@interface BDSKStaticParentGroup : BDSKParentGroup
-@property (nonatomic, readonly) NSArray *staticGroups;
+@property (nonatomic, readonly) NSArray<BDSKStaticGroup *> *staticGroups;
@end
Modified: trunk/bibdesk/BDSKPreferenceRecord.h
===================================================================
--- trunk/bibdesk/BDSKPreferenceRecord.h 2025-11-20 22:42:15 UTC (rev
29863)
+++ trunk/bibdesk/BDSKPreferenceRecord.h 2025-11-21 10:14:27 UTC (rev
29864)
@@ -43,10 +43,10 @@
@interface BDSKPreferenceRecord : NSObject {
NSImage *icon;
NSURL *helpURL;
- NSDictionary *dictionary;
+ NSDictionary<NSString *, id> *dictionary;
}
-- (instancetype)initWithDictionary:(NSDictionary *)aDictionarys
NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithDictionary:(NSDictionary<NSString *, id>
*)aDictionarys NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;
@property (nonatomic, nullable, readonly) NSString *identifier;
@@ -58,9 +58,9 @@
@property (nonatomic, nullable, readonly) NSImage *icon;
@property (nonatomic, nullable, readonly) NSString *helpAnchor;
@property (nonatomic, nullable, readonly) NSURL *helpURL;
-@property (nonatomic, nullable, readonly) NSDictionary *initialValues;
-@property (nonatomic, nullable, readonly) NSArray *searchTerms;
-@property (nonatomic, readonly) NSDictionary *dictionary;
+@property (nonatomic, nullable, readonly) NSDictionary<NSString *, id>
*initialValues;
+@property (nonatomic, nullable, readonly) NSArray<NSString *> *searchTerms;
+@property (nonatomic, readonly) NSDictionary<NSString *, id> *dictionary;
@end
Modified: trunk/bibdesk/BDSKPreviewItem.h
===================================================================
--- trunk/bibdesk/BDSKPreviewItem.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKPreviewItem.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -40,11 +40,11 @@
NS_ASSUME_NONNULL_BEGIN
-@class BDSKPreviewOwner, BDSKPreviewLinkedFile;
+@class BDSKPreviewOwner, BDSKPreviewLinkedFile, BibAuthor;
@interface BDSKPreviewItem : NSObject <BDSKParseableItem> {
- NSDictionary *pubFields;
- NSArray *pubAuthors;
+ NSDictionary<NSString *, NSString *> *pubFields;
+ NSArray<BibAuthor *> *pubAuthors;
BDSKPreviewOwner *owner;
BDSKPreviewLinkedFile *linkedFile;
}
Modified: trunk/bibdesk/BDSKPublicationsArray.h
===================================================================
--- trunk/bibdesk/BDSKPublicationsArray.h 2025-11-20 22:42:15 UTC (rev
29863)
+++ trunk/bibdesk/BDSKPublicationsArray.h 2025-11-21 10:14:27 UTC (rev
29864)
@@ -42,34 +42,34 @@
@class BibItem, BDSKItemSearchIndexes;
-@interface BDSKPublicationsArray : NSMutableArray {
- NSMutableArray *publications;
- NSMapTable *itemsForCiteKeys;
- NSMapTable *itemsForCrossrefs;
- NSMutableDictionary *itemsForIdentifierURLs;
+@interface BDSKPublicationsArray : NSMutableArray<BibItem *> {
+ NSMutableArray<BibItem *> *publications;
+ NSMapTable<NSString *, NSMutableArray<BibItem *> *> *itemsForCiteKeys;
+ NSMapTable<NSString *, NSMutableArray<BibItem *> *> *itemsForCrossrefs;
+ NSMutableDictionary<NSURL *, BibItem *> *itemsForIdentifierURLs;
BDSKItemSearchIndexes *searchIndexes;
}
-- (instancetype)initWithArray:(nullable NSArray *)anArray
NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithArray:(nullable NSArray<BibItem *> *)anArray
NS_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_UNAVAILABLE;
- (BDSKPublicationsArray *)copyTemporary;
// otherArray should contain the same publications, just reordered
-- (void)setReorderedArray:(NSArray *)otherArray;
+- (void)setReorderedArray:(NSArray<BibItem *> *)otherArray;
- (nullable BibItem *)itemForCiteKey:(NSString *)key;
-- (nullable NSArray *)itemsForCiteKey:(NSString *)key;
+- (nullable NSArray<BibItem *> *)itemsForCiteKey:(NSString *)key;
- (void)changeCiteKey:(NSString *)oldKey forItem:(BibItem *)anItem;
-- (nullable NSArray *)itemsForCrossref:(NSString *)key;
+- (nullable NSArray<BibItem *> *)itemsForCrossref:(NSString *)key;
- (void)changeCrossref:(nullable NSString *)oldKey forItem:(BibItem *)anItem;
- (nullable BibItem *)itemForIdentifierURL:(NSURL *)aURL;
-- (nullable NSArray *)itemsForIdentifierURLs:(NSArray *)anArray;
+- (nullable NSArray<BibItem *> *)itemsForIdentifierURLs:(NSArray<NSURL *>
*)anArray;
- (nullable SKIndexRef)indexForField:(NSString *)field CF_RETURNS_RETAINED;
-- (void)reindexPublications:(NSArray *)items;
+- (void)reindexPublications:(NSArray<BibItem *> *)items;
@end
Modified: trunk/bibdesk/BDSKSRUGroupServer.h
===================================================================
--- trunk/bibdesk/BDSKSRUGroupServer.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKSRUGroupServer.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -59,7 +59,7 @@
NSString *authorization;
}
-@property (class, nonatomic, readonly) NSArray *supportedRecordSyntaxes;
+@property (class, nonatomic, readonly) NSArray<NSString *>
*supportedRecordSyntaxes;
@end
NS_ASSUME_NONNULL_END
Modified: trunk/bibdesk/BDSKScriptHook.h
===================================================================
--- trunk/bibdesk/BDSKScriptHook.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKScriptHook.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -54,13 +54,15 @@
extern NSString * const BDSKScriptHookNameOpenDocument;
extern NSString * const BDSKScriptHookNameRevertDocument;
+@class BibItem;
+
@interface BDSKScriptHook : NSObject {
NSString *name;
NSString *uniqueID;
NSUserAppleScriptTask *script;
NSString *field;
- NSArray *oldValues;
- NSArray *values;
+ NSArray<NSString *> *oldValues;
+ NSArray<NSString *> *values;
BOOL cancelled;
NSDocument *document;
}
@@ -75,13 +77,13 @@
@property (nonatomic, readonly) NSString *name;
@property (nonatomic, readonly) NSString *uniqueID;
@property (nonatomic, nullable, strong) NSString *field;
-@property (nonatomic, nullable, strong) NSArray *oldValues;
-@property (nonatomic,nullable, strong) NSArray *values;
+@property (nonatomic, nullable, strong) NSArray<NSString *> *oldValues;
+@property (nonatomic,nullable, strong) NSArray<NSString *> *values;
@property (nonatomic) BOOL cancelled;
@property (nonatomic, strong) NSDocument *document;
@property (nonatomic, readonly) NSUserAppleScriptTask *script;
-- (void)runWithPublications:(nullable NSArray *)items completionHandler:(void
(^ _Nullable)(BOOL cancelled))handler;
+- (void)runWithPublications:(nullable NSArray<BibItem *> *)items
completionHandler:(void (^ _Nullable)(BOOL cancelled))handler;
@end
Modified: trunk/bibdesk/BDSKSearchBookmark.h
===================================================================
--- trunk/bibdesk/BDSKSearchBookmark.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKSearchBookmark.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -50,18 +50,18 @@
__weak BDSKSearchBookmark *parent;
}
-- (nullable instancetype)initFolderWithChildren:(NSArray *)aChildren
label:(nullable NSString *)aLabel;
+- (nullable instancetype)initFolderWithChildren:(NSArray<BDSKSearchBookmark *>
*)aChildren label:(nullable NSString *)aLabel;
- (nullable instancetype)initFolderWithLabel:(nullable NSString *)aLabel;
-- (nullable instancetype)initRootWithChildrenDictionaries:(nullable NSArray
*)dictionaries;
+- (nullable instancetype)initRootWithChildrenDictionaries:(nullable
NSArray<NSDictionary<NSString *, id> *> *)dictionaries;
- (nullable instancetype)initSeparator;
- (nullable instancetype)initWithInfo:(NSDictionary *)aDictionary
label:(nullable NSString *)aLabel;
-- (nullable instancetype)initWithDictionary:(NSDictionary *)dictionary;
+- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id>
*)dictionary;
-@property (nonatomic, readonly) NSDictionary *dictionaryValue;
+@property (nonatomic, readonly) NSDictionary<NSString *, id> *dictionaryValue;
@property (nonatomic, readonly) BDSKSearchBookmarkType bookmarkType;
-@property (nonatomic, nullable, strong) NSDictionary *info;
+@property (nonatomic, nullable, strong) NSDictionary<NSString *, id> *info;
@property (nonatomic, nullable, strong) NSString *label;
@@ -75,11 +75,11 @@
@property (nonatomic) BOOL menuNeedsUpdate;
-- (nullable NSArray *)children;
+- (nullable NSArray<BDSKSearchBookmark *> *)children;
- (NSUInteger)countOfChildren;
- (BDSKSearchBookmark *)objectInChildrenAtIndex:(NSUInteger)idx;
- (void)insertObject:(BDSKSearchBookmark *)child
inChildrenAtIndex:(NSUInteger)idx;
-- (void)insertChildren:(NSArray *)newChildren atIndexes:(NSIndexSet *)indexes;
+- (void)insertChildren:(NSArray<BDSKSearchBookmark *> *)newChildren
atIndexes:(NSIndexSet *)indexes;
- (void)removeObjectFromChildrenAtIndex:(NSUInteger)idx;
- (void)removeChildrenAtIndexes:(NSIndexSet *)indexes;
Modified: trunk/bibdesk/BDSKSearchGroup.h
===================================================================
--- trunk/bibdesk/BDSKSearchGroup.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKSearchGroup.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -52,7 +52,7 @@
@class BDSKServerInfo;
@protocol BDSKSearchGroup <BDSKOwner>
-- (void)addPublications:(nullable NSArray *)pubs;
+- (void)addPublications:(nullable NSArray<BibItem *> *)pubs;
@end
@protocol BDSKSearchGroupServer <NSObject>
@@ -82,7 +82,7 @@
@property (nonatomic, readonly) NSString *type;
@property (nonatomic, copy) BDSKServerInfo *serverInfo;
@property (nonatomic, nullable, copy) NSString *searchTerm;
-@property (nonatomic, nullable, copy) NSArray *history;
+@property (nonatomic, nullable, copy) NSArray<NSString *> *history;
@property (nonatomic, readonly) NSInteger numberOfAvailableResults;
@property (nonatomic, nullable, readonly) NSString *errorMessage;
@@ -100,7 +100,7 @@
@interface BDSKGroupSearch : NSObject <BDSKSearchGroup> {
BDSKMacroResolver *macroResolver;
- NSArray *publications;
+ NSArray<BibItem *> *publications;
id<BDSKSearchGroupServer> server;
BOOL importFinished;
void(^completionHandler)(NSArray *);
Modified: trunk/bibdesk/BDSKServerInfo.h
===================================================================
--- trunk/bibdesk/BDSKServerInfo.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKServerInfo.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -57,7 +57,7 @@
NSString *host;
NSString *port;
NSString *password;
- NSMutableDictionary *options;
+ NSMutableDictionary<NSString *, NSString *> *options;
BOOL passwordInKeychain;
BDSKReadWriteLock *passwordLock;
}
@@ -64,12 +64,12 @@
+ (nullable instancetype)defaultServerInfoWithType:(NSString *)aType;
-- (nullable instancetype)initWithType:(NSString *)aType name:(NSString *)aName
database:(NSString *)aDbase host:(nullable NSString *)aHost port:(nullable
NSString *)aPort options:(nullable NSDictionary *)options
NS_DESIGNATED_INITIALIZER;
+- (nullable instancetype)initWithType:(NSString *)aType name:(NSString *)aName
database:(NSString *)aDbase host:(nullable NSString *)aHost port:(nullable
NSString *)aPort options:(nullable NSDictionary<NSString *, NSString *>
*)options NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;
-- (nullable instancetype)initWithDictionary:(NSDictionary *)info;
+- (nullable instancetype)initWithDictionary:(NSDictionary<NSString *, id>
*)info;
-@property (nonatomic, readonly) NSDictionary *dictionaryValue;
+@property (nonatomic, readonly) NSDictionary<NSString *, id> *dictionaryValue;
@property (nonatomic, readonly) NSString *type;
@property (nonatomic, readonly) NSString *name;
@@ -83,7 +83,7 @@
@property (nonatomic, readonly) BOOL removeDiacritics;
@property (nonatomic, readonly, getter=isSecure) BOOL secure;
@property (nonatomic, readonly, getter=isLite) BOOL lite;
-@property (nonatomic, nullable, readonly) NSDictionary *options;
+@property (nonatomic, nullable, readonly) NSDictionary<NSString *, NSString *>
*options;
@property (nonatomic, readonly, getter=isEntrez) BOOL entrez;
@property (nonatomic, readonly, getter=isZoom) BOOL zoom;
Modified: trunk/bibdesk/BDSKStaticGroup.h
===================================================================
--- trunk/bibdesk/BDSKStaticGroup.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKStaticGroup.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -44,19 +44,19 @@
@class BibItem;
@interface BDSKStaticGroup : BDSKMutableGroup {
- NSMutableArray *publications;
- NSArray *tmpKeys;
+ NSMutableArray<BibItem *> *publications;
+ NSArray<NSString *> *tmpKeys;
}
-- (instancetype)initWithName:(NSString *)aName publications:(nullable NSArray
*)array NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithName:(NSString *)aName publications:(nullable
NSArray<BibItem *> *)array NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithCoder:(NSCoder *)decoder NS_DESIGNATED_INITIALIZER;
@property (nonatomic, copy) NSArray *publications;
- (void)addPublication:(BibItem *)item;
-- (void)addPublicationsFromArray:(NSArray *)items;
+- (void)addPublicationsFromArray:(NSArray<BibItem *> *)items;
- (void)removePublication:(BibItem *)item;
-- (void)removePublicationsInArray:(NSArray *)items;
+- (void)removePublicationsInArray:(NSArray<BibItem *> *)items;
@end
Modified: trunk/bibdesk/BDSKTemplate.h
===================================================================
--- trunk/bibdesk/BDSKTemplate.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKTemplate.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -76,13 +76,13 @@
+ (NSString *)unlocalizedRoleString:(NSString *)string;
// all templates
-@property (class, nonatomic, null_resettable, copy) NSArray *exportTemplates;
-@property (class, nonatomic, null_resettable, copy) NSArray *serviceTemplates;
+@property (class, nonatomic, null_resettable, copy) NSArray<BDSKTemplate *>
*exportTemplates;
+@property (class, nonatomic, null_resettable, copy) NSArray<BDSKTemplate *>
*serviceTemplates;
// known export style names
-@property (class, nonatomic, readonly) NSArray *allStyleNames;
+@property (class, nonatomic, readonly) NSArray<NSString *> *allStyleNames;
@property (class, nonatomic, readonly) NSString *defaultPreviewTemplateName;
-+ (NSArray *)allStyleNamesForFormat:(BDSKTemplateFormat)format;
++ (NSArray<NSString *> *)allStyleNamesForFormat:(BDSKTemplateFormat)format;
+ (nullable NSString *)defaultStyleNameForFileType:(NSString *)fileType;
// export templates
@@ -120,7 +120,7 @@
- (nullable NSURL *)templateURLForType:(NSString *)pubType;
-@property (nonatomic, nullable, readonly) NSArray *accessoryFileURLs;
+@property (nonatomic, nullable, readonly) NSArray<NSURL *> *accessoryFileURLs;
@property (nonatomic, nullable, readonly) NSURL *scriptURL;
// child template accessors
Modified: trunk/bibdesk/BDSKTemplateObjectProxy.h
===================================================================
--- trunk/bibdesk/BDSKTemplateObjectProxy.h 2025-11-20 22:42:15 UTC (rev
29863)
+++ trunk/bibdesk/BDSKTemplateObjectProxy.h 2025-11-21 10:14:27 UTC (rev
29864)
@@ -40,26 +40,26 @@
NS_ASSUME_NONNULL_BEGIN
-@class BDSKTemplate;
+@class BDSKTemplate, BibItem;
@interface BDSKTemplateObjectProxy : NSObject {
id object;
- NSArray *publications;
- NSArray *publicationsContext;
+ NSArray<BibItem *> *publications;
+ NSArray<BibItem *> *publicationsContext;
BDSKTemplate *template;
}
-+ (NSString *)stringByParsingTemplate:(BDSKTemplate *)template
withObject:(id)anObject publications:(NSArray *)items;
-+ (NSString *)stringByParsingTemplate:(BDSKTemplate *)template
withObject:(id)anObject publications:(NSArray *)items
publicationsContext:(nullable NSArray *)itemsContext;
-+ (NSAttributedString *)attributedStringByParsingTemplate:(BDSKTemplate
*)template withObject:(id)anObject publications:(NSArray *)items
documentAttributes:(NSDictionary * _Nullable * _Nullable)docAttributes;
-+ (NSAttributedString *)attributedStringByParsingTemplate:(BDSKTemplate
*)template withObject:(id)anObject publications:(NSArray *)items
publicationsContext:(nullable NSArray *)itemsContext
documentAttributes:(NSDictionary * _Nullable * _Nullable)docAttributes;
++ (NSString *)stringByParsingTemplate:(BDSKTemplate *)template
withObject:(id)anObject publications:(NSArray<BibItem *> *)items;
++ (NSString *)stringByParsingTemplate:(BDSKTemplate *)template
withObject:(id)anObject publications:(NSArray<BibItem *> *)items
publicationsContext:(nullable NSArray *)itemsContext;
++ (NSAttributedString *)attributedStringByParsingTemplate:(BDSKTemplate
*)template withObject:(id)anObject publications:(NSArray<BibItem *> *)items
documentAttributes:(NSDictionary * _Nullable * _Nullable)docAttributes;
++ (NSAttributedString *)attributedStringByParsingTemplate:(BDSKTemplate
*)template withObject:(id)anObject publications:(NSArray<BibItem *> *)items
publicationsContext:(nullable NSArray *)itemsContext
documentAttributes:(NSDictionary * _Nullable * _Nullable)docAttributes;
+ (nullable NSData *)dataByParsingTemplate:(BDSKTemplate *)template
withObject:(id)anObject publications:(NSArray *)items;
-+ (nullable NSData *)dataByParsingTemplate:(BDSKTemplate *)template
withObject:(id)anObject publications:(NSArray *)items
publicationsContext:(nullable NSArray *)itemsContext;
++ (nullable NSData *)dataByParsingTemplate:(BDSKTemplate *)template
withObject:(id)anObject publications:(NSArray<BibItem *> *)items
publicationsContext:(nullable NSArray<BibItem *> *)itemsContext;
-- (instancetype)initWithObject:(id)anObject publications:(NSArray *)items
publicationsContext:(nullable NSArray *)itemsContext template:(BDSKTemplate
*)aTemplate NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithObject:(id)anObject publications:(NSArray *)items
publicationsContext:(nullable NSArray<BibItem *> *)itemsContext
template:(BDSKTemplate *)aTemplate NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;
-@property (nonatomic, readonly) NSArray *publications;
+@property (nonatomic, readonly) NSArray<BibItem *> *publications;
@property (nonatomic, readonly) id publicationsUsingTemplate;
@property (nonatomic, readonly) NSDate *currentDate;
Modified: trunk/bibdesk/BDSKTemplateTag.h
===================================================================
--- trunk/bibdesk/BDSKTemplateTag.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKTemplateTag.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -83,14 +83,14 @@
#pragma mark -
@interface BDSKRichValueTemplateTag : BDSKValueTemplateTag {
- NSDictionary *attributes;
+ NSDictionary<NSString *, id> *attributes;
BDSKAttributeTemplate *linkTemplate;
}
-- (instancetype)initWithKeyPath:(NSString *)aKeyPath attributes:(NSDictionary
*)anAttributes NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithKeyPath:(NSString *)aKeyPath
attributes:(NSDictionary<NSString *, id> *)anAttributes
NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithKeyPath:(NSString *)aKeyPath NS_UNAVAILABLE;
-@property (nonatomic, readonly) NSDictionary *attributes;
+@property (nonatomic, readonly) NSDictionary<NSString *, id> *attributes;
@property (nonatomic, nullable, readonly) BDSKAttributeTemplate *linkTemplate;
@@ -101,15 +101,15 @@
@interface BDSKCollectionTemplateTag : BDSKValueTemplateTag {
NSString *itemTemplateString;
NSString *separatorTemplateString;
- NSArray *itemTemplate;
- NSArray *separatorTemplate;
+ NSArray<BDSKTemplateTag *> *itemTemplate;
+ NSArray<BDSKTemplateTag *> *separatorTemplate;
}
- (instancetype)initWithKeyPath:(NSString *)aKeyPath
itemTemplateString:(NSString *)anItemTemplateString
separatorTemplateString:(nullable NSString *)aSeparatorTemplateString
NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithKeyPath:(NSString *)aKeyPath NS_UNAVAILABLE;
-@property (nonatomic, readonly) NSArray *itemTemplate;
-@property (nonatomic, nullable, readonly) NSArray *separatorTemplate;
+@property (nonatomic, readonly) NSArray<BDSKTemplateTag *> *itemTemplate;
+@property (nonatomic, nullable, readonly) NSArray<BDSKTemplateTag *>
*separatorTemplate;
@end
@@ -118,15 +118,15 @@
@interface BDSKRichCollectionTemplateTag : BDSKValueTemplateTag {
NSAttributedString *itemTemplateAttributedString;
NSAttributedString *separatorTemplateAttributedString;
- NSArray *itemTemplate;
- NSArray *separatorTemplate;
+ NSArray<BDSKTemplateTag *> *itemTemplate;
+ NSArray<BDSKTemplateTag *> *separatorTemplate;
}
- (instancetype)initWithKeyPath:(NSString *)aKeyPath
itemTemplateAttributedString:(NSAttributedString
*)anItemTemplateAttributedString separatorTemplateAttributedString:(nullable
NSAttributedString *)aSeparatorTemplateAttributedString
NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithKeyPath:(NSString *)aKeyPath NS_UNAVAILABLE;
-@property (nonatomic, readonly) NSArray *itemTemplate;
-@property (nonatomic, nullable, readonly) NSArray *separatorTemplate;
+@property (nonatomic, readonly) NSArray<BDSKTemplateTag *> *itemTemplate;
+@property (nonatomic, nullable, readonly) NSArray<BDSKTemplateTag *>
*separatorTemplate;
@end
@@ -135,7 +135,7 @@
@interface BDSKConditionTemplateTag : BDSKValueTemplateTag {
BDSKTemplateTagMatchType matchType;
NSMutableArray *subtemplates;
- NSArray *matchStrings;
+ NSArray<NSString *> *matchStrings;
}
- (instancetype)initWithKeyPath:(NSString *)aKeyPath
matchType:(BDSKTemplateTagMatchType)aMatchType matchStrings:(NSArray
*)aMatchStrings subtemplates:(NSArray *)aSubtemplates NS_DESIGNATED_INITIALIZER;
@@ -142,10 +142,10 @@
- (instancetype)initWithKeyPath:(NSString *)aKeyPath NS_UNAVAILABLE;
@property (nonatomic, readonly) BDSKTemplateTagMatchType matchType;
-@property (nonatomic, readonly) NSArray *matchStrings;
+@property (nonatomic, readonly) NSArray<NSString *> *matchStrings;
- (NSUInteger)countOfSubtemplates;
-- (NSArray *)objectInSubtemplatesAtIndex:(NSUInteger)anIndex;
+- (NSArray<BDSKTemplateTag *>
*)objectInSubtemplatesAtIndex:(NSUInteger)anIndex;
@end
@@ -173,7 +173,7 @@
@interface BDSKRichTextTemplateTag : BDSKTemplateTag {
NSAttributedString *attributedText;
- NSArray *linkTemplates;
+ NSArray<BDSKTemplateTag *> *linkTemplates;
}
- (instancetype)initWithAttributedText:(NSAttributedString *)anAttributedText
NS_DESIGNATED_INITIALIZER;
@@ -181,7 +181,7 @@
@property (nonatomic, strong) NSAttributedString *attributedText;
-@property (nonatomic, readonly) NSArray *linkTemplates;
+@property (nonatomic, readonly) NSArray<BDSKTemplateTag *> *linkTemplates;
- (void)appendAttributedText:(NSAttributedString *)newAttributedText;
@@ -190,14 +190,14 @@
#pragma mark -
@interface BDSKAttributeTemplate : NSObject {
- NSArray *template;
+ NSArray<BDSKTemplateTag *> *template;
NSRange range;
Class attributeClass;
}
-- (instancetype)initWithTemplate:(nullable NSArray *)aTemplate
range:(NSRange)aRange attributeClass:(nullable Class)aClass
NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithTemplate:(nullable NSArray<BDSKTemplateTag *>
*)aTemplate range:(NSRange)aRange attributeClass:(nullable Class)aClass
NS_DESIGNATED_INITIALIZER;
-@property (nonatomic, nullable, readonly) NSArray *template;
+@property (nonatomic, nullable, readonly) NSArray<BDSKTemplateTag *> *template;
@property (nonatomic, readonly) NSRange range;
Modified: trunk/bibdesk/BDSKToken.h
===================================================================
--- trunk/bibdesk/BDSKToken.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKToken.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -81,7 +81,7 @@
@property (nonatomic, readonly) NSString *string;
-- (nullable NSAttributedString
*)attributedStringWithDefaultAttributes:(NSDictionary *)attributes;
+- (nullable NSAttributedString
*)attributedStringWithDefaultAttributes:(NSDictionary<NSString *, id>
*)attributes;
@property (nonatomic, readonly) NSSet *keysForValuesToObserveForUndo;
@@ -97,7 +97,7 @@
@property (nonatomic, nullable, strong) NSString *key;
-@property (nonatomic, readonly) NSArray *keys;
+@property (nonatomic, readonly) NSArray<NSString *> *keys;
@end
Modified: trunk/bibdesk/BDSKTreeNode.h
===================================================================
--- trunk/bibdesk/BDSKTreeNode.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKTreeNode.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -42,18 +42,18 @@
@interface BDSKTreeNode : NSObject <NSSecureCoding, NSCopying>
{
- NSMutableArray *children;
- NSMutableDictionary *columnValues;
+ NSMutableArray<__kindof BDSKTreeNode *> *children;
+ NSMutableDictionary<NSString *, id> *columnValues;
__weak BDSKTreeNode *parent;
}
-- (instancetype)initWithColumnValues:(nullable NSDictionary *)newColumnValues
children:(nullable NSArray *)newChildren NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithColumnValues:(nullable NSDictionary<NSString *, id>
*)newColumnValues children:(nullable NSArray<__kindof BDSKTreeNode *>
*)newChildren NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
- (instancetype)init;
// uses isEqual:
-- (nullable NSArray *)children;
-- (void)setChildren:(nullable NSArray *)newChildren;
+- (nullable NSArray<__kindof BDSKTreeNode *> *)children;
+- (void)setChildren:(nullable NSArray<__kindof BDSKTreeNode *> *)newChildren;
- (NSUInteger)countOfChildren;
- (__kindof BDSKTreeNode *)objectInChildrenAtIndex:(NSUInteger)anIndex;
- (void)insertObject:(__kindof BDSKTreeNode *)obj
inChildrenAtIndex:(NSUInteger)anIndex;
Modified: trunk/bibdesk/BDSKTreeNode.m
===================================================================
--- trunk/bibdesk/BDSKTreeNode.m 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKTreeNode.m 2025-11-21 10:14:27 UTC (rev 29864)
@@ -99,7 +99,7 @@
return YES;
if ([other isMemberOfClass:[self class]] == NO)
return NO;
- return [columnValues isEqualToDictionary:[other columnValues]] &&
[children isEqualToArray:[other children]];
+ return [columnValues isEqualToDictionary:[other columnValues]] &&
[children isEqualToArray:[(BDSKTreeNode *)other children]];
}
- (NSUInteger)hash {
Modified: trunk/bibdesk/BDSKTypeTemplate.h
===================================================================
--- trunk/bibdesk/BDSKTypeTemplate.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKTypeTemplate.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -42,16 +42,18 @@
extern NSNotificationName const BDSKTemplateDidChangeNotification;
+@class BDSKToken;
+
@interface BDSKTypeTemplate : NSObject {
NSString *pubType;
BOOL included;
BOOL defaultTemplate;
- NSArray *requiredTokens;
- NSArray *optionalTokens;
+ NSArray<BDSKToken *> *requiredTokens;
+ NSArray<BDSKToken *> *optionalTokens;
NSArray *itemTemplate;
}
-- (instancetype)initWithPubType:(NSString *)aPubType requiredTokens:(NSArray
*)required optionalTokens:(NSArray *)optional NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithPubType:(NSString *)aPubType
requiredTokens:(NSArray<BDSKToken *> *)required
optionalTokens:(NSArray<BDSKToken *> *)optional NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;
@property (nonatomic, strong) NSString *pubType;
@@ -61,13 +63,13 @@
@property (nonatomic, nullable, readonly) NSColor *textColor;
-@property (nonatomic, readonly) NSArray *requiredTokens;
-@property (nonatomic, readonly) NSArray *optionalTokens;
+@property (nonatomic, readonly) NSArray<BDSKToken *> *requiredTokens;
+@property (nonatomic, readonly) NSArray<BDSKToken *> *optionalTokens;
@property (nonatomic, strong) NSArray *itemTemplate;
@property (nonatomic, readonly) NSString *string;
-- (NSAttributedString *)attributedStringWithDefaultAttributes:(NSDictionary
*)attributes;
+- (NSAttributedString
*)attributedStringWithDefaultAttributes:(NSDictionary<NSString *, id>
*)attributes;
@end
Modified: trunk/bibdesk/BDSKWebGroup.h
===================================================================
--- trunk/bibdesk/BDSKWebGroup.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKWebGroup.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -42,11 +42,13 @@
NS_ASSUME_NONNULL_BEGIN
+@class BDSKWebParser;
+
@interface BDSKWebGroup : BDSKExternalGroup <BDSKWebViewDelegate> {
NSString *label;
BDSKWebView *webView;
- NSMutableArray *parsers;
- NSMapTable *frameInfo;
+ NSMutableArray<BDSKWebParser *> *parsers;
+ NSMapTable<WebFrame *, NSMutableDictionary<NSString *, id> *> *frameInfo;
}
@property (nonatomic, nullable, strong) NSString *label;
Modified: trunk/bibdesk/BDSKZoomGroupServer.h
===================================================================
--- trunk/bibdesk/BDSKZoomGroupServer.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BDSKZoomGroupServer.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -63,7 +63,7 @@
BDSKReadWriteLock *infoLock;
NSString *errorMessage;
}
-@property (class, nonatomic, readonly) NSArray *supportedRecordSyntaxes;
+@property (class, nonatomic, readonly) NSArray<NSString *>
*supportedRecordSyntaxes;
+ (ZOOMSyntaxType)zoomRecordSyntaxForRecordSyntaxString:(NSString *)syntax;
@end
Modified: trunk/bibdesk/BibAuthor.h
===================================================================
--- trunk/bibdesk/BibAuthor.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BibAuthor.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -71,7 +71,7 @@
NSString *field;
@private
- NSArray *firstNames; // always non-nil
+ NSArray<NSString *> *firstNames; // always non-nil
NSString *fuzzyName; // always non-nil
}
@@ -124,7 +124,7 @@
// von Last F Jr
@property (nonatomic, readonly) NSString
*unpunctuatedAbbreviatedNormalizedName;
-@property (nonatomic, readonly) NSArray *firstNames;
+@property (nonatomic, readonly) NSArray<NSString *> *firstNames;
- (NSXMLElement *)MODSXMLElementWithRole:(NSString *)rel;
@@ -139,7 +139,7 @@
@interface NSArray (BibAuthorMultipleCompare)
-- (NSComparisonResult)sortCompareToAuthorArray:(NSArray *)other;
+- (NSComparisonResult)sortCompareToAuthorArray:(NSArray<BibAuthor *> *)other;
@end
NS_ASSUME_NONNULL_END
Modified: trunk/bibdesk/BibItem.h
===================================================================
--- trunk/bibdesk/BibItem.h 2025-11-20 22:42:15 UTC (rev 29863)
+++ trunk/bibdesk/BibItem.h 2025-11-21 10:14:27 UTC (rev 29864)
@@ -84,7 +84,7 @@
BDSKFieldActionAsk = 3
};
-@class BibDocument, BDSKCategoryGroup, BibAuthor, BDSKFieldCollection,
BDSKTemplate, BDSKPublicationsArray, BDSKMacroResolver;
+@class BibDocument, BDSKCategoryGroup, BibAuthor, BDSKFieldCollection,
BDSKTemplate, BDSKPublicationsArray, BDSKMacroResolver, BDSKMacro;
@protocol BDSKOwner;
/*!
@@ -129,16 +129,16 @@
@property (class, nonatomic, readonly) NSString *defaultCiteKey;
@property (class, nonatomic, readonly) NSString *placeholderCiteKey;
-+ (NSData *)archivedPublications:(NSArray *)array;
-+ (NSArray *)publicationsFromPasteboard:(NSPasteboard *)pboard
macroResolver:(nullable BDSKMacroResolver *)aMacroResolver;
++ (NSData *)archivedPublications:(NSArray<BibItem *> *)array;
++ (NSArray<BibItem *> *)publicationsFromPasteboard:(NSPasteboard *)pboard
macroResolver:(nullable BDSKMacroResolver *)aMacroResolver;
- (id)copyWithMacroResolver:(nullable BDSKMacroResolver *)aMacroResolver;
-- (NSArray *)files;
+- (NSArray<BDSKLinkedFile *> *)files;
- (NSUInteger)countOfFiles;
- (BDSKLinkedFile *)objectInFilesAtIndex:(NSUInteger)idx;
- (void)insertObject:(BDSKLinkedFile *)aFile inFilesAtIndex:(NSUInteger)idx;
-- (void)insertFiles:(NSArray *)newFiles atIndexes:(NSIndexSet *)aSet;
+- (void)insertFiles:(NSArray<BDSKLinkedFile *> *)newFiles
atIndexes:(NSIndexSet *)aSet;
- (void)removeObjectFromFilesAtIndex:(NSUInteger)idx;
- (void)removeFilesAtIndexes:(NSIndexSet *)aSet;
- (void)replaceObjectInFilesAtIndex:(NSUInteger)idx withObject:(BDSKLinkedFile
*)aFile;
@@ -150,19 +150,19 @@
- (BOOL)migrateFilesWithRemoveOptions:(BDSKRemoveFieldsOption)removeMask
numberOfAddedFiles:(NSInteger * _Nullable)numberOfAddedFiles
numberOfRemovedFields:(NSInteger * _Nullable)numberOfRemovedFields
error:(NSError **)outError;
-@property (nonatomic, readonly) NSArray *localFiles;
-@property (nonatomic, readonly) NSArray *existingLocalFiles;
-@property (nonatomic, readonly) NSArray *remoteURLs;
+@property (nonatomic, readonly) NSArray<BDSKLinkedFile *> *localFiles;
+@property (nonatomic, readonly) NSArray<BDSKLinkedFile *> *existingLocalFiles;
+@property (nonatomic, readonly) NSArray<BDSKLinkedFile *> *remoteURLs;
-@property (nonatomic, nullable, readonly) NSArray *downloads;
+@property (nonatomic, nullable, readonly) NSArray<BDSKItemDownload *>
*downloads;
-@property (nonatomic, readonly) NSArray *usedMacros;
-@property (nonatomic, readonly) NSArray *usedLocalMacros;
+@property (nonatomic, readonly) NSArray<BDSKMacro *> *usedMacros;
+@property (nonatomic, readonly) NSArray<BDSKMacro *> *usedLocalMacros;
- (nullable NSURL *)suggestedURLForLinkedFile:(BDSKLinkedFile *)file;
- (BOOL)canSetURLForLinkedFile:(BDSKLinkedFile *)file;
- (BOOL)autoFileLinkedFile:(BDSKLinkedFile *)file;
-@property (nonatomic, nullable, readonly) NSSet *filesToBeFiled;
+@property (nonatomic, nullable, readonly) NSSet<BDSKLinkedFile *>
*filesToBeFiled;
- (void)addFileToBeFiled:(BDSKLinkedFile *)file;
- (void)removeFileToBeFiled:(BDSKLinkedFile *)file;
@@ -192,11 +192,11 @@
@param isNew Boolean determines if the item is new for the BibTeX
document. Determines if the date-added should be set. Should be YES unless when
reading the BibTeX source file.
@result The receiver, initialized to type and containing authors
authArray.
*/
-- (instancetype)initWithType:(NSString *)type citeKey:(nullable NSString *)key
pubFields:(nullable NSDictionary *)fieldsDict files:(nullable NSArray
*)filesArray isNew:(BOOL)isNew NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithType:(NSString *)type citeKey:(nullable NSString *)key
pubFields:(nullable NSDictionary<NSString *, NSString *> *)fieldsDict
files:(nullable NSArray<BDSKLinkedFile *> *)filesArray isNew:(BOOL)isNew
NS_DESIGNATED_INITIALIZER;
-- (instancetype)initWithType:(NSString *)type citeKey:(nullable NSString *)key
pubFields:(nullable NSDictionary *)fieldsDict;
+- (instancetype)initWithType:(NSString *)type citeKey:(nullable NSString *)key
pubFields:(nullable NSDictionary<NSString *, NSString *> *)fieldsDict;
-- (instancetype)initWithType:(NSString *)type citeKey:(nullable NSString *)key
pubFields:(nullable NSMutableDictionary *)fieldsDict URLStrings:(nullable
NSArray *)urlsArray;
+- (instancetype)initWithType:(NSString *)type citeKey:(nullable NSString *)key
pubFields:(nullable NSMutableDictionary<NSString *, NSString *> *)fieldsDict
URLStrings:(nullable NSArray<NSString *> *)urlsArray;
- (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
@@ -228,11 +228,11 @@
/* Methods for handling people objects (BibAuthors) which may be any people
type (Author, Editor, etc.)
*/
- (void)rebuildPeopleIfNeeded;
-@property (nonatomic, readonly) NSSet *allPeople;
-- (NSArray *)peopleArrayForField:(NSString *)field;
-- (NSArray *)peopleArrayForField:(NSString *)field inherit:(BOOL)inherit;
-@property (nonatomic, readonly) NSDictionary *people;
-- (NSDictionary *)peopleInheriting:(BOOL)inherit;
+@property (nonatomic, readonly) NSSet<BibAuthor *> *allPeople;
+- (NSArray<BibAuthor *> *)peopleArrayForField:(NSString *)field;
+- (NSArray<BibAuthor *> *)peopleArrayForField:(NSString *)field
inherit:(BOOL)inherit;
+@property (nonatomic, readonly) NSDictionary<NSString *, NSArray<BibAuthor *>
*> *people;
+- (NSDictionary<NSString *, NSArray<BibAuthor *> *>
*)peopleInheriting:(BOOL)inherit;
@property (nonatomic, readonly) BDSKFieldCollection *personFields;
@@ -268,7 +268,7 @@
@discussion (discussion)
*/
-@property (nonatomic, readonly) NSArray *pubAuthors;
+@property (nonatomic, readonly) NSArray<BibAuthor *> *pubAuthors;
/*!
@method pubAuthorsInheriting:
@@ -277,7 +277,7 @@
@discussion (discussion)
*/
-- (NSArray *)pubAuthorsInheriting:(BOOL)inherit;
+- (NSArray<BibAuthor *> *)pubAuthorsInheriting:(BOOL)inherit;
/*!
@method authorAtIndex:
@@ -341,7 +341,7 @@
*/
- (NSString *)bibTeXNameStringForField:(NSString *)field
normalized:(BOOL)normalized inherit:(BOOL)inherit;
-@property (nonatomic, readonly) NSArray *pubEditors;
+@property (nonatomic, readonly) NSArray<BibAuthor *> *pubEditors;
/*!
@method numberOfAuthorsOrEditors
@@ -366,7 +366,7 @@
@discussion (discussion)
*/
-@property (nonatomic, readonly) NSArray *pubAuthorsOrEditors;
+@property (nonatomic, readonly) NSArray<BibAuthor *> *pubAuthorsOrEditors;
/*!
@method pubAuthorsOrEditorsInheriting:
@@ -375,7 +375,7 @@
@discussion (discussion)
*/
-- (NSArray *)pubAuthorsOrEditorsInheriting:(BOOL)inherit;
+- (NSArray<BibAuthor *> *)pubAuthorsOrEditorsInheriting:(BOOL)inherit;
/*!
@method authorOrEditorAtIndex:
@@ -576,7 +576,7 @@
*/
- (void)setField:(NSString *)field toStringValue:(nullable NSString *)value;
-- (NSArray *)citationValueOfField:(NSString *)field;
+- (NSArray<BibItem *> *)citationValueOfField:(NSString *)field;
- (id)displayValueOfField:(NSString *)field;
@@ -633,7 +633,7 @@
*/
@property (nonatomic, strong) NSString *citeKey;
-@property (nonatomic, copy) NSDictionary *pubFields;
+@property (nonatomic, copy) NSDictionary<NSString *, NSString *> *pubFields;
- (void)setField: (NSString *)key toValue: (nullable NSString *)value;
- (void)setField: (NSString *)key toValue: (nullable NSString *)value
withModDate:(nullable NSDate *)date;
@@ -657,7 +657,7 @@
*/
- (NSString *)valueOfField: (NSString *)key inherit: (BOOL)inherit;
-@property (nonatomic, readonly) NSArray *allFieldNames;
+@property (nonatomic, readonly) NSArray<NSString *> *allFieldNames;
@property (nonatomic, nullable, strong) NSString *editedField;
@property (nonatomic, nullable, strong) NSString *editedValue;
@@ -673,8 +673,8 @@
*/
- (BOOL)matchesSubstring:(NSString *)substring inField:(NSString *)field;
-@property (nonatomic, readonly) NSDictionary *searchIndexInfo;
-- (NSDictionary *)metadataCacheInfoForUpdate:(BOOL)update;
+@property (nonatomic, readonly) NSDictionary<NSString *, id> *searchIndexInfo;
+- (NSDictionary<NSString *, id> *)metadataCacheInfoForUpdate:(BOOL)update;
@property (nonatomic, readonly) id completionObject;
- (BOOL)matchesString:(NSString *)searchterm;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit