import 'package:fis_common/event/event_type.dart'; import 'package:fis_measure/interfaces/process/modes/mode.dart'; import 'package:fis_measure/interfaces/process/visuals/visual.dart'; /// 模式 class ModeBase implements IMode { bool _active = false; late final IVisual _visual; late final String _name; late final ModeTypeEnum _type; ModeBase(String name, ModeTypeEnum type, IVisual visual) { _name = name; _visual = visual; _type = type; } @override bool get active => _active; @override set active(bool value) { if (value != _active) { _active = value; activeChanged.emit(this, value); } } @override ModeTypeEnum get modeType => _type; @override String get name => _name; @override IVisual get visual => _visual; @override var activeChanged = FEventHandler(); }