addToBuilderAsBlocking static method

void addToBuilderAsBlocking(
  1. ObjCProtocolBuilder builder, {
  2. bool pathControl_shouldDragItem_withPasteboard_(
    1. NSPathControl,
    2. NSPathControlItem,
    3. NSPasteboard
    )?,
  3. bool pathControl_shouldDragPathComponentCell_withPasteboard_(
    1. NSPathControl,
    2. NSPathComponentCell,
    3. NSPasteboard
    )?,
  4. NSDragOperation pathControl_validateDrop_(
    1. NSPathControl,
    2. NSDraggingInfo
    )?,
  5. bool pathControl_acceptDrop_(
    1. NSPathControl,
    2. NSDraggingInfo
    )?,
  6. void pathControl_willDisplayOpenPanel_(
    1. NSPathControl,
    2. NSOpenPanel
    )?,
  7. void pathControl_willPopUpMenu_(
    1. NSPathControl,
    2. NSMenu
    )?,
  8. bool $keepIsolateAlive = true,
})

Adds the implementation of the NSPathControlDelegate protocol to an existing objc.ObjCProtocolBuilder. All methods that can be implemented as blocking listeners will be.

Note: You cannot call this method after you have called builder.build.

Implementation

static void addToBuilderAsBlocking(
  objc.ObjCProtocolBuilder builder, {
  bool Function(NSPathControl, NSPathControlItem, NSPasteboard)?
  pathControl_shouldDragItem_withPasteboard_,
  bool Function(NSPathControl, NSPathComponentCell, NSPasteboard)?
  pathControl_shouldDragPathComponentCell_withPasteboard_,
  NSDragOperation Function(NSPathControl, NSDraggingInfo)?
  pathControl_validateDrop_,
  bool Function(NSPathControl, NSDraggingInfo)? pathControl_acceptDrop_,
  void Function(NSPathControl, NSOpenPanel)?
  pathControl_willDisplayOpenPanel_,
  void Function(NSPathControl, NSMenu)? pathControl_willPopUpMenu_,
  bool $keepIsolateAlive = true,
}) {
  NSPathControlDelegate.pathControl_shouldDragItem_withPasteboard_.implement(
    builder,
    pathControl_shouldDragItem_withPasteboard_,
  );
  NSPathControlDelegate
      .pathControl_shouldDragPathComponentCell_withPasteboard_
      .implement(
        builder,
        pathControl_shouldDragPathComponentCell_withPasteboard_,
      );
  NSPathControlDelegate.pathControl_validateDrop_.implement(
    builder,
    pathControl_validateDrop_,
  );
  NSPathControlDelegate.pathControl_acceptDrop_.implement(
    builder,
    pathControl_acceptDrop_,
  );
  NSPathControlDelegate.pathControl_willDisplayOpenPanel_.implementAsBlocking(
    builder,
    pathControl_willDisplayOpenPanel_,
  );
  NSPathControlDelegate.pathControl_willPopUpMenu_.implementAsBlocking(
    builder,
    pathControl_willPopUpMenu_,
  );
  builder.addProtocol($protocol);
}