addToBuilderAsBlocking static method

void addToBuilderAsBlocking(
  1. ObjCProtocolBuilder builder, {
  2. void prepareForReuse()?,
  3. void applyLayoutAttributes_(
    1. NSCollectionViewLayoutAttributes
    )?,
  4. void willTransitionFromLayout_toLayout_(
    1. NSCollectionViewLayout,
    2. NSCollectionViewLayout
    )?,
  5. void didTransitionFromLayout_toLayout_(
    1. NSCollectionViewLayout,
    2. NSCollectionViewLayout
    )?,
  6. NSCollectionViewLayoutAttributes preferredLayoutAttributesFittingAttributes_(
    1. NSCollectionViewLayoutAttributes
    )?,
  7. required NSString? identifier(),
  8. required void setIdentifier_(
    1. DartNSUserInterfaceItemIdentifier?
    ),
  9. bool $keepIsolateAlive = true,
})

Adds the implementation of the NSCollectionViewElement protocol to an existing objc.ObjCProtocolBuilder. All methods that can be implemented as blocking listeners will be.

Note: You cannot call this method after you have called builder.build.

Implementation

static void addToBuilderAsBlocking(
  objc.ObjCProtocolBuilder builder, {
  void Function()? prepareForReuse,
  void Function(NSCollectionViewLayoutAttributes)? applyLayoutAttributes_,
  void Function(NSCollectionViewLayout, NSCollectionViewLayout)?
  willTransitionFromLayout_toLayout_,
  void Function(NSCollectionViewLayout, NSCollectionViewLayout)?
  didTransitionFromLayout_toLayout_,
  NSCollectionViewLayoutAttributes Function(NSCollectionViewLayoutAttributes)?
  preferredLayoutAttributesFittingAttributes_,
  required DartNSUserInterfaceItemIdentifier? Function() identifier,
  required void Function(DartNSUserInterfaceItemIdentifier?) setIdentifier_,
  bool $keepIsolateAlive = true,
}) {
  NSCollectionViewElement.prepareForReuse.implementAsBlocking(
    builder,
    prepareForReuse,
  );
  NSCollectionViewElement.applyLayoutAttributes_.implementAsBlocking(
    builder,
    applyLayoutAttributes_,
  );
  NSCollectionViewElement.willTransitionFromLayout_toLayout_
      .implementAsBlocking(builder, willTransitionFromLayout_toLayout_);
  NSCollectionViewElement.didTransitionFromLayout_toLayout_
      .implementAsBlocking(builder, didTransitionFromLayout_toLayout_);
  NSCollectionViewElement.preferredLayoutAttributesFittingAttributes_
      .implement(builder, preferredLayoutAttributesFittingAttributes_);
  NSCollectionViewElement.identifier.implement(builder, identifier);
  NSCollectionViewElement.setIdentifier_.implementAsBlocking(
    builder,
    setIdentifier_,
  );
  builder.addProtocol($protocol);
}