implementAsBlocking static method
NSPageControllerDelegate
implementAsBlocking({
- DartNSPageControllerObjectIdentifier pageController_identifierForObject_(
- NSPageController,
- ObjCObjectBase
- NSViewController pageController_viewControllerForIdentifier_()?,
- NSRect pageController_frameForObject_(
- NSPageController,
- ObjCObjectBase?
- void pageController_prepareViewController_withObject_(
- NSPageController,
- NSViewController,
- ObjCObjectBase?
- void pageController_didTransitionToObject_(
- NSPageController,
- ObjCObjectBase
- void pageControllerWillStartLiveTransition_()?,
- void pageControllerDidEndLiveTransition_()?,
- bool $keepIsolateAlive = true,
Builds an object that implements the NSPageControllerDelegate 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 NSPageControllerDelegate implementAsBlocking({
DartNSPageControllerObjectIdentifier Function(
NSPageController,
objc.ObjCObjectBase,
)?
pageController_identifierForObject_,
NSViewController Function(
NSPageController,
DartNSPageControllerObjectIdentifier,
)?
pageController_viewControllerForIdentifier_,
NSRect Function(NSPageController, objc.ObjCObjectBase?)?
pageController_frameForObject_,
void Function(NSPageController, NSViewController, objc.ObjCObjectBase?)?
pageController_prepareViewController_withObject_,
void Function(NSPageController, objc.ObjCObjectBase)?
pageController_didTransitionToObject_,
void Function(NSPageController)? pageControllerWillStartLiveTransition_,
void Function(NSPageController)? pageControllerDidEndLiveTransition_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSPageControllerDelegate',
);
NSPageControllerDelegate.pageController_identifierForObject_.implement(
builder,
pageController_identifierForObject_,
);
NSPageControllerDelegate.pageController_viewControllerForIdentifier_
.implement(builder, pageController_viewControllerForIdentifier_);
NSPageControllerDelegate.pageController_frameForObject_.implement(
builder,
pageController_frameForObject_,
);
NSPageControllerDelegate.pageController_prepareViewController_withObject_
.implementAsBlocking(
builder,
pageController_prepareViewController_withObject_,
);
NSPageControllerDelegate.pageController_didTransitionToObject_
.implementAsBlocking(builder, pageController_didTransitionToObject_);
NSPageControllerDelegate.pageControllerWillStartLiveTransition_
.implementAsBlocking(builder, pageControllerWillStartLiveTransition_);
NSPageControllerDelegate.pageControllerDidEndLiveTransition_
.implementAsBlocking(builder, pageControllerDidEndLiveTransition_);
builder.addProtocol($protocol);
return NSPageControllerDelegate.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}