Line data Source code
1 : import 'package:flutter/material.dart'; 2 : import 'package:mvvm_builder/mvvm_builder.dart'; 3 : import 'package:pal/src/ui/editor/pages/helper_editor/helper_editor_viewmodel.dart'; 4 : 5 : class AnchoredFullscreenHelperViewModel extends MVVMModel { 6 : 7 : final HelperViewModel helper; 8 : // Elements on user page 9 : Map<String, WidgetElementModel> userPageElements; 10 : // Rect where we will write our helper text 11 : Rect writeArea; 12 : String title, description; 13 : 14 : 15 1 : AnchoredFullscreenHelperViewModel({ 16 : @required this.helper, 17 : }); 18 : 19 : // the current selected element to show anchor 20 4 : MapEntry<String, WidgetElementModel> get selectedAnchor => userPageElements.entries.firstWhere( 21 4 : (element) => element.value.selected, orElse: () => null); 22 : 23 : // the current selected element's key to show anchor 24 4 : String get selectedAnchorKey => userPageElements.entries.firstWhere( 25 4 : (element) => element.value.selected, orElse: () => null).key; 26 : } 27 : 28 : class WidgetElementModel { 29 : final Rect rect; 30 : final Offset offset; 31 : bool selected; 32 : 33 1 : WidgetElementModel(this.rect, this.offset) { 34 1 : selected = false; 35 : } 36 : }