mode_base.dart 849 B

123456789101112131415161718192021222324252627282930313233343536373839
  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. /// 模式
  5. class ModeBase implements IMode {
  6. bool _active = false;
  7. late final IVisual _visual;
  8. late final String _name;
  9. late final ModeTypeEnum _type;
  10. ModeBase(String name, ModeTypeEnum type, IVisual visual) {
  11. _name = name;
  12. _visual = visual;
  13. _type = type;
  14. }
  15. @override
  16. bool get active => _active;
  17. @override
  18. set active(bool value) {
  19. if (value != _active) {
  20. _active = value;
  21. activeChanged.emit(this, value);
  22. }
  23. }
  24. @override
  25. ModeTypeEnum get modeType => _type;
  26. @override
  27. String get name => _name;
  28. @override
  29. IVisual get visual => _visual;
  30. @override
  31. var activeChanged = FEventHandler<bool>();
  32. }