implementAsBlocking static method
NSScrubberFlowLayoutDelegate
implementAsBlocking({
- NSSize scrubber_layout_sizeForItemAtIndex_()?,
- void scrubber_didSelectItemAtIndex_()?,
- void scrubber_didHighlightItemAtIndex_()?,
- void scrubber_didChangeVisibleRange_()?,
- void didBeginInteractingWithScrubber_()?,
- void didFinishInteractingWithScrubber_()?,
- void didCancelInteractingWithScrubber_()?,
- bool $keepIsolateAlive = true,
override
Builds an object that implements the NSScrubberFlowLayoutDelegate 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 NSScrubberFlowLayoutDelegate implementAsBlocking({
NSSize Function(NSScrubber, NSScrubberFlowLayout, DartNSInteger)?
scrubber_layout_sizeForItemAtIndex_,
void Function(NSScrubber, DartNSInteger)? scrubber_didSelectItemAtIndex_,
void Function(NSScrubber, DartNSInteger)? scrubber_didHighlightItemAtIndex_,
void Function(NSScrubber, NSRange)? scrubber_didChangeVisibleRange_,
void Function(NSScrubber)? didBeginInteractingWithScrubber_,
void Function(NSScrubber)? didFinishInteractingWithScrubber_,
void Function(NSScrubber)? didCancelInteractingWithScrubber_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSScrubberFlowLayoutDelegate',
);
NSScrubberFlowLayoutDelegate.scrubber_layout_sizeForItemAtIndex_.implement(
builder,
scrubber_layout_sizeForItemAtIndex_,
);
NSScrubberFlowLayoutDelegate.scrubber_didSelectItemAtIndex_
.implementAsBlocking(builder, scrubber_didSelectItemAtIndex_);
NSScrubberFlowLayoutDelegate.scrubber_didHighlightItemAtIndex_
.implementAsBlocking(builder, scrubber_didHighlightItemAtIndex_);
NSScrubberFlowLayoutDelegate.scrubber_didChangeVisibleRange_
.implementAsBlocking(builder, scrubber_didChangeVisibleRange_);
NSScrubberFlowLayoutDelegate.didBeginInteractingWithScrubber_
.implementAsBlocking(builder, didBeginInteractingWithScrubber_);
NSScrubberFlowLayoutDelegate.didFinishInteractingWithScrubber_
.implementAsBlocking(builder, didFinishInteractingWithScrubber_);
NSScrubberFlowLayoutDelegate.didCancelInteractingWithScrubber_
.implementAsBlocking(builder, didCancelInteractingWithScrubber_);
builder.addProtocol($protocol);
return NSScrubberFlowLayoutDelegate.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}