1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import 'unit.dart';
- class LayoutSections {
- static const general = "Vinno_View_AreaLayouts";
- static const zoom = "Vinno_Zoom_AreaLayouts";
- static const v3d = "Vinno_S3D_AreaLayouts";
- static const strainRate = "Vinno_StrainRate_AreaLayouts";
- }
- class LayoutSection {
- String _name = '';
- List<LayoutUnit>? _layouts;
- /// 名称
- String get name => _name;
- /// 各模式布局单元
- List<LayoutUnit> get layouts => _layouts ?? const [];
- LayoutSection();
- factory LayoutSection.fromJson(Map<String, dynamic> map) {
- final instance = LayoutSection();
- instance._name = map['Name']!;
- instance._loadLayoutUnits(map['Layouts']);
- return instance;
- }
- void _loadLayoutUnits(dynamic data) {
- final List<LayoutUnit> arr = [];
- if (data != null && data is List) {
- final List<dynamic> jArr = data;
- for (final item in jArr) {
- arr.add(LayoutUnit.fromJson(item));
- }
- }
- if (arr.isEmpty) {
- throw ArgumentError(
- "Layout configuration error: Layout element not found.");
- }
- _layouts = arr;
- }
- }
|