implement static method

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

Builds an object that implements the NSComboBoxDelegate protocol. To implement multiple protocols, use addToBuilder or objc.ObjCProtocolBuilder directly.

If $keepIsolateAlive is true, this protocol will keep this isolate alive until it is garbage collected by both Dart and ObjC.

Implementation

static NSComboBoxDelegate implement({
  void Function(objc.NSNotification)? comboBoxWillPopUp_,
  void Function(objc.NSNotification)? comboBoxWillDismiss_,
  void Function(objc.NSNotification)? comboBoxSelectionDidChange_,
  void Function(objc.NSNotification)? comboBoxSelectionIsChanging_,
  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: 'NSComboBoxDelegate');
  NSComboBoxDelegate.comboBoxWillPopUp_.implement(
    builder,
    comboBoxWillPopUp_,
  );
  NSComboBoxDelegate.comboBoxWillDismiss_.implement(
    builder,
    comboBoxWillDismiss_,
  );
  NSComboBoxDelegate.comboBoxSelectionDidChange_.implement(
    builder,
    comboBoxSelectionDidChange_,
  );
  NSComboBoxDelegate.comboBoxSelectionIsChanging_.implement(
    builder,
    comboBoxSelectionIsChanging_,
  );
  NSComboBoxDelegate.textField_textView_candidatesForSelectedRange_.implement(
    builder,
    textField_textView_candidatesForSelectedRange_,
  );
  NSComboBoxDelegate.textField_textView_candidates_forSelectedRange_
      .implement(builder, textField_textView_candidates_forSelectedRange_);
  NSComboBoxDelegate.textField_textView_shouldSelectCandidateAtIndex_
      .implement(builder, textField_textView_shouldSelectCandidateAtIndex_);
  NSComboBoxDelegate.controlTextDidBeginEditing_.implement(
    builder,
    controlTextDidBeginEditing_,
  );
  NSComboBoxDelegate.controlTextDidEndEditing_.implement(
    builder,
    controlTextDidEndEditing_,
  );
  NSComboBoxDelegate.controlTextDidChange_.implement(
    builder,
    controlTextDidChange_,
  );
  NSComboBoxDelegate.control_textShouldBeginEditing_.implement(
    builder,
    control_textShouldBeginEditing_,
  );
  NSComboBoxDelegate.control_textShouldEndEditing_.implement(
    builder,
    control_textShouldEndEditing_,
  );
  NSComboBoxDelegate.control_didFailToFormatString_errorDescription_
      .implement(builder, control_didFailToFormatString_errorDescription_);
  NSComboBoxDelegate.control_didFailToValidatePartialString_errorDescription_
      .implement(
        builder,
        control_didFailToValidatePartialString_errorDescription_,
      );
  NSComboBoxDelegate.control_isValidObject_.implement(
    builder,
    control_isValidObject_,
  );
  NSComboBoxDelegate.control_textView_doCommandBySelector_.implement(
    builder,
    control_textView_doCommandBySelector_,
  );
  NSComboBoxDelegate
      .control_textView_completions_forPartialWordRange_indexOfSelectedItem_
      .implement(
        builder,
        control_textView_completions_forPartialWordRange_indexOfSelectedItem_,
      );
  builder.addProtocol($protocol);
  return NSComboBoxDelegate.castFrom(
    builder.build(keepIsolateAlive: $keepIsolateAlive),
  );
}