blob: 245b0041ee05ef7614ba958d334b4660042e6c10 [file] [log] [blame]
//===--- AppKitOverlayShims.h ---===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2020 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===--------------------===//
#ifndef SWIFT_STDLIB_SHIMS_APPKIT_OVERLAY_H
#define SWIFT_STDLIB_SHIMS_APPKIT_OVERLAY_H
#include <TargetConditionals.h>
#if !TARGET_OS_IPHONE
@import AppKit;
//===--------------------===//
// diffable data source //
//===--------------------===//
#if __has_feature(nullability)
#pragma clang assume_nonnull begin
#endif
typedef NSCollectionViewItem * _Nullable(^NSDiffableDataSourceCollectionViewItemProvider)(NSCollectionView*, NSIndexPath *indexPath, id identifier) API_UNAVAILABLE(ios);
typedef NSView<NSCollectionViewElement> * _Nullable(^NSDiffableDataSourceSupplementaryViewProvider)(NSCollectionView *, NSString *kind, NSIndexPath *indexPath) API_UNAVAILABLE(ios);
@class __NSDiffableDataSourceSnapshot;
API_AVAILABLE(macos(10.15)) API_UNAVAILABLE(ios)
@interface __NSDiffableDataSource : NSObject
- (instancetype)initWithNSCollectionView:(NSCollectionView*)nsCollectionView
itemProvider:(NSDiffableDataSourceCollectionViewItemProvider)itemProvider;
@property(nonatomic,weak,readonly,nullable) NSCollectionView *nsCollectionView;
@property(nonatomic,nullable,copy) NSDiffableDataSourceSupplementaryViewProvider nsSupplementaryViewProvider;
- (NSString*)description;
- (instancetype)init NS_UNAVAILABLE;
@property(nonatomic,readonly) NSInteger numberOfItems;
@property(nonatomic,readonly) NSInteger numberOfSections;
@property(nonatomic,readonly) NSArray *sectionIdentifiers;
@property(nonatomic,readonly) NSArray *itemIdentifiers;
- (NSInteger)numberOfItemsInSection:(id)sectionIdentifier;
- (NSArray*)itemIdentifiersInSectionWithIdentifier:(id)sectionIdentifier;
- (nullable id)sectionIdentifierForSectionContainingItemIdentifier:(id)identifier;
- (NSInteger)indexOfItemIdentifier:(id)itemIdentifier;
- (NSInteger)indexOfSectionIdentifier:(id)sectionIdentifier;
- (void)appendItemsWithIdentifiers:(NSArray*)identifiers;
- (void)appendItemsWithIdentifiers:(NSArray*)identifiers intoSectionWithIdentifier:(id _Nullable)sectionIdentifier;
- (void)insertItemsWithIdentifiers:(NSArray*)identifiers beforeItemWithIdentifier:(id)itemIdentifier;
- (void)insertItemsWithIdentifiers:(NSArray*)identifiers afterItemWithIdentifier:(id)itemIdentifier;
- (void)deleteItemsWithIdentifiers:(NSArray*)identifiers;
- (void)deleteAllItems;
- (void)moveItemWithIdentifier:(id)fromIdentifier beforeItemWithIdentifier:(id)toIdentifier;
- (void)moveItemWithIdentifier:(id)fromIdentifier afterItemWithIdentifier:(id)toIdentifier;
- (void)reloadItemsWithIdentifiers:(NSArray*)identifiers;
- (void)appendSectionsWithIdentifiers:(NSArray*)sectionIdentifiers;
- (void)insertSectionsWithIdentifiers:(NSArray*)sectionIdentifiers beforeSectionWithIdentifier:(id)toSectionIdentifier;
- (void)insertSectionsWithIdentifiers:(NSArray*)sectionIdentifiers afterSectionWithIdentifier:(id)toSectionIdentifier;
- (void)deleteSectionsWithIdentifiers:(NSArray*)sectionIdentifiers;
- (void)moveSectionWithIdentifier:(id)fromSectionIdentifier beforeSectionWithIdentifier:(id)toSectionIdentifier;
- (void)moveSectionWithIdentifier:(id)fromSectionIdentifier afterSectionWithIdentifier:(id)toSectionIdentifier;
- (void)reloadSectionsWithIdentifiers:(NSArray*)sectionIdentifiers;
- (nullable id)itemIdentifierForIndexPath:(NSIndexPath*)indexPath;
- (nullable NSIndexPath*)indexPathForItemIdentifier:(id)identifier;
- (__NSDiffableDataSourceSnapshot*)snapshot;
- (__NSDiffableDataSourceSnapshot*)emptySnapshot;
- (void)applyDifferencesFromSnapshot:(__NSDiffableDataSourceSnapshot*)snapshot;
- (void)reloadFromSnapshot:(__NSDiffableDataSourceSnapshot*)snapshot;
- (void)applyDifferencesFromSnapshot:(__NSDiffableDataSourceSnapshot *)snapshot animatingDifferences:(BOOL)animatingDifferences;
- (void)applyDifferencesFromSnapshot:(__NSDiffableDataSourceSnapshot *)snapshot animatingDifferences:(BOOL)animatingDifferences completion:(void(^ _Nullable)(void))completion;
@property(nonatomic,copy) NSDiffableDataSourceCollectionViewItemProvider collectionViewItemProvider;
- (NSInteger)_numberOfSectionsForNSCollectionView:(NSCollectionView*)collectionView NS_SWIFT_NAME(_numberOfSectionsForNSCollectionView(_:));
- (NSInteger)_numberOfItemsInSection:(NSInteger)section nsCollectionView:(NSCollectionView*)collectionView NS_SWIFT_NAME(_numberOfItemsInSection(_:nsCollectionView:));
- (NSCollectionViewItem *)_itemAtIndexPath:(NSIndexPath*)indexPath nsCollectionView:(NSCollectionView*)collectionView NS_SWIFT_NAME(_itemAtIndexPath(_:nsCollectionView:));
- (NSView *)_viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath nsCollectionView:(NSCollectionView *)collectionView NS_SWIFT_NAME(_viewForSupplementaryElementOfKind(_:atIndexPath:nsCollectionView:));
@end
API_AVAILABLE(macos(10.15)) API_UNAVAILABLE(ios)
@interface __NSDiffableDataSourceSnapshot : __NSDiffableDataSource<NSCopying>
- (instancetype)init;
@end
API_AVAILABLE(macos(10.15)) API_UNAVAILABLE(ios)
@interface NSDiffableDataSourceSnapshot()
@property(nonatomic,readonly) __NSDiffableDataSourceSnapshot *impl;
- (instancetype)initWithDataSource:(__NSDiffableDataSource * _Nullable)dataSource;
@end
#if __has_feature(nullability)
#pragma clang assume_nonnull end
#endif
#endif // !TARGET_OS_IPHONE
#endif // SWIFT_STDLIB_SHIMS_APPKIT_OVERLAY_H