getProperties method
Implementation
@override
Map<String, dynamic> getProperties({Element? ancestor}) {
Map<String, dynamic> properties = super.getProperties(ancestor: ancestor);
String associatedText = '';
bool isSelected = false;
String checkState = 'Unchecked';
String? className;
if (element.widget is Chip) {
Chip chipWidget = element.widget as Chip;
className = RanorexSupportedClassName.chip;
associatedText = (chipWidget.label as Text).data ?? '';
// Basic chips don't have a selected state
checkState = 'Indeterminate';
} else if (element.widget is ChoiceChip) {
ChoiceChip chipWidget = element.widget as ChoiceChip;
className = RanorexSupportedClassName.choiceChip;
associatedText = (chipWidget.label as Text).data ?? '';
isSelected = chipWidget.selected;
checkState = isSelected ? 'Checked' : 'Unchecked';
} else if (element.widget is FilterChip) {
FilterChip chipWidget = element.widget as FilterChip;
className = RanorexSupportedClassName.filterChip;
associatedText = (chipWidget.label as Text).data ?? '';
isSelected = chipWidget.selected;
checkState = isSelected ? 'Checked' : 'Unchecked';
} else if (element.widget is ActionChip) {
ActionChip chipWidget = element.widget as ActionChip;
className = RanorexSupportedClassName.actionChip;
associatedText = (chipWidget.label as Text).data ?? '';
// ActionChip does not have a selected state
checkState = 'Indeterminate';
} else if (element.widget is InputChip) {
InputChip chipWidget = element.widget as InputChip;
className = RanorexSupportedClassName.inputChip;
associatedText = (chipWidget.label as Text).data ?? '';
isSelected = chipWidget.selected;
checkState = isSelected ? 'Checked' : 'Unchecked';
}
properties[WidgetProperty.className.name] = className;
properties[WidgetProperty.checked.name] = isSelected;
properties[WidgetProperty.checkState.name] = checkState;
properties[WidgetProperty.text.name] = associatedText;
properties[WidgetProperty.accessibilityLabel.name] =
element.findAncestorWidgetOfExactType<Semantics>()?.properties.label ??
'';
return properties;
}