implement static method
NSScrubberFlowLayoutDelegate
implement({
- 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.
If $keepIsolateAlive is true, this protocol will keep this isolate
alive until it is garbage collected by both Dart and ObjC.
Implementation
static NSScrubberFlowLayoutDelegate implement({
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_.implement(
builder,
scrubber_didSelectItemAtIndex_,
);
NSScrubberFlowLayoutDelegate.scrubber_didHighlightItemAtIndex_.implement(
builder,
scrubber_didHighlightItemAtIndex_,
);
NSScrubberFlowLayoutDelegate.scrubber_didChangeVisibleRange_.implement(
builder,
scrubber_didChangeVisibleRange_,
);
NSScrubberFlowLayoutDelegate.didBeginInteractingWithScrubber_.implement(
builder,
didBeginInteractingWithScrubber_,
);
NSScrubberFlowLayoutDelegate.didFinishInteractingWithScrubber_.implement(
builder,
didFinishInteractingWithScrubber_,
);
NSScrubberFlowLayoutDelegate.didCancelInteractingWithScrubber_.implement(
builder,
didCancelInteractingWithScrubber_,
);
builder.addProtocol($protocol);
return NSScrubberFlowLayoutDelegate.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}