getProperties method
Map<String, dynamic>
getProperties(
)
override
Implementation
@override
Map<String, dynamic> getProperties() {
Map<String, dynamic> properties = super.getProperties();
String associatedText = '';
bool isEnabled = element.widget is IconButton &&
(element.widget as IconButton).onPressed != null;
// Look for nearby Text widgets in Row or Column
Element? ancestor =
element.findAncestorWidgetOfExactType<Row>()?.createElement() ??
element.findAncestorWidgetOfExactType<Column>()?.createElement();
if (ancestor != null) {
if (ancestor.widget is Row) {
Row rowWidget = ancestor.widget as Row;
associatedText = _findTextInSiblings(rowWidget.children);
} else if (ancestor.widget is Column) {
Column columnWidget = ancestor.widget as Column;
associatedText = _findTextInSiblings(columnWidget.children);
}
}
properties[WidgetProperty.className.name] =
RanorexSupportedClassName.uiButton;
properties[WidgetProperty.enabled.name] = isEnabled;
properties[WidgetProperty.text.name] = associatedText;
return properties;
}