fromJson static method
Liest eine Zeile; null für unbekannte Arten.
Implementation
static LayoutLine? fromJson(Map<String, dynamic> j) {
switch (j['kind']) {
case 'text':
return LayoutTextLine(text: (j['text'] ?? '').toString(), align: _align(j['align']), bold: j['bold'] == true);
case 'columns':
final spalten = ((j['columns'] as List?) ?? const [])
.map((c) => LayoutColumn(
text: (c['text'] ?? '').toString(),
width: (c['width'] is num) ? (c['width'] as num).toInt() : 1,
align: _align(c['align']),
))
.toList();
return LayoutColumnsLine(spalten);
case 'rule':
return LayoutRuleLine(char: (j['char'] ?? '-').toString());
case 'space':
return LayoutSpaceLine(lines: (j['lines'] is num) ? (j['lines'] as num).toInt() : 1);
case 'qr':
return LayoutQrLine(data: (j['data'] ?? '').toString());
case 'banner':
return LayoutBannerLine(text: (j['text'] ?? '').toString(), tone: LayoutBannerTone.fromWire(j['tone']));
default:
return null;
}
}