implementAsBlocking static method

NSSearchFieldDelegate implementAsBlocking({
  1. void searchFieldDidStartSearching_(
    1. NSSearchField
    )?,
  2. void searchFieldDidEndSearching_(
    1. NSSearchField
    )?,
  3. NSArray? textField_textView_candidatesForSelectedRange_(
    1. NSTextField,
    2. NSTextView,
    3. NSRange
    )?,
  4. NSArray textField_textView_candidates_forSelectedRange_(
    1. NSTextField,
    2. NSTextView,
    3. NSArray,
    4. NSRange,
    )?,
  5. bool textField_textView_shouldSelectCandidateAtIndex_(
    1. NSTextField,
    2. NSTextView,
    3. DartNSUInteger
    )?,
  6. void controlTextDidBeginEditing_(
    1. NSNotification
    )?,
  7. void controlTextDidEndEditing_(
    1. NSNotification
    )?,
  8. void controlTextDidChange_(
    1. NSNotification
    )?,
  9. bool control_textShouldBeginEditing_(
    1. NSControl,
    2. NSText
    )?,
  10. bool control_textShouldEndEditing_(
    1. NSControl,
    2. NSText
    )?,
  11. bool control_didFailToFormatString_errorDescription_(
    1. NSControl,
    2. NSString,
    3. NSString?
    )?,
  12. void control_didFailToValidatePartialString_errorDescription_(
    1. NSControl,
    2. NSString,
    3. NSString?
    )?,
  13. bool control_isValidObject_(
    1. NSControl,
    2. ObjCObjectBase?
    )?,
  14. bool control_textView_doCommandBySelector_(
    1. NSControl,
    2. NSTextView,
    3. Pointer<ObjCSelector>
    )?,
  15. NSArray control_textView_completions_forPartialWordRange_indexOfSelectedItem_(
    1. NSControl,
    2. NSTextView,
    3. NSArray,
    4. NSRange,
    5. Pointer<NSInteger>,
    )?,
  16. bool $keepIsolateAlive = true,
})
override

Builds an object that implements the NSSearchFieldDelegate 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 NSSearchFieldDelegate implementAsBlocking({
  void Function(NSSearchField)? searchFieldDidStartSearching_,
  void Function(NSSearchField)? searchFieldDidEndSearching_,
  objc.NSArray? Function(NSTextField, NSTextView, NSRange)?
  textField_textView_candidatesForSelectedRange_,
  objc.NSArray Function(NSTextField, NSTextView, objc.NSArray, NSRange)?
  textField_textView_candidates_forSelectedRange_,
  bool Function(NSTextField, NSTextView, DartNSUInteger)?
  textField_textView_shouldSelectCandidateAtIndex_,
  void Function(objc.NSNotification)? controlTextDidBeginEditing_,
  void Function(objc.NSNotification)? controlTextDidEndEditing_,
  void Function(objc.NSNotification)? controlTextDidChange_,
  bool Function(NSControl, NSText)? control_textShouldBeginEditing_,
  bool Function(NSControl, NSText)? control_textShouldEndEditing_,
  bool Function(NSControl, objc.NSString, objc.NSString?)?
  control_didFailToFormatString_errorDescription_,
  void Function(NSControl, objc.NSString, objc.NSString?)?
  control_didFailToValidatePartialString_errorDescription_,
  bool Function(NSControl, objc.ObjCObjectBase?)? control_isValidObject_,
  bool Function(NSControl, NSTextView, ffi.Pointer<objc.ObjCSelector>)?
  control_textView_doCommandBySelector_,
  objc.NSArray Function(
    NSControl,
    NSTextView,
    objc.NSArray,
    NSRange,
    ffi.Pointer<NSInteger>,
  )?
  control_textView_completions_forPartialWordRange_indexOfSelectedItem_,
  bool $keepIsolateAlive = true,
}) {
  final builder = objc.ObjCProtocolBuilder(
    debugName: 'NSSearchFieldDelegate',
  );
  NSSearchFieldDelegate.searchFieldDidStartSearching_.implementAsBlocking(
    builder,
    searchFieldDidStartSearching_,
  );
  NSSearchFieldDelegate.searchFieldDidEndSearching_.implementAsBlocking(
    builder,
    searchFieldDidEndSearching_,
  );
  NSSearchFieldDelegate.textField_textView_candidatesForSelectedRange_
      .implement(builder, textField_textView_candidatesForSelectedRange_);
  NSSearchFieldDelegate.textField_textView_candidates_forSelectedRange_
      .implement(builder, textField_textView_candidates_forSelectedRange_);
  NSSearchFieldDelegate.textField_textView_shouldSelectCandidateAtIndex_
      .implement(builder, textField_textView_shouldSelectCandidateAtIndex_);
  NSSearchFieldDelegate.controlTextDidBeginEditing_.implementAsBlocking(
    builder,
    controlTextDidBeginEditing_,
  );
  NSSearchFieldDelegate.controlTextDidEndEditing_.implementAsBlocking(
    builder,
    controlTextDidEndEditing_,
  );
  NSSearchFieldDelegate.controlTextDidChange_.implementAsBlocking(
    builder,
    controlTextDidChange_,
  );
  NSSearchFieldDelegate.control_textShouldBeginEditing_.implement(
    builder,
    control_textShouldBeginEditing_,
  );
  NSSearchFieldDelegate.control_textShouldEndEditing_.implement(
    builder,
    control_textShouldEndEditing_,
  );
  NSSearchFieldDelegate.control_didFailToFormatString_errorDescription_
      .implement(builder, control_didFailToFormatString_errorDescription_);
  NSSearchFieldDelegate
      .control_didFailToValidatePartialString_errorDescription_
      .implementAsBlocking(
        builder,
        control_didFailToValidatePartialString_errorDescription_,
      );
  NSSearchFieldDelegate.control_isValidObject_.implement(
    builder,
    control_isValidObject_,
  );
  NSSearchFieldDelegate.control_textView_doCommandBySelector_.implement(
    builder,
    control_textView_doCommandBySelector_,
  );
  NSSearchFieldDelegate
      .control_textView_completions_forPartialWordRange_indexOfSelectedItem_
      .implement(
        builder,
        control_textView_completions_forPartialWordRange_indexOfSelectedItem_,
      );
  builder.addProtocol($protocol);
  return NSSearchFieldDelegate.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}