mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
196 lines
10 KiB
Objective-C
196 lines
10 KiB
Objective-C
//===--- UIKitOverlayShims.h ---===//
|
|
//
|
|
// This source file is part of the Swift.org open source project
|
|
//
|
|
// Copyright (c) 2014 - 2017 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_UIKIT_OVERLAY_H
|
|
#define SWIFT_STDLIB_SHIMS_UIKIT_OVERLAY_H
|
|
|
|
@import UIKit;
|
|
|
|
#if __has_feature(nullability)
|
|
#pragma clang assume_nonnull begin
|
|
#endif
|
|
|
|
#if TARGET_OS_TV || TARGET_OS_IOS
|
|
static inline BOOL _swift_UIKit_UIFocusEnvironmentContainsEnvironment(
|
|
id<UIFocusEnvironment> environment,
|
|
id<UIFocusEnvironment> otherEnvironment
|
|
) API_AVAILABLE(ios(11.0), tvos(11.0)) {
|
|
return [UIFocusSystem environment:environment containsEnvironment:otherEnvironment];
|
|
}
|
|
#endif // TARGET_OS_TV || TARGET_OS_IOS
|
|
|
|
#if __has_feature(nullability)
|
|
#pragma clang assume_nonnull end
|
|
#endif
|
|
|
|
|
|
//===--------------------===//
|
|
// diffable data source //
|
|
//===--------------------===//
|
|
|
|
#if TARGET_OS_TV || TARGET_OS_IOS
|
|
|
|
#if __has_feature(nullability)
|
|
#pragma clang assume_nonnull begin
|
|
#endif
|
|
|
|
typedef UITableViewCell * _Nullable (^UITableViewDiffableDataSourceCellProvider)(UITableView * _Nonnull, NSIndexPath * _Nonnull, id _Nonnull);
|
|
typedef UICollectionViewCell * _Nullable (^UICollectionViewDiffableDataSourceCellProvider)(UICollectionView * _Nonnull,NSIndexPath * _Nonnull, id _Nonnull);
|
|
|
|
typedef UICollectionViewCell * _Nullable(^UIDiffableDataSourceCollectionViewCellProvider)(UICollectionView*, NSIndexPath *indexPath, id identifier);
|
|
typedef UICollectionReusableView * _Nullable(^UIDiffableDataSourceSupplementaryViewProvider)(UICollectionView *, NSString *kind, NSIndexPath *indexPath);
|
|
|
|
typedef NSString * _Nonnull(^UIDiffableDataSourceCellReuseIdentifierProvider)(id _Nonnull identifier);
|
|
typedef void(^UIDiffableDataSourceCollectionViewCellConfigurationHandler)(__kindof UICollectionViewCell * _Nonnull , id _Nonnull identifier);
|
|
|
|
typedef NSString * _Nonnull(^UIDiffableDataSourceSupplementaryViewReuseIdentifierProvider)(NSString * _Nonnull kind, NSIndexPath * _Nonnull indexPath);
|
|
typedef void(^UIDiffableDataSourceSupplementaryViewConfigurationHandler)(__kindof UICollectionReusableView * _Nonnull, NSString * _Nonnull kind, NSIndexPath * _Nonnull indexPath);
|
|
|
|
typedef UITableViewCell * _Nullable(^UIDiffableDataSourceTableViewCellProvider)(__kindof UITableView * _Nonnull, NSIndexPath * _Nonnull, id _Nonnull identifier);
|
|
typedef void(^UIDiffableDataSourceTableViewCellConfigurationHandler)(__kindof UITableViewCell * _Nonnull , id _Nonnull identifier);
|
|
|
|
@class __UIDiffableDataSourceSnapshot;
|
|
|
|
API_AVAILABLE(ios(13.0), tvos(13.0))
|
|
@interface __UIDiffableDataSource : NSObject
|
|
|
|
- (instancetype)initWithCollectionView:(UICollectionView*)collectionView
|
|
cellProvider:(UIDiffableDataSourceCollectionViewCellProvider)cellProvider;
|
|
|
|
- (instancetype)initWithCollectionView:(UICollectionView *)collectionView
|
|
cellProvider:(UIDiffableDataSourceCollectionViewCellProvider)cellProvider
|
|
dataSource:(id<UICollectionViewDataSource>)dataSource;
|
|
|
|
- (instancetype)initWithCollectionView:(UICollectionView*)collectionView
|
|
reuseIdentifierProvider:(UIDiffableDataSourceCellReuseIdentifierProvider)cellReuseProvider
|
|
cellConfigurationHandler:(UIDiffableDataSourceCollectionViewCellConfigurationHandler)cellConfigurationHandler;
|
|
|
|
- (NSString*)description;
|
|
|
|
- (instancetype)initWithTableView:(UITableView*)tableView
|
|
cellProvider:(UIDiffableDataSourceTableViewCellProvider)cellProvider;
|
|
|
|
- (instancetype)initWithTableView:(UITableView*)tableView
|
|
reuseIdentifierProvider:(UIDiffableDataSourceCellReuseIdentifierProvider)cellResueProvider
|
|
cellConfigurationHandler:(UIDiffableDataSourceTableViewCellConfigurationHandler)cellConfigurationHandler;
|
|
|
|
@property(nonatomic) UITableViewRowAnimation tableViewDefaultRowAnimation;
|
|
@property(nonatomic,weak,readonly,nullable) UITableView *tableView;
|
|
@property(nonatomic,copy) UITableViewDiffableDataSourceCellProvider tableViewCellProvider;
|
|
|
|
@property(nonatomic,weak,readonly,nullable) UICollectionView *collectionView;
|
|
@property(nonatomic,nullable,copy) UIDiffableDataSourceSupplementaryViewProvider supplementaryViewProvider;
|
|
|
|
|
|
- (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;
|
|
|
|
|
|
- (__UIDiffableDataSourceSnapshot*)snapshot;
|
|
- (__UIDiffableDataSourceSnapshot*)emptySnapshot;
|
|
- (void)applyDifferencesFromSnapshot:(__UIDiffableDataSourceSnapshot*)snapshot;
|
|
- (void)reloadFromSnapshot:(__UIDiffableDataSourceSnapshot*)snapshot;
|
|
- (void)applyDifferencesFromSnapshot:(__UIDiffableDataSourceSnapshot *)snapshot animatingDifferences:(BOOL)animatingDifferences;
|
|
|
|
|
|
// deprecated
|
|
|
|
- (void)appendSectionWithIdentifier:(id)sectionIdentifier;
|
|
- (void)insertSectionWithIdentifier:(id)sectionIdentifier beforeSectionWithIdentifier:(id)toSectionIdentifier;
|
|
- (void)insertSectionWithIdentifier:(id)sectionIdentifier afterSectionWithIdentifier:(id)toSectionIdentifier;
|
|
- (void)applySnapshot:(__UIDiffableDataSourceSnapshot*)snapshot;
|
|
|
|
|
|
@property(nonatomic,nullable,copy) UIDiffableDataSourceSupplementaryViewReuseIdentifierProvider supplementaryReuseIdentifierProvider;
|
|
@property(nonatomic,nullable,copy) UIDiffableDataSourceSupplementaryViewConfigurationHandler supplementaryViewConfigurationHandler;
|
|
|
|
@property(nonatomic,copy) UICollectionViewDiffableDataSourceCellProvider collectionViewCellProvider;
|
|
|
|
|
|
// helpers
|
|
|
|
- (NSInteger)_numberOfSectionsForCollectionView:(UICollectionView*)collectionView NS_SWIFT_NAME(_numberOfSectionsForCollectionView(_:));
|
|
- (NSInteger)_numberOfItemsInSection:(NSInteger)section collectionView:(UICollectionView*)collectionView NS_SWIFT_NAME(_numberOfItemsInSection(_:collectionView:));
|
|
- (UICollectionViewCell*)_cellForItemAtIndexPath:(NSIndexPath*)indexPath collectionView:(UICollectionView*)collectionView NS_SWIFT_NAME(_cellForItemAtIndexPath(_:collectionView:));
|
|
- (UICollectionReusableView*)_viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath collectionView:(UICollectionView *)collectionView NS_SWIFT_NAME(_viewForSupplementaryElementOfKind(_:atIndexPath:collectionView:));
|
|
|
|
- (NSInteger)_numberOfSectionsForTableView:(UITableView*)tableView NS_SWIFT_NAME(_numberOfSectionsForTableView(_:));
|
|
- (NSInteger)_numberOfRowsInSection:(NSInteger)section tableView:(UITableView*)tableView NS_SWIFT_NAME(_numberOfRowsInSection(_:tableView:));
|
|
- (UITableViewCell*)_cellForRowAtIndexPath:(NSIndexPath*)indexPath tableView:(UITableView*)tableView NS_SWIFT_NAME(_cellForRowAtIndexPath(_:tableView:));
|
|
|
|
- (NSInteger)_numberOfSectionsForCollectionViewDeprecatedSPI:(UICollectionView*)collectionView NS_SWIFT_NAME(numberOfSections(for:));
|
|
- (NSInteger)_numberOfItemsInSectionDeprecatedSPI:(NSInteger)section collectionView:(UICollectionView*)collectionView NS_SWIFT_NAME(numberOfItems(inSection:collectionView:));
|
|
- (UICollectionViewCell*)_cellForItemAtIndexPathDeprecatedSPI:(NSIndexPath*)indexPath collectionView:(UICollectionView*)collectionView NS_SWIFT_NAME(cellForItem(at:collectionView:));
|
|
- (UICollectionReusableView*)_viewForSupplementaryElementOfKindDeprecatedSPI:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath collectionView:(UICollectionView *)collectionView NS_SWIFT_NAME(viewForSupplementaryElement(ofKind:at:collectionView:));
|
|
|
|
- (NSInteger)_numberOfSectionsForTableViewDeprecatedSPI:(UITableView*)tableView NS_SWIFT_NAME(numberOfSections(for:));
|
|
- (NSInteger)_numberOfRowsInSectionDeprecatedSPI:(NSInteger)section tableView:(UITableView*)tableView NS_SWIFT_NAME(numberOfRows(inSection:tableView:));
|
|
- (UITableViewCell*)_cellForRowAtIndexPathDeprecatedSPI:(NSIndexPath*)indexPath tableView:(UITableView*)tableView NS_SWIFT_NAME(cellForRow(at:tableView:));
|
|
|
|
@end
|
|
|
|
|
|
API_AVAILABLE(ios(13.0), tvos(13.0))
|
|
@interface __UIDiffableDataSourceSnapshot : __UIDiffableDataSource<NSCopying>
|
|
- (instancetype)init;
|
|
@end
|
|
|
|
#if __has_feature(nullability)
|
|
#pragma clang assume_nonnull end
|
|
#endif
|
|
|
|
|
|
#endif // TARGET_OS_TV || TARGET_OS_IOS
|
|
|
|
#endif // SWIFT_STDLIB_SHIMS_UIKIT_OVERLAY_H
|
|
|