implementAsBlocking static method
NSOpenSavePanelDelegate
implementAsBlocking({
- bool panel_shouldEnableURL_(
- ObjCObjectBase,
- NSURL
- bool panel_validateURL_error_()?,
- void panel_didChangeToDirectoryURL_(
- ObjCObjectBase,
- NSURL?
- NSString? panel_userEnteredFilename_confirmed_(
- ObjCObjectBase,
- NSString,
- bool
- void panel_willExpand_(
- ObjCObjectBase,
- bool
- void panelSelectionDidChange_(
- ObjCObjectBase?
- NSString? panel_displayNameForType_(
- ObjCObjectBase,
- UTType
- void panel_didSelectType_(
- ObjCObjectBase,
- UTType?
- bool $keepIsolateAlive = true,
Builds an object that implements the NSOpenSavePanelDelegate 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 NSOpenSavePanelDelegate implementAsBlocking({
bool Function(objc.ObjCObjectBase, objc.NSURL)? panel_shouldEnableURL_,
bool Function(
objc.ObjCObjectBase,
objc.NSURL,
ffi.Pointer<ffi.Pointer<objc.ObjCObject>>,
)?
panel_validateURL_error_,
void Function(objc.ObjCObjectBase, objc.NSURL?)?
panel_didChangeToDirectoryURL_,
objc.NSString? Function(objc.ObjCObjectBase, objc.NSString, bool)?
panel_userEnteredFilename_confirmed_,
void Function(objc.ObjCObjectBase, bool)? panel_willExpand_,
void Function(objc.ObjCObjectBase?)? panelSelectionDidChange_,
objc.NSString? Function(objc.ObjCObjectBase, UTType)?
panel_displayNameForType_,
void Function(objc.ObjCObjectBase, UTType?)? panel_didSelectType_,
bool $keepIsolateAlive = true,
}) {
final builder = objc.ObjCProtocolBuilder(
debugName: 'NSOpenSavePanelDelegate',
);
NSOpenSavePanelDelegate.panel_shouldEnableURL_.implement(
builder,
panel_shouldEnableURL_,
);
NSOpenSavePanelDelegate.panel_validateURL_error_.implement(
builder,
panel_validateURL_error_,
);
NSOpenSavePanelDelegate.panel_didChangeToDirectoryURL_.implementAsBlocking(
builder,
panel_didChangeToDirectoryURL_,
);
NSOpenSavePanelDelegate.panel_userEnteredFilename_confirmed_.implement(
builder,
panel_userEnteredFilename_confirmed_,
);
NSOpenSavePanelDelegate.panel_willExpand_.implementAsBlocking(
builder,
panel_willExpand_,
);
NSOpenSavePanelDelegate.panelSelectionDidChange_.implementAsBlocking(
builder,
panelSelectionDidChange_,
);
NSOpenSavePanelDelegate.panel_displayNameForType_.implement(
builder,
panel_displayNameForType_,
);
NSOpenSavePanelDelegate.panel_didSelectType_.implementAsBlocking(
builder,
panel_didSelectType_,
);
builder.addProtocol($protocol);
return NSOpenSavePanelDelegate.castFrom(
builder.build(keepIsolateAlive: $keepIsolateAlive),
);
}