toInfoString static method
Implementation
static String toInfoString(RenderObjectElement element) {
String? fileLocation;
int? line;
int? column;
if (kDebugMode) {
WidgetInspectorService.instance.selection.current = element.renderObject;
final id = WidgetInspectorService.instance
// ignore: invalid_use_of_protected_member
.toId(element.renderObject.toDiagnosticsNode(), _dokitViewCheckGroup);
if (id == null) {
return '';
}
final String nodeDesc = WidgetInspectorService.instance
.getSelectedSummaryWidget(id, _dokitViewCheckGroup);
final Map<String, dynamic> map =
json.decode(nodeDesc) as Map<String, dynamic>;
final Map<String, dynamic> location =
map['creationLocation'] as Map<String, dynamic>;
fileLocation = location['file'] as String;
line = location['line'] as int;
column = location['column'] as int;
}
final Offset offset =
(element.renderObject as RenderBox).localToGlobal(Offset.zero);
String info = '控件名称: ${element.widget.toString()}\n'
'控件位置: 左${offset.dx} 上${offset.dy} 宽${element.size!.width} 高${element.size!.height}';
if (fileLocation != null) {
info += '\n源码位置: $fileLocation' '【行 ${line!} 列 ${column!}】';
}
return info;
}