getProperties method

  1. @override
Map<String, dynamic> getProperties({
  1. Element? ancestor,
})
override

Implementation

@override
Map<String, dynamic> getProperties({Element? ancestor}) {
  Map<String, dynamic> properties = super.getProperties(ancestor: ancestor);

  String? associatedText = '';
  bool isChecked = false;

  if (element.widget is RadioListTile) {
    RadioListTile radioTileWidget = element.widget as RadioListTile;
    associatedText = (radioTileWidget.title as Text).data ?? '';
    isChecked = radioTileWidget.value == radioTileWidget.groupValue;
  } else if (element.widget is RadioMenuButton) {
    RadioMenuButton radioMenuButtonWidget = element.widget as RadioMenuButton;
    if (radioMenuButtonWidget.child is Text) {
      associatedText = (radioMenuButtonWidget.child as Text).data ?? '';
    }
    isChecked = radioMenuButtonWidget.value == radioMenuButtonWidget.groupValue;
  } else if (element.widget is Radio) {
    Radio radioWidget = element.widget as Radio;
    isChecked = radioWidget.value == radioWidget.groupValue;
    associatedText = findAssociatedText(element);
  }

  properties[WidgetProperty.className.name] =
      RanorexSupportedClassName.radio;
  properties[WidgetProperty.checked.name] = isChecked;
  properties[WidgetProperty.text.name] = associatedText;

  return properties;
}