12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- import 'package:fis_measure/interfaces/enums/display_mode.dart';
- class LayoutViewPort {
- double left = 0;
- double right = 0;
- double top = 0;
- double bottom = 0;
- DisplayModeEnum displayFormat = DisplayModeEnum.Normal;
- LayoutViewPort();
- factory LayoutViewPort.fromJson(Map<String, dynamic> map) {
- final instance = LayoutViewPort();
- instance.bottom = _convertItemValue(map['Bottom']);
- instance.top = _convertItemValue(map['Top']);
- instance.left = _convertItemValue(map['Left']);
- instance.right = _convertItemValue(map['Right']);
- instance.displayFormat = _convertFormat(map['Format']);
- return instance;
- }
- static double _convertItemValue(dynamic val) {
- if (val == null) return 0.0;
- if (val is String) {
- return double.tryParse(val) ?? 0.0;
- } else if (val is num) {
- return val.toDouble();
- }
- return 0.0;
- }
- static DisplayModeEnum _convertFormat(dynamic val) {
- if (val == null || val is! String) return DisplayModeEnum.Normal;
- for (var item in DisplayModeEnum.values) {
- if (val == item.name) {
- return item;
- }
- }
- return DisplayModeEnum.Normal;
- }
- }
|