implementAsBlocking static method
Builds an object that implements the NSTextFinderBarContainer protocol. To implement
multiple protocols, use addToBuilder or objc.ObjCProtocolBuilder directly. All
methods that can be implemented as blocking listeners will be.
If $keepIsolateAlive is true, this protocol will keep this isolate
alive until it is garbage collected by both Dart and ObjC.
Implementation
static NSTextFinderBarContainer implementAsBlocking({
required NSView? Function() findBarView,
required void Function(NSView?) setFindBarView_,
required bool Function() isFindBarVisible,
required void Function(bool) setFindBarVisible_,
required void Function() findBarViewDidChangeHeight,
NSView? Function()? contentView,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSTextFinderBarContainer',
);
NSTextFinderBarContainer.findBarView.implement(builder, findBarView);
NSTextFinderBarContainer.setFindBarView_.implementAsBlocking(
builder,
setFindBarView_,
);
NSTextFinderBarContainer.isFindBarVisible.implement(
builder,
isFindBarVisible,
);
NSTextFinderBarContainer.setFindBarVisible_.implementAsBlocking(
builder,
setFindBarVisible_,
);
NSTextFinderBarContainer.findBarViewDidChangeHeight.implementAsBlocking(
builder,
findBarViewDidChangeHeight,
);
NSTextFinderBarContainer.contentView.implement(builder, contentView);
builder.addProtocol($protocol);
return NSTextFinderBarContainer.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}