call method
Implementation
@override
Object? call(Interpreter interpreter, List<Object?> arguments,
Map<Symbol, Object?> namedArguments) {
var child = namedArguments[const Symbol('child')];
if (child == null) {
throw "child required in SelectionArea";
}
void Function(SelectedContent?)? onSelectionChanged;
var onSelectionChangedParse =
namedArguments[const Symbol('onSelectionChanged')];
if (onSelectionChangedParse != null) {
onSelectionChanged = (SelectedContent? s) {
(onSelectionChangedParse as LoxFunction)
.call(interpreter, [SelectedContentIns(s?.plainText ?? '')], {});
};
}
Widget Function(BuildContext, SelectableRegionState)? contextMenuBuilder = (
BuildContext context,
SelectableRegionState selectableRegionState,
) {
return AdaptiveTextSelectionToolbar.selectableRegion(
selectableRegionState: selectableRegionState,
);
};
var contextMenuBuilderParse =
namedArguments[const Symbol('contextMenuBuilder')];
if (contextMenuBuilderParse != null) {
contextMenuBuilder = (BuildContext b, SelectableRegionState s) {
return (contextMenuBuilderParse as LoxFunction)
.call(interpreter, [b, SelectableRegionStateIns(s)], {}) as Widget;
};
}
return SelectionArea(
onSelectionChanged: onSelectionChanged,
contextMenuBuilder: contextMenuBuilder,
child: child as Widget,
);
}