mode_base.dart 894 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import 'package:fis_common/event/event_type.dart';
  2. import 'package:fis_measure/interfaces/process/modes/mode.dart';
  3. import 'package:fis_measure/interfaces/process/visuals/visual.dart';
  4. import 'package:vid/us/vid_us_mode.dart';
  5. /// 模式
  6. class ModeBase implements IMode {
  7. bool _active = false;
  8. late final IVisual _visual;
  9. late final String _name;
  10. late final VidUsModeType _type;
  11. ModeBase(String name, VidUsModeType type, IVisual visual) {
  12. _name = name;
  13. _visual = visual;
  14. _type = type;
  15. }
  16. @override
  17. bool get active => _active;
  18. @override
  19. set active(bool value) {
  20. if (value != _active) {
  21. _active = value;
  22. activeChanged.emit(this, value);
  23. }
  24. }
  25. @override
  26. VidUsModeType get modeType => _type;
  27. @override
  28. String get name => _name;
  29. @override
  30. IVisual get visual => _visual;
  31. @override
  32. var activeChanged = FEventHandler<bool>();
  33. }