addToBuilderAsBlocking static method

void addToBuilderAsBlocking(
  1. ObjCProtocolBuilder builder, {
  2. bool isSelectable()?,
  3. bool allowsMultipleSelection()?,
  4. bool isEditable()?,
  5. NSString string()?,
  6. NSString stringAtIndex_effectiveRange_endsWithSearchBoundary_(
    1. DartNSUInteger,
    2. NSRangePointer,
    3. Pointer<Bool>
    )?,
  7. DartNSInteger stringLength()?,
  8. NSRange firstSelectedRange()?,
  9. NSArray selectedRanges()?,
  10. void setSelectedRanges_(
    1. NSArray
    )?,
  11. void scrollRangeToVisible_(
    1. NSRange
    )?,
  12. bool shouldReplaceCharactersInRanges_withStrings_(
    1. NSArray,
    2. NSArray
    )?,
  13. void replaceCharactersInRange_withString_(
    1. NSRange,
    2. NSString
    )?,
  14. void didReplaceCharacters()?,
  15. NSView contentViewAtIndex_effectiveCharacterRange_(
    1. DartNSUInteger,
    2. NSRangePointer
    )?,
  16. NSArray? rectsForCharacterRange_(
    1. NSRange
    )?,
  17. NSArray visibleCharacterRanges()?,
  18. void drawCharactersInRange_forContentView_(
    1. NSRange,
    2. NSView
    )?,
  19. bool $keepIsolateAlive = true,
})

Adds the implementation of the NSTextFinderClient 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()? isSelectable,
  bool Function()? allowsMultipleSelection,
  bool Function()? isEditable,
  objc.NSString Function()? string,
  objc.NSString Function(
    DartNSUInteger,
    NSRangePointer,
    ffi.Pointer<ffi.Bool>,
  )?
  stringAtIndex_effectiveRange_endsWithSearchBoundary_,
  DartNSUInteger Function()? stringLength,
  NSRange Function()? firstSelectedRange,
  objc.NSArray Function()? selectedRanges,
  void Function(objc.NSArray)? setSelectedRanges_,
  void Function(NSRange)? scrollRangeToVisible_,
  bool Function(objc.NSArray, objc.NSArray)?
  shouldReplaceCharactersInRanges_withStrings_,
  void Function(NSRange, objc.NSString)? replaceCharactersInRange_withString_,
  void Function()? didReplaceCharacters,
  NSView Function(DartNSUInteger, NSRangePointer)?
  contentViewAtIndex_effectiveCharacterRange_,
  objc.NSArray? Function(NSRange)? rectsForCharacterRange_,
  objc.NSArray Function()? visibleCharacterRanges,
  void Function(NSRange, NSView)? drawCharactersInRange_forContentView_,
  bool $keepIsolateAlive = true,
}) {
  NSTextFinderClient.isSelectable.implement(builder, isSelectable);
  NSTextFinderClient.allowsMultipleSelection.implement(
    builder,
    allowsMultipleSelection,
  );
  NSTextFinderClient.isEditable.implement(builder, isEditable);
  NSTextFinderClient.string.implement(builder, string);
  NSTextFinderClient.stringAtIndex_effectiveRange_endsWithSearchBoundary_
      .implement(
        builder,
        stringAtIndex_effectiveRange_endsWithSearchBoundary_,
      );
  NSTextFinderClient.stringLength.implement(builder, stringLength);
  NSTextFinderClient.firstSelectedRange.implement(
    builder,
    firstSelectedRange,
  );
  NSTextFinderClient.selectedRanges.implement(builder, selectedRanges);
  NSTextFinderClient.setSelectedRanges_.implementAsBlocking(
    builder,
    setSelectedRanges_,
  );
  NSTextFinderClient.scrollRangeToVisible_.implementAsBlocking(
    builder,
    scrollRangeToVisible_,
  );
  NSTextFinderClient.shouldReplaceCharactersInRanges_withStrings_.implement(
    builder,
    shouldReplaceCharactersInRanges_withStrings_,
  );
  NSTextFinderClient.replaceCharactersInRange_withString_.implementAsBlocking(
    builder,
    replaceCharactersInRange_withString_,
  );
  NSTextFinderClient.didReplaceCharacters.implementAsBlocking(
    builder,
    didReplaceCharacters,
  );
  NSTextFinderClient.contentViewAtIndex_effectiveCharacterRange_.implement(
    builder,
    contentViewAtIndex_effectiveCharacterRange_,
  );
  NSTextFinderClient.rectsForCharacterRange_.implement(
    builder,
    rectsForCharacterRange_,
  );
  NSTextFinderClient.visibleCharacterRanges.implement(
    builder,
    visibleCharacterRanges,
  );
  NSTextFinderClient.drawCharactersInRange_forContentView_
      .implementAsBlocking(builder, drawCharactersInRange_forContentView_);
  builder.addProtocol($protocol);
}