performAction method
- FinderBase<
SemanticsNode> finder, - SemanticsAction action, {
- Object? args,
- bool checkForAction = true,
Performs the given SemanticsAction on the SemanticsNode found by finder
.
If args
are provided, they will be passed unmodified with the action
.
The checkForAction
argument allows for attempting to perform action
on
node
even if it doesn't report supporting that action. This is useful
for implicitly supported actions such as SemanticsAction.showOnScreen.
Implementation
void performAction(
finders.FinderBase<SemanticsNode> finder,
SemanticsAction action, {
Object? args,
bool checkForAction = true
}) {
final SemanticsNode node = finder.evaluate().single;
if (checkForAction && !node.getSemanticsData().hasAction(action)){
throw StateError(
'The given node does not support $action. If the action is implicitly '
'supported or an unsupported action is being tested for this node, '
'set `checkForAction` to false.\n'
'Node: $node'
);
}
node.owner!.performAction(node.id, action, args);
}